Slicer 4.2
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Public Member Functions | Static Public Member Functions | Protected Member Functions | Friends
vtkMRMLModelDisplayableManager Class Reference

Manage display nodes with polydata in 3D views. More...

#include <Libs/MRML/DisplayableManager/vtkMRMLModelDisplayableManager.h>

Inheritance diagram for vtkMRMLModelDisplayableManager:
Inheritance graph
[legend]
Collaboration diagram for vtkMRMLModelDisplayableManager:
Collaboration graph
[legend]

List of all members.

Public Member Functions

vtkProp3D * GetActorByID (const char *id)
vtkCellPicker * GetCellPicker ()
vtkMRMLClipModelsNodeGetClipModelsNode ()
const char * GetIDByActor (vtkProp3D *actor)
vtkMRMLModelHierarchyLogicGetModelHierarchyLogic ()
vtkIdType GetPickedCellID ()
 Get/Set the picked cell id, returns -1 if no pick.
const char * GetPickedNodeID ()
vtkIdType GetPickedPointID ()
double * GetPickedRAS ()
double GetPickTolerance ()
vtkPointPicker * GetPointPicker ()
vtkPropPicker * GetPropPicker ()
vtkWorldPointPicker * GetWorldPointPicker ()
bool IsModelDisplayable (vtkMRMLDisplayableNode *node) const
 Return true if the node can be represented as a model.
bool IsModelDisplayable (vtkMRMLDisplayNode *node) const
 Return true if the display node is a model.
int Pick (int x, int y)
void PrintSelf (ostream &os, vtkIndent indent)
void SetClipModelsNode (vtkMRMLClipModelsNode *snode)
void SetClipPlaneFromMatrix (vtkMatrix4x4 *sliceMatrix, int planeDirection, vtkPlane *plane)
void SetPickedCellID (vtkIdType newCellID)
void SetPickedPointID (vtkIdType newPointID)
void SetPickedRAS (double *newPickedRAS)
void SetPickTolerance (double tolerance)
 vtkTypeRevisionMacro (vtkMRMLModelDisplayableManager, vtkMRMLAbstractThreeDViewDisplayableManager)

Static Public Member Functions

static
vtkMRMLModelDisplayableManager
New ()

Protected Member Functions

virtual int ActiveInteractionModes ()
void AddHierarchyObservers ()
virtual void AdditionalInitializeStep ()
void CheckModelHierarchies ()
vtkClipPolyData * CreateTransformedClipper (vtkMRMLDisplayableNode *model)
const char * GetActiveScalarName (vtkMRMLDisplayNode *displayNode, vtkMRMLModelNode *model=0)
int GetDisplayedModelsVisibility (vtkMRMLDisplayNode *model)
vtkMRMLDisplayNodeGetHierarchyDisplayNode (vtkMRMLDisplayableNode *model)
bool IsCellScalarsActive (vtkMRMLDisplayNode *displayNode, vtkMRMLModelNode *model=0)
virtual void OnInteractorStyleEvent (int eventId)
bool OnMRMLDisplayableModelNodeModifiedEvent (vtkMRMLDisplayableNode *modelNode)
virtual void OnMRMLSceneEndClose ()
virtual void OnMRMLSceneNodeAdded (vtkMRMLNode *node)
virtual void OnMRMLSceneNodeRemoved (vtkMRMLNode *node)
virtual void OnMRMLSceneStartClose ()
virtual void ProcessMRMLNodesEvents (vtkObject *caller, unsigned long event, void *callData)
void RemoveDispalyedID (std::string &id)
void RemoveDisplayable (vtkMRMLDisplayableNode *model)
void RemoveDisplayableNodeObservers (vtkMRMLDisplayableNode *model)
void RemoveHierarchyObservers (int clearCache)
void RemoveModelObservers (int clearCache)
void RemoveModelProps ()
virtual void RemoveMRMLObservers ()
 Remove MRML observers.
void SetModelDisplayProperty (vtkMRMLDisplayableNode *model)
int UpdateClipSlicesFromMRML ()
 Returns not null if modified.
void UpdateFromMRML ()
 Updates Actors based on models in the scene.
