Slicer  5.0
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
vtkMRMLModelNode Class Reference

MRML node to represent a 3D surface model. More...

#include <Libs/MRML/Core/vtkMRMLModelNode.h>

Inheritance diagram for vtkMRMLModelNode:
Inheritance graph
[legend]
Collaboration diagram for vtkMRMLModelNode:
Collaboration graph
[legend]

Public Types

enum  { MeshModifiedEvent = 17001, PolyDataModifiedEvent = 17001 }
 
enum  MeshTypeHint { PolyDataMeshType = 0, UnstructuredGridMeshType }
 
typedef vtkMRMLDisplayableNode Superclass
 
- Public Types inherited from vtkMRMLDisplayableNode
enum  { DisplayModifiedEvent = 17000 }
 
typedef vtkMRMLTransformableNode Superclass
 
- Public Types inherited from vtkMRMLTransformableNode
enum  { TransformModifiedEvent = 15000 }
 TransformModifiedEvent is send when the parent transform is modidied. More...
 
typedef vtkMRMLStorableNode Superclass
 
- Public Types inherited from vtkMRMLStorableNode
typedef vtkMRMLNode Superclass
 
- Public Types inherited from vtkMRMLNode
enum  {
  HierarchyModifiedEvent = 16000, IDChangedEvent = 16001, ReferenceAddedEvent, ReferenceModifiedEvent,
  ReferenceRemovedEvent, ReferencedNodeModifiedEvent
}
 
typedef vtkObject Superclass
 

Public Member Functions

void AddCellScalars (vtkDataArray *array)
 
void AddPointScalars (vtkDataArray *array)
 Utility function that adds an array to the mesh's point data. /. More...
 
void AddScalars (vtkDataArray *array, int location)
 
void ApplyTransform (vtkAbstractTransform *transform) override
 
bool CanApplyNonLinearTransforms () const override
 
int CompositeScalars (const char *backgroundName, const char *overlayName, float overlayMin, float overlayMax, int showOverlayPositive, int showOverlayNegative, int reverseOverlay)
 
void CreateDefaultDisplayNodes () override
 Create and observe default display node. More...
 
vtkMRMLStorageNodeCreateDefaultStorageNode () override
 
vtkMRMLNodeCreateNodeInstance () override
 MRMLNode methods. More...
 
const char * GetActiveCellScalarName (int type)
 
const char * GetActivePointScalarName (int type)
 
void GetBounds (double bounds[6]) override
 
virtual const char * GetClassName ()
 
std::string GetDefaultStorageNodeClassName (const char *filename) override
 
virtual vtkPointSet * GetMesh ()
 
virtual vtkAlgorithmOutput * GetMeshConnection ()
 
virtual MeshTypeHint GetMeshType ()
 
vtkMRMLModelDisplayNodeGetModelDisplayNode ()
 Get associated model display MRML node. More...
 
bool GetModifiedSinceRead () override
 
const char * GetNodeTagName () override
 Get node XML tag name (like Volume, Model) More...
 
virtual vtkPolyData * GetPolyData ()
 
virtual vtkAlgorithmOutput * GetPolyDataConnection ()
 
void GetRASBounds (double bounds[6]) override
 
virtual vtkUnstructuredGrid * GetUnstructuredGrid ()
 
virtual vtkAlgorithmOutput * GetUnstructuredGridConnection ()
 
bool HasCellScalarName (const char *scalarName)
 
bool HasPointScalarName (const char *scalarName)
 
virtual int IsA (const char *type)
 
void PrintSelf (ostream &os, vtkIndent indent) override
 
void ProcessMRMLEvents (vtkObject *, unsigned long, void *) override
 alternative method to propagate events generated in Display nodes More...
 
void RemoveScalars (const char *scalarName)
 Remove an array from the mesh's point/cell data. More...
 
int SetActiveCellScalars (const char *scalarName, int attributeType)
 
int SetActivePointScalars (const char *scalarName, int attributeType)
 
virtual void SetAndObserveMesh (vtkPointSet *Mesh)
 
virtual void SetAndObservePolyData (vtkPolyData *polyData)
 
virtual void SetPolyDataConnection (vtkAlgorithmOutput *inputPort)
 
virtual void SetUnstructuredGridConnection (vtkAlgorithmOutput *inputPort)
 
bool ShowDefaultScalarData ()
 
virtual void TransformBoundsToRAS (double inputBounds_Local[6], double outputBounds_RAS[6])
 
 vtkMRMLCopyContentMacro (vtkMRMLModelNode)
 
- Public Member Functions inherited from vtkMRMLDisplayableNode
void AddAndObserveDisplayNodeID (const char *displayNodeID)
 
void Copy (vtkMRMLNode *node) override
 
Copy the node's attributes to this object More...
 
virtual void CreateDefaultSequenceDisplayNodes ()
 
virtual int GetDisplayClassVisibility (const char *nodeClass)
 
vtkMRMLDisplayNodeGetDisplayNode ()
 
const char * GetDisplayNodeID ()
 
virtual const char * GetDisplayNodeReferenceRole ()
 
virtual int GetDisplayVisibility ()
 
vtkMRMLDisplayNodeGetNthDisplayNode (int n)
 
const char * GetNthDisplayNodeID (int n)
 
int GetNumberOfDisplayNodes ()
 
bool HasDisplayNodeID (const char *displayNodeID)
 
Return true if displayNodeID is in the display node ID list. More...
 
void PrintSelf (ostream &os, vtkIndent indent) override
 
