🛰️航天仿真算法库 SpaceAST 0.3.1
载入中...
搜索中...
未找到
VisVTKRenderer.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "AstVisualization/VisRenderer.hpp"
25#include "AstUtil/StringView.hpp"
26#include <string>
27
28AST_NAMESPACE_BEGIN
29
40class AST_VISVTK_API VisVTKRenderer: public VisRenderer
41{
42public:
43 VisVTKRenderer() = default;
44 ~VisVTKRenderer() override = default;
45
50 errc_t render(const VisView& view, const TimePoint& epoch) override;
51
52public:
55 void setInteractive(bool interactive) { interactive_ = interactive; }
56
59 void setSavePng(bool savePng) { savePng_ = savePng; }
60
63 void setPngPath(StringView path) { pngPath_ = std::string(path); }
64
68 void setWindowSize(int width, int height) { width_ = width; height_ = height; }
69
74 void setBackground(double r, double g, double b) { bgR_ = r; bgG_ = g; bgB_ = b; }
75
79 void setCameraAngles(double azimuthDeg, double elevationDeg)
80 {
81 azimuth_ = azimuthDeg;
82 elevation_ = elevationDeg;
83 }
84
87 void setUnitScale(double scale) { scale_ = scale; }
88
91 void setMouseWheelMotionFactor(double factor) { mouseWheelMotionFactor_ = factor; }
92
93private:
94 bool interactive_{true};
95 bool savePng_{false};
96 std::string pngPath_{"visualization.png"};
97 int width_{1024};
98 int height_{768};
99 double bgR_{0.0};
100 double bgG_{0.0};
101 double bgB_{0.12};
102 double azimuth_{35.0};
103 double elevation_{22.0};
104 double scale_{1.0};
105 double mouseWheelMotionFactor_{5.0};
106};
107
110AST_NAMESPACE_END
111
112
114extern "C" AST_VISVTK_API void aVisVtkRegister();
AST_VISVTK_API void aVisVtkRegister()
注册本 VTK 渲染后端为默认渲染器(C 链接符号,供运行时 LoadLibrary 调用)
定义 VisVTKRenderer.cpp:310
绝对时间点
定义 TimePoint.hpp:108
定义 VisRenderer.hpp:36
virtual errc_t render(const VisView &view, const TimePoint &epoch)=0
渲染一个视图
VTK 渲染后端
定义 VisVTKRenderer.hpp:41
void setBackground(double r, double g, double b)
设置背景色(RGB,0~1,默认深空色)
定义 VisVTKRenderer.hpp:74
void setMouseWheelMotionFactor(double factor)
设置鼠标滚轮缩放步进因子(默认 5.0;值越大单次滚轮缩放越剧烈)
定义 VisVTKRenderer.hpp:91
void setCameraAngles(double azimuthDeg, double elevationDeg)
设置相机角度(度)
定义 VisVTKRenderer.hpp:79
void setUnitScale(double scale)
设置坐标缩放因子(默认 1.0,纯米制;如需 km 可视化可设 0.001)
定义 VisVTKRenderer.hpp:87
void setSavePng(bool savePng)
设置是否导出 PNG 截图(默认 false)
定义 VisVTKRenderer.hpp:59
void setInteractive(bool interactive)
设置是否进入交互窗口(默认 true)
定义 VisVTKRenderer.hpp:55
void setWindowSize(int width, int height)
设置窗口尺寸(默认 1024x768)
定义 VisVTKRenderer.hpp:68
void setPngPath(StringView path)
设置 PNG 截图保存路径(默认 visualization.png)
定义 VisVTKRenderer.hpp:63
可视化视图:场景的顶级容器
定义 VisView.hpp:41
Unit g
克
定义 Unit.cpp:473