virtual void UpdateFromMRMLScene ()
void UpdateModel (vtkMRMLDisplayableNode *model)
void UpdateModelHierarchies ()
void UpdateModelHierarchyDisplay (vtkMRMLDisplayableNode *model)
void UpdateModelHierarchyVisibility (vtkMRMLModelHierarchyNode *mhnode, int visibility)
void UpdateModelPolyData (vtkMRMLDisplayableNode *model)
void UpdateModelsFromMRML ()
void UpdateModifiedModel (vtkMRMLDisplayableNode *model)
 vtkMRMLModelDisplayableManager ()
virtual ~vtkMRMLModelDisplayableManager ()

Friends

class vtkThreeDViewInteractorStyle

Detailed Description

Manage display nodes with polydata in 3D views.

Any display node in the scene that contains a valid output polydata is represented into the view renderer using configured synchronized vtkActors and vtkMappers. Note that the display nodes must be of type vtkMRMLModelDisplayNode (to have an output polydata) but the displayable nodes don't necessarily have to be of type vtkMRMLModelNode.

Definition at line 61 of file vtkMRMLModelDisplayableManager.h.


Constructor & Destructor Documentation

vtkMRMLModelDisplayableManager::vtkMRMLModelDisplayableManager ( ) [protected]
virtual vtkMRMLModelDisplayableManager::~vtkMRMLModelDisplayableManager ( ) [protected, virtual]

Member Function Documentation

virtual int vtkMRMLModelDisplayableManager::ActiveInteractionModes ( ) [protected, virtual]

Subclass can overload this method to specify under which InteractionNode modes this Displayable Manger InteractorStyle events. By default events only arrive when in Place mode (good for annotations) but if you want a continuous read out of, for example, slice positions while the mouse moves set this to include Place and ViewTransform

Reimplemented from vtkMRMLAbstractDisplayableManager.

void vtkMRMLModelDisplayableManager::AddHierarchyObservers ( ) [protected]
virtual void vtkMRMLModelDisplayableManager::AdditionalInitializeStep ( ) [protected, virtual]

Sub-class could overload that function and perform additional initialization steps

Note:
Called by SetRenderer()
Initialization occurs before the MRMLDisplayableNode is set and observed
Warning:
That function should NOT be used directly !
See also:
SetRenderer

Reimplemented from vtkMRMLAbstractDisplayableManager.

void vtkMRMLModelDisplayableManager::CheckModelHierarchies ( ) [protected]
vtkClipPolyData* vtkMRMLModelDisplayableManager::CreateTransformedClipper ( vtkMRMLDisplayableNode model) [protected]
const char* vtkMRMLModelDisplayableManager::GetActiveScalarName ( vtkMRMLDisplayNode displayNode,
vtkMRMLModelNode model = 0 
) [protected]
vtkProp3D* vtkMRMLModelDisplayableManager::GetActorByID ( const char *  id)

Return the current model actor corresponding to a give MRML ID

vtkCellPicker* vtkMRMLModelDisplayableManager::GetCellPicker ( )

Get cell picker

vtkMRMLClipModelsNode* vtkMRMLModelDisplayableManager::GetClipModelsNode ( )

Get/Set the ClipModels Node

int vtkMRMLModelDisplayableManager::GetDisplayedModelsVisibility ( vtkMRMLDisplayNode model) [protected]
vtkMRMLDisplayNode* vtkMRMLModelDisplayableManager::GetHierarchyDisplayNode ( vtkMRMLDisplayableNode model) [protected]
const char* vtkMRMLModelDisplayableManager::GetIDByActor ( vtkProp3D *  actor)

Return the current node ID corresponding to a given vtkProp3D

vtkMRMLModelHierarchyLogic* vtkMRMLModelDisplayableManager::GetModelHierarchyLogic ( )
vtkIdType vtkMRMLModelDisplayableManager::GetPickedCellID ( )

Get/Set the picked cell id, returns -1 if no pick.

const char* vtkMRMLModelDisplayableManager::GetPickedNodeID ( )

Get the MRML ID of the picked node, returns empty string if no pick

vtkIdType vtkMRMLModelDisplayableManager::GetPickedPointID ( )

Get/Set the picked point id, returns -1 if no pick

double* vtkMRMLModelDisplayableManager::GetPickedRAS ( )

Get/Set the picked RAS point, returns 0,0,0 if no pick

double vtkMRMLModelDisplayableManager::GetPickTolerance ( )

Get/Set tolerance for Pick() method. it will call vtkCellPicker.Get/SetTolerance()

vtkPointPicker* vtkMRMLModelDisplayableManager::GetPointPicker ( )

Get point picker