void ReadXMLAttributes (const char **atts) override
 
Read node attributes from XML file More...
 
void RemoveAllDisplayNodeIDs ()
 
Remove all display node IDs and associated display nodes. More...
 
void RemoveNthDisplayNodeID (int n)
 
void SetAndObserveDisplayNodeID (const char *displayNodeID)
 
void SetAndObserveNthDisplayNodeID (int n, const char *displayNodeID)
 
virtual void SetDisplayClassVisibility (const char *nodeClass, int visible)
 
virtual void SetDisplayVisibility (int visible)
 
void SetSelectable (int) override
 
virtual void WriteCLI (std::vector< std::string > &vtkNotUsed(commandLine), std::string vtkNotUsed(prefix), int vtkNotUsed(coordinateSystemFlag)=vtkMRMLStorageNode::CoordinateSystemRAS, int vtkNotUsed(multipleFlag)=1)
 
void WriteXML (ostream &of, int indent) override
 
Write this node's information to a MRML file in XML format. More...
 
- Public Member Functions inherited from vtkMRMLTransformableNode
virtual void ApplyTransformMatrix (vtkMatrix4x4 *transformMatrix)
 
vtkMRMLTransformNodeGetParentTransformNode ()
 
Associated transform MRML node More...
 
const char * GetTransformNodeID ()
 Get referenced transform node id. More...
 
bool HardenTransform ()
 
void PrintSelf (ostream &os, vtkIndent indent) override
 
void ProcessMRMLEvents (vtkObject *, unsigned long, void *) override
 
alternative method to propagate events generated in Transform nodes More...
 
void ReadXMLAttributes (const char **atts) override
 
Read node attributes from XML file More...
 
bool SetAndObserveTransformNodeID (const char *transformNodeID)
 
virtual void TransformPointFromWorld (const double inWorld[3], double outLocal[3])
 
virtual void TransformPointFromWorld (const vtkVector3d &inWorld, vtkVector3d &outLocal)
 
virtual void TransformPointToWorld (const double inLocal[3], double outWorld[3])
 
virtual void TransformPointToWorld (const vtkVector3d &inLocal, vtkVector3d &outWorld)
 
void WriteXML (ostream &of, int indent) override
 
Write this node's information to a MRML file in XML format. More...
 
- Public Member Functions inherited from vtkMRMLStorableNode
void AddAndObserveStorageNodeID (const char *storageNodeID)
 
virtual bool AddDefaultStorageNode (const char *filename=nullptr)
 
void Copy (vtkMRMLNode *node) override
 Copy node contents from another node of the same type. Reimplemented to copy default sequence storage node class. More...
 
virtual vtkMRMLStorageNodeCreateDefaultSequenceStorageNode ()
 
virtual std::string GetDefaultSequenceStorageNodeClassName ()
 
vtkMRMLStorageNodeGetNthStorageNode (int n)
 
Get associated display MRML node More...
 
const char * GetNthStorageNodeID (int n)
 
int GetNumberOfStorageNodes ()
 
const char * GetSlicerDataType ()
 
vtkMRMLStorageNodeGetStorageNode ()
 
const char * GetStorageNodeID ()
 
virtual vtkTagTableGetUserTagTable ()
 Methods for user-specified metadata. More...
 
bool HasStorageNodeID (const char *storageNodeID)
 
Return true if storageNodeID is in the storage node ID list. More...
 
void PrintSelf (ostream &os, vtkIndent indent) override
 
void SetAndObserveNthStorageNodeID (int n, const char *storageNodeID)
 
void SetAndObserveStorageNodeID (const char *storageNodeID)
 
String ID of the storage MRML node More...
 
virtual void SetDefaultSequenceStorageNodeClassName (std::string)
 
void SetSlicerDataType (const char *type)
 
virtual void StorableModified ()
 
void UpdateScene (vtkMRMLScene *scene) override
 
Finds the storage node and read the data More...
 
 vtkMRMLCopyContentMacro (vtkMRMLStorableNode)
 
- Public Member Functions inherited from vtkMRMLNode
vtkMRMLNodeAddAndObserveNodeReferenceID (const char *referenceRole, const char *referencedNodeID, vtkIntArray *events=nullptr)
 Add and observe a reference node from this node for a specific referenceRole. More...
 
vtkMRMLNodeAddNodeReferenceID (const char *referenceRole, const char *referencedNodeID)
 Convenience method that adds a referencedNodeID at the end of the list. More...
 
void AddNodeReferenceRole (const char *referenceRole, const char *mrmlAttributeName=nullptr, vtkIntArray *events=nullptr)
 Add a referenceRole. More...
 
virtual void AddToSceneOff ()
 
virtual void AddToSceneOn ()
 
virtual void CopyContent (vtkMRMLNode *node, bool deepCopy=true)
 Copy node contents from another node of the same type. Does not copy node ID, Scene, Name, SingletonTag, HideFromEditors, AddToScene, UndoEnabled, and node references. If deepCopy is set to false then a shallow copy of bulk data (such as image or mesh data) could be made; copying may be faster but the node may share some data with the source node instead of creating an independent copy. More...
 
virtual void CopyReferences (vtkMRMLNode *node)
 Copy the references of the node into this. More...
 
void CopyWithScene (vtkMRMLNode *node)
 Copy everything (including Scene and ID) from another node of the same type. More...
 
void DisableModifiedEventOff ()
 
void DisableModifiedEventOn ()
 
