28 #ifndef vtkDisplaySizedImplicitPlaneRepresentation_h
29 #define vtkDisplaySizedImplicitPlaneRepresentation_h
32 #include "vtkInteractionWidgetsModule.h"
33 #include "vtkLegacy.h"
37 VTK_ABI_NAMESPACE_BEGIN
80 void SetOrigin(
double x,
double y,
double z);
81 void SetOrigin(
double x[3]);
83 void GetOrigin(
double xyz[3]);
90 void SetNormal(
double x,
double y,
double z);
91 void SetNormal(
double n[3]);
92 void SetNormalToCamera();
94 void GetNormal(
double xyz[3]);
106 vtkGetMacro(NormalToXAxis, vtkTypeBool);
107 vtkBooleanMacro(NormalToXAxis, vtkTypeBool);
108 void SetNormalToYAxis(vtkTypeBool);
109 vtkGetMacro(NormalToYAxis, vtkTypeBool);
110 vtkBooleanMacro(NormalToYAxis, vtkTypeBool);
111 void SetNormalToZAxis(vtkTypeBool);
112 vtkGetMacro(NormalToZAxis, vtkTypeBool);
113 vtkBooleanMacro(NormalToZAxis, vtkTypeBool);
122 virtual
void SetLockNormalToCamera(vtkTypeBool);
123 vtkGetMacro(LockNormalToCamera, vtkTypeBool);
124 vtkBooleanMacro(LockNormalToCamera, vtkTypeBool);
131 virtual
void SetRadiusMultiplier(
double radiusMultiplier);
132 virtual
double GetRadiusMultiplierMinValue() {
return 0.000001; }
134 vtkGetMacro(RadiusMultiplier,
double);
164 void SetDrawIntersectionEdges(
vtkTypeBool intersectionEdges);
166 vtkBooleanMacro(DrawIntersectionEdges,
vtkTypeBool);
213 vtkSetVector6Macro(WidgetBounds,
double);
214 vtkGetVector6Macro(WidgetBounds,
double);
227 vtkBooleanMacro(ConstrainToWidgetBounds,
vtkTypeBool);
238 vtkSetMacro(ConstrainMaximumSizeToWidgetBounds,
vtkTypeBool);
239 vtkGetMacro(ConstrainMaximumSizeToWidgetBounds,
vtkTypeBool);
240 vtkBooleanMacro(ConstrainMaximumSizeToWidgetBounds,
vtkTypeBool);
283 void UpdatePlacement();
291 vtkGetObjectMacro(SelectedNormalProperty,
vtkProperty);
300 vtkGetObjectMacro(SelectedSphereProperty,
vtkProperty);
309 vtkGetObjectMacro(SelectedPlaneProperty,
vtkProperty);
317 vtkGetObjectMacro(SelectedOutlineProperty,
vtkProperty);
326 vtkGetObjectMacro(SelectedEdgesProperty,
vtkProperty);
333 vtkGetObjectMacro(IntersectionEdgesProperty,
vtkProperty);
342 void SetInteractionColor(
double,
double,
double);
344 void SetHandleColor(
double,
double,
double);
346 void SetForegroundColor(
double,
double,
double);
351 void SetSelectedWidgetColor(
double a,
double b,
double c) { this->SetInteractionColor(a, b, c); }
353 void SetSelectedWidgetColor(
double c[3]) { this->SetInteractionColor(c); }
355 void SetUnselectedWidgetColor(
double a,
double b,
double c) { this->SetHandleColor(a, b, c); }
357 void SetUnselectedWidgetColor(
double c[3]) { this->SetHandleColor(c); }
365 vtkSetClampMacro(BumpDistance,
double, 0.000001, 1);
366 vtkGetMacro(BumpDistance,
double);
377 void BumpPlane(
int dir,
double factor);
385 void PushPlane(
double distance);
392 vtkGetMacro(PickCameraFocalInfo,
bool);
393 vtkSetMacro(PickCameraFocalInfo,
bool);
394 vtkBooleanMacro(PickCameraFocalInfo,
bool);
404 bool PickOrigin(
int X,
int Y,
bool snapToMeshPoint =
false);
413 bool PickNormal(
int X,
int Y,
bool snapToMeshPoint =
false);
426 unsigned long event,
void* calldata)
override;
428 unsigned long event,
void* calldata)
override;
430 unsigned long event,
void* calldata,
int modify = 0)
override;
432 unsigned long event,
void* calldata)
override;
441 void ReleaseGraphicsResources(
vtkWindow*) override;
443 int RenderTranslucentPolygonalGeometry(
vtkViewport*) override;
444 vtkTypeBool HasTranslucentPolygonalGeometry() override;
459 #if !defined(VTK_LEGACY_REMOVE)
474 vtkSetClampMacro(InteractionState,
int, Outside, Scaling);
482 virtual void SetRepresentationState(
int);
483 vtkGetMacro(RepresentationState,
int);
495 vtkGetMacro(SnapToAxes,
bool);
496 vtkSetMacro(SnapToAxes,
bool);
497 vtkBooleanMacro(SnapToAxes,
bool);
507 vtkGetMacro(AlwaysSnapToNearestAxis,
bool);
510 this->AlwaysSnapToNearestAxis = snap;
511 this->SetNormal(this->GetNormal());
522 double LastEventPosition[3];
523 double LastEventOrientation[4];
524 double StartEventOrientation[4];
531 double SnappedEventOrientation[4];
555 double WidgetBounds[6];
559 void HighlightOutline(
int highlight);
568 void HighlightPlane(
int highlight);
575 void HighlightEdges(
int highlight);
582 void SetEdgesColor(
double,
double,
double);
583 void SetEdgesColor(
double c[3]);
599 void SetIntersectionEdgesColor(
double,
double,
double);
600 void SetIntersectionEdgesColor(
double c[3]);
607 void HighlightNormal(
int highlight);
623 void HighlightSphere(
int highlight);
629 void ComputeAdaptivePickerTolerance();
638 void Rotate(
double X,
double Y,
double* p1,
double* p2,
double* vpn);
639 void Rotate3D(
double* p1,
double* p2);
640 void TranslateOutline(
double* p1,
double* p2);
641 void TranslateOrigin(
double* p1,
double* p2);
642 void UpdatePose(
double* p1,
double* d1,
double* p2,
double* d2);
643 void Push(
double* p1,
double* p2);
644 void ResizeRadius(
double* p1,
double* p2,
double* vpn);
645 void ResizeRadius3D(
double* p1,
double* p2);
646 void Scale(
double* p1,
double* p2,
double X,
double Y);
662 virtual void CreateDefaultProperties();
673 VTK_ABI_NAMESPACE_END
virtual void SetAlwaysSnapToNearestAxis(bool snap)
Forces the plane's normal to be aligned with x, y or z axis.
Cut vtkDataSet with user-specified implicit function.
vtkNew< vtkPolyDataMapper > IntersectionEdgesMapper
vtkNew< vtkCellPicker > CellPicker
represents an object (geometry & properties) in a rendered scene
vtkNew< vtkProperty > SelectedOutlineProperty
vtkNew< vtkActor > ConeActor2
vtkNew< vtkActor > EdgesActor
void SetInteractionColor(double c[3])
Set the color of all the widget's handles (edges, cone1, cone2, line, sphere, selected plane) and the...
bool AlwaysSnapToNearestAxis
abstract specification for Viewports
represent surface properties of a geometric object
vtkNew< vtkActor > OutlineActor
virtual double GetRadiusMultiplierMaxValue()
Set/Get the Radius Multiplier value.
vtkNew< vtkSphereSource > Sphere
vtkNew< vtkDiskSource > DiskPlaneSource
#define VTK_DEPRECATED_IN_9_2_0(reason)
vtkNew< vtkFeatureEdges > IntersectionEdges
vtkTypeBool DrawIntersectionEdges
map scalar values into colors via a lookup table
vtkNew< vtkProperty > SelectedEdgesProperty
vtkNew< vtkPolyDataMapper > LineMapper
void SetZTranslationAxisOn()
Toggles constraint translation axis on/off.
concrete dataset represents vertices, lines, polygons, and triangle strips
void SetTranslationAxisOff()
Toggles constraint translation axis on/off.
vtkNew< vtkPolyDataMapper > ConeMapper2
vtkNew< vtkTubeFilter > EdgesTuber
vtkNew< vtkActor > ConeActor
void SetForegroundColor(double c[3])
Set the color of all the widget's handles (edges, cone1, cone2, line, sphere, selected plane) and the...
vtkNew< vtkHardwarePicker > HardwarePicker
void SetHandleColor(double c[3])
Set the color of all the widget's handles (edges, cone1, cone2, line, sphere, selected plane) and the...
vtkNew< vtkLineSource > LineSource
vtkPlane * GetUnderlyingPlane()
void SetYTranslationAxisOn()
Toggles constraint translation axis on/off.
window superclass for vtkRenderWindow
platform-independent render window interaction including picking and frame rate control.
create wireframe outline for an arbitrary data set or composite dataset
vtkNew< vtkProperty > IntersectionEdgesProperty
create a polygonal sphere centered at the origin
vtkNew< vtkProperty > SelectedPlaneProperty
#define VTK_DEPRECATED_IN_9_3_0(reason)
vtkTypeBool ConstrainToWidgetBounds
Superclass for algorithms that produce only polydata as output.
filter that generates tubes around lines
vtkTypeBool ConstrainMaximumSizeToWidgetBounds
a simple class to control print indentation
vtkNew< vtkProperty > SphereProperty
vtkTypeBool NormalToXAxis
extract interior, boundary, non-manifold, and/or sharp edges from polygonal data
vtkTypeBool LockNormalToCamera
topologically and geometrically regular array of data
vtkNew< vtkActor > LineActor
vtkTypeBool OutlineTranslation
vtkNew< vtkConeSource > ConeSource2
vtkNew< vtkProperty > SelectedSphereProperty
vtkNew< vtkProperty > NormalProperty
vtkNew< vtkPolyDataMapper > EdgesMapper
vtkNew< vtkProperty > EdgesProperty
perform various plane computations
vtkNew< vtkConeSource > ConeSource
vtkNew< vtkPolyDataMapper > PlaneMapper
pick a point or snap to point of an actor/prop using graphics hardware
a class defining the representation for a vtkDisplaySizedImplicitPlaneWidget
vtkNew< vtkOutlineFilter > Outline
#define VTK_SIZEHINT(...)
vtkNew< vtkActor > PlaneActor
vtkNew< vtkTubeFilter > IntersectionEdgesTuber
vtkNew< vtkImageData > Box
vtkNew< vtkActor > SphereActor
create a line defined by two end points
map vtkPolyData to graphics primitives
vtkNew< vtkProperty > PlaneProperty
vtkNew< vtkProperty > OutlineProperty
create a disk with hole in center
vtkNew< vtkPolyDataMapper > ConeMapper
bool IsTranslationConstrained()
Returns true if ConstrainedAxis.
vtkTypeBool NormalToZAxis
vtkTypeBool OutsideBounds
void SetXTranslationAxisOn()
Toggles constraint translation axis on/off.
ray-cast cell picker for all kinds of Prop3Ds
vtkNew< vtkFeatureEdges > Edges
vtkNew< vtkBox > BoundingBox
vtkNew< vtkProperty > SelectedNormalProperty
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
vtkNew< vtkTransform > Transform
vtkNew< vtkCutter > Cutter
vtkTypeBool NormalToYAxis
implicit function for a bounding box
vtkNew< vtkActor > IntersectionEdgesActor
vtkNew< vtkPolyDataMapper > OutlineMapper
vtkNew< vtkPolyDataMapper > SphereMapper