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 | Static Protected Member Functions | Protected Attributes
vtkMRMLMarkupsCurveNode Class Reference

MRML node to represent a curve markup Curve Markups nodes contain N control points. Visualization parameters are set in the vtkMRMLMarkupsDisplayNode class. More...

#include <Modules/Loadable/Markups/MRML/vtkMRMLMarkupsCurveNode.h>

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

Public Types

typedef vtkMRMLMarkupsNode Superclass
 
- Public Types inherited from vtkMRMLMarkupsNode
enum  {
  LockModifiedEvent = 19000, LabelFormatModifiedEvent, PointAddedEvent, PointRemovedEvent,
  PointPositionDefinedEvent, PointPositionUndefinedEvent, PointPositionMissingEvent, PointPositionNonMissingEvent,
  PointModifiedEvent, PointStartInteractionEvent, PointEndInteractionEvent, CenterOfRotationModifiedEvent,
  FixedNumberOfControlPointsModifiedEvent, PointAboutToBeRemovedEvent
}
 
enum  {
  PositionUndefined, PositionPreview, PositionDefined, PositionMissing,
  PositionStatus_Last
}
 Placement status of a control point. More...
 
typedef std::vector< ControlPoint * > ControlPointsListType
 
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

vtkMRMLNodeCreateNodeInstance () override
 MRMLNode methods. More...
 
const char * GetAddIcon () override
 
virtual const char * GetClassName ()
 
vtkIdType GetClosestCurvePointIndexToPositionWorld (const double posWorld[3])
 Get the index of the closest curve point to the world coordinates. More...
 
vtkIdType GetClosestPointPositionAlongCurveWorld (const double posWorld[3], double closestPosWorld[3])
 
bool GetCurveDirectionAtPointIndexWorld (vtkIdType curvePointIndex, double directionVectorWorld[3])
 
double GetCurveLengthBetweenStartEndPointsWorld (vtkIdType startCurvePointIndex, vtkIdType endCurvePointIndex)
 
double GetCurveLengthWorld (vtkIdType startCurvePointIndex=0, vtkIdType numberOfCurvePoints=-1)
 
vtkIdType GetCurvePointIndexAlongCurveWorld (vtkIdType startCurvePointId, double distanceFromStartPoint)
 
vtkIdType GetCurvePointIndexFromControlPointIndex (int controlPointIndex)
 
bool GetCurvePointToWorldTransformAtPointIndex (vtkIdType curvePointIndex, vtkMatrix4x4 *curvePointToWorld)
 
int GetCurveType ()
 Type of curve to generate. More...
 
const char * GetCurveTypeAsString (int id)
 
int GetCurveTypeFromString (const char *name)
 
const char * GetDefaultNodeNamePrefix () override
 Get markup short name. More...
 
vtkIdType GetFarthestCurvePointIndexToPositionWorld (const double posWorld[3])
 
const char * GetIcon () override
 
const char * GetMarkupType () override
 Get markup type internal name. More...
 
const char * GetNodeTagName () override
 Get node XML tag name (like Volume, Model) More...
 
const char * GetPlaceAddIcon () override
 
bool GetPointsOnPlaneWorld (vtkPlane *plane, vtkPoints *intersectionPoints)
 
bool GetPositionAlongCurveWorld (double foundCurvePosition[3], vtkIdType startCurvePointId, double distanceFromStartPoint)
 
bool GetSampledCurvePointsBetweenStartEndPointsWorld (vtkPoints *sampledPoints, double samplingDistance, vtkIdType startCurvePointIndex, vtkIdType endCurvePointIndex)
 
vtkMRMLModelNodeGetShortestDistanceSurfaceNode ()
 
const char * GetShortestDistanceSurfaceNodeReferenceMRMLAttributeName ()
 
const char * GetShortestDistanceSurfaceNodeReferenceRole ()
 
const char * GetSurfaceConstraintNodeReferenceMRMLAttributeName ()
 
const char * GetSurfaceConstraintNodeReferenceRole ()
 Node reference role for the surface that is used to project the curve onto. More...
 
int GetSurfaceCostFunctionType ()
 
const char * GetSurfaceDistanceWeightingFunction ()
 
const char * GetTypeDisplayName () override
 
virtual int IsA (const char *type)
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Print out the node information to the output stream. More...
 
void ReadXMLAttributes (const char **atts) override
 Read node attributes from XML file. More...
 
void ResampleCurveWorld (double controlPointDistance)
 Resample control points to have equal distances in the world coordinate system. More...
 
void SetAndObserveShortestDistanceSurfaceNode (vtkMRMLModelNode *modelNode)
 
bool SetControlPointLabels (vtkStringArray *labels, vtkPoints *points)
 Provides access to protected vtkMRMLMarkupsNode::SetControlPointLabelsWorld. More...
 
void SetCurveType (int type)
 
void SetCurveTypeToCardinalSpline ()
 
void SetCurveTypeToKochanekSpline ()
 
void SetCurveTypeToLinear ()
 
void SetCurveTypeToPolynomial ()
 
void SetCurveTypeToShortestDistanceOnSurface (vtkMRMLModelNode *modelNode=nullptr)
 
void SetSurfaceCostFunctionType (int surfaceCostFunctionType)
 
void SetSurfaceDistanceWeightingFunction (const char *function)
 
virtual void UpdateAssignedAttribute () override
 Update scalar range and update markups pipeline when the active scalar array is changed. More...
 
 vtkMRMLCopyContentMacro (vtkMRMLMarkupsCurveNode)
 
void WriteXML (ostream &of, int indent) override
 Write this node's information to a MRML file in XML format. More...
 
vtkPoints * GetCurvePointsWorld () override
 
vtkPolyData * GetCurveWorld () override
 
vtkAlgorithmOutput * GetCurveWorldConnection () override
 
void SetAndObserveSurfaceConstraintNode (vtkMRMLModelNode *modelNode)
 
vtkMRMLModelNodeGetSurfaceConstraintNode ()
 
void SetSurfaceConstraintMaximumSearchRadiusTolerance (double tolerance)
 
double GetSurfaceConstraintMaximumSearchRadiusTolerance () const
 
int GetNumberOfPointsPerInterpolatingSegment ()
 
void SetNumberOfPointsPerInterpolatingSegment (int pointsPerSegment)
 
- Public Member Functions inherited from vtkMRMLMarkupsNode
int AddControlPoint (ControlPoint *controlPoint, bool autoLabel=true)
 
void ApplyTransform (vtkAbstractTransform *transform) override
 
bool CanApplyNonLinearTransforms () const override
 
bool ControlPointExists (int n)
 Return true if n is a valid control point, false otherwise. More...
 
void CreateDefaultDisplayNodes () override
 Create and observe default display node(s) More...
 
vtkMRMLStorageNodeCreateDefaultStorageNode () override
 Create default storage node or nullptr if does not have one. More...
 