virtual int EndModify (int previousDisableModifiedEventState)
 End modifying the node. More...
 
virtual int GetAddToScene ()
 node added to MRML scene. More...
 
const char * GetAttribute (const char *name)
 Get value of a name value pair attribute. More...
 
std::vector< std::string > GetAttributeNames ()
 Get all attribute names. More...
 
void GetAttributeNames (vtkStringArray *attributeNames)
 Get all attribute names. Python-wrappable version. More...
 
virtual vtkIntArray * GetContentModifiedEvents ()
 
int GetCustomModifiedEventPending (int eventId)
 
virtual char * GetDescription ()
 
virtual int GetDisableModifiedEvent ()
 Turn on/off generating InvokeEvent for set macros. More...
 
virtual int GetHideFromEditors ()
 Describes if the node is hidden. More...
 
virtual char * GetID ()
 ID use by other nodes to reference this node in XML. More...
 
virtual int GetInMRMLCallbackFlag ()
 Flags to avoid event loops. More...
 
virtual int GetModifiedEventPending ()
 
virtual char * GetName ()
 
vtkMRMLNodeGetNodeReference (const char *referenceRole)
 
const char * GetNodeReferenceID (const char *referenceRole)
 Utility function that returns the first node id for a specific referenceRole. More...
 
void GetNodeReferenceIDs (const char *referenceRole, std::vector< const char *> &referencedNodeIDs)
 Return a list of the referenced node IDs. More...
 
void GetNodeReferenceRoles (std::vector< std::string > &roles)
 
void GetNodeReferences (const char *referenceRole, std::vector< vtkMRMLNode *> &nodes)
 Return a list of the referenced nodes. More...
 
vtkMRMLNodeGetNthNodeReference (const char *referenceRole, int n)
 Get referenced MRML node for a specific referenceRole. More...
 
const char * GetNthNodeReferenceID (const char *referenceRole, int n)
 Return the string of the Nth node ID for a specific reference role. More...
 
const char * GetNthNodeReferenceRole (int n)
 
int GetNumberOfNodeReferenceRoles ()
 
int GetNumberOfNodeReferences (const char *referenceRole)
 Return the number of node IDs for a specific reference role (and nodes as they always have the same size). More...
 
virtual int GetSaveWithScene ()
 Save node with MRML scene. More...
 
virtual vtkMRMLSceneGetScene ()
 Get the scene this node has been added to. More...
 
virtual int GetSelectable ()
 Describes if the node is selectable. More...
 
virtual int GetSelected ()
 Get/Set for Selected. More...
 
virtual char * GetSingletonTag ()
 
virtual const char * GetTypeDisplayName ()
 
virtual bool GetUndoEnabled ()
 
virtual bool HasCopyContent () const
 Returns true if the class supports deep and shallow copying node content. More...
 
bool HasNodeReferenceID (const char *referenceRole, const char *referencedNodeID)
 Return true if referencedNodeID is in the node ID list for a specific referenceRole. More...
 
virtual void HideFromEditorsOff ()
 
virtual void HideFromEditorsOn ()
 
virtual void InvokeCustomModifiedEvent (int eventId, void *callData=nullptr)
 This method allows the node to compress events. More...
 
virtual int InvokePendingModifiedEvent ()
 Invokes any modified events that are pending. More...
 
bool IsSingleton ()
 
void Modified () override
 Customized version of Modified() allowing to compress vtkCommand::ModifiedEvent. More...
 
virtual void OnNodeAddedToScene ()
 
void PrintSelf (ostream &os, vtkIndent indent) override
 
virtual void ProcessChildNode (vtkMRMLNode *)
 Set dependencies between this node and a child node when parsing XML file. More...
 
void RemoveAttribute (const char *name)
 Remove attribute with the specified name. More...
 
void RemoveNodeReferenceIDs (const char *referenceRole)
 Remove all node IDs and associated nodes for a specific referenceRole. More...
 
void RemoveNthNodeReferenceID (const char *referenceRole, int n)
 Convenience method that removes the Nth node ID from the list. More...
 
virtual void Reset (vtkMRMLNode *defaultNode)
 Reset node attributes to the initial state as defined in the constructor or the passed default node. More...
 
virtual void SaveWithSceneOff ()
 
virtual void SaveWithSceneOn ()
 
virtual void SelectableOff ()
 
virtual void SelectableOn ()
 
virtual void SelectedOff ()
 
virtual void SelectedOn ()
 
virtual void SetAddToScene (int)
 
void SetAddToSceneNoModify (int value)
 
vtkMRMLNodeSetAndObserveNodeReferenceID (const char *referenceRole, const char *referencedNodeID, vtkIntArray *events=nullptr)
 Set and observe a reference node from this node for a specific referenceRole. More...
 
vtkMRMLNodeSetAndObserveNthNodeReferenceID (const char *referenceRole, int n, const char *referencedNodeID, vtkIntArray *events=nullptr)
 Set and observe the Nth node ID for a specific reference role. More...
 
void SetAttribute (const char *name, const char *value)
 Set a name value pair attribute. More...
 
virtual void SetDescription (const char *)
 Text description of this node, to be set by the user. More...
 
void SetDisableModifiedEvent (int onOff)
 
virtual void SetHideFromEditors (int)
 
void SetInMRMLCallbackFlag (int flag)
 
virtual void SetName (const char *)
 Name of this node, to be set by the user. More...
 
