23#ifndef vtkCoordinateFrameRepresentation_h 
   24#define vtkCoordinateFrameRepresentation_h 
   27#include "vtkInteractionWidgetsModule.h"  
   32VTK_ABI_NAMESPACE_BEGIN
 
   70  vtkGetVector3Macro(Origin, 
double);
 
   88  vtkGetVector3Macro(XVectorNormal, 
double);
 
   89  vtkGetVector3Macro(YVectorNormal, 
double);
 
   90  vtkGetVector3Macro(ZVectorNormal, 
double);
 
  257  vtkGetMacro(PickCameraFocalInfo, 
bool);
 
  258  vtkSetMacro(PickCameraFocalInfo, 
bool);
 
  259  vtkBooleanMacro(PickCameraFocalInfo, 
bool);
 
  344    ModifyingLockerZVector
 
  346#if !defined(VTK_LEGACY_REMOVE) 
  361  vtkSetClampMacro(InteractionState, 
int, Outside, ModifyingLockerZVector);
 
  370  vtkGetMacro(RepresentationState, 
int);
 
  378  vtkSetClampMacro(LengthFactor, 
double, 0, 1);
 
  379  vtkGetMacro(LengthFactor, 
double);
 
  386  int RepresentationState = Outside;
 
  389  double LastEventPosition[3];
 
  391  bool PickCameraFocalInfo = 
false;
 
  398  double Origin[3] = { 0, 0, 0 };
 
  399  double XVectorNormal[3] = { 1, 0, 0 };
 
  400  double YVectorNormal[3] = { 0, 1, 0 };
 
  401  double ZVectorNormal[3] = { 0, 0, 1 };
 
  402  vtkSetVector3Macro(XVectorNormal, 
double);
 
  403  vtkSetVector3Macro(YVectorNormal, 
double);
 
  404  vtkSetVector3Macro(ZVectorNormal, 
double);
 
  422  bool XVectorIsLocked = 
false;
 
  438  bool YVectorIsLocked = 
false;
 
  454  bool ZVectorIsLocked = 
false;
 
  473  void Rotate(
double X, 
double Y, 
double* p1, 
double* p2, 
double* vpn);
 
  506  double LengthFactor = 0.04;
 
represents an object (geometry & properties) in a rendered scene
 
implicit function for a bounding box
 
ray-cast cell picker for all kinds of Prop3Ds
 
a class defining the representation for a vtkCoordinateFrameWidget
 
int ComputeInteractionState(int X, int Y, int modify=0) override
Methods to interface with the vtkCoordinateFrameWidget.
 
vtkNew< vtkProperty > ZVectorProperty
 
virtual void SetLockNormalToCamera(vtkTypeBool)
If enabled, and a vtkCamera is available through the renderer, then LockNormalToCamera will cause the...
 
vtkNew< vtkConeSource > LockerXVectorConeSource
 
bool PickNormal(int X, int Y, bool snapToMeshPoint=false)
Given the X, Y display coordinates, pick a new normal for the coordinate frame from a point that is o...
 
vtkNew< vtkProperty > XVectorProperty
 
void SetXAxisVector(double x, double y, double z)
Force an axis to be aligned with the vector v, regardless of whether any axis is locked.
 
void EndWidgetInteraction(double newEventPos[2]) override
Methods to interface with the vtkCoordinateFrameWidget.
 
vtkNew< vtkProperty > SelectedLockedXVectorProperty
 
void SetNormalToCamera()
Set/Get the normal of one of the axes of the coordinate frame.
 
vtkNew< vtkProperty > UnlockedXVectorProperty
 
vtkNew< vtkPolyDataMapper > ZVectorLineMapper
 
vtkNew< vtkActor > YVectorLineActor
 
void SetXTranslationAxisOn()
Toggles constraint translation axis on/off.
 
vtkNew< vtkActor > YVectorConeActor
 
vtkNew< vtkBox > BoundingBox
 
vtkNew< vtkPolyDataMapper > LockerXVectorConeMapper
 
vtkNew< vtkPolyDataMapper > ZVectorConeMapper
 
void HighlightXVector(int highlight)
 
vtkNew< vtkActor > ZVectorLineActor
 
void ComputeAdaptivePickerTolerance()
 
vtkNew< vtkGenericCell > Cell
 
vtkNew< vtkProperty > UnlockedYVectorProperty
 
~vtkCoordinateFrameRepresentation() override
 
vtkNew< vtkProperty > OriginProperty
 
vtkNew< vtkProperty > SelectedUnlockedZVectorProperty
 
void BuildRepresentation() override
Methods to interface with the vtkCoordinateFrameWidget.
 
vtkNew< vtkProperty > SelectedYVectorProperty
 
vtkNew< vtkProperty > SelectedLockedZVectorProperty
 
vtkNew< vtkCellPicker > CellPicker
 