vtkPropPicker* vtkMRMLModelDisplayableManager::GetPropPicker ( )

Get property picker

vtkWorldPointPicker* vtkMRMLModelDisplayableManager::GetWorldPointPicker ( )

Get world point picker

bool vtkMRMLModelDisplayableManager::IsCellScalarsActive ( vtkMRMLDisplayNode displayNode,
vtkMRMLModelNode model = 0 
) [protected]
bool vtkMRMLModelDisplayableManager::IsModelDisplayable ( vtkMRMLDisplayableNode node) const

Return true if the node can be represented as a model.

bool vtkMRMLModelDisplayableManager::IsModelDisplayable ( vtkMRMLDisplayNode node) const

Return true if the display node is a model.

static vtkMRMLModelDisplayableManager* vtkMRMLModelDisplayableManager::New ( ) [static]
virtual void vtkMRMLModelDisplayableManager::OnInteractorStyleEvent ( int  eventid) [protected, virtual]

Called after interactor style event specified using AddInteractorStyleObservableEvent are invoked.

Note:
The following events are observed by default:
  • vtkCommand::LeftButtonPressEvent
  • vtkCommand::LeftButtonReleaseEvent
  • vtkCommand::RightButtonPressEvent
  • vtkCommand::RightButtonReleaseEvent
  • vtkCommand::MiddleButtonPressEvent
  • vtkCommand::MiddleButtonReleaseEvent
  • vtkCommand::MouseWheelBackwardEvent
  • vtkCommand::MouseWheelForwardEvent
  • vtkCommand::EnterEvent
  • vtkCommand::LeaveEvent
See also:
AddInteractorStyleObservableEvent RemoveInteractorStyleObservableEvent

Reimplemented from vtkMRMLAbstractDisplayableManager.

bool vtkMRMLModelDisplayableManager::OnMRMLDisplayableModelNodeModifiedEvent ( vtkMRMLDisplayableNode modelNode) [protected]

Returns true if something visible in modelNode has changed and would require a refresh.

virtual void vtkMRMLModelDisplayableManager::OnMRMLSceneEndClose ( ) [protected, virtual]

If vtkMRMLScene::EndCloseEvent has been set to be observed in SetMRMLSceneInternal, it is called when the scene fires the event

See also:
ProcessMRMLSceneEvents, SetMRMLSceneInternal
OnMRMLSceneStartClose

Reimplemented from vtkMRMLAbstractLogic.

virtual void vtkMRMLModelDisplayableManager::OnMRMLSceneNodeAdded ( vtkMRMLNode ) [protected, virtual]

If vtkMRMLScene::NodeAddedEvent has been set to be observed in SetMRMLSceneInternal, it is called when the scene fires the event

See also:
ProcessMRMLSceneEvents, SetMRMLSceneInternal
OnMRMLSceneNodeRemoved, vtkMRMLScene::NodeAboutToBeAdded

Reimplemented from vtkMRMLAbstractLogic.

virtual void vtkMRMLModelDisplayableManager::OnMRMLSceneNodeRemoved ( vtkMRMLNode ) [protected, virtual]

If vtkMRMLScene::NodeRemovedEvent has been set to be observed in SetMRMLSceneInternal, it is called when the scene fires the event

See also:
ProcessMRMLSceneEvents, SetMRMLSceneInternal
OnMRMLSceneNodeAdded, vtkMRMLScene::NodeAboutToBeRemoved

Reimplemented from vtkMRMLAbstractLogic.

virtual void vtkMRMLModelDisplayableManager::OnMRMLSceneStartClose ( ) [protected, virtual]

If vtkMRMLScene::StartCloseEvent has been set to be observed in SetMRMLSceneInternal, it is called when the scene fires the event

See also:
ProcessMRMLSceneEvents, SetMRMLSceneInternal
OnMRMLSceneEndClose

Reimplemented from vtkMRMLAbstractLogic.

int vtkMRMLModelDisplayableManager::Pick ( int  x,
int  y 
)

Convert an x/y location to a mrml node, 3d RAS point, point id, cell id, as appropriate depending what's found under the xy.

void vtkMRMLModelDisplayableManager::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
virtual void vtkMRMLModelDisplayableManager::ProcessMRMLNodesEvents ( vtkObject *  caller,
unsigned long  event,
void *  callData 
) [protected, virtual]

