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) VTK_OVERRIDE;
56 virtual const
char* GetNodeTagName() VTK_OVERRIDE {
return "Model";};
65 void * ) VTK_OVERRIDE;
73 virtual void SetAndObserveMesh(vtkPointSet *Mesh);
74 virtual void SetAndObservePolyData(vtkPolyData *polyData);
78 virtual vtkPointSet* GetMesh();
82 virtual vtkPolyData* GetPolyData();
87 virtual vtkUnstructuredGrid* GetUnstructuredGrid();
92 virtual void SetPolyDataConnection(vtkAlgorithmOutput *inputPort);
97 virtual void SetUnstructuredGridConnection(vtkAlgorithmOutput *inputPort);
101 vtkGetObjectMacro(MeshConnection,vtkAlgorithmOutput)
104 virtual vtkAlgorithmOutput* GetPolyDataConnection();
111 virtual vtkAlgorithmOutput* GetUnstructuredGridConnection();
116 PolyDataMeshType = 0,
117 UnstructuredGridMeshType
125 vtkGetMacro(MeshType, MeshTypeHint);
135 MeshModifiedEvent = 17001,
136 PolyDataModifiedEvent = 17001
141 void AddPointScalars(vtkDataArray *array);
145 void AddCellScalars(vtkDataArray *array);
150 void AddScalars(vtkDataArray *array,
int location);
153 void RemoveScalars(
const char *scalarName);
158 bool HasPointScalarName(
const char* scalarName);
163 bool HasCellScalarName(
const char* scalarName);
172 int SetActivePointScalars(
const char *scalarName,
int attributeType);
179 const char *GetActivePointScalarName(
int type);
188 int SetActiveCellScalars(
const char *scalarName,
int attributeType);
194 const char *GetActiveCellScalarName(
int type);
199 static int GetAttributeTypeFromString(
const char* typeName);
211 int CompositeScalars(
const char* backgroundName,
const char* overlayName,
212 float overlayMin,
float overlayMax,
213 int showOverlayPositive,
int showOverlayNegative,
220 virtual void GetRASBounds(
double bounds[6]) VTK_OVERRIDE;
225 virtual void GetBounds(
double bounds[6]) VTK_OVERRIDE;
231 virtual void TransformBoundsToRAS(
double inputBounds_Local[6],
double outputBounds_RAS[6]);
234 virtual
void ApplyTransform(vtkAbstractTransform* transform) VTK_OVERRIDE;
238 virtual
std::
string GetDefaultStorageNodeClassName(const
char* filename ) VTK_OVERRIDE;
241 virtual
void CreateDefaultDisplayNodes() VTK_OVERRIDE;
250 virtual
bool GetModifiedSinceRead() VTK_OVERRIDE;
259 virtual
void SetMeshConnection(vtkAlgorithmOutput *inputPort);
267 virtual
void OnNodeReferenceAdded(vtkMRMLNodeReference *reference) VTK_OVERRIDE;
271 virtual
void OnNodeReferenceModified(vtkMRMLNodeReference *reference) VTK_OVERRIDE;
276 void SetMeshToDisplayNodes();
283 vtkAlgorithmOutput* MeshConnection;
284 vtkEventForwarderCommand* DataEventForwarder;
MRML node to represent a display property of 3D surface model.
virtual void GetBounds(double bounds[6])
MRML node to represent a 3D surface model.
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
virtual void ProcessMRMLEvents(vtkObject *, unsigned long, void *) VTK_OVERRIDE
alternative method to propagate events generated in Display nodes
A superclass for other storage nodes.
virtual void Copy(vtkMRMLNode *node) VTK_OVERRIDE
Copy the node's attributes to this object
Abstract class that contains graphical display properties for displayable nodes.
Abstract Superclass for all specific types of MRML nodes.
virtual vtkMRMLNode * CreateNodeInstance() VTK_OVERRIDE=0
MRMLNode methods.
virtual void GetRASBounds(double bounds[6])