28 lines
993 B
C++
28 lines
993 B
C++
#pragma once
|
||
#include <vtkRenderer.h>
|
||
namespace geopro::render {
|
||
|
||
// 俯视二维:正交投影,相机在 +Z 正对 XY 平面。
|
||
void applyTop2D(vtkRenderer* r);
|
||
|
||
// 自由三维:透视投影,斜视方位看到剖面立体。
|
||
void applyFree3D(vtkRenderer* r);
|
||
|
||
// 快捷视图方向(世界系 x=East,y=North,z=-depth)。
|
||
// Top 俯视 (相机在 +Z 向下看)
|
||
// Bottom 仰视 (相机在 -Z 向上看)
|
||
// Front 从 -Y 看向 +Y (北望),Back 反向
|
||
// Left 从 -X 看向 +X (东望),Right 反向
|
||
enum class ViewDir { Front, Back, Left, Right, Top, Bottom };
|
||
|
||
// 应用 6 向正交快捷视图:设 position/focalPoint/viewUp 后 ResetCamera。
|
||
void applyView(vtkRenderer* r, ViewDir dir);
|
||
|
||
// 相机缩放:factor>1 拉近(放大),factor<1 推远(缩小)。透视下改距离、正交下改 parallelScale。
|
||
void zoomBy(vtkRenderer* r, double factor);
|
||
|
||
// 适配场景:ResetCamera(全览)。
|
||
void fitView(vtkRenderer* r);
|
||
|
||
} // namespace geopro::render
|