vtkMRMLNodeSetNodeReferenceID (const char *referenceRole, const char *referencedNodeID)
 Set a reference to a node with specified nodeID from this node for a specific referenceRole. More...
 
vtkMRMLNodeSetNthNodeReferenceID (const char *referenceRole, int n, const char *referencedNodeID)
 Set a N-th reference from this node with specified referencedNodeID for a specific referenceRole. More...
 
virtual void SetSaveWithScene (int)
 
virtual void SetScene (vtkMRMLScene *scene)
 This method is for internal use only. Use AddNode method of vtkMRMLScene to add a node to the scene. More...
 
virtual void SetSceneReferences ()
 Update the references of the node to the scene. More...
 
virtual void SetSelected (int)
 
void SetSingletonOff ()
 
void SetSingletonOn ()
 
virtual void SetSingletonTag (const char *)
 Tag that make this node a singleton in the scene. More...
 
virtual void SetUndoEnabled (bool)
 
virtual int StartModify ()
 Start modifying the node. Disable Modify events. More...
 
virtual void UndoEnabledOff ()
 
virtual void UndoEnabledOn ()
 
virtual void UpdateReferenceID (const char *oldID, const char *newID)
 Update the stored reference to another node in the scene. More...
 
virtual void UpdateReferences ()
 The method should remove all pointers and observations to all nodes that are not in the scene anymore. More...
 
const char * URLDecodeString (const char *inString)
 Decode a URL string. More...
 
const char * URLEncodeString (const char *inString)
 Encode a URL string. More...
 
virtual void WriteNodeBodyXML (ostream &of, int indent)
 Write this node's body to a MRML file in XML format. More...
 
std::string XMLAttributeDecodeString (const std::string &inString)
 Decode an XML attribute string. More...
 
std::string XMLAttributeEncodeString (const std::string &inString)
 Encode an XML attribute string (replaces special characters by code sequences) More...
 

Static Public Member Functions

static int GetAttributeTypeFromString (const char *typeName)
 
static int IsTypeOf (const char *type)
 
static vtkMRMLModelNodeNew ()
 
static vtkMRMLModelNodeSafeDownCast (vtkObject *o)
 
- Static Public Member Functions inherited from vtkMRMLDisplayableNode
static int IsTypeOf (const char *type)
 
static vtkMRMLDisplayableNodeSafeDownCast (vtkObject *o)
 
- Static Public Member Functions inherited from vtkMRMLTransformableNode
static int IsTypeOf (const char *type)
 
static vtkMRMLTransformableNodeSafeDownCast (vtkObject *o)
 
- Static Public Member Functions inherited from vtkMRMLStorableNode
static int IsTypeOf (const char *type)
 
static vtkMRMLStorableNodeSafeDownCast (vtkObject *o)
 
- Static Public Member Functions inherited from vtkMRMLNode
static int IsTypeOf (const char *type)
 
static vtkMRMLNodeSafeDownCast (vtkObject *o)
 

Protected Member Functions

void OnNodeReferenceAdded (vtkMRMLNodeReference *reference) override
 
Called when a node reference ID is added (list size increased). More...
 
void OnNodeReferenceModified (vtkMRMLNodeReference *reference) override
 
Called when a node reference ID is modified. More...
 
void operator= (const vtkMRMLModelNode &)
 
virtual void SetMeshConnection (vtkAlgorithmOutput *inputPort)
 Called by SetPolyDataConnection and SetUnstructuredGridConnection. More...
 
virtual void SetMeshToDisplayNode (vtkMRMLModelDisplayNode *modelDisplayNode)
 
void SetMeshToDisplayNodes ()
 
virtual void UpdateDisplayNodeMesh (vtkMRMLDisplayNode *dnode)
 
 vtkMRMLModelNode ()
 
 vtkMRMLModelNode (const vtkMRMLModelNode &)
 
 ~vtkMRMLModelNode () override
 
- Protected Member Functions inherited from vtkMRMLDisplayableNode
virtual const char * GetDisplayNodeReferenceMRMLAttributeName ()
 
void OnNodeReferenceRemoved (vtkMRMLNodeReference *reference) override
 
Called after a node reference ID is removed (list size decreased). More...
 
void operator= (const vtkMRMLDisplayableNode &)
 
 vtkMRMLDisplayableNode ()
 
 vtkMRMLDisplayableNode (const vtkMRMLDisplayableNode &)
 
 ~vtkMRMLDisplayableNode () override
 
- Protected Member Functions inherited from vtkMRMLTransformableNode
virtual const char * GetTransformNodeReferenceMRMLAttributeName ()
 
virtual const char * GetTransformNodeReferenceRole ()
 
void OnNodeReferenceAdded (vtkMRMLNodeReference *reference) override
 
Called when a node reference ID is added (list size increased). More...
 
void OnNodeReferenceModified (vtkMRMLNodeReference *reference) override
 
Called when a node reference ID is modified. More...
 
void OnNodeReferenceRemoved (vtkMRMLNodeReference *reference) override
 
Called after a node reference ID is removed (list size decreased). More...
 
virtual void OnTransformNodeReferenceChanged (vtkMRMLTransformNode *transformNode)
 Called when transform node reference added/modified/removed. More...
 
void operator= (const vtkMRMLTransformableNode &)
 
 vtkMRMLTransformableNode ()
 
 vtkMRMLTransformableNode (const vtkMRMLTransformableNode &)
 
 ~vtkMRMLTransformableNode () override
 