int EndModify (int previousDisableModifiedEventState) override
 End modifying the node. Updates pending measurements and other updates. More...
 
void GetBounds (double bounds[6]) override
 
vtkVector3d GetCenterOfRotation ()
 
bool GetCenterOfRotation (double point[3])
 
vtkVector3d GetCenterOfRotationVector ()
 
bool GetCenterOfRotationWorld (double worldxyz[3])
 
int GetClosestControlPointIndexToPositionWorld (double pos[3], bool visibleOnly=false)
 
int GetControlPointIndexFromInterpolatedPointIndex (vtkIdType interpolatedPointIndex)
 Converts curve point index to control point index. More...
 
void GetControlPointLabels (vtkStringArray *labels)
 Get all control point labels at once. More...
 
virtual bool GetControlPointPlacementComplete ()
 Returns true if no additional control points can be added to this node. More...
 
void GetControlPointPositionsWorld (vtkPoints *points)
 Get a copy of all control point positions in world coordinate system. More...
 
std::vector< ControlPoint * > * GetControlPoints ()
 Return a pointer to the std::vector of control points stored in this node. More...
 
virtual bool GetCurveClosed ()
 Returns true if the curve generator creates a closed curve. More...
 
vtkCurveGeneratorGetCurveGenerator ()
 
virtual vtkMatrix4x4 * GetInteractionHandleToWorldMatrix ()
 4x4 matrix detailing the orientation and position in world coordinates of the interaction handles. More...
 
std::string GetMarkupLabelFormat ()
 
void GetMarkupPoint (int markupIndex, int pointIndex, double point[3])
 
vtkVector3d GetMarkupPointVector (int markupIndex, int)
 
vtkMRMLMarkupsDisplayNodeGetMarkupsDisplayNode ()
 Return a cast display node, returns null if none. More...
 
virtual int GetMaximumNumberOfControlPoints ()
 
bool GetModifiedSinceRead () override
 
ControlPointGetNthControlPoint (int n)
 Return a pointer to the Nth control point stored in this node, null if n is out of bounds. More...
 
ControlPointGetNthControlPointByID (const char *controlPointID)
 Get the Nth control point based on it's ID. More...
 
std::string GetNthControlPointID (int n)
 Get the id for the Nth control point. More...
 
int GetNthControlPointIndexByID (const char *controlPointID)
 Get the Nth control point index based on it's ID. More...
 
int GetNthControlPointIndexByPositionStatus (int pointIndex, int positionStatus)
 
bool GetNthControlPointLocked (int n=0)
 
void GetNthControlPointOrientation (int n, double orientationWXYZ[4])
 
vtkVector4d GetNthControlPointOrientationVector (int pointIndex)
 
int GetNthControlPointPositionStatus (int pointIndex)
 Get control point position status (PositionUndefined, PositionPreview, PositionDefined) More...
 
vtkVector3d GetNthControlPointPositionVector (int pointIndex)
 
bool GetNthControlPointPositionVisibility (int n=0)
 
bool GetNthControlPointSelected (int n=0)
 
bool GetNthControlPointVisibility (int n=0)
 
std::string GetNthMarkupAssociatedNodeID (int n=0)
 
std::string GetNthMarkupID (int n=0)
 
std::string GetNthMarkupLabel (int n=0)
 
bool GetNthMarkupLocked (int n=0)
 
int GetNumberOfControlPoints ()
 Return the number of control points that are stored in this node. More...
 
int GetNumberOfDefinedControlPoints (bool includePreview=false)
 Return the number of control points that are already placed (not being previewed or undefined). More...
 
int GetNumberOfMarkups ()
 
int GetNumberOfPointsInNthMarkup (int)
 
int GetNumberOfUndefinedControlPoints (bool includePreview=false)
 Return the number of control points that have not been placed (not being previewed or skipped). More...
 
virtual std::string GetPropertiesLabelText ()
 
void GetRASBounds (double bounds[6]) override
 
virtual int GetRequiredNumberOfControlPoints ()
 
vtkMRMLUnitNodeGetUnitNode (const char *quantity)
 Utility function to get unit node from scene. More...
 
bool MarkupExists (int n)
 
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 ReadXMLAttributes (const char **atts) override
 Read node attributes from XML file. More...
 
virtual void RemoveAllControlPoints ()
 Clear out the node of all control points. More...
 
void RemoveAllMarkups ()
 
void RemoveMarkup (int pointIndex)
 
void RemoveNthControlPoint (int pointIndex)
 Remove Nth Control Point. More...
 
std::string ReplaceListNameInControlPointLabelFormat ()
 
std::string ReplaceListNameInMarkupLabelFormat ()
 
bool ResetNthControlPointID (int n)
 
void ResetNthControlPointPosition (int n)
 Set control point status to preview. More...
 
void RestoreNthControlPointPosition (int n)
 Set control point status to defined and return to the previous position. More...
 
void SetCenterOfRotationFromArray (const double pos[3])
 
void SetCenterOfRotationFromPointer (const double *pos)
 
void SetControlPointPositionsWorld (vtkPoints *points)
 
void SetMarkupLabelFormat (std::string format)
 
void SetNthControlPointLocked (int n, bool flag)
 
void SetNthControlPointPositionFromArray (const int pointIndex, const double pos[3], int positionStatus=PositionDefined)
 
void SetNthControlPointPositionFromPointer (const int pointIndex, const double *pos)
 
void SetNthControlPointPositionMissing (int pointIndex)
 Set control point status to ignored. More...
 
void SetNthControlPointPositionOrientationWorld (const int pointIndex, const double pos[3], const double orientationMatrix[9], const char *associatedNodeID, int positionStatus=PositionDefined)
 
void SetNthControlPointPositionOrientationWorldFromArray (const int pointIndex, const double positionWorld[3], const double orientationMatrix_World[9], const char *associatedNodeID, int positionStatus=PositionDefined)
 
void SetNthControlPointPositionWorldFromArray (const int pointIndex, const double pos[3], int positionStatus=PositionDefined)
 
void SetNthControlPointSelected (int n, bool flag)
 
void SetNthControlPointVisibility (int n, bool flag)
 
void SetNthMarkupAssociatedNodeID (int n, std::string id)
 
void SetNthMarkupLabel (int n, std::string label)
 
void SetNthMarkupLocked (int n, bool flag)
 
void SwapControlPoints (int m1, int m2)
 Swap two control points (position data and all other properties). More...
 
virtual void UnsetAllControlPoints ()
 
void UnsetNthControlPointPosition (int pointIndex)
 Set control point status to undefined. More...
 
void UpdateAllMeasurements ()
 
 vtkMRMLCopyContentMacro (vtkMRMLMarkupsNode)
 
