23 #ifndef vtkCoordinateFrameRepresentation_h
24 #define vtkCoordinateFrameRepresentation_h
26 #include "vtkInteractionWidgetsModule.h"
31 VTK_ABI_NAMESPACE_BEGIN
68 void SetOrigin(
double x,
double y,
double z);
69 void SetOrigin(
double x[3]);
70 vtkGetVector3Macro(Origin,
double);
85 void SetNormal(
double x,
double y,
double z);
86 void SetNormal(
double n[3]);
87 void SetNormalToCamera();
88 vtkGetVector3Macro(XVectorNormal,
double);
89 vtkGetVector3Macro(YVectorNormal,
double);
90 vtkGetVector3Macro(ZVectorNormal,
double);
98 void SetDirection(
double x,
double y,
double z);
99 void SetDirection(
double d[3]);
109 void SetXAxisVector(
const double v[3]);
110 void SetXAxisVector(
double x,
double y,
double z);
111 void SetYAxisVector(
const double v[3]);
112 void SetYAxisVector(
double x,
double y,
double z);
113 void SetZAxisVector(
const double v[3]);
114 void SetZAxisVector(
double x,
double y,
double z);
149 void UpdatePlacement();
168 vtkGetObjectMacro(SelectedOriginProperty,
vtkProperty);
177 vtkGetObjectMacro(SelectedXVectorProperty,
vtkProperty);
185 vtkGetObjectMacro(LockedXVectorProperty,
vtkProperty);
186 vtkGetObjectMacro(SelectedLockedXVectorProperty,
vtkProperty);
194 vtkGetObjectMacro(UnlockedXVectorProperty,
vtkProperty);
195 vtkGetObjectMacro(SelectedUnlockedXVectorProperty,
vtkProperty);
204 vtkGetObjectMacro(SelectedYVectorProperty,
vtkProperty);
212 vtkGetObjectMacro(LockedYVectorProperty,
vtkProperty);
213 vtkGetObjectMacro(SelectedLockedYVectorProperty,
vtkProperty);
221 vtkGetObjectMacro(UnlockedYVectorProperty,
vtkProperty);
222 vtkGetObjectMacro(SelectedUnlockedYVectorProperty,
vtkProperty);
231 vtkGetObjectMacro(SelectedZVectorProperty,
vtkProperty);
239 vtkGetObjectMacro(LockedZVectorProperty,
vtkProperty);
240 vtkGetObjectMacro(SelectedLockedZVectorProperty,
vtkProperty);
248 vtkGetObjectMacro(UnlockedZVectorProperty,
vtkProperty);
249 vtkGetObjectMacro(SelectedUnlockedZVectorProperty,
vtkProperty);
257 vtkGetMacro(PickCameraFocalInfo,
bool);
258 vtkSetMacro(PickCameraFocalInfo,
bool);
259 vtkBooleanMacro(PickCameraFocalInfo,
bool);
269 bool PickOrigin(
int X,
int Y,
bool snapToMeshPoint =
false);
278 bool PickNormal(
int X,
int Y,
bool snapToMeshPoint =
false);
287 bool PickDirectionPoint(
int X,
int Y,
bool snapToMeshPoint =
false);
306 int GetLockedAxis()
const;
307 void SetLockedAxis(
int axis);
327 void ReleaseGraphicsResources(
vtkWindow*) override;
329 int RenderTranslucentPolygonalGeometry(
vtkViewport*) override;
330 vtkTypeBool HasTranslucentPolygonalGeometry() override;
344 ModifyingLockerZVector
357 vtkSetClampMacro(InteractionState,
int, Outside, ModifyingLockerZVector);
365 virtual void SetRepresentationState(
int);
366 vtkGetMacro(RepresentationState,
int);
374 vtkSetClampMacro(LengthFactor,
double, 0, 1);
375 vtkGetMacro(LengthFactor,
double);
382 int RepresentationState = Outside;
385 double LastEventPosition[3];
387 bool PickCameraFocalInfo =
false;
394 double Origin[3] = { 0, 0, 0 };
395 double XVectorNormal[3] = { 1, 0, 0 };
396 double YVectorNormal[3] = { 0, 1, 0 };
397 double ZVectorNormal[3] = { 0, 0, 1 };
398 vtkSetVector3Macro(XVectorNormal,
double);
399 vtkSetVector3Macro(YVectorNormal,
double);
400 vtkSetVector3Macro(ZVectorNormal,
double);
406 void HighlightOrigin(
int highlight);
416 void HighlightXVector(
int highlight);
418 bool XVectorIsLocked =
false;
422 void HighlightLockerXVector(
int highlight);
432 void HighlightYVector(
int highlight);
434 bool YVectorIsLocked =
false;
438 void HighlightLockerYVector(
int highlight);
448 void HighlightZVector(
int highlight);
450 bool ZVectorIsLocked =
false;
454 void HighlightLockerZVector(
int highlight);
460 void ComputeAdaptivePickerTolerance();
469 void Rotate(
double X,
double Y,
double* p1,
double* p2,
double* vpn);
470 void ModifyingLocker(
int axis);
471 void TranslateOrigin(
double* p1,
double* p2);
496 virtual void CreateDefaultProperties();
502 double LengthFactor = 0.04;
509 VTK_ABI_NAMESPACE_END
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
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 ConstrainedAxis.
vtkNew< vtkActor > LockerYVectorConeActor
vtkNew< vtkProperty > LockedYVectorProperty