Medical Imaging Interaction Toolkit
2016.11.0
Medical Imaging Interaction Toolkit
|
Vtk-based mapper to display a PlaneGeometry in a 3D windowUses a PlaneGeometryDataToSurfaceFilter object to create a vtkPolyData representation of a given PlaneGeometry instance. PlaneGeometry may either contain a common flat plane or a curved plane (ThinPlateSplineCurvedGeometry). More...
#include <mitkPlaneGeometryDataVtkMapper3D.h>
Classes | |
class | ActorInfo |
Public Types | |
typedef PlaneGeometryDataVtkMapper3D | Self |
typedef VtkMapper | Superclass |
typedef itk::SmartPointer< Self > | Pointer |
typedef itk::SmartPointer< const Self > | ConstPointer |
Public Types inherited from mitk::VtkMapper | |
typedef VtkMapper | Self |
typedef Mapper | Superclass |
typedef itk::SmartPointer< Self > | Pointer |
typedef itk::SmartPointer< const Self > | ConstPointer |
Public Types inherited from mitk::Mapper | |
typedef Mapper | Self |
typedef itk::Object | Superclass |
typedef itk::SmartPointer< Self > | Pointer |
typedef itk::SmartPointer< const Self > | ConstPointer |
Public Member Functions | |
virtual std::vector< std::string > | GetClassHierarchy () const override |
virtual const char * | GetClassName () const |
Pointer | Clone () const |
virtual vtkProp * | GetVtkProp (mitk::BaseRenderer *renderer) override |
virtual void | UpdateVtkTransform (mitk::BaseRenderer *renderer) override |
Set the vtkTransform of the m_Prop3D for the current time step of renderer. More... | |
virtual const PlaneGeometryData * | GetInput () |
Get the PlaneGeometryData to map. More... | |
virtual void | SetDataStorageForTexture (mitk::DataStorage *storage) |
All images found when traversing the (sub-) tree starting at iterator which are resliced by an ImageVtkMapper2D will be mapped. This method is used to set the data storage to traverse. This offers the possibility to use this mapper for other data storages (not only the default data storage). More... | |
Public Member Functions inherited from mitk::VtkMapper | |
virtual bool | IsVtkBased () const override |
Returns whether this is an vtk-based mapper. More... | |
void | MitkRender (mitk::BaseRenderer *renderer, mitk::VtkPropRenderer::RenderType type) override |
Determines which geometry should be rendered (opaque, translucent, volumetric, overlay) and calls the appropriate function. More... | |
virtual void | MitkRenderOverlay (BaseRenderer *renderer) |
Checks visibility and renders the overlay. More... | |
virtual void | MitkRenderOpaqueGeometry (BaseRenderer *renderer) |
Checks visibility and renders untransparent geometry. More... | |
virtual void | MitkRenderTranslucentGeometry (BaseRenderer *renderer) |
Checks visiblity and renders transparent geometry. More... | |
virtual void | MitkRenderVolumetricGeometry (BaseRenderer *renderer) |
Checks visibility and renders volumes. More... | |
virtual bool | HasVtkProp (const vtkProp *prop, BaseRenderer *renderer) |
Returns true if this mapper owns the specified vtkProp for the given BaseRenderer. More... | |
virtual void | ApplyProperties (vtkActor *actor, mitk::BaseRenderer *renderer) |
Apply color and opacity properties read from the PropertyList. More... | |
void | ApplyShaderProperties (mitk::BaseRenderer *renderer) |
SHADERTODO. More... | |
virtual void | ApplyColorAndOpacityProperties (mitk::BaseRenderer *renderer, vtkActor *actor) override |
Apply color and opacity properties read from the PropertyList. Called by mapper subclasses. More... | |
virtual void | ReleaseGraphicsResources (mitk::BaseRenderer *) |
Release vtk-based graphics resources that are being consumed by this mapper. More... | |
Public Member Functions inherited from mitk::Mapper | |
virtual void | SetDataNode (DataNode *_arg) |
Set the DataNode containing the data to map. More... | |
virtual DataNode * | GetDataNode () const |
Get the DataNode containing the data to map. Method only returns valid DataNode Pointer if the mapper belongs to a data node. Otherwise, the returned DataNode Pointer might be invalid. More... | |
BaseData * | GetData () const |
Get the data to map. More... | |
virtual bool | GetColor (float rgb[3], BaseRenderer *renderer, const char *name="color") const |
Convenience access method for color properties (instances of ColorProperty) More... | |
virtual bool | GetVisibility (bool &visible, BaseRenderer *renderer, const char *name="visible") const |
Convenience access method for visibility properties (instances of BoolProperty) More... | |
virtual bool | GetOpacity (float &opacity, BaseRenderer *renderer, const char *name="opacity") const |
Convenience access method for opacity properties (instances of FloatProperty) More... | |
virtual bool | GetLevelWindow (LevelWindow &levelWindow, BaseRenderer *renderer, const char *name="levelwindow") const |
Convenience access method for color properties (instances of LevelWindoProperty) More... | |
virtual bool | IsVisible (BaseRenderer *renderer, const char *name="visible") const |
Convenience access method for visibility properties (instances of BoolProperty). Return value is the visibility. Default is visible==true, i.e., true is returned even if the property (propertyKey) is not found. More... | |
virtual void | Update (BaseRenderer *renderer) |
Calls the time step of the input data for the specified renderer and checks whether the time step is valid and calls method GenerateDataForRenderer() More... | |
int | GetTimestep () const |
Returns the current time step as calculated from the renderer. More... | |
virtual bool | IsLODEnabled (BaseRenderer *) const |
Static Public Member Functions | |
static const char * | GetStaticNameOfClass () |
static Pointer | New () |
Static Public Member Functions inherited from mitk::VtkMapper | |
static const char * | GetStaticNameOfClass () |
static void | SetVtkMapperImmediateModeRendering (vtkMapper *mapper) |
Re-issues all drawing commands required to describe the entire scene each time a new frame is required, regardless of actual changes. More... | |
Static Public Member Functions inherited from mitk::Mapper | |
static const char * | GetStaticNameOfClass () |
static void | SetDefaultProperties (DataNode *node, BaseRenderer *renderer=nullptr, bool overwrite=false) |
Set default values of properties used by this mapper to node. More... | |
Protected Types | |
typedef std::multimap< int, vtkActor * > | LayerSortedActorList |
typedef std::map< ImageVtkMapper2D *, ActorInfo > | ActorList |
List holding the vtkActor to map the image into 3D for each ImageMapper. More... | |
typedef itk::MemberCommand< PlaneGeometryDataVtkMapper3D > | MemberCommandType |
Protected Member Functions | |
PlaneGeometryDataVtkMapper3D () | |
virtual | ~PlaneGeometryDataVtkMapper3D () |
virtual void | GenerateDataForRenderer (BaseRenderer *renderer) override |
Generate the data needed for rendering into renderer. More... | |
void | ProcessNode (DataNode *node, BaseRenderer *renderer, Surface *surface, LayerSortedActorList &layerSortedActors) |
void | ImageMapperDeletedCallback (itk::Object *caller, const itk::EventObject &event) |
Protected Member Functions inherited from mitk::VtkMapper | |
VtkMapper () | |
virtual | ~VtkMapper () |
Protected Member Functions inherited from mitk::Mapper | |
Mapper () | |
explicit constructor which disallows implicit conversions More... | |
virtual | ~Mapper () |
virtual destructor in order to derive from this class More... | |
virtual void | GenerateData () |
Generate the data needed for rendering (independent of a specific renderer) More... | |
virtual void | CalculateTimeStep (BaseRenderer *renderer) |
Updates the time step, which is sometimes needed in subclasses. More... | |
virtual void | ResetMapper (BaseRenderer *) |
Reset the mapper (i.e., make sure that nothing is displayed) if no valid data is present. In most cases the reimplemented function disables the according actors (toggling visibility off) More... | |
virtual OverlayManager * | GetOverlayManager () const |
Protected Attributes | |
vtkAssembly * | m_Prop3DAssembly |
general PropAssembly to hold the entire scene More... | |
vtkAssembly * | m_ImageAssembly |
PropAssembly to hold the planes. More... | |
PlaneGeometryDataToSurfaceFilter::Pointer | m_SurfaceCreator |
BoundingBox::Pointer | m_SurfaceCreatorBoundingBox |
BoundingBox::PointsContainer::Pointer | m_SurfaceCreatorPointsContainer |
vtkFeatureEdges * | m_Edges |
Edge extractor for tube-shaped frame. More... | |
vtkTransformPolyDataFilter * | m_EdgeTransformer |
Filter to apply object transform to the extracted edges. More... | |
vtkTubeFilter * | m_EdgeTuber |
Source to create the tube-shaped frame. More... | |
vtkPolyDataMapper * | m_EdgeMapper |
Mapper for the tube-shaped frame. More... | |
vtkActor * | m_EdgeActor |
Actor for the tube-shaped frame. More... | |
vtkPolyDataMapper * | m_BackgroundMapper |
Mapper for black plane background. More... | |
vtkActor * | m_BackgroundActor |
Actor for black plane background. More... | |
vtkTransformPolyDataFilter * | m_NormalsTransformer |
Transforms the suface before applying the glyph filter. More... | |
vtkPolyDataMapper * | m_FrontNormalsMapper |
Mapper for normals representation (thin lines) More... | |
vtkPolyDataMapper * | m_BackNormalsMapper |
vtkHedgeHog * | m_FrontHedgeHog |
Generates lines for surface normals. More... | |
vtkHedgeHog * | m_BackHedgeHog |
vtkActor * | m_FrontNormalsActor |
Actor to hold the normals arrows. More... | |
vtkActor * | m_BackNormalsActor |
vtkCleanPolyData * | m_Cleaner |
bool | m_NormalsActorAdded |
mitk::WeakPointer< mitk::DataStorage > | m_DataStorage |
The DataStorage defines which part of the data tree is traversed for renderering. More... | |
ActorList | m_ImageActors |
MemberCommandType::Pointer | m_ImageMapperDeletedCommand |
Protected Attributes inherited from mitk::Mapper | |
mitk::DataNode * | m_DataNode |
Additional Inherited Members | |
Public Attributes inherited from mitk::VtkMapper | |
mitk::LocalStorageHandler< VtkMapperLocalStorage > | m_VtkMapperLSH |
Vtk-based mapper to display a PlaneGeometry in a 3D window
Uses a PlaneGeometryDataToSurfaceFilter object to create a vtkPolyData representation of a given PlaneGeometry instance. PlaneGeometry may either contain a common flat plane or a curved plane (ThinPlateSplineCurvedGeometry).
The vtkPolyData object is then decorated by a colored tube on the edges and by image textures if possible (currently this requires that there is a 2D render window rendering the same geometry as this mapper).
Properties that influence rendering are:
Note: The following properties are set for each image individually, and thus, also influence the rendering of this mapper:
The internal filter pipeline which combines a (sometimes deformed) 2D surface with a nice frame and image textures is illustrated in the following sketch:
Definition at line 98 of file mitkPlaneGeometryDataVtkMapper3D.h.
|
protected |
List holding the vtkActor to map the image into 3D for each ImageMapper.
Definition at line 215 of file mitkPlaneGeometryDataVtkMapper3D.h.
Definition at line 101 of file mitkPlaneGeometryDataVtkMapper3D.h.
|
protected |
Definition at line 128 of file mitkPlaneGeometryDataVtkMapper3D.h.
|
protected |
Definition at line 219 of file mitkPlaneGeometryDataVtkMapper3D.h.
Definition at line 101 of file mitkPlaneGeometryDataVtkMapper3D.h.
Definition at line 101 of file mitkPlaneGeometryDataVtkMapper3D.h.
Definition at line 101 of file mitkPlaneGeometryDataVtkMapper3D.h.
|
protected |
Definition at line 44 of file mitkPlaneGeometryDataVtkMapper3D.cpp.
References ImageMapperDeletedCallback(), m_BackgroundActor, m_BackgroundMapper, m_BackHedgeHog, m_BackNormalsActor, m_BackNormalsMapper, m_Cleaner, m_EdgeActor, m_EdgeMapper, m_Edges, m_EdgeTransformer, m_EdgeTuber, m_FrontHedgeHog, m_FrontNormalsActor, m_FrontNormalsMapper, m_ImageAssembly, m_ImageMapperDeletedCommand, m_NormalsTransformer, m_Prop3DAssembly, m_SurfaceCreator, m_SurfaceCreatorBoundingBox, m_SurfaceCreatorPointsContainer, mitk::New(), and mitk::PlaneGeometryDataToSurfaceFilter::New().
|
protectedvirtual |
Definition at line 127 of file mitkPlaneGeometryDataVtkMapper3D.cpp.
References m_BackgroundActor, m_BackgroundMapper, m_BackHedgeHog, m_BackNormalsActor, m_BackNormalsMapper, m_Cleaner, m_DataStorage, m_EdgeActor, m_EdgeMapper, m_Edges, m_EdgeTransformer, m_EdgeTuber, m_FrontHedgeHog, m_FrontNormalsActor, m_FrontNormalsMapper, m_ImageActors, m_ImageAssembly, m_NormalsTransformer, and m_Prop3DAssembly.
Pointer mitk::PlaneGeometryDataVtkMapper3D::Clone | ( | ) | const |
|
overrideprotectedvirtual |
Generate the data needed for rendering into renderer.
Reimplemented from mitk::Mapper.
Definition at line 201 of file mitkPlaneGeometryDataVtkMapper3D.cpp.
References mitk::DataStorage::ComputeVisibleBoundingBox(), mitk::DataNode::GetBoolProperty(), mitk::BaseGeometry::GetBoundingBox(), mitk::DataNode::GetColor(), mitk::Mapper::GetDataNode(), mitk::BaseGeometry::GetDiagonalLength(), mitk::BaseGeometry::GetImageGeometry(), GetInput(), mitk::DataNode::GetProperty(), mitk::DataStorage::GetSubset(), mitk::Mapper::GetTimestep(), mitk::DataNode::GetVisibility(), mitk::Surface::GetVtkPolyData(), mitk::VtkRepresentationProperty::GetVtkRepresentation(), mitk::DataNode::GetVtkTransform(), mitk::WeakPointer< TObjectType >::IsNotNull(), m_BackgroundActor, m_BackgroundMapper, m_BackHedgeHog, m_BackNormalsActor, m_Cleaner, m_DataStorage, m_EdgeActor, m_EdgeMapper, m_EdgeTransformer, m_EdgeTuber, m_FrontHedgeHog, m_FrontNormalsActor, m_ImageAssembly, m_NormalsActorAdded, m_NormalsTransformer, m_Prop3DAssembly, m_SurfaceCreator, m_SurfaceCreatorBoundingBox, m_SurfaceCreatorPointsContainer, mitk::SmartPointerProperty::New(), mitk::TNodePredicateDataType< T >::New(), ProcessNode(), mitk::DataNode::SetProperty(), and mitk::VtkMapper::SetVtkMapperImmediateModeRendering().
|
inlineoverridevirtual |
Reimplemented from mitk::VtkMapper.
Definition at line 101 of file mitkPlaneGeometryDataVtkMapper3D.h.
|
virtual |
Reimplemented from mitk::VtkMapper.
|
virtual |
Get the PlaneGeometryData to map.
Definition at line 174 of file mitkPlaneGeometryDataVtkMapper3D.cpp.
References mitk::DataNode::GetData(), and mitk::Mapper::GetDataNode().
Referenced by GenerateDataForRenderer().
|
inlinestatic |
Definition at line 101 of file mitkPlaneGeometryDataVtkMapper3D.h.
|
overridevirtual |
Overloaded since the displayed color-frame of the image mustn't be transformed after generation of poly data, but before (vertex coordinates only)
Implements mitk::VtkMapper.
Definition at line 156 of file mitkPlaneGeometryDataVtkMapper3D.cpp.
References mitk::Mapper::GetDataNode(), m_ImageAssembly, and m_Prop3DAssembly.
|
protected |
Definition at line 188 of file mitkPlaneGeometryDataVtkMapper3D.cpp.
References m_ImageActors.
Referenced by PlaneGeometryDataVtkMapper3D().
|
static |
Referenced by mitk::CoreObjectFactory::CreateMapper(), and mitk::VtkPropRenderer::VtkPropRenderer().
|
protected |
Definition at line 442 of file mitkPlaneGeometryDataVtkMapper3D.cpp.
References mitk::Mapper::GetDataNode(), mitk::DataNode::GetIntProperty(), mitk::ImageVtkMapper2D::GetLocalStorage(), mitk::DataNode::GetMapper(), mitk::PropertyList::GetProperty(), mitk::DataNode::GetPropertyList(), mitk::Surface::GetVtkPolyData(), mitk::DataNode::IsOn(), mitk::DataNode::IsVisible(), mitk::ImageVtkMapper2D::LocalStorage::m_Actor, m_ImageActors, m_ImageMapperDeletedCommand, mitk::ImageVtkMapper2D::LocalStorage::m_LevelWindowFilter, mitk::ImageVtkMapper2D::LocalStorage::m_ReslicedImage, mitk::New(), vtkNeverTranslucentTexture::New(), and mitk::ImageVtkMapper2D::Update().
Referenced by GenerateDataForRenderer().
|
virtual |
All images found when traversing the (sub-) tree starting at iterator which are resliced by an ImageVtkMapper2D will be mapped. This method is used to set the data storage to traverse. This offers the possibility to use this mapper for other data storages (not only the default data storage).
Definition at line 179 of file mitkPlaneGeometryDataVtkMapper3D.cpp.
References m_DataStorage.
|
overridevirtual |
Set the vtkTransform of the m_Prop3D for the current time step of renderer.
Called by mitk::VtkPropRenderer::Update before rendering. This method will transform all actors (e.g. of an vtkAssembly) according the geometry.
Reimplemented from mitk::VtkMapper.
Definition at line 169 of file mitkPlaneGeometryDataVtkMapper3D.cpp.
References mitk::Mapper::GetDataNode(), mitk::Mapper::GetTimestep(), and m_ImageAssembly.
|
protected |
Actor for black plane background.
Definition at line 171 of file mitkPlaneGeometryDataVtkMapper3D.h.
Referenced by GenerateDataForRenderer(), PlaneGeometryDataVtkMapper3D(), and ~PlaneGeometryDataVtkMapper3D().
|
protected |
Mapper for black plane background.
Definition at line 168 of file mitkPlaneGeometryDataVtkMapper3D.h.
Referenced by GenerateDataForRenderer(), PlaneGeometryDataVtkMapper3D(), and ~PlaneGeometryDataVtkMapper3D().
|
protected |
Definition at line 182 of file mitkPlaneGeometryDataVtkMapper3D.h.
Referenced by GenerateDataForRenderer(), PlaneGeometryDataVtkMapper3D(), and ~PlaneGeometryDataVtkMapper3D().
|
protected |
Definition at line 186 of file mitkPlaneGeometryDataVtkMapper3D.h.
Referenced by GenerateDataForRenderer(), PlaneGeometryDataVtkMapper3D(), and ~PlaneGeometryDataVtkMapper3D().
|
protected |
Definition at line 178 of file mitkPlaneGeometryDataVtkMapper3D.h.
Referenced by PlaneGeometryDataVtkMapper3D(), and ~PlaneGeometryDataVtkMapper3D().
|
protected |
Cleans the polyline in order to avoid phantom boundaries
Definition at line 189 of file mitkPlaneGeometryDataVtkMapper3D.h.
Referenced by GenerateDataForRenderer(), PlaneGeometryDataVtkMapper3D(), and ~PlaneGeometryDataVtkMapper3D().
|
protected |
The DataStorage defines which part of the data tree is traversed for renderering.
Definition at line 195 of file mitkPlaneGeometryDataVtkMapper3D.h.
Referenced by GenerateDataForRenderer(), SetDataStorageForTexture(), and ~PlaneGeometryDataVtkMapper3D().
|
protected |
Actor for the tube-shaped frame.
Definition at line 165 of file mitkPlaneGeometryDataVtkMapper3D.h.
Referenced by GenerateDataForRenderer(), PlaneGeometryDataVtkMapper3D(), and ~PlaneGeometryDataVtkMapper3D().
|
protected |
Mapper for the tube-shaped frame.
Definition at line 162 of file mitkPlaneGeometryDataVtkMapper3D.h.
Referenced by GenerateDataForRenderer(), PlaneGeometryDataVtkMapper3D(), and ~PlaneGeometryDataVtkMapper3D().
|
protected |
Edge extractor for tube-shaped frame.
Definition at line 153 of file mitkPlaneGeometryDataVtkMapper3D.h.
Referenced by PlaneGeometryDataVtkMapper3D(), and ~PlaneGeometryDataVtkMapper3D().
|
protected |
Filter to apply object transform to the extracted edges.
Definition at line 156 of file mitkPlaneGeometryDataVtkMapper3D.h.
Referenced by GenerateDataForRenderer(), PlaneGeometryDataVtkMapper3D(), and ~PlaneGeometryDataVtkMapper3D().
|
protected |
Source to create the tube-shaped frame.
Definition at line 159 of file mitkPlaneGeometryDataVtkMapper3D.h.
Referenced by GenerateDataForRenderer(), PlaneGeometryDataVtkMapper3D(), and ~PlaneGeometryDataVtkMapper3D().
|
protected |
Generates lines for surface normals.
Definition at line 181 of file mitkPlaneGeometryDataVtkMapper3D.h.
Referenced by GenerateDataForRenderer(), PlaneGeometryDataVtkMapper3D(), and ~PlaneGeometryDataVtkMapper3D().
|
protected |
Actor to hold the normals arrows.
Definition at line 185 of file mitkPlaneGeometryDataVtkMapper3D.h.
Referenced by GenerateDataForRenderer(), PlaneGeometryDataVtkMapper3D(), and ~PlaneGeometryDataVtkMapper3D().
|
protected |
Mapper for normals representation (thin lines)
Definition at line 177 of file mitkPlaneGeometryDataVtkMapper3D.h.
Referenced by PlaneGeometryDataVtkMapper3D(), and ~PlaneGeometryDataVtkMapper3D().
|
protected |
Definition at line 216 of file mitkPlaneGeometryDataVtkMapper3D.h.
Referenced by ImageMapperDeletedCallback(), ProcessNode(), and ~PlaneGeometryDataVtkMapper3D().
|
protected |
PropAssembly to hold the planes.
Definition at line 144 of file mitkPlaneGeometryDataVtkMapper3D.h.
Referenced by GenerateDataForRenderer(), GetVtkProp(), PlaneGeometryDataVtkMapper3D(), UpdateVtkTransform(), and ~PlaneGeometryDataVtkMapper3D().
|
protected |
Definition at line 220 of file mitkPlaneGeometryDataVtkMapper3D.h.
Referenced by PlaneGeometryDataVtkMapper3D(), and ProcessNode().
|
protected |
Internal flag, if actors for normals are already added to m_Prop3DAssembly
Definition at line 192 of file mitkPlaneGeometryDataVtkMapper3D.h.
Referenced by GenerateDataForRenderer().
|
protected |
Transforms the suface before applying the glyph filter.
Definition at line 174 of file mitkPlaneGeometryDataVtkMapper3D.h.
Referenced by GenerateDataForRenderer(), PlaneGeometryDataVtkMapper3D(), and ~PlaneGeometryDataVtkMapper3D().
|
protected |
general PropAssembly to hold the entire scene
Definition at line 141 of file mitkPlaneGeometryDataVtkMapper3D.h.
Referenced by GenerateDataForRenderer(), GetVtkProp(), PlaneGeometryDataVtkMapper3D(), and ~PlaneGeometryDataVtkMapper3D().
|
protected |
Definition at line 146 of file mitkPlaneGeometryDataVtkMapper3D.h.
Referenced by GenerateDataForRenderer(), and PlaneGeometryDataVtkMapper3D().
|
protected |
Definition at line 148 of file mitkPlaneGeometryDataVtkMapper3D.h.
Referenced by GenerateDataForRenderer(), and PlaneGeometryDataVtkMapper3D().
|
protected |
Definition at line 150 of file mitkPlaneGeometryDataVtkMapper3D.h.
Referenced by GenerateDataForRenderer(), and PlaneGeometryDataVtkMapper3D().