void WriteCLI (std::vector< std::string > &commandLine, std::string prefix, int coordinateSystem=vtkMRMLStorageNode::CoordinateSystemRAS, int multipleFlag=1) override
 
void WriteXML (ostream &of, int indent) override
 Write this node's information to a MRML file in XML format. More...
 
int GetNumberOfMeasurements ()
 
int GetNumberOfEnabledMeasurements ()
 
vtkMRMLMeasurementGetNthMeasurement (int id)
 
vtkMRMLMeasurementGetMeasurement (const char *name)
 
void AddMeasurement (vtkMRMLMeasurement *measurement)
 
void RemoveNthMeasurement (int id)
 
void ClearValueForAllMeasurements ()
 
void SetNthMeasurement (int id, vtkMRMLMeasurement *measurement)
 
void SetNthMeasurement (int id, const std::string &name, double value, const std::string &units, std::string printFormat="", const std::string description="", vtkCodedEntry *quantityCode=nullptr, vtkCodedEntry *derivationCode=nullptr, vtkCodedEntry *unitsCode=nullptr, vtkCodedEntry *methodCode=nullptr)
 
void RemoveAllMeasurements ()
 
virtual int GetLocked ()
 
void SetLocked (int locked)
 
virtual void LockedOn ()
 
virtual void LockedOff ()
 
int AddNControlPoints (int n, std::string label=std::string(), vtkVector3d *point=nullptr)
 
int AddNControlPoints (int n, std::string label, double point[3])
 
int AddControlPoint (vtkVector3d point, std::string label=std::string())
 
int AddControlPoint (double point[3], std::string label=std::string())
 
int AddControlPoint (double x, double y, double z, std::string label=std::string())
 
int AddControlPointWorld (vtkVector3d point, std::string label=std::string())
 
int AddControlPointWorld (double point[3], std::string label=std::string())
 
int AddControlPointWorld (double x, double y, double z, std::string label=std::string())
 
bool InsertControlPoint (ControlPoint *controlPoint, int targetIndex)
 
bool InsertControlPoint (int n, vtkVector3d point, std::string label=std::string())
 
bool InsertControlPoint (int n, double point[3], std::string label=std::string())
 
bool InsertControlPointWorld (int n, vtkVector3d pointWorld, std::string label=std::string())
 
bool InsertControlPointWorld (int n, double pointWorld[3], std::string label=std::string())
 
bool GetNthControlPointAutoCreated (int n)
 
void SetNthControlPointAutoCreated (int n, bool flag)
 
void GetNthControlPointPosition (int pointIndex, double point[3])
 
double * GetNthControlPointPosition (int pointIndex) VTK_SIZEHINT(3)
 
int GetNthControlPointPositionWorld (int pointIndex, double worldxyz[3])
 
vtkVector3d GetNthControlPointPositionWorld (int pointIndex)
 
void SetNthControlPointPosition (const int pointIndex, const double x, const double y, const double z, int positionStatus=PositionDefined)
 Set of the Nth control point position from coordinates. More...
 
void SetNthControlPointPosition (const int pointIndex, const double position[3], int positionStatus=PositionDefined)
 
void SetNthControlPointPositionWorld (const int pointIndex, const double x, const double y, const double z, int positionStatus=PositionDefined)
 
void SetNthControlPointPositionWorld (const int pointIndex, const double position[3], int positionStatus=PositionDefined)
 
void SetNthControlPointOrientation (int n, double w, double x, double y, double z)
 
void SetNthControlPointOrientation (int n, const double wxyz[4])
 
double * GetNthControlPointOrientationMatrix (int n) VTK_SIZEHINT(9)
 
void SetNthControlPointOrientationMatrix (int n, double orientationMatrix[9])
 
void GetNthControlPointOrientationMatrix (int n, vtkMatrix3x3 *matrix)
 
void SetNthControlPointOrientationMatrix (int n, vtkMatrix3x3 *matrix)
 
void GetNthControlPointOrientationMatrixWorld (int n, double orientationMatrix[9])
 
vtkVector< double, 9 > GetNthControlPointOrientationMatrixWorld (int n)
 
void SetNthControlPointOrientationMatrixWorld (int n, const double orientationMatrix[9])
 
void GetNthControlPointOrientationMatrixWorld (int n, vtkMatrix3x3 *matrix)
 
void SetNthControlPointOrientationMatrixWorld (int n, vtkMatrix3x3 *matrix)
 
void SetCenterOfRotation (const double x, const double y, const double z)
 
void SetCenterOfRotation (const double position[3])
 
void SetCenterOfRotationWorld (const double x, const double y, const double z)
 
void SetCenterOfRotationWorld (const double positionWorld[3])
 
void GetNthControlPointNormal (int n, double normal[3])
 
vtkVector3d GetNthControlPointNormal (int n)
 
void GetNthControlPointNormalWorld (int n, double normalWorld[3])
 
vtkVector3d GetNthControlPointNormalWorld (int n)
 
std::string GetNthControlPointAssociatedNodeID (int n=0)
 
void SetNthControlPointAssociatedNodeID (int n, std::string id)
 
std::string GetNthControlPointLabel (int n=0)
 
void SetNthControlPointLabel (int n, std::string label)
 
std::string GetNthControlPointDescription (int n=0)
 
void SetNthControlPointDescription (int n, std::string description)
 
std::string GetControlPointLabelFormat ()
 
void SetControlPointLabelFormat (std::string format)
 
bool GetFixedNumberOfControlPoints ()
 
void SetFixedNumberOfControlPoints (bool fixed)
 
virtual vtkPoints * GetCurvePoints ()
 
virtual vtkPolyData * GetCurve ()
 
int GetControlPointPlacementStartIndex ()
 
void SetControlPointPlacementStartIndex (int)
 
virtual int GetLastUsedControlPointNumber ()
 
virtual void SetLastUsedControlPointNumber (int)
 
void SetNthControlPointOrientationFromPointer (int n, const double *orientationWXYZ)
 
void SetNthControlPointOrientationFromArray (int n, const double orientationWXYZ[4])
 
- 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 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)
 
- 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
 
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)
 
- 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 ()
 
virtual std::string GetDefaultStorageNodeClassName (const char *filename=nullptr)
 
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 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 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 bool ConstrainPointsToSurface (vtkPoints *originalPoints, vtkPoints *normalVectors, vtkPolyData *surfacePolydata, vtkPoints *surfacePoints, double maximumSearchRadius=.25)
 
static double GetCurveLength (vtkPoints *curvePoints, bool closedCurve, vtkIdType startCurvePointIndex=0, vtkIdType numberOfCurvePoints=-1)
 
static bool GetPositionAndClosestPointIndexAlongCurve (double foundCurvePosition[3], vtkIdType &foundClosestPointIndex, vtkIdType startCurvePointId, double distanceFromStartPoint, vtkPoints *curvePoints, bool closedCurve)
 Get point position along curve. Position is found along the curve and not snapped to closest curve point. More...
 
