35 #ifndef vtkCoordinateFrameRepresentation_h
36 #define vtkCoordinateFrameRepresentation_h
39 #include "vtkInteractionWidgetsModule.h"
78 void SetOrigin(
double x,
double y,
double z);
79 void SetOrigin(
double x[3]);
80 vtkGetVector3Macro(Origin,
double);
95 void SetNormal(
double x,
double y,
double z);
96 void SetNormal(
double n[3]);
97 void SetNormalToCamera();
98 vtkGetVector3Macro(XVectorNormal,
double);
99 vtkGetVector3Macro(YVectorNormal,
double);
100 vtkGetVector3Macro(ZVectorNormal,
double);
108 void SetDirection(
double x,
double y,
double z);
109 void SetDirection(
double d[3]);
119 void SetXAxisVector(
const double v[3]);
120 void SetXAxisVector(
double x,
double y,
double z);
121 void SetYAxisVector(
const double v[3]);
122 void SetYAxisVector(
double x,
double y,
double z);
123 void SetZAxisVector(
const double v[3]);
124 void SetZAxisVector(
double x,
double y,
double z);
159 void UpdatePlacement();
178 vtkGetObjectMacro(SelectedOriginProperty,
vtkProperty);
187 vtkGetObjectMacro(SelectedXVectorProperty,
vtkProperty);
195 vtkGetObjectMacro(LockedXVectorProperty,
vtkProperty);
196 vtkGetObjectMacro(SelectedLockedXVectorProperty,
vtkProperty);
204 vtkGetObjectMacro(UnlockedXVectorProperty,
vtkProperty);
205 vtkGetObjectMacro(SelectedUnlockedXVectorProperty,
vtkProperty);
214 vtkGetObjectMacro(SelectedYVectorProperty,
vtkProperty);
222 vtkGetObjectMacro(LockedYVectorProperty,
vtkProperty);
223 vtkGetObjectMacro(SelectedLockedYVectorProperty,
vtkProperty);
231 vtkGetObjectMacro(UnlockedYVectorProperty,
vtkProperty);
232 vtkGetObjectMacro(SelectedUnlockedYVectorProperty,
vtkProperty);
241 vtkGetObjectMacro(SelectedZVectorProperty,
vtkProperty);
249 vtkGetObjectMacro(LockedZVectorProperty,
vtkProperty);
250 vtkGetObjectMacro(SelectedLockedZVectorProperty,
vtkProperty);
258 vtkGetObjectMacro(UnlockedZVectorProperty,
vtkProperty);
259 vtkGetObjectMacro(SelectedUnlockedZVectorProperty,
vtkProperty);
267 vtkGetMacro(PickCameraFocalInfo,
bool);
268 vtkSetMacro(PickCameraFocalInfo,
bool);
269 vtkBooleanMacro(PickCameraFocalInfo,
bool);
279 bool PickOrigin(
int X,
int Y,
bool snapToMeshPoint =
false);
288 bool PickNormal(
int X,
int Y,
bool snapToMeshPoint =
false);
297 bool PickDirectionPoint(
int X,
int Y,
bool snapToMeshPoint =
false);
316 int GetLockedAxis()
const;
317 void SetLockedAxis(
int axis);
337 void ReleaseGraphicsResources(
vtkWindow*) override;
339 int RenderTranslucentPolygonalGeometry(
vtkViewport*) override;
340 vtkTypeBool HasTranslucentPolygonalGeometry() override;
354 ModifyingLockerZVector
356 #if !defined(VTK_LEGACY_REMOVE)
371 vtkSetClampMacro(InteractionState,
int, Outside, ModifyingLockerZVector);
379 virtual void SetRepresentationState(
int);
380 vtkGetMacro(RepresentationState,
int);
388 vtkSetClampMacro(LengthFactor,
double, 0, 1);
389 vtkGetMacro(LengthFactor,
double);
396 int RepresentationState = Outside;
399 double LastEventPosition[3];
401 bool PickCameraFocalInfo =
false;
406 int TranslationAxis = Axis::NONE;
408 double Origin[3] = { 0, 0, 0 };
409 double XVectorNormal[3] = { 1, 0, 0 };
410 double YVectorNormal[3] = { 0, 1, 0 };
411 double ZVectorNormal[3] = { 0, 0, 1 };
412 vtkSetVector3Macro(XVectorNormal,
double);
413 vtkSetVector3Macro(YVectorNormal,
double);
414 vtkSetVector3Macro(ZVectorNormal,
double);
420 void HighlightOrigin(
int highlight);
430 void HighlightXVector(
int highlight);
432 bool XVectorIsLocked =
false;
436 void HighlightLockerXVector(
int highlight);
446 void HighlightYVector(
int highlight);
448 bool YVectorIsLocked =
false;
452 void HighlightLockerYVector(
int highlight);
462 void HighlightZVector(
int highlight);
464 bool ZVectorIsLocked =
false;
468 void HighlightLockerZVector(
int highlight);
474 void ComputeAdaptivePickerTolerance();
483 void Rotate(
double X,
double Y,
double* p1,
double* p2,
double* vpn);
484 void ModifyingLocker(
int axis);
485 void TranslateOrigin(
double* p1,
double* p2);
510 virtual void CreateDefaultProperties();
516 double LengthFactor = 0.04;
vtkNew< vtkPolyDataMapper > YVectorLineMapper
vtkNew< vtkLineSource > YVectorLineSource
vtkNew< vtkProperty > ZVectorProperty
vtkNew< vtkProperty > UnlockedXVectorProperty
represents an object (geometry & properties) in a rendered scene
void SetXTranslationAxisOn()
Toggles constraint translation axis on/off.
void SetTranslationAxisOff()
Toggles constraint translation axis on/off.
vtkNew< vtkProperty > SelectedUnlockedYVectorProperty
vtkNew< vtkActor > YVectorLineActor
abstract specification for Viewports
represent surface properties of a geometric object
vtkNew< vtkProperty > SelectedUnlockedXVectorProperty
#define VTK_DEPRECATED_IN_9_2_0(reason)
vtkNew< vtkProperty > SelectedLockedYVectorProperty
vtkNew< vtkProperty > SelectedLockedXVectorProperty
vtkNew< vtkProperty > UnlockedZVectorProperty
vtkNew< vtkProperty > SelectedLockedZVectorProperty
vtkNew< vtkConeSource > XVectorConeSource
concrete dataset represents vertices, lines, polygons, and triangle strips
vtkNew< vtkActor > LockerZVectorConeActor
vtkNew< vtkGenericCell > Cell
provides thread-safe access to cells
window superclass for vtkRenderWindow
create a polygonal sphere centered at the origin
vtkNew< vtkProperty > YVectorProperty
vtkNew< vtkProperty > SelectedOriginProperty
vtkNew< vtkConeSource > YVectorConeSource
vtkNew< vtkHardwarePicker > HardwarePicker
vtkNew< vtkActor > XVectorLineActor
vtkNew< vtkProperty > XVectorProperty
vtkNew< vtkActor > OriginSphereActor
vtkNew< vtkActor > LockerXVectorConeActor
a simple class to control print indentation
vtkNew< vtkProperty > SelectedZVectorProperty
extract interior, boundary, non-manifold, and/or sharp edges from polygonal data
vtkNew< vtkActor > XVectorConeActor
vtkNew< vtkPolyDataMapper > XVectorLineMapper
vtkNew< vtkLineSource > XVectorLineSource
vtkNew< vtkActor > ZVectorLineActor
perform various plane computations
a class defining the representation for a vtkCoordinateFrameWidget
vtkNew< vtkPolyDataMapper > ZVectorConeMapper
vtkNew< vtkPolyDataMapper > ZVectorLineMapper
pick a point or snap to point of an actor/prop using graphics hardware
void SetYTranslationAxisOn()
Toggles constraint translation axis on/off.
vtkNew< vtkProperty > UnlockedYVectorProperty
#define VTK_SIZEHINT(...)
vtkNew< vtkPolyDataMapper > LockerYVectorConeMapper
vtkNew< vtkSphereSource > OriginSphereSource
vtkNew< vtkActor > YVectorConeActor
vtkNew< vtkTransform > Transform
vtkNew< vtkLineSource > ZVectorLineSource
vtkNew< vtkCellPicker > CellPicker
vtkNew< vtkConeSource > ZVectorConeSource
vtkNew< vtkPolyDataMapper > OriginSphereMapper
vtkNew< vtkPolyDataMapper > YVectorConeMapper
vtkNew< vtkProperty > LockedXVectorProperty
vtkNew< vtkPolyDataMapper > LockerXVectorConeMapper
create a line defined by two end points
map vtkPolyData to graphics primitives
vtkNew< vtkConeSource > LockerZVectorConeSource
vtkNew< vtkActor > ZVectorConeActor
vtkNew< vtkConeSource > LockerYVectorConeSource
vtkNew< vtkProperty > LockedZVectorProperty
ray-cast cell picker for all kinds of Prop3Ds
vtkNew< vtkConeSource > LockerXVectorConeSource
void SetZTranslationAxisOn()
Toggles constraint translation axis on/off.
vtkNew< vtkProperty > SelectedUnlockedZVectorProperty
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
vtkNew< vtkBox > BoundingBox
vtkNew< vtkPolyDataMapper > LockerZVectorConeMapper
vtkNew< vtkProperty > SelectedYVectorProperty
implicit function for a bounding box
vtkNew< vtkProperty > OriginProperty
vtkNew< vtkPolyDataMapper > XVectorConeMapper
vtkNew< vtkProperty > SelectedXVectorProperty
bool IsTranslationConstrained()
Returns true if ContrainedAxis.
vtkNew< vtkActor > LockerYVectorConeActor
vtkNew< vtkProperty > LockedYVectorProperty