131 itkGetConstMacro(AllowTranslation,
bool);
133 itkSetMacro(AllowTranslation,
bool);
135 itkBooleanMacro(AllowTranslation);
138 itkGetConstMacro(AllowRotation,
bool);
140 itkSetMacro(AllowRotation,
bool);
142 itkBooleanMacro(AllowRotation);
145 itkGetConstMacro(AllowScaling,
bool);
147 itkSetMacro(AllowScaling,
bool);
149 itkBooleanMacro(AllowScaling);
295 bool m_AllowTranslation;
296 bool m_AllowRotation;
299 BaseGeometry::Pointer m_FollowedGeometry;
301 unsigned long m_FollowerTag;
305 std::unique_ptr<GizmoRemover> m_GizmoRemover;
Abstract base class describing the geometry of a data object.
Central node class of the MITK data tree, associating a data object with properties and mappers.
Abstract data management class that organizes DataNode objects in a directed acyclic graph.
A geometry manipulation "gizmo" for interactive 3D transformations.
mitkClassMacro(Gizmo, Surface)
AxisType
Enumeration of the three principal axes.
double GetLongestRadius() const
Return the longest of the three axis radii.
void FollowGeometry(BaseGeometry *geom)
Begin observing a geometry for automatic gizmo updates.
HandleType
Enumeration of interactive handle types for the gizmo.
@ ScaleY
The Y axis arrow tips for scaling.
@ RotateAroundAxisX
The ring around X for rotation about the X axis.
@ MoveAlongAxisY
The Y axis shaft for constrained translation along Y.
@ ScaleX
The X axis arrow tips for scaling.
@ MoveAlongAxisZ
The Z axis shaft for constrained translation along Z.
@ ScaleZ
The Z axis arrow tips for scaling.
@ RotateAroundAxisY
The ring around Y for rotation about the Y axis.
@ MoveFreely
The central sphere for free translation parallel to the camera plane.
@ RotateAroundAxisZ
The ring around Z for rotation about the Z axis.
@ MoveAlongAxisX
The X axis shaft for constrained translation along X.
vtkSmartPointer< vtkPolyData > BuildGizmo()
Build the vtkPolyData that visually represents the gizmo.
void OnFollowedGeometryModified()
ITK callback invoked when the followed geometry is modified.
static bool HasGizmoAttached(mitk::DataNode *node, DataStorage *storage)
Check whether a gizmo is attached to the given node.
static std::string HandleTypeToString(HandleType type)
Convert a HandleType value to a human-readable string.
Gizmo & operator=(const Gizmo &)
void UpdateRepresentation()
Rebuild the VTK surface representation after property changes.
HandleType GetHandleFromPointID(vtkIdType id)
Identify the gizmo handle that corresponds to a picked VTK point ID.
static DataNode::Pointer AddGizmoToNode(DataNode *node, DataStorage *storage)
Create and attach a gizmo to a data node.
static bool RemoveGizmoFromNode(DataNode *node, DataStorage *storage)
Remove a previously attached gizmo from a data node.
mitk::Gizmo::HandleType GetHandleFromPointDataValue(double value)
Identify the gizmo handle from a point data scalar value.
Data class for storing polygonal surfaces (vtkPolyData).
Find image slices visible on a given plane.