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*);
265 vtkSetMacro(GlyphScale,
double);
266 vtkGetMacro(GlyphScale,
double);
271 vtkSetMacro(GlyphSize,
double);
272 vtkGetMacro(GlyphSize,
double);
278 vtkSetMacro(UseGlyphScale,
bool);
279 vtkGetMacro(UseGlyphScale,
bool);
280 vtkBooleanMacro(UseGlyphScale,
bool);
284 ResetToDefaultsEvent = 19001,
314 vtkSetMacro(SliceProjection,
bool);
315 vtkGetMacro(SliceProjection,
bool);
316 vtkBooleanMacro(SliceProjection,
bool);
320 vtkSetMacro(SliceProjectionUseFiducialColor,
bool);
321 vtkGetMacro(SliceProjectionUseFiducialColor,
bool);
322 vtkBooleanMacro(SliceProjectionUseFiducialColor,
bool);
326 vtkSetMacro(SliceProjectionOutlinedBehindSlicePlane,
bool);
327 vtkGetMacro(SliceProjectionOutlinedBehindSlicePlane,
bool);
328 vtkBooleanMacro(SliceProjectionOutlinedBehindSlicePlane,
bool);
332 vtkSetVector3Macro(SliceProjectionColor,
double);
333 vtkGetVector3Macro(SliceProjectionColor,
double);
337 vtkSetClampMacro(SliceProjectionOpacity,
double, 0.0, 1.0);
338 vtkGetMacro(SliceProjectionOpacity,
double);
344 UseLineThickness = 0,
346 CurveLineSizeMode_Last
351 vtkSetMacro(CurveLineSizeMode,
int);
352 vtkGetMacro(CurveLineSizeMode,
int);
353 const char* GetCurveLineSizeModeAsString();
354 void SetCurveLineSizeModeFromString(
const char* modeString);
355 static const char* GetCurveLineSizeModeAsString(
int mode);
356 static int GetCurveLineSizeModeFromString(
const char*);
363 vtkGetMacro(LineThickness,
double);
364 vtkSetMacro(LineThickness,
double);
370 vtkGetMacro(LineDiameter,
double);
371 vtkSetMacro(LineDiameter,
double);
375 vtkGetMacro(LineColorFadingStart,
double);
376 vtkSetMacro(LineColorFadingStart,
double);
380 vtkGetMacro(LineColorFadingEnd,
double);
381 vtkSetMacro(LineColorFadingEnd,
double);
385 vtkSetClampMacro(LineColorFadingSaturation,
double, 0.0, 1.0);
386 vtkGetMacro(LineColorFadingSaturation,
double);
390 vtkSetClampMacro(LineColorFadingHueOffset,
double, 0.0, 1.0);
391 vtkGetMacro(LineColorFadingHueOffset,
double);
397 virtual void SetLineColorNodeID(
const char *lineColorNodeID);
400 const char* GetLineColorNodeID();
404 virtual const char* GetLineColorNodeReferenceRole();
409 vtkGetMacro(OccludedVisibility,
bool);
410 vtkSetMacro(OccludedVisibility,
bool);
411 vtkBooleanMacro(OccludedVisibility,
bool);
416 vtkGetMacro(OccludedOpacity,
double);
417 vtkSetMacro(OccludedOpacity,
double);
422 vtkGetObjectMacro(TextProperty, vtkTextProperty);
425 vtkSetVector3Macro(ActiveColor,
double);
427 vtkGetVector3Macro(ActiveColor,
double);
430 vtkGetMacro(HandlesInteractive,
bool);
432 vtkSetMacro(HandlesInteractive,
bool);
433 vtkBooleanMacro(HandlesInteractive,
bool);
434 vtkGetMacro(TranslationHandleVisibility,
bool);
435 vtkSetMacro(TranslationHandleVisibility,
bool);
436 vtkBooleanMacro(TranslationHandleVisibility,
bool);
437 vtkGetMacro(RotationHandleVisibility,
bool);
438 vtkSetMacro(RotationHandleVisibility,
bool);
439 vtkBooleanMacro(RotationHandleVisibility,
bool);
440 vtkGetMacro(ScaleHandleVisibility,
bool);
441 vtkSetMacro(ScaleHandleVisibility,
bool);
442 vtkBooleanMacro(ScaleHandleVisibility,
bool);
443 void SetHandleVisibility(
int handleType,
bool visibility);
444 bool GetHandleVisibility(
int handleType);
448 vtkSetMacro(InteractionHandleScale,
double);
451 vtkGetMacro(InteractionHandleScale,
double);
455 vtkSetVector4Macro(RotationHandleComponentVisibility,
bool);
460 vtkGetVector4Macro(RotationHandleComponentVisibility,
bool);
461 vtkSetVector4Macro(ScaleHandleComponentVisibility,
bool);
462 vtkGetVector4Macro(ScaleHandleComponentVisibility,
bool);
463 vtkSetVector4Macro(TranslationHandleComponentVisibility,
bool);
464 vtkGetVector4Macro(TranslationHandleComponentVisibility,
bool);
479 vtkGetMacro(CanDisplayScaleHandles,
bool);
489 void SetTextPropertyFromString(std::string textPropertyString);
516 double SliceProjectionColor[3];
519 virtual const char* GetLineColorNodeReferenceMRMLAttributeName();
538 double ActiveColor[3];
546 bool RotationHandleComponentVisibility[4];
547 bool ScaleHandleComponentVisibility[4];
548 bool TranslationHandleComponentVisibility[4];
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)
bool CanDisplayScaleHandles
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)
double InteractionHandleScale
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
static std::string GetTextPropertyAsString(vtkTextProperty *property)
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
virtual void SetScalarVisibility(int)
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()