- Protected Member Functions inherited from vtkMRMLStorableNode
virtual const char * GetStorageNodeReferenceMRMLAttributeName ()
 
virtual const char * GetStorageNodeReferenceRole ()
 
virtual vtkTimeStamp GetStoredTime ()
 
void operator= (const vtkMRMLStorableNode &)
 
 vtkMRMLStorableNode ()
 
 vtkMRMLStorableNode (const vtkMRMLStorableNode &)
 
 ~vtkMRMLStorableNode () override
 
- Protected Member Functions inherited from vtkMRMLNode
virtual const char * GetMRMLAttributeNameFromReferenceRole (const char *refRole)
 Return the mrml attribute name (if found) associated with a reference role. Return 0 otherwise. More...
 
virtual const char * GetReferenceRoleFromMRMLAttributeName (const char *attName)
 Return the reference role (if found) associated with the attribute name found in a MRML scene file. Return 0 otherwise. More...
 
virtual char * GetTempURLString ()
 
void GetUpdatedReferencedNodeEventList (int &oldReferencedNodeUseCount, int &newReferencedNodeUseCount, vtkIntArray *oldConsolidatedEventList, vtkIntArray *newConsolidatedEventList, vtkMRMLNode *oldReferencedNode, vtkMRMLNode *newReferencedNode, vtkMRMLNodeReference *referenceToIgnore, vtkIntArray *newEvents)
 
virtual void InvalidateNodeReferences ()
 
virtual bool IsReferenceRoleGeneric (const char *refRole)
 Return true if the reference role is generic (ends with '/') or false otherwise. More...
 
void operator= (const vtkMRMLNode &)
 
void ParseReferencesAttribute (const char *attValue, std::set< std::string > &references)
 
void RemoveInvalidReferences (const std::set< std::string > &validNodeIDs)
 
virtual void SetTempURLString (const char *)
 Get/Set the string used to manage encoding/decoding of strings/URLs with special characters. More...
 
vtkMRMLNodeUpdateNodeReferenceEventObserver (vtkMRMLNode *oldReferencedNode, vtkMRMLNode *newReferencedNode, vtkIntArray *newEvents, vtkMRMLNodeReference *referenceToIgnore)
 
virtual void UpdateNodeReferences (const char *referenceRole=nullptr)
 
virtual void UpdateNthNodeReference (const char *referenceRole, int n)
 
 vtkMRMLNode ()
 
 vtkMRMLNode (const vtkMRMLNode &)
 
 ~vtkMRMLNode () override
 critical to have a virtual destructor! More...
 

Protected Attributes

vtkEventForwarderCommand * DataEventForwarder
 
vtkAlgorithmOutput * MeshConnection
 Data. More...
 
MeshTypeHint MeshType
 
- Protected Attributes inherited from vtkMRMLStorableNode
std::string DefaultSequenceStorageNodeClassName
 
std::string SlicerDataType
 
vtkTimeStamp StorableModifiedTime
 
vtkTagTableUserTagTable
 
- Protected Attributes inherited from vtkMRMLNode
int AddToScene {1}
 
AttributesType Attributes
 
vtkIntArray * ContentModifiedEvents
 
char * Description {nullptr}
 
int HideFromEditors {0}
 
char * ID {nullptr}
 
int InMRMLCallbackFlag {0}
 
Flag to avoid event loops More...
 
vtkCallbackCommand * MRMLCallbackCommand
 Holders for MRML callbacks. More...
 
vtkObserverManagerMRMLObserverManager
 
char * Name {nullptr}
 
NodeReferenceEventsType NodeReferenceEvents
 
std::map< std::string, std::string > NodeReferenceMRMLAttributeNames
 
NodeReferencesType NodeReferences
 
int SaveWithScene {true}
 
vtkWeakPointer< vtkMRMLSceneScene
 
int Selectable {1}
 
int Selected {0}
 
bool UndoEnabled {false}
 

Additional Inherited Members

- Protected Types inherited from vtkMRMLNode
typedef std::map< std::string, std::string > AttributesType
 
typedef std::map< std::string, vtkSmartPointer< vtkIntArray > > NodeReferenceEventsType
 
typedef std::vector< vtkSmartPointer< vtkMRMLNodeReference > > NodeReferenceListType
 
typedef std::map< std::string, NodeReferenceListTypeNodeReferencesType
 
- Static Protected Member Functions inherited from vtkMRMLNode
static void MRMLCallback (vtkObject *caller, unsigned long eid, void *clientData, void *callData)
 
- Static Protected Attributes inherited from vtkMRMLDisplayableNode
static const char * DisplayNodeReferenceMRMLAttributeName
 
static const char * DisplayNodeReferenceRole
 
- Static Protected Attributes inherited from vtkMRMLTransformableNode
static const char * TransformNodeReferenceMRMLAttributeName
 
static const char * TransformNodeReferenceRole
 
- Static Protected Attributes inherited from vtkMRMLStorableNode
static const char * StorageNodeReferenceMRMLAttributeName
 
static const char * StorageNodeReferenceRole
 

Detailed Description

MRML node to represent a 3D surface model.

Model nodes describe polygonal data. When a model display node (vtkMRMLModelDisplayNode) is observed by the model, the output mesh is automatically set to the input of the model display node: You don't have to manually set the mesh yourself. Models are assumed to have been constructed with the orientation and voxel dimensions of the original segmented volume.

Definition at line 42 of file vtkMRMLModelNode.h.

Member Typedef Documentation

◆ Superclass

Definition at line 46 of file vtkMRMLModelNode.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

