10#ifndef __vtkMRMLModelDisplayableManager_h
11#define __vtkMRMLModelDisplayableManager_h
15#include "vtkMRMLDisplayableManagerExport.h"
25#include "vtkRenderWindow.h"
35class vtkWorldPointPicker;
51 void PrintSelf(ostream& os, vtkIndent indent)
override;
94 void SetPickedRAS(
double* newPickedRAS);
97 vtkIdType GetPickedCellID();
99 void SetPickedCellID(vtkIdType newCellID);
102 vtkIdType GetPickedPointID();
104 void SetPickedPointID(vtkIdType newPointID);
106 void SetClipPlaneFromMatrix(vtkMatrix4x4 *sliceMatrix,
122 int ActiveInteractionModes() override;
124 void UnobserveMRMLScene() override;
126 void OnMRMLSceneStartClose() override;
127 void OnMRMLSceneEndClose() override;
128 void UpdateFromMRMLScene() override;
132 void OnInteractorStyleEvent(
int eventId) override;
133 void ProcessMRMLNodesEvents(vtkObject *caller,
unsigned long event,
void *callData) override;
140 void UpdateFromMRML() override;
142 void RemoveMRMLObservers() override;
144 void RemoveModelProps();
145 void RemoveModelObservers(
int clearCache);
149 void UpdateModelsFromMRML();
161 int UpdateClipSlicesFromMRML();
165 void RemoveDisplayedID(std::
string &
id);
176 vtkInternal* Internal;
Superclass for displayable manager classes.
MRML node to represent three clipping planes.
Abstract class that contains graphical display properties for displayable nodes.
Manage display nodes with polydata in 3D views.
int Pick3D(double ras[3]) override
vtkWorldPointPicker * GetWorldPointPicker()
Get world point picker.
vtkPointPicker * GetPointPicker()
Get point picker.
vtkMRMLClipModelsNode * GetClipModelsNode()
Get/Set the ClipModels Node.
const char * GetPickedNodeID() override
Get the MRML ID of the picked node, returns empty string if no pick.
const char * GetIDByActor(vtkProp3D *actor)
Return the current node ID corresponding to a given vtkProp3D.
vtkCellPicker * GetCellPicker()
Get cell picker.
double * GetPickedRAS() VTK_SIZEHINT(3)
Get the picked RAS point, returns 0,0,0 if no pick.
vtkProp3D * GetActorByID(const char *id)
Return the current model actor corresponding to a give MRML ID.
vtkPropPicker * GetPropPicker()
Get property picker.
double GetPickTolerance()
Get tolerance for Pick() method. It will call vtkCellPicker.GetTolerance()
void SetPickTolerance(double tolerance)
Set tolerance for Pick() method. It will call vtkCellPicker.SetTolerance()
void PrintSelf(ostream &os, vtkIndent indent) override
void SetClipModelsNode(vtkMRMLClipModelsNode *snode)
static vtkMRMLModelDisplayableManager * New()
MRML node to represent a 3D surface model.
Abstract Superclass for all specific types of MRML nodes.