18#ifndef __vtkMRMLSliceDisplayNode_h
19#define __vtkMRMLSliceDisplayNode_h
33 void PrintSelf(ostream& os, vtkIndent indent)
override;
39 void WriteXML(ostream& of,
int indent)
override;
54 vtkBooleanMacro(IntersectingSlicesVisibility,
bool);
virtual int GetVisibility2D()
virtual void SetVisibility2D(int)
vtkMRMLModelDisplayNode()
@ ComponentTranslateSingleIntersectingSliceHandle
mouse is near the middle of the slice intersection (translation section)
@ ComponentRotateIntersectingSlicesHandle
mouse is near the end of the slice intersection (rotation section)
@ ComponentTranslateIntersectingSlicesHandle
mouse is near the intersection point of slice intersections
@ ComponentNone
no component of the slice or slice intersection widget is active
@ ComponentSliceIntersection
slice intersection is active (not any handle), e.g., because user is interacting with the widget
@ ComponentTranslateIntersectingThickSlabHandle
mouse is near the handle for adjusting a thick slab
bool GetIntersectingSlicesInteractiveModeEnabled(IntersectingSlicesInteractiveMode mode)
const char * GetNodeTagName() override
Get node XML tag name (like Volume, Model)
void SetIntersectingSlicesVisibility(bool visible)
std::map< std::string, ComponentInfo > ActiveComponents
bool IntersectingSlicesInteractive
void operator=(const vtkMRMLSliceDisplayNode &)
~vtkMRMLSliceDisplayNode() override
static vtkMRMLSliceDisplayNode * New()
int IntersectingSlicesInteractiveHandlesVisibilityMode
static int GetIntersectingSlicesLineThicknessModeFromString(const char *)
static const char * GetIntersectingSlicesLineThicknessModeAsString(int id)
void SetIntersectingSlicesInteractiveModeEnabled(IntersectingSlicesInteractiveMode mode, bool enabled)
void WriteXML(ostream &of, int indent) override
Write this node's information to a MRML file in XML format.
bool IntersectingThickSlabInteractive
@ FullLines
Lines intersect.
@ SkipLineCrossings
Lines do not intersect and there is a gap around the intersection point.
vtkMRMLCopyContentMacro(vtkMRMLSliceDisplayNode)
static int GetIntersectingSlicesInteractiveHandlesVisibilityModeFromString(const char *)
std::vector< std::string > GetActiveComponentInteractionContexts()
bool IntersectingSlicesTranslationEnabled
bool IntersectingSlicesRotationEnabled
static const char * GetIntersectingSlicesInteractiveHandlesVisibilityModeAsString(int id)
Convert between intersecting slices interactive handles visibility mode ID and string.
static int GetIntersectingSlicesIntersectionModeFromString(const char *)
void PrintSelf(ostream &os, vtkIndent indent) override
bool GetIntersectingSlicesVisibility()
Toggles visibility of intersections of other slices in the slice viewer.
vtkMRMLSliceDisplayNode(const vtkMRMLSliceDisplayNode &)
int GetActiveComponentType(std::string context=vtkMRMLSliceDisplayNode::GetDefaultContextName())
static const char * GetIntersectingSlicesIntersectionModeAsString(int id)
Convert between intersecting slices intersection mode ID and string.
int IntersectingSlicesLineThicknessMode
int IntersectingSlicesIntersectionMode
void ReadXMLAttributes(const char **atts) override
Read node attributes from XML file.
vtkMRMLSliceDisplayNode()
IntersectingSlicesInteractiveMode
bool IntersectingThickSlabVisibility
void SetActiveComponent(int componentType, int componentIndex, std::string context=vtkMRMLSliceDisplayNode::GetDefaultContextName())
Set active component type and index for interaction context (empty by default, meaning mouse)
@ MediumLines
Medium lines.
vtkMRMLNode * CreateNodeInstance() override
Create instance of the default node. Like New only virtual.
static const std::string GetDefaultContextName()
Get name of the default interaction context (typically the mouse)
bool HasActiveComponent()
Query if there is an active component for any interaction context.
int GetActiveComponentIndex(std::string context=vtkMRMLSliceDisplayNode::GetDefaultContextName())
@ NeverVisible
Handles are never displayed.
@ HandlesVisibilityMode_Last
@ NearbyVisible
Handles are displayed when mouse pointer gets close.
@ AlwaysVisible
Handles are always visible.