MeshModifiedEvent is fired when Mesh is changed. While it is possible for the subclasses to fire MeshModifiedEvent without modifying the mesh, it is not recommended to do so as it doesn't mark the mesh as modified, which my result in an incorrect return value for GetModifiedSinceRead()

See also
GetModifiedSinceRead()
Enumerator
MeshModifiedEvent 
PolyDataModifiedEvent 
Deprecated:
Use MeshModifiedEvent

Definition at line 135 of file vtkMRMLModelNode.h.

◆ MeshTypeHint

Mesh Type hint

See also
GetMeshType()
Enumerator
PolyDataMeshType 
UnstructuredGridMeshType 

Definition at line 117 of file vtkMRMLModelNode.h.

Constructor & Destructor Documentation

◆ vtkMRMLModelNode() [1/2]

vtkMRMLModelNode::vtkMRMLModelNode ( )
protected

◆ ~vtkMRMLModelNode()

vtkMRMLModelNode::~vtkMRMLModelNode ( )
overrideprotected

◆ vtkMRMLModelNode() [2/2]

vtkMRMLModelNode::vtkMRMLModelNode ( const vtkMRMLModelNode )
protected

Member Function Documentation

◆ AddCellScalars()

void vtkMRMLModelNode::AddCellScalars ( vtkDataArray *  array)

Add an array to the mesh's cell data.

See also
AddPointScalars, AddScalars

◆ AddPointScalars()

void vtkMRMLModelNode::AddPointScalars ( vtkDataArray *  array)

Utility function that adds an array to the mesh's point data. /.

See also
AddCellScalars, AddScalars

◆ AddScalars()

void vtkMRMLModelNode::AddScalars ( vtkDataArray *  array,
int  location 
)

Add an array to the mesh's point or cell data location is either vtkAssignAttribute::POINT_DATA or vtkAssignAttribute::CELL_DATA

◆ ApplyTransform()

void vtkMRMLModelNode::ApplyTransform ( vtkAbstractTransform *  transform)
overridevirtual

Transforms the node with the provided non-linear transform.

See also
SetAndObserveTransformNodeID, ApplyTransformMatrix, CanApplyNonLinearTransforms

Reimplemented from vtkMRMLTransformableNode.

Reimplemented in vtkMRMLAnnotationRulerNode, and vtkMRMLAnnotationROINode.

◆ CanApplyNonLinearTransforms()

bool vtkMRMLModelNode::CanApplyNonLinearTransforms ( ) const
overridevirtual

Returns true if the transformable node can apply non-linear transforms. A transformable node is always expected to apply linear transforms.

See also
ApplyTransformMatrix, ApplyTransform

Reimplemented from vtkMRMLTransformableNode.

Reimplemented in vtkMRMLAnnotationNode.

◆ CompositeScalars()

int vtkMRMLModelNode::CompositeScalars ( const char *  backgroundName,
const char *  overlayName,
float  overlayMin,
float  overlayMax,
int  showOverlayPositive,
int  showOverlayNegative,
int  reverseOverlay 
)

Take scalar fields and composite them into a new one. New array will have values from the background array where the overlay is +/- if showOverlayPositive/Negative are 0. overlayMin and Max are used to adjust the color transfer function points, both should be positive, as they are mirrored around 0. -Min to Min gives the gap where the curvature will show through. New array name is backgroundName+overlayName Returns 1 on success, 0 on failure. Based on code from K. Teich, MGH Warning: Not demand driven pipeline compliant

◆ CreateDefaultDisplayNodes()

void vtkMRMLModelNode::CreateDefaultDisplayNodes ( )
overridevirtual

Create and observe default display node.

Reimplemented from vtkMRMLDisplayableNode.

◆ CreateDefaultStorageNode()

vtkMRMLStorageNode* vtkMRMLModelNode::CreateDefaultStorageNode ( )
overridevirtual

Create a storage node for this node type. If it returns nullptr then it means the node can be stored in the scene (in XML), without using a storage node. Null by default. This must be overwritten by subclasses that use storage nodes.

Reimplemented from vtkMRMLStorableNode.

Reimplemented in vtkMRMLAnnotationRulerNode, vtkMRMLAnnotationControlPointsNode, vtkMRMLAnnotationNode, vtkMRMLAnnotationLinesNode, and vtkMRMLAnnotationSnapshotNode.

◆ CreateNodeInstance()

vtkMRMLNode* vtkMRMLModelNode::CreateNodeInstance ( )
overridevirtual

◆ GetActiveCellScalarName()

const char* vtkMRMLModelNode::GetActiveCellScalarName ( int  type)

Get the currently active Point/Cell array name, type = vtkDataSetAttributes::AttributeTypes for an active array. Returns an empty string if it can't find one or if no input mesh is set.

◆ GetActivePointScalarName()

const char* vtkMRMLModelNode::GetActivePointScalarName ( int  type)

Get the currently active point array name, type = vtkDataSetAttributes::AttributeTypes for an active array. Returns an empty string if it can't find one or if no input mesh is set.

See also
GetActiveCellScalarName

◆ GetAttributeTypeFromString()

static int vtkMRMLModelNode::GetAttributeTypeFromString ( const char *  typeName)
static

Utility function that returns the attribute type from its name. It is the opposite of vtkDataSetAttributes::GetAttributeTypeAsString(int)

See also
vtkDataSetAttributes::GetAttributeTypeAsString()

◆ GetBounds()