static const char * GetSurfaceCostFunctionTypeAsString (int surfaceCostFunctionType)
 
static int GetSurfaceCostFunctionTypeFromString (const char *name)
 
static int IsTypeOf (const char *type)
 
static vtkMRMLMarkupsCurveNodeNew ()
 
static bool ResamplePoints (vtkPoints *originalPoints, vtkPoints *interpolatedPoints, double samplingDistance, bool closedCurve, vtkDoubleArray *pedigreeIdsArray=nullptr)
 Resample control points to have equal distances in the node's coordinate system. More...
 
static bool ResampleStaticControlPointMeasurements (vtkCollection *measurements, vtkDoubleArray *curvePointsPedigreeIdsArray, int curvePointsPerControlPoint)
 Resample static control point measurements using linear interpolation, based on fractional pedigreeIds. More...
 
static vtkMRMLMarkupsCurveNodeSafeDownCast (vtkObject *o)
 
- Static Public Member Functions inherited from vtkMRMLMarkupsNode
static const char * GetPositionStatusAsString (int id)
 
static int GetPositionStatusFromString (const char *name)
 
static int IsTypeOf (const char *type)
 
static vtkMRMLMarkupsNodeSafeDownCast (vtkObject *o)
 
static void ConvertOrientationMatrixToWXYZ (const double orientationMatrix[9], double orientationWXYZ[4])
 
static void ConvertOrientationWXYZToMatrix (const double orientationWXYZ[4], double orientationMatrix[9])
 
- 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 OnNodeReferenceRemoved (vtkMRMLNodeReference *reference) override
 
Called after a node reference ID is removed (list size decreased). More...
 
virtual void OnSurfaceModelNodeChanged ()
 
virtual void OnSurfaceModelTransformChanged ()
 
void operator= (const vtkMRMLMarkupsCurveNode &)
 
void ProcessMRMLEvents (vtkObject *caller, unsigned long event, void *callData) override
 
alternative method to propagate events generated in Display nodes More...
 
void UpdateMeasurementsInternal () override
 
virtual void UpdateSurfaceScalarVariables ()
 
 vtkMRMLMarkupsCurveNode ()
 
 vtkMRMLMarkupsCurveNode (const vtkMRMLMarkupsCurveNode &)
 
 ~vtkMRMLMarkupsCurveNode () override
 
- Protected Member Functions inherited from vtkMRMLMarkupsNode
std::string GenerateControlPointLabel (int controlPointIndex)
 
std::string GenerateUniqueControlPointID ()
 
ControlPointGetNthControlPointCustomLog (int n, const char *failedMethodName)
 
void OnTransformNodeReferenceChanged (vtkMRMLTransformNode *transformNode) override
 Called when transform node reference added/modified/removed. More...
 
void operator= (const vtkMRMLMarkupsNode &)
 
bool SetControlPointLabelsWorld (vtkStringArray *labels, vtkPoints *points, std::string separator="")
 
void SetNthControlPointID (int n, std::string id)
 
virtual void TransformOrientationMatrixFromNodeToWorld (const double position_Node[3], const double orientationMatrix_Node[9], double orientationMatrix_World[9])
 Transform the orientation matrix from node to world coordinates. More...
 
virtual void TransformOrientationMatrixFromWorldToNode (const double position_World[3], const double orientationMatrix_World[9], double orientationMatrix_Node[9])
 Transform the orientation matrix from world to node coordinates. More...
 
virtual void UpdateCurvePolyFromControlPoints ()
 
virtual void UpdateInteractionHandleToWorldMatrix ()
 Calculates the handle to world matrix based on the current control points. More...
 
 vtkMRMLMarkupsNode ()
 
 vtkMRMLMarkupsNode (const vtkMRMLMarkupsNode &)
 
virtual void WriteMeasurementsToDescription ()
 
 ~vtkMRMLMarkupsNode () override
 
- Protected Member Functions inherited from vtkMRMLDisplayableNode
virtual const char * GetDisplayNodeReferenceMRMLAttributeName ()
 
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 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...
 

Static Protected Member Functions

static void OnCurvatureMeasurementModified (vtkObject *caller, unsigned long eid, void *clientData, void *callData)
 Callback function observing curvature measurement modified events to propagate enabled state. More...
 
- Static Protected Member Functions inherited from vtkMRMLNode
static void MRMLCallback (vtkObject *caller, unsigned long eid, void *clientData, void *callData)
 

Protected Attributes

vtkSmartPointer< vtkCleanPolyData > CleanFilter
 
vtkCallbackCommand * CurvatureMeasurementModifiedCallbackCommand
 Command handling curvature measurement modified events to propagate enabled state. More...
 
vtkSmartPointer< vtkCurveMeasurementsCalculatorCurveMeasurementsCalculator
 
vtkSmartPointer< vtkAssignAttribute > ScalarDisplayAssignAttribute
 
const char * ShortestDistanceSurfaceActiveScalar
 
vtkSmartPointer< vtkArrayCalculator > SurfaceScalarCalculator
 
vtkSmartPointer< vtkPassThroughFilter > SurfaceScalarPassThroughFilter
 
vtkSmartPointer< vtkTransformPolyDataFilter > SurfaceToLocalTransformer
 
vtkSmartPointer< vtkTriangleFilter > TriangleFilter
 
vtkSmartPointer< vtkPassThroughFilter > WorldOutput
 
- Protected Attributes inherited from vtkMRMLMarkupsNode
vtkVector3d CenterOfRotation
 
std::string ControlPointLabelFormat {"%N-%d"}
 
int ControlPointPlacementStartIndex { -1 }
 Index of the control point index that placement is started from (if no other point is requested specifically). More...
 
ControlPointsListType ControlPoints
 Vector of control points. More...
 
bool CurveClosed {false}
 
vtkSmartPointer< vtkParallelTransportFrame > CurveCoordinateSystemGeneratorWorld
 
vtkSmartPointer< vtkCurveGeneratorCurveGenerator
 Converts curve control points to curve points. More...
 
vtkSmartPointer< vtkPolyData > CurveInputPoly
 
vtkSmartPointer< vtkGeneralTransform > CurvePolyToWorldTransform
 
vtkSmartPointer< vtkTransformPolyDataFilter > CurvePolyToWorldTransformer
 
bool FixedNumberOfControlPoints {false}
 
vtkSmartPointer< vtkMatrix4x4 > InteractionHandleToWorldMatrix
 Transform that moves the xyz unit vectors and origin of the interaction handles to local coordinates. More...
 
bool IsUpdatingPoints {false}
 Flag set from SetControlPointPositionsWorld that pauses update of measurements until the update is complete. More...
 
int LastUsedControlPointNumber {0}
 
int Locked {0}
 Locks all the points and GUI. More...
 
