36#ifndef vtkHandleRepresentation_h
37#define vtkHandleRepresentation_h
39#include "vtkInteractionWidgetsModule.h"
43VTK_ABI_NAMESPACE_BEGIN
72 virtual
void SetWorldPosition(
double pos[3]);
73 virtual
void GetWorldPosition(
double pos[3]);
83 vtkSetClampMacro(Tolerance,
int, 1, 100);
84 vtkGetMacro(Tolerance,
int);
121 vtkSetClampMacro(InteractionState,
int, Outside, Scaling);
182 virtual void Translate(
const double* p1,
const double* p2);
197 vtkGetMacro(TranslationAxis,
int);
198 vtkSetClampMacro(TranslationAxis,
int, -1, 2);
219 vtkGetVector3Macro(CustomTranslationAxis,
double);
220 vtkSetVector3Macro(CustomTranslationAxis,
double);
254 double CustomTranslationAxis[3] = { 1.0, 0.0, 0.0 };
perform coordinate transformation, and represent position, in a variety of vtk coordinate systems
abstract class for representing widget handles
void SetCustomTranslationAxisOn()
Toggles constraint translation axis on/off.
virtual void SetPointPlacer(vtkPointPlacer *)
Set/Get the point placer.
vtkHandleRepresentation()
void SetZTranslationAxisOn()
Toggles constraint translation axis on/off.
virtual void GetDisplayPosition(double pos[2])
Handles usually have their coordinates set in display coordinates (generally by an associated widget)...
void SetYTranslationAxisOn()
Toggles constraint translation axis on/off.
~vtkHandleRepresentation() override
vtkTimeStamp WorldPositionTime
void SetXTranslationAxisOn()
Toggles constraint translation axis on/off.
virtual double * GetDisplayPosition()
Handles usually have their coordinates set in display coordinates (generally by an associated widget)...
virtual void SetDisplayPosition(double pos[2])
Handles usually have their coordinates set in display coordinates (generally by an associated widget)...
void SetTranslationAxisOff()
Toggles constraint translation axis on/off.
vtkPointPlacer * PointPlacer
virtual void DeepCopy(vtkProp *prop)
Methods to make this class properly act like a vtkWidgetRepresentation.
vtkNew< vtkCoordinate > WorldPosition
vtkMTimeType GetMTime() override
Overload the superclasses' GetMTime() because the internal vtkCoordinates are used to keep the state ...
vtkTimeStamp DisplayPositionTime
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for instances of this class.
virtual void Translate(const double *v)
Translates world position by vector v projected on the constraint axis if any.
void ShallowCopy(vtkProp *prop) override
Methods to make this class properly act like a vtkWidgetRepresentation.
virtual int CheckConstraint(vtkRenderer *renderer, double pos[2])
Method has to be overridden in the subclasses which has constraints on placing the handle (Ex.
virtual void Translate(const double *p1, const double *p2)
Translates world position by vector p1p2 projected on the constraint axis if any.
virtual void GetTranslationVector(const double *p1, const double *p2, double *v) const
Gets the translation vector.
vtkNew< vtkCoordinate > DisplayPosition
void SetRenderer(vtkRenderer *ren) override
Methods to make this class properly act like a vtkWidgetRepresentation.
bool IsTranslationConstrained()
Returns true if ConstrainedAxis.
a simple class to control print indentation
Allocate and hold a VTK object.
Abstract interface to translate 2D display positions to world coordinates.
abstract superclass for all actors, volumes and annotations
abstract specification for renderers
record modification and/or execution time
vtkTypeUInt32 vtkMTimeType
#define VTK_SIZEHINT(...)