24 #ifndef __vtkMRMLMarkupsDisplayNode_h 25 #define __vtkMRMLMarkupsDisplayNode_h 27 #include "vtkSlicerMarkupsModuleMRMLExport.h" 33 #include <vtkAddonSetGet.h> 39 #include <vtkTextProperty.h> 50 void PrintSelf(ostream& os, vtkIndent indent)
override;
62 void WriteXML(ostream& of,
int indent)
override;
106 this->Type = ComponentNone;
119 void SetActiveComponent(
int componentType,
int componentIndex,
123 bool HasActiveComponent();
127 std::vector<std::string> GetActiveComponentInteractionContexts();
130 void SetActiveControlPoint(
int controlPointIndex);
137 double accurateWorldOrientationMatrix[9],
const char* viewNodeID,
138 const char* associatedNodeID,
int positionStatus);
142 void GetActiveControlPoints(std::vector<int>& controlPointIndices);
149 vtkGetMacro(TextScale,
double);
150 vtkSetMacro(TextScale,
double);
156 vtkSetMacro(PointLabelsVisibility,
bool);
157 vtkGetMacro(PointLabelsVisibility,
bool);
158 vtkBooleanMacro(PointLabelsVisibility,
bool);
165 vtkSetMacro(PropertiesLabelVisibility,
bool);
166 vtkGetMacro(PropertiesLabelVisibility,
bool);
167 vtkBooleanMacro(PropertiesLabelVisibility,
bool);
174 vtkSetMacro(FillVisibility,
bool);
175 vtkGetMacro(FillVisibility,
bool);
176 vtkBooleanMacro(FillVisibility,
bool);
182 vtkSetMacro(OutlineVisibility,
bool);
183 vtkGetMacro(OutlineVisibility,
bool);
184 vtkBooleanMacro(OutlineVisibility,
bool);
190 vtkSetMacro(FillOpacity,
double);
191 vtkGetMacro(FillOpacity,
double);
192 vtkBooleanMacro(FillOpacity,
double);
198 vtkSetMacro(OutlineOpacity,
double);
199 vtkGetMacro(OutlineOpacity,
double);
200 vtkBooleanMacro(OutlineOpacity,
double);
215 GlyphTypeInvalid = 0,
237 vtkSetMacro(GlyphType,
int);
238 vtkGetMacro(GlyphType,
int);
240 int GlyphTypeIs3D(
int glyphType);
244 const char* GetGlyphTypeAsString();
245 void SetGlyphTypeFromString(
const char* glyphString);
247 static const char* GetGlyphTypeAsString(
int g);
248 static int GetGlyphTypeFromString(
const char*);
252 vtkSetMacro(SnapMode,
int);
253 vtkGetMacro(SnapMode,
int);
255 static const char* GetSnapModeAsString(
int g);
256 static int GetSnapModeFromString(
const char*);
261 vtkSetMacro(GlyphScale,
double);
262 vtkGetMacro(GlyphScale,
double);
267 vtkSetMacro(GlyphSize,
double);
268 vtkGetMacro(GlyphSize,
double);
274 vtkSetMacro(UseGlyphScale,
bool);
275 vtkGetMacro(UseGlyphScale,
bool);
276 vtkBooleanMacro(UseGlyphScale,
bool);
280 ResetToDefaultsEvent = 19001,
292 vtkSetMacro(SliceProjection,
bool);
293 vtkGetMacro(SliceProjection,
bool);
294 vtkBooleanMacro(SliceProjection,
bool);
298 vtkSetMacro(SliceProjectionUseFiducialColor,
bool);
299 vtkGetMacro(SliceProjectionUseFiducialColor,
bool);
300 vtkBooleanMacro(SliceProjectionUseFiducialColor,
bool);
304 vtkSetMacro(SliceProjectionOutlinedBehindSlicePlane,
bool);
305 vtkGetMacro(SliceProjectionOutlinedBehindSlicePlane,
bool);
306 vtkBooleanMacro(SliceProjectionOutlinedBehindSlicePlane,
bool);
310 vtkSetVector3Macro(SliceProjectionColor,
double);
311 vtkGetVector3Macro(SliceProjectionColor,
double);
315 vtkSetClampMacro(SliceProjectionOpacity,
double, 0.0, 1.0);
316 vtkGetMacro(SliceProjectionOpacity,
double);
322 UseLineThickness = 0,
324 CurveLineSizeMode_Last
329 vtkSetMacro(CurveLineSizeMode,
int);
330 vtkGetMacro(CurveLineSizeMode,
int);
331 const char* GetCurveLineSizeModeAsString();
332 void SetCurveLineSizeModeFromString(
const char* modeString);
333 static const char* GetCurveLineSizeModeAsString(
int mode);
334 static int GetCurveLineSizeModeFromString(
const char*);
341 vtkGetMacro(LineThickness,
double);
342 vtkSetMacro(LineThickness,
double);
348 vtkGetMacro(LineDiameter,
double);
349 vtkSetMacro(LineDiameter,
double);
353 vtkGetMacro(LineColorFadingStart,
double);
354 vtkSetMacro(LineColorFadingStart,
double);
358 vtkGetMacro(LineColorFadingEnd,
double);
359 vtkSetMacro(LineColorFadingEnd,
double);
363 vtkSetClampMacro(LineColorFadingSaturation,
double, 0.0, 1.0);
364 vtkGetMacro(LineColorFadingSaturation,
double);
368 vtkSetClampMacro(LineColorFadingHueOffset,
double, 0.0, 1.0);
369 vtkGetMacro(LineColorFadingHueOffset,
double);
375 virtual void SetLineColorNodeID(
const char *lineColorNodeID);
378 const char* GetLineColorNodeID();
382 virtual const char* GetLineColorNodeReferenceRole();
387 vtkGetMacro(OccludedVisibility,
bool);
388 vtkSetMacro(OccludedVisibility,
bool);
389 vtkBooleanMacro(OccludedVisibility,
bool);
394 vtkGetMacro(OccludedOpacity,
double);
395 vtkSetMacro(OccludedOpacity,
double);
400 vtkGetObjectMacro(TextProperty, vtkTextProperty);
403 vtkSetVector3Macro(ActiveColor,
double);
405 vtkGetVector3Macro(ActiveColor,
double);
408 vtkGetMacro(HandlesInteractive,
bool);
409 vtkSetMacro(HandlesInteractive,
bool);
410 vtkBooleanMacro(HandlesInteractive,
bool);
411 vtkGetMacro(TranslationHandleVisibility,
bool);
412 vtkSetMacro(TranslationHandleVisibility,
bool);
413 vtkBooleanMacro(TranslationHandleVisibility,
bool);
414 vtkGetMacro(RotationHandleVisibility,
bool);
415 vtkSetMacro(RotationHandleVisibility,
bool);
416 vtkBooleanMacro(RotationHandleVisibility,
bool);
417 vtkGetMacro(ScaleHandleVisibility,
bool);
418 vtkSetMacro(ScaleHandleVisibility,
bool);
419 vtkBooleanMacro(ScaleHandleVisibility,
bool);
420 void SetHandleVisibility(
int handleType,
bool visibility);
421 bool GetHandleVisibility(
int handleType);
440 void SetTextPropertyFromString(std::string textPropertyString);
444 std::string GetTextPropertyAsString();
448 static std::string GetTextPropertyAsString(vtkTextProperty* property);
452 static void UpdateTextPropertyFromString(std::string inputString, vtkTextProperty* property);
455 static void GetColorFromString(
const std::string& colorString,
double color[4]);
478 double SliceProjectionColor[3];
481 virtual const char* GetLineColorNodeReferenceMRMLAttributeName();
500 double ActiveColor[3];
std::map< std::string, ComponentInfo > ActiveComponents
double LineColorFadingStart
void PrintSelf(ostream &os, vtkIndent indent) override
virtual vtkDataArray * GetActiveScalarArray()
bool ScaleHandleVisibility
bool RotationHandleVisibility
bool PropertiesLabelVisibility
static const std::string GetDefaultContextName()
Get name of the default interaction context (typically the mouse)
void ReadXMLAttributes(const char **atts) override
void UpdateScene(vtkMRMLScene *scene) override
Finds the storage node and read the data.
bool SliceProjectionOutlinedBehindSlicePlane
virtual vtkMRMLNode * CreateNodeInstance()=0
Create instance of the default node. Like New only virtual.
vtkMRMLCopyContentMacro(vtkMRMLDisplayNode)
A set of MRML Nodes that supports serialization and undo/redo.
SnapModes
Define how points are placed and moved in views.
bool PointLabelsVisibility
void WriteXML(ostream &of, int indent) override
void operator=(const vtkMRMLDisplayNode &)
double LineColorFadingSaturation
virtual vtkDataSet * GetScalarDataSet()
double LineColorFadingHueOffset
bool TranslationHandleVisibility
void ProcessMRMLEvents(vtkObject *caller, unsigned long event, void *callData) override
MRML node to represent procedurally defined color information.
double LineColorFadingEnd
bool SliceProjectionUseFiducialColor
static int GetMinimumGlyphType()
Return the min/max glyph types, for iterating over them in tcl.
vtkTextProperty * TextProperty
static const char * LineColorNodeReferenceRole
Abstract class that contains graphical display properties for displayable nodes.
double SliceProjectionOpacity
Abstract Superclass for all specific types of MRML nodes.
static int GetMaximumGlyphType()
const char * GetNodeTagName() override
Get node XML tag name (like Volume, Markups)
static const char * LineColorNodeReferenceMRMLAttributeName
virtual void UpdateAssignedAttribute()