iMSTK
Interactive Medical Simulation Toolkit
imstkVTKVertexLabelRenderDelegate.h
1 /*
2 ** This file is part of the Interactive Medical Simulation Toolkit (iMSTK)
3 ** iMSTK is distributed under the Apache License, Version 2.0.
4 ** See accompanying NOTICE for details.
5 */
6 
7 #pragma once
8 
9 #include "imstkVTKPolyDataRenderDelegate.h"
10 
11 class vtkDoubleArray;
12 class vtkPolyData;
13 
14 namespace imstk
15 {
16 class PointSet;
17 template<typename T, int N> class VecDataArray;
18 
25 {
26 public:
28  ~VTKVertexLabelRenderDelegate() override = default;
29 
33  void processEvents() override;
34 
35  void updateRenderProperties() override;
36 
37 protected:
38  void init() override;
39 
43  void vertexDataModified(Event* e);
44 
48  void geometryModified(Event* e);
49 
50  void setVertexBuffer(std::shared_ptr<VecDataArray<double, 3>> vertices);
51 
52  std::shared_ptr<PointSet> m_geometry;
53  std::shared_ptr<VecDataArray<double, 3>> m_vertices;
54 
55  vtkSmartPointer<vtkPolyData> m_polydata;
56 
57  vtkSmartPointer<vtkDoubleArray> m_mappedVertexArray;
58 };
59 } // namespace imstk
Base class for events which contain a type, priority, and data priority defaults to 0 and uses a grea...
Compound Geometry.
void geometryModified(Event *e)
Callback for when geometry changes.
void updateRenderProperties() override
Updates the actor and mapper properties from the currently set VisualModel.
Delegates rendering of text per PointSet vertex to VTK from VisualModel.
Base class for VTK render delegates.
void processEvents() override
Update polydata source based on the mesh geometry.
vtkSmartPointer< vtkDoubleArray > m_mappedVertexArray
Mapped array of vertices.
void vertexDataModified(Event *e)
Callback for when vertex data changes.