13 #ifndef mitkPlaneGeometryDataMapper2D_h
14 #define mitkPlaneGeometryDataMapper2D_h
19 #include <vtkSmartPointer.h>
22 class vtkPropAssembly;
24 class vtkPolyDataMapper2D;
50 itkFactorylessNewMacro(
Self);
121 double triangleSizeMM,
BaseGeometry Describes the geometry of a data object.
Class for nodes of the DataTree.
Base class for mapper specific rendering resources.
Base class of all mappers, Vtk as well as OpenGL mappers.
Internal class holding the mapper, actor, etc. for each of the 3 2D render windows.
vtkSmartPointer< vtkPolyDataMapper2D > m_HelperLinesmapper
vtkSmartPointer< vtkPolyDataMapper2D > m_Mapper
vtkSmartPointer< vtkPropAssembly > m_CrosshairAssembly
vtkSmartPointer< vtkActor2D > m_ArrowActor
vtkSmartPointer< vtkActor2D > m_CrosshairActor
vtkSmartPointer< vtkActor2D > m_CrosshairHelperLineActor
vtkSmartPointer< vtkPolyDataMapper2D > m_Arrowmapper
Vtk-based 2D mapper for rendering a crosshair with the plane geometry.
void CreateVtkCrosshair(BaseRenderer *renderer)
virtual void ApplyAllProperties(BaseRenderer *renderer)
bool m_ArrowOrientationPositive
mitk::LocalStorageHandler< LocalStorage > m_LSH
The LocalStorageHandler holds all (three) LocalStorages for the three 2D render windows.
static bool TestPointInReferenceGeometry(const BaseGeometry *referenceGeometry, const Point3D &point)
static bool CutCrossLineWithPlaneGeometry(const PlaneGeometry *planeGeometry, Line3D &crossLine)
void GenerateDataForRenderer(mitk::BaseRenderer *renderer) override
Generate the data needed for rendering into renderer.
vtkProp * GetVtkProp(mitk::BaseRenderer *renderer) override
returns the a prop assembly
~PlaneGeometryDataMapper2D() override
std::set< Self * > AllInstancesContainer
bool m_RenderOrientationArrows
void ApplyColorAndOpacityProperties2D(BaseRenderer *renderer, vtkActor2D *actor)
std::vector< DataNode * > NodesVectorType
NodesVectorType m_OtherPlaneGeometries
virtual const mitk::PlaneGeometryData * GetInput() const
PlaneGeometryDataMapper2D()
void DrawOrientationArrow(vtkSmartPointer< vtkCellArray > triangles, vtkSmartPointer< vtkPoints > triPoints, double triangleSizeMM, Vector3D &orthogonalVector, Point3D &point1, Point3D &point2)
static AllInstancesContainer s_AllInstances
static void SetDefaultProperties(mitk::DataNode *node, mitk::BaseRenderer *renderer=nullptr, bool overwrite=false)
set the default properties for this mapper
static bool CutCrossLineWithReferenceGeometry(const BaseGeometry *referenceGeometry, Line3D &crossLine)
void DrawLine(Point3D p0, Point3D p1, vtkCellArray *lines, vtkPoints *points)
static bool TestPointInPlaneGeometry(const PlaneGeometry *planeGeometry, const Point3D &point)
Data class containing PlaneGeometry objects.
Describes a two-dimensional, rectangular plane.
Base class of all Vtk Mappers in order to display primitives by exploiting Vtk functionality.
#define mitkClassMacro(className, SuperClassName)
Find image slices visible on a given plane.