void Reset()
Reset the origin (by calling update placement) and the axes (to be aligned with the world coordinate ...
 
void TranslateOrigin(double *p1, double *p2)
 
vtkNew< vtkProperty > UnlockedZVectorProperty
 
void ResetAxes()
Reset only the axis orientations (not the origin).
 
vtkNew< vtkProperty > YVectorProperty
 
vtkNew< vtkProperty > LockedXVectorProperty
 
vtkNew< vtkTransform > Transform
 
vtkNew< vtkLineSource > YVectorLineSource
 
vtkNew< vtkPolyDataMapper > XVectorConeMapper
 
void SetOrigin(double x[3])
Set/Get the origin of the coordinate frame.
 
vtkNew< vtkActor > ZVectorConeActor
 
void RegisterPickers() override
Register internal Pickers in the Picking Manager.
 
vtkNew< vtkActor > LockerYVectorConeActor
 
vtkNew< vtkPolyDataMapper > XVectorLineMapper
 
void SetOrigin(double x, double y, double z)
Set/Get the origin of the coordinate frame.
 
vtkNew< vtkConeSource > XVectorConeSource
 
vtkNew< vtkProperty > LockedZVectorProperty
 
void HighlightLockerXVector(int highlight)
 
virtual void CreateDefaultProperties()
 
vtkNew< vtkActor > OriginSphereActor
 
void SetLockedAxis(int axis)
 
int GetLockedAxis() const
Get/set which axis (if any) is locked.
 
void PlaceWidget(double bounds[6]) override
Methods to interface with the vtkCoordinateFrameWidget.
 
vtkNew< vtkPolyDataMapper > YVectorConeMapper
 
vtkNew< vtkProperty > LockedYVectorProperty
 
double * GetBounds() override
Methods supporting the rendering process.
 
void SetZAxisVector(double x, double y, double z)
Force an axis to be aligned with the vector v, regardless of whether any axis is locked.
 
vtkNew< vtkConeSource > YVectorConeSource
 
vtkNew< vtkConeSource > ZVectorConeSource
 
bool IsTranslationConstrained()
Returns true if ConstrainedAxis.
 
vtkNew< vtkProperty > SelectedOriginProperty
 
void HighlightZVector(int highlight)
 
vtkNew< vtkConeSource > LockerYVectorConeSource
 
static vtkCoordinateFrameRepresentation * New()
Instantiate the class.
 
void HighlightOrigin(int highlight)
 
vtkNew< vtkLineSource > XVectorLineSource
 
void UpdatePlacement()
Satisfies the superclass API.
 
vtkNew< vtkPolyDataMapper > YVectorLineMapper
 
void SetDirection(double x, double y, double z)
Set the direction of the locked (or absent a locked axis, the nearest axis) to point from the frame's...
 
vtkNew< vtkActor > XVectorConeActor
 
vtkCoordinateFrameRepresentation()
 
vtkNew< vtkProperty > SelectedUnlockedXVectorProperty
 
void SetTranslationAxisOff()
Toggles constraint translation axis on/off.
 
vtkNew< vtkSphereSource > OriginSphereSource
 
void SetYAxisVector(const double v[3])
Force an axis to be aligned with the vector v, regardless of whether any axis is locked.
 
void SetXAxisVector(const double v[3])
Force an axis to be aligned with the vector v, regardless of whether any axis is locked.
 
vtkNew< vtkActor > LockerXVectorConeActor
 
void Rotate(double X, double Y, double *p1, double *p2, double *vpn)
 
bool PickDirectionPoint(int X, int Y, bool snapToMeshPoint=false)
Given the X, Y display coordinates, pick a point and using the origin define normal for the coordinat...
 
vtkNew< vtkHardwarePicker > HardwarePicker
 
void SetDirection(double d[3])
Set the direction of the locked (or absent a locked axis, the nearest axis) to point from the frame's...
 
void SetZTranslationAxisOn()
Toggles constraint translation axis on/off.
 
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for the class.
 
void SetNormal(double n[3])
Set/Get the normal of one of the axes of the coordinate frame.
 
vtkNew< vtkProperty > SelectedUnlockedYVectorProperty
 
vtkNew< vtkPolyDataMapper > LockerYVectorConeMapper
 
void HighlightLockerZVector(int highlight)
 
virtual void SetRepresentationState(int)
Sets the visual appearance of the representation based on the state it is in.
 
vtkNew< vtkConeSource > LockerZVectorConeSource
 
void ModifyingLocker(int axis)
 
vtkNew< vtkLineSource > ZVectorLineSource
 
void SetYAxisVector(double x, double y, double z)
Force an axis to be aligned with the vector v, regardless of whether any axis is locked.
 
void SetNormal(double x, double y, double z)
Set/Get the normal of one of the axes of the coordinate frame.
 
vtkNew< vtkPolyDataMapper > LockerZVectorConeMapper
 
vtkNew< vtkProperty > SelectedZVectorProperty
 
void WidgetInteraction(double newEventPos[2]) override
Methods to interface with the vtkCoordinateFrameWidget.
 
bool PickOrigin(int X, int Y, bool snapToMeshPoint=false)
Given the X, Y display coordinates, pick a new origin for the coordinate frame from a point that is o...
 
vtkNew< vtkProperty > SelectedLockedYVectorProperty
 
void HighlightYVector(int highlight)
 
vtkNew< vtkActor > XVectorLineActor
 
void SetYTranslationAxisOn()
Toggles constraint translation axis on/off.
 
void SetZAxisVector(const double v[3])
Force an axis to be aligned with the vector v, regardless of whether any axis is locked.
 
vtkNew< vtkProperty > SelectedXVectorProperty
 
void HighlightLockerYVector(int highlight)
 
vtkNew< vtkActor > LockerZVectorConeActor
 
void StartWidgetInteraction(double eventPos[2]) override
Methods to interface with the vtkCoordinateFrameWidget.
 
vtkNew< vtkPolyDataMapper > OriginSphereMapper
 
extract interior, boundary, non-manifold, and/or sharp edges from polygonal data
 
provides thread-safe access to cells
 
pick a point or snap to point of an actor/prop using graphics hardware
 
a simple class to control print indentation
 
create a line defined by two end points
 
Allocate and hold a VTK object.
 
perform various plane computations
 
map vtkPolyData to graphics primitives
 
concrete dataset represents vertices, lines, polygons, and triangle strips
 
represent surface properties of a geometric object
 
create a polygonal sphere centered at the origin
 
abstract specification for Viewports
 
window superclass for vtkRenderWindow
 
#define VTK_DEPRECATED_IN_9_2_0(reason)
 
#define VTK_SIZEHINT(...)