void vtkMRMLModelNode::GetBounds ( double  bounds[6])
overridevirtual

Get bounding box in global RAS form (xmin,xmax, ymin,ymax, zmin,zmax). This method always returns the bounds of the untransformed object.

See also
GetRASBounds()

Reimplemented from vtkMRMLDisplayableNode.

Reimplemented in vtkMRMLAnnotationROINode.

◆ GetClassName()

virtual const char* vtkMRMLModelNode::GetClassName ( )
virtual

◆ GetDefaultStorageNodeClassName()

std::string vtkMRMLModelNode::GetDefaultStorageNodeClassName ( const char *  filename)
overridevirtual

Determines the most appropriate storage node class for the provided file name and node content. If the method is not overwritten by subclass then it uses CreateDefaultStorageNode to determine storage node class name.

Reimplemented from vtkMRMLStorableNode.

Reimplemented in vtkMRMLAnnotationNode.

◆ GetMesh()

virtual vtkPointSet* vtkMRMLModelNode::GetMesh ( )
virtual

◆ GetMeshConnection()

virtual vtkAlgorithmOutput* vtkMRMLModelNode::GetMeshConnection ( )
virtual

Return the input mesh pipeline.

See also
GetPolyDataConnection(), GetUnstructuredGridConnection()

◆ GetMeshType()

virtual MeshTypeHint vtkMRMLModelNode::GetMeshType ( )
virtual

Get the mesh type of that model. The safest way to know if the mesh is unstructuredGrid is to check if GetUnstructuredGrid() is not nullptr, but it requires to update the pipeline.

See also
MeshType, GetUnstructuredGrid()

◆ GetModelDisplayNode()

vtkMRMLModelDisplayNode* vtkMRMLModelNode::GetModelDisplayNode ( )

Get associated model display MRML node.

◆ GetModifiedSinceRead()

bool vtkMRMLModelNode::GetModifiedSinceRead ( )
overridevirtual

Reimplemented to take into account the modified time of the mesh. Returns true if the node (default behavior) or the mesh are modified since read/written. Note: The MTime of the mesh is used to know if it has been modified. So if you invoke MeshModifiedEvent without calling Modified() on the mesh, GetModifiedSinceRead() won't return true.

See also
vtkMRMLStorableNode::GetModifiedSinceRead()

Reimplemented from vtkMRMLStorableNode.

◆ GetNodeTagName()

const char* vtkMRMLModelNode::GetNodeTagName ( )
inlineoverridevirtual

◆ GetPolyData()

virtual vtkPolyData* vtkMRMLModelNode::GetPolyData ( )
virtual

Return the input mesh if it is a polydata.

See also
GetMesh(), SetAndObserveMesh()

◆ GetPolyDataConnection()

virtual vtkAlgorithmOutput* vtkMRMLModelNode::GetPolyDataConnection ( )
virtual

Return the input mesh pipeline if the mesh is a polydata.

See also
GetMeshConnection(), SetPolyDataConnection()

◆ GetRASBounds()

void vtkMRMLModelNode::GetRASBounds ( double  bounds[6])
overridevirtual

Get bounding box in global RAS form (xmin,xmax, ymin,ymax, zmin,zmax). This method returns the bounds of the object with any transforms that may be applied to it.

See also
GetBounds()

Reimplemented from vtkMRMLDisplayableNode.

Reimplemented in vtkMRMLAnnotationROINode.

◆ GetUnstructuredGrid()

virtual vtkUnstructuredGrid* vtkMRMLModelNode::GetUnstructuredGrid ( )
virtual

Return the input mesh if it is an unstructured grid.

See also
GetMesh(), SetAndObserveMesh()

◆ GetUnstructuredGridConnection()

virtual vtkAlgorithmOutput* vtkMRMLModelNode::GetUnstructuredGridConnection ( )
virtual

Return the input mesh pipeline if the mesh is an unstructured grid.

See also
GetMeshConnection(), SetUnstructuredGridConnection()

◆ HasCellScalarName()

bool vtkMRMLModelNode::HasCellScalarName ( const char *  scalarName)

Return true if the mesh cell data has an array with a scalarName name.

See also
HasCellScalarName

◆ HasPointScalarName()

bool vtkMRMLModelNode::HasPointScalarName ( const char *  scalarName)

Return true if the mesh point data has an array with a scalarName name.

See also
HasPointScalarName

◆ IsA()

virtual int vtkMRMLModelNode::IsA ( const char *  type)
virtual

◆ IsTypeOf()

static int vtkMRMLModelNode::IsTypeOf ( const char *  type)
static

◆ New()

static vtkMRMLModelNode* vtkMRMLModelNode::New ( )
static

◆ OnNodeReferenceAdded()

void vtkMRMLModelNode::OnNodeReferenceAdded ( vtkMRMLNodeReference reference)
overrideprotectedvirtual


Called when a node reference ID is added (list size increased).

Reimplemented from vtkMRMLDisplayableNode.

◆ OnNodeReferenceModified()

void vtkMRMLModelNode::OnNodeReferenceModified ( vtkMRMLNodeReference reference)
overrideprotectedvirtual


Called when a node reference ID is modified.

Reimplemented from vtkMRMLDisplayableNode.

◆ operator=()

void vtkMRMLModelNode::operator= ( const vtkMRMLModelNode )
protected

◆ PrintSelf()

void vtkMRMLModelNode::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
override

◆ ProcessMRMLEvents()