int MaximumNumberOfControlPoints {-1}
 
vtkCollection * Measurements
 List of measurements stored for the markup. More...
 
std::string PropertiesLabelText
 
int RequiredNumberOfControlPoints {0}
 
vtkSmartPointer< vtkStringArray > TextList
 
vtkSmartPointer< vtkPointLocator > TransformedCurvePolyLocator
 
- 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 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 curve markup Curve Markups nodes contain N control points. Visualization parameters are set in the vtkMRMLMarkupsDisplayNode class.

Markups is intended to be used for manual marking/editing of point positions.

Coordinate systems used:

Markups measurement pipeline:

+---------------------------------------—vtkMarkupsCurveNode--------------------------------------------—+ | +-vtkMRMLMarkupsNode-+ === : Display pipeline | | | | +-vtkCurveGenerator-+ | | | CurveInputPoly============= | : Generate interpolated curve from the control points | | | Measurements-----—+ +------—â•‘------—+ | | | | | â•‘ | | +-----------------—+ | â•‘ | | ++-vtkCurveMeasurementsCalculator-+ | | | | : Add measurements as data arrays to the curve | | +-------------—â•‘-------------—+ poly data | | â•‘ | | â•‘ | | +—vtkTransformPolyDataFilter-—+ | | | (CurvePolyToWorldTransformer) | | | +-------------—â•‘-------------—+ | | â•‘ | +---------------------------------------—â•‘--------------------------------------------------------------—+ â•‘ +--------------—â•‘----—vtkSlicerCurveRepresentation3D-------------------—+ | â•‘ | | â•‘(vtkCleaner in between) | | +–vtkTubeFilter–+ | | | =========> vtkPolyDataMapper => vtkActor | | +--------------—+ | +--------------------------------------------------------------------------—+

Definition at line 89 of file vtkMRMLMarkupsCurveNode.h.

Member Typedef Documentation

◆ Superclass

Definition at line 93 of file vtkMRMLMarkupsCurveNode.h.

Constructor & Destructor Documentation

◆ vtkMRMLMarkupsCurveNode() [1/2]

vtkMRMLMarkupsCurveNode::vtkMRMLMarkupsCurveNode ( )
protected

◆ ~vtkMRMLMarkupsCurveNode()

vtkMRMLMarkupsCurveNode::~vtkMRMLMarkupsCurveNode ( )
overrideprotected

◆ vtkMRMLMarkupsCurveNode() [2/2]

vtkMRMLMarkupsCurveNode::vtkMRMLMarkupsCurveNode ( const vtkMRMLMarkupsCurveNode )
protected

Member Function Documentation

◆ ConstrainPointsToSurface()

static bool vtkMRMLMarkupsCurveNode::ConstrainPointsToSurface ( vtkPoints *  originalPoints,
vtkPoints *  normalVectors,
vtkPolyData *  surfacePolydata,
vtkPoints *  surfacePoints,
double  maximumSearchRadius = .25 
)
static

Constrain points to a specified model surface Projection to surface is constrained by maximumSearchRadius, specified as a percentage of the model's bounding box diagonal in world coordinate system. maximumSearchRadius is valid in the range between 0 and 1. returns true if successful, false in case of error

See also
vtkProjectMarkupsCurvePointsFilter::ConstrainPointsToSurface

◆ CreateNodeInstance()

vtkMRMLNode* vtkMRMLMarkupsCurveNode::CreateNodeInstance ( )
overridevirtual

MRMLNode methods.

Implements vtkMRMLDisplayableNode.

◆ GetAddIcon()

const char* vtkMRMLMarkupsCurveNode::GetAddIcon ( )
inlineoverridevirtual

Reimplemented from vtkMRMLMarkupsNode.

Definition at line 98 of file vtkMRMLMarkupsCurveNode.h.

◆ GetClassName()

virtual const char* vtkMRMLMarkupsCurveNode::GetClassName ( )
virtual

Reimplemented from vtkMRMLMarkupsNode.

Reimplemented in vtkMRMLMarkupsClosedCurveNode.

◆ GetClosestCurvePointIndexToPositionWorld()

vtkIdType vtkMRMLMarkupsCurveNode::GetClosestCurvePointIndexToPositionWorld ( const double  posWorld[3])

Get the index of the closest curve point to the world coordinates.

◆ GetClosestPointPositionAlongCurveWorld()

vtkIdType vtkMRMLMarkupsCurveNode::GetClosestPointPositionAlongCurveWorld ( const double  posWorld[3],
double  closestPosWorld[3] 
)

Get position of the closest point along the curve in world coordinates. The found position may be between two curve points. Returns index of the found line segment. -1 if failed.

Parameters
posWorldinput position
closestPosWorldoutput found closest position

◆ GetCurveDirectionAtPointIndexWorld()

bool vtkMRMLMarkupsCurveNode::GetCurveDirectionAtPointIndexWorld ( vtkIdType  curvePointIndex,
double  directionVectorWorld[3] 
)

Get direction vector at specified curve point index, in World coordinate system.

Returns
true on success.

◆ GetCurveLength()

static double vtkMRMLMarkupsCurveNode::GetCurveLength ( vtkPoints *  curvePoints,
bool  closedCurve,
vtkIdType  startCurvePointIndex = 0,
vtkIdType  numberOfCurvePoints = -1 
)
static

Utility function to get curve length from a point list.

See also
GetCurveLengthWorld

◆ GetCurveLengthBetweenStartEndPointsWorld()

double vtkMRMLMarkupsCurveNode::GetCurveLengthBetweenStartEndPointsWorld ( vtkIdType  startCurvePointIndex,
vtkIdType  endCurvePointIndex 
)

Get length of a section of the curve between startPointIndex and endPointIndex. If endPointIndex < startPointIndex then length outside of the section is computed.

Parameters
startCurvePointIndexlength computation starts from this curve point index
endCurvePointIndexlength computation starts from this curve point index
Returns
sum of distances between the curve points, returns 0 in case of an error

◆ GetCurveLengthWorld()

double vtkMRMLMarkupsCurveNode::GetCurveLengthWorld ( vtkIdType  startCurvePointIndex = 0,
vtkIdType  numberOfCurvePoints = -1 
)

Get length of the curve or a section of the curve.

Parameters
startCurvePointIndexlength computation starts from this curve point index
numberOfCurvePointsif specified then distances up to the first n points are computed. If <0 then all the points are used.
Returns
sum of distances between the curve points, returns 0 in case of an error

◆ GetCurvePointIndexAlongCurveWorld()

vtkIdType vtkMRMLMarkupsCurveNode::GetCurvePointIndexAlongCurveWorld ( vtkIdType  startCurvePointId,
double  distanceFromStartPoint 
)

Get position of a curve point along the curve relative to the specified start point index.

Parameters
startCurvePointIdindex of the curve point to start the distance measurement from
distanceFromStartPointdistance from the start point
Returns
found point index, -1 in case of an error

