17 #ifndef mitkVtkPropRenderer_h
18 #define mitkVtkPropRenderer_h
22 #include <itkCommand.h>
29 class vtkRenderWindow;
32 class vtkWorldPointPicker;
36 class vtkTextProperty;
37 class vtkAssemblyPath;
39 #include <vtkAssemblyPaths.h>
40 #include <vtkSmartPointer.h>
88 int Render(RenderType type);
91 virtual void PrepareRender();
94 virtual void MakeCurrent();
96 virtual void SetDataStorage(
99 virtual void InitRenderer(vtkRenderWindow *renderwindow)
override;
101 virtual void SetMapperID(
const MapperSlotId mapperId)
override;
104 virtual void InitSize(
int w,
int h)
override;
105 virtual void Resize(
int w,
int h)
override;
124 itkSetEnumMacro(PickingMode, PickingMode);
125 itkGetEnumMacro(PickingMode, PickingMode);
127 virtual void PickWorldPoint(
const Point2D &displayPoint,
Point3D &worldPoint)
const override;
140 DEPRECATED(
int WriteSimpleText(std::string text,
146 float opacity = 1.0));
155 DEPRECATED(vtkTextProperty *GetTextLabelProperty(
int text_id));
165 virtual bool SetWorldGeometryToDataStorageBounds()
override;
171 void InitPathTraversal();
177 vtkAssemblyPath *GetNextPath();
179 int GetNumberOfPaths();
181 const vtkWorldPointPicker *GetWorldPointPicker()
const;
182 const vtkPointPicker *GetPointPicker()
const;
183 const vtkCellPicker *GetCellPicker()
const;
189 virtual void ReleaseGraphicsResources(vtkWindow *renWin);
191 MappersMapType GetMappersMap()
const;
193 static bool useImmediateModeRendering();
197 const char *name =
"VtkPropRenderer",
198 vtkRenderWindow *renWin =
nullptr,
202 virtual void Update()
override;
204 static void RenderingCallback(vtkObject *caller,
unsigned long eid,
void *clientdata,
void *calldata);
206 virtual void UpdatePaths();
209 vtkSmartPointer<vtkAssemblyPaths> m_Paths;
210 vtkTimeStamp m_PathTime;
213 void PrepareMapperQueue();
216 bool Initialize2DvtkCamera();
223 vtkWorldPointPicker *m_WorldPointPicker;
224 vtkPointPicker *m_PointPicker;
225 vtkCellPicker *m_CellPicker;
227 PickingMode m_PickingMode;
232 vtkLightKit *m_LightKit;
235 MappersMapType m_MappersMap;
238 vtkRenderer *m_TextRenderer;
239 typedef std::map<unsigned int, vtkTextActor *> TextMapType;
240 TextMapType m_TextCollection;
std::map< int, Mapper * > MappersMapType
Data management class that handles 'was created by' relations.
Organizes the rendering process.
static void Update(vtkPolyData *)
DataCollection - Class to facilitate loading/accessing structured data.
#define mitkNewMacro4Param(classname, typea, typeb, typec, typed)
Manager for coordinating the rendering process.
#define mitkClassMacro(className, SuperClassName)
#define mitkNewMacro3Param(classname, typea, typeb, typec)
unsigned int MapperSlotId
Class for nodes of the DataTree.