void vtkMRMLModelNode::ProcessMRMLEvents ( vtkObject *  ,
unsigned  long,
void *   
)
overridevirtual

alternative method to propagate events generated in Display nodes

Reimplemented from vtkMRMLDisplayableNode.

Reimplemented in vtkMRMLAnnotationNode, vtkMRMLAnnotationControlPointsNode, vtkMRMLAnnotationLinesNode, vtkMRMLAnnotationROINode, and vtkMRMLAnnotationRulerNode.

◆ RemoveScalars()

void vtkMRMLModelNode::RemoveScalars ( const char *  scalarName)

Remove an array from the mesh's point/cell data.

◆ SafeDownCast()

static vtkMRMLModelNode* vtkMRMLModelNode::SafeDownCast ( vtkObject *  o)
static

◆ SetActiveCellScalars()

int vtkMRMLModelNode::SetActiveCellScalars ( const char *  scalarName,
int  attributeType 
)

Set the active poly data point scalar array, checks for the scalarName as being a valid point array, and then will set it to be the active attribute type as designated by typeName (scalars if null or empty). typeName is one of the valid strings as returned from vtkDataSetAttributes::GetAttributeTypeAsString, SetActiveScalars converts it to an integer type to pass onto the Point/Cell methods Also updates the display node's active scalars

◆ SetActivePointScalars()

int vtkMRMLModelNode::SetActivePointScalars ( const char *  scalarName,
int  attributeType 
)

Set the active poly data point scalar array, checks for the scalarName as being a valid point array, and then will set it to be the active attribute type as designated by typeName (scalars if null or empty). typeName is one of the valid strings as returned from vtkDataSetAttributes::GetAttributeTypeAsString, SetActiveScalars converts it to an integer type to pass onto the Point/Cell methods Also updates the display node's active scalars

◆ SetAndObserveMesh()

virtual void vtkMRMLModelNode::SetAndObserveMesh ( vtkPointSet *  Mesh)
virtual

Set and observe mesh for this model.

See also
GetMesh()

◆ SetAndObservePolyData()

virtual void vtkMRMLModelNode::SetAndObservePolyData ( vtkPolyData *  polyData)
virtual

Set and observe mesh for this model.

Deprecated:
Use SetAndObserveMesh instead.

◆ SetMeshConnection()

virtual void vtkMRMLModelNode::SetMeshConnection ( vtkAlgorithmOutput *  inputPort)
protectedvirtual

Called by SetPolyDataConnection and SetUnstructuredGridConnection.

◆ SetMeshToDisplayNode()

virtual void vtkMRMLModelNode::SetMeshToDisplayNode ( vtkMRMLModelDisplayNode modelDisplayNode)
protectedvirtual

Internal function that sets the mesh to a display node. Can be reimplemented if you want to set a different mesh

◆ SetMeshToDisplayNodes()

void vtkMRMLModelNode::SetMeshToDisplayNodes ( )
protected

Internal function that sets the mesh to all the display nodes. Can be called if the mesh is changed.

◆ SetPolyDataConnection()

virtual void vtkMRMLModelNode::SetPolyDataConnection ( vtkAlgorithmOutput *  inputPort)
virtual

Set and observe polydata pipeline. It is propagated to the display nodes.

See also
GetMeshConnection(), SetUnstructuredGridConnection()

◆ SetUnstructuredGridConnection()

virtual void vtkMRMLModelNode::SetUnstructuredGridConnection ( vtkAlgorithmOutput *  inputPort)
virtual

Set and observe unstructured grid pipeline. It is propagated to the display nodes.

See also
GetMeshConnection(), SetPolyDataConnection()

◆ ShowDefaultScalarData()

bool vtkMRMLModelNode::ShowDefaultScalarData ( )

Determine if the mesh stores scalar data data that the user may want to see and if such data is found then display it. Currently, it displays single-component scalar array (with a colormap), and 3 or 4 component unsigned char array as RGB or RGBA value (with direct mapping). Return true if suitable scalar data was found and set to be displayed.

◆ TransformBoundsToRAS()

virtual void vtkMRMLModelNode::TransformBoundsToRAS ( double  inputBounds_Local[6],
double  outputBounds_RAS[6] 
)
virtual

Transforms bounds from the local coordinate system to the RAS (world) coordinate system. Only the corner points are used for determining the new bounds, therefore in case of non-linear transforms the transformed bounds may not fully contain the transformed model points.

◆ UpdateDisplayNodeMesh()

virtual void vtkMRMLModelNode::UpdateDisplayNodeMesh ( vtkMRMLDisplayNode dnode)
protectedvirtual

Called when a display node is added/removed/modified. Propagate the mesh to the new display node.

◆ vtkMRMLCopyContentMacro()

vtkMRMLModelNode::vtkMRMLCopyContentMacro ( vtkMRMLModelNode  )

Copy node content (excludes basic data, such as name and node references).

See also
vtkMRMLNode::CopyContent

Member Data Documentation

◆ DataEventForwarder

vtkEventForwarderCommand* vtkMRMLModelNode::DataEventForwarder
protected

Definition at line 293 of file vtkMRMLModelNode.h.

◆ MeshConnection

vtkAlgorithmOutput* vtkMRMLModelNode::MeshConnection
protected

Data.

Definition at line 292 of file vtkMRMLModelNode.h.

◆ MeshType

MeshTypeHint vtkMRMLModelNode::MeshType
protected

Definition at line 294 of file vtkMRMLModelNode.h.


The documentation for this class was generated from the following file: