15#ifndef __vtkMRMLModelNode_h
16#define __vtkMRMLModelNode_h
24class vtkAlgorithmOutput;
25class vtkAssignAttributes;
26class vtkEventForwarderCommand;
28class vtkImplicitPolyDataDistance;
31class vtkTransformFilter;
32class vtkUnstructuredGrid;
48 void PrintSelf(ostream& os, vtkIndent indent)
override;
216 float overlayMin,
float overlayMax,
217 int showOverlayPositive,
int showOverlayNegative,
Abstract class that contains graphical display properties for displayable nodes.
MRML node to represent a display property of 3D surface model.
void UpdateImplicitDistanceFunction()
Updates the implicit function connection.
vtkSmartPointer< vtkImplicitPolyDataDistance > ImplicitPolyDataDistanceWorld
virtual void UpdateDisplayNodeMesh(vtkMRMLDisplayNode *dnode)
virtual void SetAndObservePolyData(vtkPolyData *polyData)
vtkAlgorithmOutput * MeshConnection
Data.
virtual void SetUnstructuredGridConnection(vtkAlgorithmOutput *inputPort)
virtual vtkPointSet * GetMesh()
int CompositeScalars(const char *backgroundName, const char *overlayName, float overlayMin, float overlayMax, int showOverlayPositive, int showOverlayNegative, int reverseOverlay)
void AddCellScalars(vtkDataArray *array)
virtual vtkPolyData * GetPolyData()
~vtkMRMLModelNode() override
void CreateDefaultDisplayNodes() override
Create and observe default display node.
bool ShowDefaultScalarData()
vtkEventForwarderCommand * DataEventForwarder
const char * GetNodeTagName() override
Get node XML tag name (like Volume, Model)
vtkImplicitFunction * GetImplicitFunctionWorld() override
virtual void SetMeshConnection(vtkAlgorithmOutput *inputPort)
Called by SetPolyDataConnection and SetUnstructuredGridConnection.
@ UnstructuredGridMeshType
virtual void TransformBoundsToRAS(double inputBounds_Local[6], double outputBounds_RAS[6])
virtual vtkUnstructuredGrid * GetUnstructuredGrid()
virtual void SetMeshToDisplayNode(vtkMRMLModelDisplayNode *modelDisplayNode)
virtual vtkAlgorithmOutput * GetPolyDataConnection()
bool HasPointScalarName(const char *scalarName)
void GetBounds(double bounds[6]) override
void operator=(const vtkMRMLModelNode &)
void SetMeshToDisplayNodes()
virtual void SetAndObserveMesh(vtkPointSet *Mesh)
int SetActivePointScalars(const char *scalarName, int attributeType)
vtkMRMLModelDisplayNode * GetModelDisplayNode()
Get associated model display MRML node.
bool CanApplyNonLinearTransforms() const override
void AddPointScalars(vtkDataArray *array)
Utility function that adds an array to the mesh's point data. /.
vtkMRMLCopyContentMacro(vtkMRMLModelNode)
bool HasCellScalarName(const char *scalarName)
static int GetAttributeTypeFromString(const char *typeName)
bool GetModifiedSinceRead() override
static vtkMRMLModelNode * New()
void PrintSelf(ostream &os, vtkIndent indent) override
vtkMRMLModelNode(const vtkMRMLModelNode &)
std::string GetDefaultStorageNodeClassName(const char *filename) override
vtkMRMLStorageNode * CreateDefaultStorageNode() override
vtkMRMLNode * CreateNodeInstance() override
MRMLNode methods.
const char * GetActiveCellScalarName(int type)
virtual vtkAlgorithmOutput * GetUnstructuredGridConnection()
void AddScalars(vtkDataArray *array, int location)
void GetRASBounds(double bounds[6]) override
virtual void SetPolyDataConnection(vtkAlgorithmOutput *inputPort)
void OnNodeReferenceAdded(vtkMRMLNodeReference *reference) override
Called when a node reference ID is added (list size increased).
vtkSmartPointer< vtkTransformFilter > PolyDataLocalToWorldTransformFilter
void ProcessMRMLEvents(vtkObject *, unsigned long, void *) override
alternative method to propagate events generated in Display nodes
int SetActiveCellScalars(const char *scalarName, int attributeType)
const char * GetActivePointScalarName(int type)
void RemoveScalars(const char *scalarName)
Remove an array from the mesh's point/cell data.
void OnNodeReferenceModified(vtkMRMLNodeReference *reference) override
Called when a node reference ID is modified.
void ApplyTransform(vtkAbstractTransform *transform) override
Class to hold information about a node reference.
Abstract Superclass for all specific types of MRML nodes.
A superclass for other storage nodes.