◆ GetCurvePointIndexFromControlPointIndex()

vtkIdType vtkMRMLMarkupsCurveNode::GetCurvePointIndexFromControlPointIndex ( int  controlPointIndex)

Get curve point index corresponding to a control point. It is useful for calling methods that require curve point index as input.

◆ GetCurvePointsWorld()

vtkPoints* vtkMRMLMarkupsCurveNode::GetCurvePointsWorld ( )
overridevirtual

Get curve points positions in world coordinate system.

Reimplemented from vtkMRMLMarkupsNode.

◆ GetCurvePointToWorldTransformAtPointIndex()

bool vtkMRMLMarkupsCurveNode::GetCurvePointToWorldTransformAtPointIndex ( vtkIdType  curvePointIndex,
vtkMatrix4x4 *  curvePointToWorld 
)

Get transformation from CurvePoint to World coordinate system at the specified curve point index. CurvePoint coordinate system:

  • Origin: position of the curve point.
  • X axis: curve normal direction.
  • Y axis: binormal direction (tangent x normal).
  • Z axis: curve tangent direction.
    Returns
    true on success.

◆ GetCurveType()

int vtkMRMLMarkupsCurveNode::GetCurveType ( )

Type of curve to generate.

◆ GetCurveTypeAsString()

const char* vtkMRMLMarkupsCurveNode::GetCurveTypeAsString ( int  id)

◆ GetCurveTypeFromString()

int vtkMRMLMarkupsCurveNode::GetCurveTypeFromString ( const char *  name)

◆ GetCurveWorld()

vtkPolyData* vtkMRMLMarkupsCurveNode::GetCurveWorld ( )
overridevirtual

Reimplemented from vtkMRMLMarkupsNode.

◆ GetCurveWorldConnection()

vtkAlgorithmOutput* vtkMRMLMarkupsCurveNode::GetCurveWorldConnection ( )
overridevirtual

Reimplemented from vtkMRMLMarkupsNode.

◆ GetDefaultNodeNamePrefix()

const char* vtkMRMLMarkupsCurveNode::GetDefaultNodeNamePrefix ( )
inlineoverridevirtual

Get markup short name.

Reimplemented from vtkMRMLMarkupsNode.

Definition at line 116 of file vtkMRMLMarkupsCurveNode.h.

◆ GetFarthestCurvePointIndexToPositionWorld()

vtkIdType vtkMRMLMarkupsCurveNode::GetFarthestCurvePointIndexToPositionWorld ( const double  posWorld[3])

Get index of the farthest curve point from the specified reference point. Distance is Euclidean distance, not distance along the curve.

Parameters
posWorldReference point position in world coordinate system
Returns
index of the farthest curve point from refPoint, -1 in case of error

◆ GetIcon()

const char* vtkMRMLMarkupsCurveNode::GetIcon ( )
inlineoverridevirtual

Reimplemented from vtkMRMLMarkupsNode.

Definition at line 97 of file vtkMRMLMarkupsCurveNode.h.

◆ GetMarkupType()

const char* vtkMRMLMarkupsCurveNode::GetMarkupType ( )
inlineoverridevirtual

Get markup type internal name.

Reimplemented from vtkMRMLMarkupsNode.

Definition at line 110 of file vtkMRMLMarkupsCurveNode.h.

◆ GetNodeTagName()

const char* vtkMRMLMarkupsCurveNode::GetNodeTagName ( )
inlineoverridevirtual

Get node XML tag name (like Volume, Model)

Implements vtkMRMLDisplayableNode.

Definition at line 107 of file vtkMRMLMarkupsCurveNode.h.

◆ GetNumberOfPointsPerInterpolatingSegment()

int vtkMRMLMarkupsCurveNode::GetNumberOfPointsPerInterpolatingSegment ( )

Get/set how many curve points are inserted between control points. Higher values are recommended if distance between control points is large.

◆ GetPlaceAddIcon()

const char* vtkMRMLMarkupsCurveNode::GetPlaceAddIcon ( )
inlineoverridevirtual

Reimplemented from vtkMRMLMarkupsNode.

Definition at line 99 of file vtkMRMLMarkupsCurveNode.h.

◆ GetPointsOnPlaneWorld()

bool vtkMRMLMarkupsCurveNode::GetPointsOnPlaneWorld ( vtkPlane *  plane,
vtkPoints *  intersectionPoints 
)

◆ GetPositionAlongCurveWorld()

bool vtkMRMLMarkupsCurveNode::GetPositionAlongCurveWorld ( double  foundCurvePosition[3],
vtkIdType  startCurvePointId,
double  distanceFromStartPoint 
)

Get position of a point along the curve relative to the specified start point index. The returned position can be between curve points (to match the requested distance as accurately as possible).

Parameters
startCurvePointIdindex of the curve point to start the distance measurement from
distanceFromStartPointdistance from the start point
Returns
true if a point found exactly at the requested distance

◆ GetPositionAndClosestPointIndexAlongCurve()

static bool vtkMRMLMarkupsCurveNode::GetPositionAndClosestPointIndexAlongCurve ( double  foundCurvePosition[3],
vtkIdType &  foundClosestPointIndex,
vtkIdType  startCurvePointId,
double  distanceFromStartPoint,
vtkPoints *  curvePoints,
bool  closedCurve 
)
static

Get point position along curve. Position is found along the curve and not snapped to closest curve point.

◆ GetSampledCurvePointsBetweenStartEndPointsWorld()

bool vtkMRMLMarkupsCurveNode::GetSampledCurvePointsBetweenStartEndPointsWorld ( vtkPoints *  sampledPoints,
double  samplingDistance,
vtkIdType  startCurvePointIndex,
vtkIdType  endCurvePointIndex 
)

Samples points along the curve at equal distances. If endPointIndex < startPointIndex then after the last point, the curve is assumed to continue at the first point.

◆ GetShortestDistanceSurfaceNode()

vtkMRMLModelNode* vtkMRMLMarkupsCurveNode::GetShortestDistanceSurfaceNode ( )
inline
Deprecated:
GetShortestDistanceSurfaceNode
See also
GetSurfaceConstraintNode

Definition at line 265 of file vtkMRMLMarkupsCurveNode.h.

◆ GetShortestDistanceSurfaceNodeReferenceMRMLAttributeName()

const char* vtkMRMLMarkupsCurveNode::GetShortestDistanceSurfaceNodeReferenceMRMLAttributeName ( )
inline
Deprecated:
GetShortestDistanceSurfaceNodeReferenceMRMLAttributeName
See also
GetSurfaceConstraintNodeReferenceMRMLAttributeName

Definition at line 252 of file vtkMRMLMarkupsCurveNode.h.

◆ GetShortestDistanceSurfaceNodeReferenceRole()

