geopro/src/render/Scene.hpp

26 lines
886 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 <vtkSmartPointer.h>
#include <vtkRenderer.h>
#include <vtkActor.h>
#include <vtkProp.h>
namespace geopro::render {
// 单一渲染场景:持有 vtkRenderer白底统一管理 actor 的加入与清除。
// 不持有 RenderWindow由 app 的 QVTK widget 承载,把 renderer() 加入其 RenderWindow
class Scene {
public:
Scene();
vtkRenderer* renderer() const { return renderer_.Get(); }
void clear(); // 移除所有 view prop含体绘制 vtkVolume支持重复切换数据集
void addActor(vtkActor* a); // actor 由 renderer 引用计数保活
// 体绘制 vtkVolume 是 vtkProp3D非 vtkActor经此通用入口进场prop 由 renderer 引用计数保活。
void addViewProp(vtkProp* p);
private:
vtkSmartPointer<vtkRenderer> renderer_;
};
} // namespace geopro::render