Receives all the events fired by the nodes. To listen to a node, you can add an observer using GetMRMLNodesCallbackCommand() or use the utility macros vtkSet[AndObserve]MRMLNode[Event]Macro ProcessMRMLNodesEvents calls OnMRMLNodeModified when event is vtkCommand::ModifiedEvent.

See also:
ProcessMRMLSceneEvents, ProcessMRMLLogicsEvents, OnMRMLNodeModified(), vtkSetAndObserveMRMLNodeMacro, vtkSetAndObserveMRMLNodeMacro, vtkSetAndObserveMRMLNodeEventMacro

Reimplemented from vtkMRMLAbstractDisplayableManager.

void vtkMRMLModelDisplayableManager::RemoveDispalyedID ( std::string &  id) [protected]
void vtkMRMLModelDisplayableManager::RemoveDisplayable ( vtkMRMLDisplayableNode model) [protected]
void vtkMRMLModelDisplayableManager::RemoveDisplayableNodeObservers ( vtkMRMLDisplayableNode model) [protected]
void vtkMRMLModelDisplayableManager::RemoveHierarchyObservers ( int  clearCache) [protected]
void vtkMRMLModelDisplayableManager::RemoveModelObservers ( int  clearCache) [protected]
void vtkMRMLModelDisplayableManager::RemoveModelProps ( ) [protected]
virtual void vtkMRMLModelDisplayableManager::RemoveMRMLObservers ( ) [protected, virtual]

Remove MRML observers.

Reimplemented from vtkMRMLAbstractDisplayableManager.

void vtkMRMLModelDisplayableManager::SetClipModelsNode ( vtkMRMLClipModelsNode snode)
void vtkMRMLModelDisplayableManager::SetClipPlaneFromMatrix ( vtkMatrix4x4 *  sliceMatrix,
int  planeDirection,
vtkPlane *  plane 
)
void vtkMRMLModelDisplayableManager::SetModelDisplayProperty ( vtkMRMLDisplayableNode model) [protected]
void vtkMRMLModelDisplayableManager::SetPickedCellID ( vtkIdType  newCellID)
void vtkMRMLModelDisplayableManager::SetPickedPointID ( vtkIdType  newPointID)
void vtkMRMLModelDisplayableManager::SetPickedRAS ( double *  newPickedRAS)
void vtkMRMLModelDisplayableManager::SetPickTolerance ( double  tolerance)
int vtkMRMLModelDisplayableManager::UpdateClipSlicesFromMRML ( ) [protected]

Returns not null if modified.

void vtkMRMLModelDisplayableManager::UpdateFromMRML ( ) [protected, virtual]

Updates Actors based on models in the scene.

Reimplemented from vtkMRMLAbstractDisplayableManager.

virtual void vtkMRMLModelDisplayableManager::UpdateFromMRMLScene ( ) [protected, virtual]

Called everytime the scene has been significantly changed. If the scene BatchProcessState events are observed (in SetMRMLSceneInternal() ), UpdateFromMRMLScene is called after each batch process (Close, Import, Restore...). It is also being called by default when a new scene is set (SetMRMLScene).

See also:
SetMRMLSceneInternal, UnobserveMRMLScene, ObserveMRMLScene

Reimplemented from vtkMRMLAbstractLogic.

void vtkMRMLModelDisplayableManager::UpdateModel ( vtkMRMLDisplayableNode model) [protected]
void vtkMRMLModelDisplayableManager::UpdateModelHierarchies ( ) [protected]
void vtkMRMLModelDisplayableManager::UpdateModelHierarchyDisplay ( vtkMRMLDisplayableNode model) [protected]
void vtkMRMLModelDisplayableManager::UpdateModelHierarchyVisibility ( vtkMRMLModelHierarchyNode mhnode,
int  visibility 
) [protected]
void vtkMRMLModelDisplayableManager::UpdateModelPolyData ( vtkMRMLDisplayableNode model) [protected]
void vtkMRMLModelDisplayableManager::UpdateModelsFromMRML ( ) [protected]
void vtkMRMLModelDisplayableManager::UpdateModifiedModel ( vtkMRMLDisplayableNode model) [protected]
vtkMRMLModelDisplayableManager::vtkTypeRevisionMacro ( vtkMRMLModelDisplayableManager  ,
vtkMRMLAbstractThreeDViewDisplayableManager   
)

Friends And Related Function Documentation

friend class vtkThreeDViewInteractorStyle [friend]

Definition at line 163 of file vtkMRMLModelDisplayableManager.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines