24#ifndef __vtkMRMLMarkupsDisplayNode_h
25#define __vtkMRMLMarkupsDisplayNode_h
27#include "vtkMRMLExport.h"
33#include <vtkAddonSetGet.h>
39#include <vtkTextProperty.h>
49 void PrintSelf(ostream& os, vtkIndent indent)
override;
61 void WriteXML(ostream& of,
int indent)
override;
136 double accurateWorldOrientationMatrix[9],
const char* viewNodeID,
137 const char* associatedNodeID,
int positionStatus);
void operator=(const vtkMRMLDisplayNode &)
void ReadXMLAttributes(const char **atts) override
Read node attributes from XML (MRML) file.
static const char * LineColorNodeReferenceRole
vtkMRMLMarkupsDisplayNode(const vtkMRMLMarkupsDisplayNode &)
void ProcessMRMLEvents(vtkObject *, unsigned long, void *) override
Alternative method to propagate events generated in Display nodes.
const char * GetCurveLineSizeModeAsString()
static int GetMinimumGlyphType()
Return the min/max glyph types, for iterating over them in tcl.
virtual void SetLineColorNodeID(const char *lineColorNodeID)
bool PointLabelsVisibility
static const char * GetMovingInSliceViewAttributeName()
const char * GetGlyphTypeAsString()
Return a string representing the glyph type, set it from a string.
bool PropertiesLabelVisibility
int GlyphTypeIs3D(int glyphType)
Returns 1 if the type is a 3d one, 0 else.
double LineColorFadingHueOffset
virtual vtkDataSet * GetScalarDataSet() override
@ ComponentRotationHandle
@ ComponentTranslationHandle
vtkMRMLNode * CreateNodeInstance() override
Create instance of the default node. Like New only virtual.
vtkMRMLMarkupsDisplayNode()
static int GetCurveLineSizeModeFromString(const char *)
int GetActiveControlPoint(std::string context=vtkMRMLMarkupsDisplayNode::GetDefaultContextName())
SnapModes
Define how points are placed and moved in views.
@ SnapModeToVisibleSurface
void SetActiveControlPoint(int controlPointIndex)
Set active component index to the provided value and component type to ComponentControlPoint.
static vtkMRMLMarkupsDisplayNode * New()
bool ScaleHandleVisibility
bool ScaleHandleComponentVisibility[4]
virtual const char * GetLineColorNodeReferenceMRMLAttributeName()
virtual const char * GetLineColorNodeReferenceRole()
void SetCurveLineSizeModeFromString(const char *modeString)
static const char * GetGlyphTypeAsString(int g)
static int GetGlyphTypeFromString(const char *)
void SetTextPropertyFromString(std::string textPropertyString)
vtkMRMLProceduralColorNode * GetLineColorNode()
Get the line color node used for the projection on the line actors on the 2D viewers.
bool SliceProjectionOutlinedBehindSlicePlane
virtual void UpdateAssignedAttribute() override
Update scalar range and update markups pipeline when the active scalar array is changed.
const char * GetLineColorNodeID()
Get the line color node ID used for the projection on the line actors on the 2D viewers.
double SliceProjectionOpacity
double LineColorFadingEnd
void UpdateScene(vtkMRMLScene *scene) override
Finds the storage node and read the data.
static const char * LineColorNodeReferenceMRMLAttributeName
static const char * GetSnapModeAsString(int g)
int UpdateActiveControlPointWorld(int controlPointIndex, vtkMRMLInteractionEventData *eventData, double accurateWorldOrientationMatrix[9], const char *viewNodeID, const char *associatedNodeID, int positionStatus)
static const std::string GetDefaultContextName()
Get name of the default interaction context (typically the mouse)
static int GetMaximumGlyphType()
bool TranslationHandleComponentVisibility[4]
bool HasActiveComponent()
Query if there is an active component for any interaction context.
~vtkMRMLMarkupsDisplayNode() override
double LineColorFadingStart
void PrintSelf(ostream &os, vtkIndent indent) override
int GetActiveComponentType(std::string context=vtkMRMLMarkupsDisplayNode::GetDefaultContextName())
std::string GetTextPropertyAsString()
bool CanDisplayScaleHandles
void WriteXML(ostream &of, int indent) override
Write this node's information to a MRML file in XML format.
void SetGlyphTypeFromString(const char *glyphString)
void SetHandleVisibility(int handleType, bool visibility)
double SliceProjectionColor[3]
static const char * GetMovingMarkupIndexAttributeName()
virtual void SetScalarVisibility(int visibility) override
virtual vtkDataArray * GetActiveScalarArray() override
Return the current active scalar array (based on active scalar name and location)
bool RotationHandleComponentVisibility[4]
double LineColorFadingSaturation
double InteractionHandleScale
vtkMRMLMarkupsNode * GetMarkupsNode()
Convenience function for getting the displayable markups node.
const char * GetNodeTagName() override
Get node XML tag name (like Volume, Markups)
bool TranslationHandleVisibility
bool GetHandleVisibility(int handleType)
int GetActiveComponentIndex(std::string context=vtkMRMLMarkupsDisplayNode::GetDefaultContextName())
bool SliceProjectionUseFiducialColor
vtkMRMLCopyContentMacro(vtkMRMLMarkupsDisplayNode)
bool RotationHandleVisibility
std::map< std::string, ComponentInfo > ActiveComponents
void SetActiveComponent(int componentType, int componentIndex, std::string context=vtkMRMLMarkupsDisplayNode::GetDefaultContextName())
Set active component type and index for interaction context (empty by default, meaning mouse)
vtkTextProperty * TextProperty
static int GetSnapModeFromString(const char *)
static const char * GetCurveLineSizeModeAsString(int mode)
void GetActiveControlPoints(std::vector< int > &controlPointIndices)
std::vector< std::string > GetActiveComponentInteractionContexts()
friend class vtkMRMLScene
MRML node to represent procedurally defined color information.