18 #ifndef __vtkMRMLSliceDisplayNode_h 19 #define __vtkMRMLSliceDisplayNode_h 33 void PrintSelf(ostream& os, vtkIndent indent)
override;
39 void WriteXML(ostream& of,
int indent)
override;
51 bool GetIntersectingSlicesVisibility() {
return this->
GetVisibility2D(); };
54 vtkBooleanMacro(IntersectingSlicesVisibility,
bool);
58 vtkGetMacro(IntersectingSlicesInteractive,
bool);
60 vtkSetMacro(IntersectingSlicesInteractive,
bool);
61 vtkBooleanMacro(IntersectingSlicesInteractive,
bool);
65 vtkGetMacro(IntersectingSlicesTranslationEnabled,
bool);
67 vtkSetMacro(IntersectingSlicesTranslationEnabled,
bool);
68 vtkBooleanMacro(IntersectingSlicesTranslationEnabled,
bool);
69 vtkGetMacro(IntersectingSlicesRotationEnabled,
bool);
70 vtkSetMacro(IntersectingSlicesRotationEnabled,
bool);
71 vtkBooleanMacro(IntersectingSlicesRotationEnabled,
bool);
81 void SetIntersectingSlicesInteractiveModeEnabled(IntersectingSlicesInteractiveMode mode,
bool enabled);
84 bool GetIntersectingSlicesInteractiveModeEnabled(IntersectingSlicesInteractiveMode mode);
93 HandlesVisibilityMode_Last
97 vtkGetMacro(IntersectingSlicesInteractiveHandlesVisibilityMode,
int);
100 vtkSetMacro(IntersectingSlicesInteractiveHandlesVisibilityMode,
int);
104 static const char* GetIntersectingSlicesInteractiveHandlesVisibilityModeAsString(
int id);
106 static int GetIntersectingSlicesInteractiveHandlesVisibilityModeFromString(
const char*);
111 SkipLineCrossings = 0,
113 IntersectionMode_Last
117 vtkGetMacro(IntersectingSlicesIntersectionMode,
int);
120 vtkSetMacro(IntersectingSlicesIntersectionMode,
int);
124 static const char* GetIntersectingSlicesIntersectionModeAsString(
int id);
126 static int GetIntersectingSlicesIntersectionModeFromString(
const char*);
134 LineThicknessMode_Last
138 vtkGetMacro(IntersectingSlicesLineThicknessMode,
int);
141 vtkSetMacro(IntersectingSlicesLineThicknessMode,
int);
145 static const char* GetIntersectingSlicesLineThicknessModeAsString(
int id);
148 static int GetIntersectingSlicesLineThicknessModeFromString(
const char*);
179 void SetActiveComponent(
int componentType,
int componentIndex,
183 bool HasActiveComponent();
187 std::vector<std::string> GetActiveComponentInteractionContexts();
199 this->Type = ComponentNone;
206 bool IntersectingSlicesInteractive{
false };
207 bool IntersectingSlicesTranslationEnabled{
true };
208 bool IntersectingSlicesRotationEnabled{
true };
210 int IntersectingSlicesInteractiveHandlesVisibilityMode{ NeverVisible };
212 int IntersectingSlicesIntersectionMode{ FullLines };
214 int IntersectingSlicesLineThicknessMode{ FineLines };
vtkMRMLNode * CreateNodeInstance() override
Create instance of the default node. Like New only virtual.
mouse is near the middle of the slice intersection (translation section)
static vtkMRMLModelDisplayNode * New()
MRML node to represent a display property of 3D surface model.
MRML node to store display properties of slice nodes.
vtkMRMLCopyContentMacro(vtkMRMLModelDisplayNode)
mouse is near the intersection point of slice intersections
static const std::string GetDefaultContextName()
Get name of the default interaction context (typically the mouse)
slice intersection is active (not any handle), e.g., because user is interacting with the widget ...
std::map< std::string, ComponentInfo > ActiveComponents
mouse is near the end of the slice intersection (rotation section)
IntersectingSlicesInteractiveMode
virtual void SetVisibility2D(int)
virtual int GetVisibility2D()
void ReadXMLAttributes(const char **atts) override
Read node attributes from XML file
void operator=(const vtkMRMLModelDisplayNode &)
Handles are always visible.
void SetIntersectingSlicesVisibility(bool visible)
void PrintSelf(ostream &os, vtkIndent indent) override
const char * GetNodeTagName() override
Get node XML tag name (like Volume, Model)
Abstract Superclass for all specific types of MRML nodes.
void WriteXML(ostream &of, int indent) override
Write this node's information to a MRML file in XML format.
Handles are displayed when mouse pointer gets close.