geopro/src/render/CameraPreset.hpp

28 lines
993 B
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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