15 #ifndef __vtkMRMLModelNode_h 16 #define __vtkMRMLModelNode_h 24 class vtkAlgorithmOutput;
25 class vtkAssignAttributes;
26 class vtkEventForwarderCommand;
30 class vtkTransformFilter;
31 class vtkUnstructuredGrid;
47 void PrintSelf(ostream& os, vtkIndent indent)
override;
72 virtual void SetAndObserveMesh(vtkPointSet *Mesh);
76 virtual void SetAndObservePolyData(vtkPolyData *polyData);
80 virtual vtkPointSet* GetMesh();
84 virtual vtkPolyData* GetPolyData();
89 virtual vtkUnstructuredGrid* GetUnstructuredGrid();
94 virtual void SetPolyDataConnection(vtkAlgorithmOutput *inputPort);
99 virtual void SetUnstructuredGridConnection(vtkAlgorithmOutput *inputPort);
103 vtkGetObjectMacro(MeshConnection,vtkAlgorithmOutput)
106 virtual vtkAlgorithmOutput* GetPolyDataConnection();
113 virtual vtkAlgorithmOutput* GetUnstructuredGridConnection();
118 PolyDataMeshType = 0,
119 UnstructuredGridMeshType
127 vtkGetMacro(MeshType, MeshTypeHint);
137 MeshModifiedEvent = 17001,
138 PolyDataModifiedEvent = 17001
143 void AddPointScalars(vtkDataArray *array);
147 void AddCellScalars(vtkDataArray *array);
152 void AddScalars(vtkDataArray *array,
int location);
155 void RemoveScalars(
const char *scalarName);
160 bool HasPointScalarName(
const char* scalarName);
165 bool HasCellScalarName(
const char* scalarName);
174 int SetActivePointScalars(
const char *scalarName,
int attributeType);
181 const char *GetActivePointScalarName(
int type);
190 int SetActiveCellScalars(
const char *scalarName,
int attributeType);
196 const char *GetActiveCellScalarName(
int type);
201 static int GetAttributeTypeFromString(
const char* typeName);
213 int CompositeScalars(
const char* backgroundName,
const char* overlayName,
214 float overlayMin,
float overlayMax,
215 int showOverlayPositive,
int showOverlayNegative,
227 void GetBounds(
double bounds[6])
override;
233 virtual void TransformBoundsToRAS(
double inputBounds_Local[6],
double outputBounds_RAS[6]);
261 virtual void SetMeshConnection(vtkAlgorithmOutput *inputPort);
278 void SetMeshToDisplayNodes();
void ProcessMRMLEvents(vtkObject *, unsigned long, void *) override
alternative method to propagate events generated in Display nodes
vtkEventForwarderCommand * DataEventForwarder
MRML node to represent a display property of 3D surface model.
virtual vtkMRMLStorageNode * CreateDefaultStorageNode()
virtual void GetBounds(double bounds[6])
MRML node to represent a 3D surface model.
virtual bool GetModifiedSinceRead()
void OnNodeReferenceAdded(vtkMRMLNodeReference *reference) override
Called when a node reference ID is added (list size increased).
void operator=(const vtkMRMLDisplayableNode &)
const char * GetNodeTagName() override
Get node XML tag name (like Volume, Model)
virtual std::string GetDefaultStorageNodeClassName(const char *filename=nullptr)
void PrintSelf(ostream &os, vtkIndent indent) override
virtual void CreateDefaultDisplayNodes()
A superclass for other storage nodes.
vtkMRMLNode * CreateNodeInstance() override=0
MRMLNode methods.
vtkMRMLCopyContentMacro(vtkMRMLStorableNode)
vtkAlgorithmOutput * MeshConnection
Data.
Abstract class that contains graphical display properties for displayable nodes.
Abstract Superclass for all specific types of MRML nodes.
void OnNodeReferenceModified(vtkMRMLNodeReference *reference) override
Called when a node reference ID is modified.
virtual void GetRASBounds(double bounds[6])