const char* vtkMRMLMarkupsCurveNode::GetShortestDistanceSurfaceNodeReferenceRole ( )
inline
Deprecated:
GetShortestDistanceSurfaceNodeReferenceRole
See also
GetSurfaceConstraintNodeReferenceRole

Definition at line 249 of file vtkMRMLMarkupsCurveNode.h.

◆ GetSurfaceConstraintMaximumSearchRadiusTolerance()

double vtkMRMLMarkupsCurveNode::GetSurfaceConstraintMaximumSearchRadiusTolerance ( ) const

◆ GetSurfaceConstraintNode()

vtkMRMLModelNode* vtkMRMLMarkupsCurveNode::GetSurfaceConstraintNode ( )

◆ GetSurfaceConstraintNodeReferenceMRMLAttributeName()

const char* vtkMRMLMarkupsCurveNode::GetSurfaceConstraintNodeReferenceMRMLAttributeName ( )
inline

Definition at line 256 of file vtkMRMLMarkupsCurveNode.h.

◆ GetSurfaceConstraintNodeReferenceRole()

const char* vtkMRMLMarkupsCurveNode::GetSurfaceConstraintNodeReferenceRole ( )
inline

Node reference role for the surface that is used to project the curve onto.

Definition at line 255 of file vtkMRMLMarkupsCurveNode.h.

◆ GetSurfaceCostFunctionType()

int vtkMRMLMarkupsCurveNode::GetSurfaceCostFunctionType ( )

The method that should be used to combine the distance with the scalar value for ShortestDistanceOnSurface curve type. Uses the COST_FUNCTION_X enums from vtkSlicerDijkstraGraphGeodesicPath.

◆ GetSurfaceCostFunctionTypeAsString()

static const char* vtkMRMLMarkupsCurveNode::GetSurfaceCostFunctionTypeAsString ( int  surfaceCostFunctionType)
static

◆ GetSurfaceCostFunctionTypeFromString()

static int vtkMRMLMarkupsCurveNode::GetSurfaceCostFunctionTypeFromString ( const char *  name)
static

◆ GetSurfaceDistanceWeightingFunction()

const char* vtkMRMLMarkupsCurveNode::GetSurfaceDistanceWeightingFunction ( )

The scalar weight function that is used for modifying the weight on each vertex for ShortestDistanceOnSurface curve type. The the currently active point scalar array is available as the "activeScalar" variable.

◆ GetTypeDisplayName()

const char* vtkMRMLMarkupsCurveNode::GetTypeDisplayName ( )
inlineoverridevirtual

Get node type display name (like "Closed Curve", "Markup", etc).

Note
Subclasses should override this method to provide a more appropriate and translatable name.

Reimplemented from vtkMRMLNode.

Definition at line 113 of file vtkMRMLMarkupsCurveNode.h.

◆ IsA()

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

Reimplemented from vtkMRMLMarkupsNode.

Reimplemented in vtkMRMLMarkupsClosedCurveNode.

◆ IsTypeOf()

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

◆ New()

static vtkMRMLMarkupsCurveNode* vtkMRMLMarkupsCurveNode::New ( )
static

◆ OnCurvatureMeasurementModified()

static void vtkMRMLMarkupsCurveNode::OnCurvatureMeasurementModified ( vtkObject *  caller,
unsigned long  eid,
void *  clientData,
void *  callData 
)
staticprotected

Callback function observing curvature measurement modified events to propagate enabled state.

◆ OnNodeReferenceAdded()

void vtkMRMLMarkupsCurveNode::OnNodeReferenceAdded ( vtkMRMLNodeReference reference)
overrideprotectedvirtual


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

Reimplemented from vtkMRMLDisplayableNode.

◆ OnNodeReferenceModified()

void vtkMRMLMarkupsCurveNode::OnNodeReferenceModified ( vtkMRMLNodeReference reference)
overrideprotectedvirtual


Called when a node reference ID is modified.

Reimplemented from vtkMRMLDisplayableNode.

◆ OnNodeReferenceRemoved()

void vtkMRMLMarkupsCurveNode::OnNodeReferenceRemoved ( vtkMRMLNodeReference reference)
overrideprotectedvirtual


Called after a node reference ID is removed (list size decreased).

Reimplemented from vtkMRMLDisplayableNode.

◆ OnSurfaceModelNodeChanged()

virtual void vtkMRMLMarkupsCurveNode::OnSurfaceModelNodeChanged ( )
protectedvirtual

◆ OnSurfaceModelTransformChanged()

virtual void vtkMRMLMarkupsCurveNode::OnSurfaceModelTransformChanged ( )
protectedvirtual

◆ operator=()

void vtkMRMLMarkupsCurveNode::operator= ( const vtkMRMLMarkupsCurveNode )
protected

◆ PrintSelf()

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

Print out the node information to the output stream.

◆ ProcessMRMLEvents()

void vtkMRMLMarkupsCurveNode::ProcessMRMLEvents ( vtkObject *  ,
unsigned long  long,
void *   
)
overrideprotectedvirtual


alternative method to propagate events generated in Display nodes

Deprecated:
GetDisplayNodes Obsolete utility function that provides an unsafe API. Please use GetNumberOfDisplayNodes() and GetNthDisplayNode() instead const std::vector<vtkMRMLDisplayNode*>& GetDisplayNodes();
See also
GetNumberOfDisplayNodes, GetNthDisplayNode

Reimplemented from vtkMRMLDisplayableNode.

◆ ReadXMLAttributes()

void vtkMRMLMarkupsCurveNode::ReadXMLAttributes ( const char **  atts)
overridevirtual

Read node attributes from XML file.

Reimplemented from vtkMRMLDisplayableNode.

◆ ResampleCurveWorld()

void vtkMRMLMarkupsCurveNode::ResampleCurveWorld ( double  controlPointDistance)

Resample control points to have equal distances in the world coordinate system.

◆ ResamplePoints()

static bool vtkMRMLMarkupsCurveNode::ResamplePoints ( vtkPoints *  originalPoints,
vtkPoints *  interpolatedPoints,
double  samplingDistance,
bool  closedCurve,
vtkDoubleArray *  pedigreeIdsArray = nullptr 
)
static

Resample control points to have equal distances in the node's coordinate system.

◆ ResampleStaticControlPointMeasurements()

static bool vtkMRMLMarkupsCurveNode::ResampleStaticControlPointMeasurements ( vtkCollection *  measurements,
vtkDoubleArray *  curvePointsPedigreeIdsArray,
int  curvePointsPerControlPoint 
)
static

Resample static control point measurements using linear interpolation, based on fractional pedigreeIds.

◆ SafeDownCast()

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

◆ SetAndObserveShortestDistanceSurfaceNode()

void vtkMRMLMarkupsCurveNode::SetAndObserveShortestDistanceSurfaceNode ( vtkMRMLModelNode modelNode)
inline

