10#ifndef __vtkMRMLModelDisplayableManager_h
11#define __vtkMRMLModelDisplayableManager_h
15#include "vtkMRMLDisplayableManagerExport.h"
25#include "vtkRenderWindow.h"
37class vtkWorldPointPicker;
53 void PrintSelf(ostream& os, vtkIndent indent)
override;
157 vtkImplicitFunction* clipFunction,
166 vtkActor* actor,
double opacity);
168 vtkActor* capActor,
double opacity);
vtkMRMLAbstractThreeDViewDisplayableManager()
MRML node to represent three clipping planes.
Abstract class that contains graphical display properties for displayable nodes.
MRML node to represent a display property of 3D surface model.
void OnMRMLSceneNodeAdded(vtkMRMLNode *node) override
vtkIdType GetPickedPointID()
Get the picked point id, returns -1 if no pick.
void UpdateModelMesh(vtkMRMLDisplayableNode *model)
void OnMRMLSceneNodeRemoved(vtkMRMLNode *node) override
void UpdateModifiedModel(vtkMRMLDisplayableNode *model)
void SetPickedRAS(double *newPickedRAS)
Set the picked RAS point, returns 0,0,0 if no pick.
int Pick3D(double ras[3]) override
vtkWorldPointPicker * GetWorldPointPicker()
Get world point picker.
void UpdateModelsFromMRML()
vtkPointPicker * GetPointPicker()
Get point picker.
void UpdateFromMRML() override
Updates Actors based on models in the scene.
const char * GetPickedNodeID() override
Get the MRML ID of the picked node, returns empty string if no pick.
vtkMRMLModelDisplayableManager()
static bool IsCellScalarsActive(vtkMRMLDisplayNode *displayNode, vtkMRMLModelNode *model=nullptr)
const char * GetIDByActor(vtkProp3D *actor)
Return the current node ID corresponding to a given vtkProp3D.
void UpdateMapperProperties(vtkMRMLModelNode *modelNode, vtkMRMLDisplayNode *displayNode, vtkMapper *actor)
const char * GetActiveScalarName(vtkMRMLDisplayNode *displayNode, vtkMRMLModelNode *model=nullptr)
vtkCellPicker * GetCellPicker()
Get cell picker.
void SetPickedCellID(vtkIdType newCellID)
Set the picked cell id, returns -1 if no pick.
void UnobserveMRMLScene() override
void ProcessMRMLNodesEvents(vtkObject *caller, unsigned long event, void *callData) override
void RemoveDisplayable(vtkMRMLDisplayableNode *model)
int GetDisplayedModelsVisibility(vtkMRMLDisplayNode *displayNode)
bool OnMRMLDisplayableModelNodeModifiedEvent(vtkMRMLDisplayableNode *modelNode)
double * GetPickedRAS() VTK_SIZEHINT(3)
Get the picked RAS point, returns 0,0,0 if no pick.
void SetPickedPointID(vtkIdType newPointID)
Set the picked point id, returns -1 if no pick.
vtkProp3D * GetActorByID(const char *id)
Return the current model actor corresponding to a give MRML ID.
vtkAlgorithm * GetClipper(vtkMRMLDisplayNode *dnode, vtkMRMLModelNode::MeshTypeHint type, vtkImplicitFunction *clipFunction, int clipMethod)
Returns not null if modified.
vtkPropPicker * GetPropPicker()
Get property picker.
void SetModelDisplayProperty(vtkMRMLDisplayableNode *model)
double GetPickTolerance()
Get tolerance for Pick() method. It will call vtkCellPicker.GetTolerance()
void OnMRMLSceneStartClose() override
void SetPickTolerance(double tolerance)
Set tolerance for Pick() method. It will call vtkCellPicker.SetTolerance()
void RemoveDisplayedID(const std::string &id)
void PrintSelf(ostream &os, vtkIndent indent) override
int ActiveInteractionModes() override
void RemoveDisplayableNodeObservers(vtkMRMLDisplayableNode *model)
void OnMRMLSceneEndClose() override
bool IsModelDisplayable(vtkMRMLDisplayableNode *node) const
Return true if the node can be represented as a model.
void UpdateActorProperties(vtkMRMLModelNode *modelNode, vtkMRMLModelDisplayNode *modelDisplayNode, vtkMRMLDisplayNode *displayNode, vtkActor *actor, double opacity)
void UpdateCapActorProperties(vtkMRMLModelNode *modelNode, vtkMRMLModelDisplayNode *modelDisplayNode, vtkMRMLDisplayNode *displayNode, vtkActor *capActor, double opacity)
void UpdateModel(vtkMRMLDisplayableNode *model)
void RemoveModelObservers(int clearCache)
static vtkMRMLModelDisplayableManager * New()
void RemoveMRMLObservers() override
Remove MRML observers.
void OnInteractorStyleEvent(int eventId) override
vtkIdType GetPickedCellID()
Get the picked cell id, returns -1 if no pick.
void UpdateFromMRMLScene() override
MRML node to represent a 3D surface model.
Abstract Superclass for all specific types of MRML nodes.