36#ifndef vtkHandleRepresentation_h
37#define vtkHandleRepresentation_h
39#include "vtkInteractionWidgetsModule.h"
43VTK_ABI_NAMESPACE_BEGIN
70 virtual
void SetDisplayPosition(
double pos[2]);
72 virtual
void GetDisplayPosition(
double pos[2]);
75 virtual
void SetWorldPosition(
double pos[3]);
76 virtual
void GetWorldPosition(
double pos[3]) VTK_FUTURE_CONST;
86 vtkSetClampMacro(Tolerance,
int, 1, 100);
87 vtkGetMacro(Tolerance,
int);
124 vtkSetClampMacro(InteractionState,
int, Outside, Scaling);
185 virtual void Translate(
const double* p1,
const double* p2);
200 vtkGetMacro(TranslationAxis,
int);
201 vtkSetClampMacro(TranslationAxis,
int, -1, 2);
222 vtkGetVector3Macro(CustomTranslationAxis,
double);
223 vtkSetVector3Macro(CustomTranslationAxis,
double);
257 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.
void SetYTranslationAxisOn()
Toggles constraint translation axis on/off.
~vtkHandleRepresentation() override
vtkTimeStamp WorldPositionTime
void SetXTranslationAxisOn()
Toggles constraint translation axis on/off.
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_MARSHAL_EXCLUDE_REASON_IS_REDUNDANT
#define VTK_SIZEHINT(...)
#define VTK_MARSHALEXCLUDE(reason)