The model node that is used as the surface mesh for finding the shortest distance path on the surface mesh. Used by the ShortestDistanceOnSurface curve type.

Deprecated:
SetAndObserveShortestDistanceSurfaceNode
See also
SetAndObserveSurfaceConstraintNode

Definition at line 262 of file vtkMRMLMarkupsCurveNode.h.

◆ SetAndObserveSurfaceConstraintNode()

void vtkMRMLMarkupsCurveNode::SetAndObserveSurfaceConstraintNode ( vtkMRMLModelNode modelNode)

Set/Get the model node that is used as the surface mesh for finding the shortest distance path on the surface mesh.

◆ SetControlPointLabels()

bool vtkMRMLMarkupsCurveNode::SetControlPointLabels ( vtkStringArray *  labels,
vtkPoints *  points 
)

Provides access to protected vtkMRMLMarkupsNode::SetControlPointLabelsWorld.

◆ SetCurveType()

void vtkMRMLMarkupsCurveNode::SetCurveType ( int  type)

◆ SetCurveTypeToCardinalSpline()

void vtkMRMLMarkupsCurveNode::SetCurveTypeToCardinalSpline ( )

◆ SetCurveTypeToKochanekSpline()

void vtkMRMLMarkupsCurveNode::SetCurveTypeToKochanekSpline ( )

◆ SetCurveTypeToLinear()

void vtkMRMLMarkupsCurveNode::SetCurveTypeToLinear ( )

◆ SetCurveTypeToPolynomial()

void vtkMRMLMarkupsCurveNode::SetCurveTypeToPolynomial ( )

◆ SetCurveTypeToShortestDistanceOnSurface()

void vtkMRMLMarkupsCurveNode::SetCurveTypeToShortestDistanceOnSurface ( vtkMRMLModelNode modelNode = nullptr)

◆ SetNumberOfPointsPerInterpolatingSegment()

void vtkMRMLMarkupsCurveNode::SetNumberOfPointsPerInterpolatingSegment ( int  pointsPerSegment)

◆ SetSurfaceConstraintMaximumSearchRadiusTolerance()

void vtkMRMLMarkupsCurveNode::SetSurfaceConstraintMaximumSearchRadiusTolerance ( double  tolerance)

Set/Get maximumSearchRadiusTolerance defining the allowable projection distance when projecting curve to surface.

It is specified as a percentage of the model's bounding box diagonal in world coordinate system.

◆ SetSurfaceCostFunctionType()

void vtkMRMLMarkupsCurveNode::SetSurfaceCostFunctionType ( int  surfaceCostFunctionType)

◆ SetSurfaceDistanceWeightingFunction()

void vtkMRMLMarkupsCurveNode::SetSurfaceDistanceWeightingFunction ( const char *  function)

◆ UpdateAssignedAttribute()

virtual void vtkMRMLMarkupsCurveNode::UpdateAssignedAttribute ( )
overridevirtual

Update scalar range and update markups pipeline when the active scalar array is changed.

Reimplemented from vtkMRMLMarkupsNode.

◆ UpdateMeasurementsInternal()

void vtkMRMLMarkupsCurveNode::UpdateMeasurementsInternal ( )
overrideprotectedvirtual

Calculate the updated measurements. May be overridden in subclasses to compute special measurements (for example that apply on the curve polydata).

Reimplemented from vtkMRMLMarkupsNode.

◆ UpdateSurfaceScalarVariables()

virtual void vtkMRMLMarkupsCurveNode::UpdateSurfaceScalarVariables ( )
protectedvirtual

◆ vtkMRMLCopyContentMacro()

vtkMRMLMarkupsCurveNode::vtkMRMLCopyContentMacro ( vtkMRMLMarkupsCurveNode  )

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

See also
vtkMRMLNode::CopyContent

◆ WriteXML()

void vtkMRMLMarkupsCurveNode::WriteXML ( ostream &  of,
int  indent 
)
overridevirtual

Write this node's information to a MRML file in XML format.

Reimplemented from vtkMRMLDisplayableNode.

Member Data Documentation

◆ CleanFilter

vtkSmartPointer<vtkCleanPolyData> vtkMRMLMarkupsCurveNode::CleanFilter
protected

Definition at line 305 of file vtkMRMLMarkupsCurveNode.h.

◆ CurvatureMeasurementModifiedCallbackCommand

vtkCallbackCommand* vtkMRMLMarkupsCurveNode::CurvatureMeasurementModifiedCallbackCommand
protected

Command handling curvature measurement modified events to propagate enabled state.

Definition at line 320 of file vtkMRMLMarkupsCurveNode.h.

◆ CurveMeasurementsCalculator

vtkSmartPointer<vtkCurveMeasurementsCalculator> vtkMRMLMarkupsCurveNode::CurveMeasurementsCalculator
protected

Definition at line 310 of file vtkMRMLMarkupsCurveNode.h.

◆ ScalarDisplayAssignAttribute

vtkSmartPointer<vtkAssignAttribute> vtkMRMLMarkupsCurveNode::ScalarDisplayAssignAttribute
protected

Filter that changes the active scalar of the input mesh using the ActiveScalarName and ActiveAttributeLocation properties. This can be useful to specify what field array is the color array that needs to be used by the VTK mappers.

Definition at line 317 of file vtkMRMLMarkupsCurveNode.h.

◆ ShortestDistanceSurfaceActiveScalar

const char* vtkMRMLMarkupsCurveNode::ShortestDistanceSurfaceActiveScalar
protected

Definition at line 312 of file vtkMRMLMarkupsCurveNode.h.

◆ SurfaceScalarCalculator

vtkSmartPointer<vtkArrayCalculator> vtkMRMLMarkupsCurveNode::SurfaceScalarCalculator
protected

Definition at line 308 of file vtkMRMLMarkupsCurveNode.h.

◆ SurfaceScalarPassThroughFilter

vtkSmartPointer<vtkPassThroughFilter> vtkMRMLMarkupsCurveNode::SurfaceScalarPassThroughFilter
protected

Definition at line 309 of file vtkMRMLMarkupsCurveNode.h.

◆ SurfaceToLocalTransformer

vtkSmartPointer<vtkTransformPolyDataFilter> vtkMRMLMarkupsCurveNode::SurfaceToLocalTransformer
protected

Definition at line 307 of file vtkMRMLMarkupsCurveNode.h.

◆ TriangleFilter

vtkSmartPointer<vtkTriangleFilter> vtkMRMLMarkupsCurveNode::TriangleFilter
protected

Definition at line 306 of file vtkMRMLMarkupsCurveNode.h.

◆ WorldOutput

vtkSmartPointer<vtkPassThroughFilter> vtkMRMLMarkupsCurveNode::WorldOutput
protected

Definition at line 311 of file vtkMRMLMarkupsCurveNode.h.


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