13 #ifndef mitkPlaneGeometryDataVtkMapper3D_h
14 #define mitkPlaneGeometryDataVtkMapper3D_h
22 #include <vtkCleanPolyData.h>
23 #include <vtkSystemIncludes.h>
26 class vtkPolyDataMapper;
28 class vtkFeatureEdges;
30 class vtkTransformPolyDataFilter;
35 class PlaneGeometryData;
37 class ImageVtkMapper2D;
40 class PlaneGeometryDataVtkMapper3D;
93 itkFactorylessNewMacro(
Self);
198 void Initialize(vtkActor *actor, itk::Object *sender, itk::Command *command);
207 typedef std::map<ImageVtkMapper2D *, ActorInfo>
ActorList;
Class for nodes of the DataTree.
Data management class that handles 'was created by' relations.
Base class of all mappers, Vtk as well as OpenGL mappers.
unsigned long m_ObserverID
void Initialize(vtkActor *actor, itk::Object *sender, itk::Command *command)
Vtk-based mapper to display a PlaneGeometry in a 3D window.
vtkAssembly * m_Prop3DAssembly
general PropAssembly to hold the entire scene
vtkHedgeHog * m_BackHedgeHog
~PlaneGeometryDataVtkMapper3D() override
vtkCleanPolyData * m_Cleaner
vtkPolyDataMapper * m_BackgroundMapper
Mapper for black plane background.
void ProcessNode(DataNode *node, BaseRenderer *renderer, Surface *surface, LayerSortedActorList &layerSortedActors)
std::multimap< int, vtkActor * > LayerSortedActorList
vtkHedgeHog * m_FrontHedgeHog
Generates lines for surface normals.
BoundingBox::PointsContainer::Pointer m_SurfaceCreatorPointsContainer
void ImageMapperDeletedCallback(itk::Object *caller, const itk::EventObject &event)
PlaneGeometryDataVtkMapper3D()
void GenerateDataForRenderer(BaseRenderer *renderer) override
Generate the data needed for rendering into renderer.
vtkActor * m_FrontNormalsActor
Actor to hold the normals arrows.
vtkTransformPolyDataFilter * m_NormalsTransformer
Transforms the surface before applying the glyph filter.
vtkFeatureEdges * m_Edges
Edge extractor for tube-shaped frame.
vtkPolyDataMapper * m_FrontNormalsMapper
Mapper for normals representation (thin lines)
std::map< ImageVtkMapper2D *, ActorInfo > ActorList
List holding the vtkActor to map the image into 3D for each ImageMapper.
vtkProp * GetVtkProp(mitk::BaseRenderer *renderer) override
virtual void SetDataStorageForTexture(mitk::DataStorage *storage)
All images found when traversing the (sub-) tree starting at iterator which are resliced by an ImageV...
itk::MemberCommand< PlaneGeometryDataVtkMapper3D > MemberCommandType
vtkAssembly * m_ImageAssembly
PropAssembly to hold the planes.
mitk::WeakPointer< mitk::DataStorage > m_DataStorage
The DataStorage defines which part of the data tree is traversed for rendering.
vtkTransformPolyDataFilter * m_EdgeTransformer
Filter to apply object transform to the extracted edges.
PlaneGeometryDataToSurfaceFilter::Pointer m_SurfaceCreator
vtkActor * m_EdgeActor
Actor for the tube-shaped frame.
vtkPolyDataMapper * m_EdgeMapper
Mapper for the tube-shaped frame
vtkPolyDataMapper * m_BackNormalsMapper
void UpdateVtkTransform(mitk::BaseRenderer *renderer) override
Set the vtkTransform of the m_Prop3D for the current time step of renderer.
BoundingBox::Pointer m_SurfaceCreatorBoundingBox
MemberCommandType::Pointer m_ImageMapperDeletedCommand
vtkActor * m_BackgroundActor
Actor for black plane background.
virtual const PlaneGeometryData * GetInput()
Get the PlaneGeometryData to map.
vtkTubeFilter * m_EdgeTuber
Source to create the tube-shaped frame
vtkActor * m_BackNormalsActor
Data class containing PlaneGeometry objects.
Class for storing surfaces (vtkPolyData).
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.