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;
255 vtkMRMLModelNode(const vtkMRMLModelNode&);
256 void operator=(const vtkMRMLModelNode&);
259 virtual
void SetMeshConnection(vtkAlgorithmOutput *inputPort);
276 void SetMeshToDisplayNodes();
283 vtkAlgorithmOutput* MeshConnection;
284 vtkEventForwarderCommand* DataEventForwarder;
285 MeshTypeHint MeshType;
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 supercalss 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.
Class to hold information about a node reference.
virtual vtkMRMLNode * CreateNodeInstance() VTK_OVERRIDE=0
MRMLNode methods.
virtual void GetRASBounds(double bounds[6])