23 #ifndef vtkCoordinateFrameRepresentation_h
24 #define vtkCoordinateFrameRepresentation_h
27 #include "vtkInteractionWidgetsModule.h"
28 #include "vtkLegacy.h"
32 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
346 #if !defined(VTK_LEGACY_REMOVE)
361 vtkSetClampMacro(InteractionState,
int, Outside, ModifyingLockerZVector);
369 virtual void SetRepresentationState(
int);
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);
410 void HighlightOrigin(
int highlight);
420 void HighlightXVector(
int highlight);
422 bool XVectorIsLocked =
false;
426 void HighlightLockerXVector(
int highlight);
436 void HighlightYVector(
int highlight);
438 bool YVectorIsLocked =
false;
442 void HighlightLockerYVector(
int highlight);
452 void HighlightZVector(
int highlight);
454 bool ZVectorIsLocked =
false;
458 void HighlightLockerZVector(
int highlight);
464 void ComputeAdaptivePickerTolerance();
473 void Rotate(
double X,
double Y,
double* p1,
double* p2,
double* vpn);
474 void ModifyingLocker(
int axis);
475 void TranslateOrigin(
double* p1,
double* p2);
500 virtual void CreateDefaultProperties();
506 double LengthFactor = 0.04;
513 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
#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 ConstrainedAxis.
vtkNew< vtkActor > LockerYVectorConeActor
vtkNew< vtkProperty > LockedYVectorProperty