28 #ifndef vtkDisplaySizedImplicitPlaneRepresentation_h
29 #define vtkDisplaySizedImplicitPlaneRepresentation_h
31 #include "vtkInteractionWidgetsModule.h"
36 VTK_ABI_NAMESPACE_BEGIN
79 void SetOrigin(
double x,
double y,
double z);
80 void SetOrigin(
double x[3]);
82 void GetOrigin(
double xyz[3]);
89 void SetNormal(
double x,
double y,
double z);
90 void SetNormal(
double n[3]);
91 void SetNormalToCamera();
93 void GetNormal(
double xyz[3]);
105 vtkGetMacro(NormalToXAxis, vtkTypeBool);
106 vtkBooleanMacro(NormalToXAxis, vtkTypeBool);
107 void SetNormalToYAxis(vtkTypeBool);
108 vtkGetMacro(NormalToYAxis, vtkTypeBool);
109 vtkBooleanMacro(NormalToYAxis, vtkTypeBool);
110 void SetNormalToZAxis(vtkTypeBool);
111 vtkGetMacro(NormalToZAxis, vtkTypeBool);
112 vtkBooleanMacro(NormalToZAxis, vtkTypeBool);
121 virtual
void SetLockNormalToCamera(vtkTypeBool);
122 vtkGetMacro(LockNormalToCamera, vtkTypeBool);
123 vtkBooleanMacro(LockNormalToCamera, vtkTypeBool);
130 virtual
void SetRadiusMultiplier(
double radiusMultiplier);
131 virtual
double GetRadiusMultiplierMinValue() {
return 0.000001; }
133 vtkGetMacro(RadiusMultiplier,
double);
163 void SetDrawIntersectionEdges(
vtkTypeBool intersectionEdges);
165 vtkBooleanMacro(DrawIntersectionEdges,
vtkTypeBool);
212 vtkSetVector6Macro(WidgetBounds,
double);
213 vtkGetVector6Macro(WidgetBounds,
double);
226 vtkBooleanMacro(ConstrainToWidgetBounds,
vtkTypeBool);
237 vtkSetMacro(ConstrainMaximumSizeToWidgetBounds,
vtkTypeBool);
238 vtkGetMacro(ConstrainMaximumSizeToWidgetBounds,
vtkTypeBool);
239 vtkBooleanMacro(ConstrainMaximumSizeToWidgetBounds,
vtkTypeBool);
284 void UpdatePlacement();
292 vtkGetObjectMacro(SelectedNormalProperty, vtkProperty);
300 vtkGetObjectMacro(SphereProperty, vtkProperty);
301 vtkGetObjectMacro(SelectedSphereProperty, vtkProperty);
309 vtkGetObjectMacro(PlaneProperty, vtkProperty);
310 vtkGetObjectMacro(SelectedPlaneProperty, vtkProperty);
317 vtkGetObjectMacro(OutlineProperty, vtkProperty);
318 vtkGetObjectMacro(SelectedOutlineProperty, vtkProperty);
326 vtkGetObjectMacro(EdgesProperty, vtkProperty);
327 vtkGetObjectMacro(SelectedEdgesProperty, vtkProperty);
334 vtkGetObjectMacro(IntersectionEdgesProperty, vtkProperty);
343 void SetInteractionColor(
double,
double,
double);
345 void SetHandleColor(
double,
double,
double);
347 void SetForegroundColor(
double,
double,
double);
357 vtkSetClampMacro(BumpDistance,
double, 0.000001, 1);
358 vtkGetMacro(BumpDistance,
double);
369 void BumpPlane(
int dir,
double factor);
377 void PushPlane(
double distance);
384 vtkGetMacro(PickCameraFocalInfo,
bool);
385 vtkSetMacro(PickCameraFocalInfo,
bool);
386 vtkBooleanMacro(PickCameraFocalInfo,
bool);
396 bool PickOrigin(
int X,
int Y,
bool snapToMeshPoint =
false);
405 bool PickNormal(
int X,
int Y,
bool snapToMeshPoint =
false);
418 unsigned long event,
void* calldata)
override;
420 unsigned long event,
void* calldata)
override;
422 unsigned long event,
void* calldata,
int modify = 0)
override;
424 unsigned long event,
void* calldata)
override;
433 void ReleaseGraphicsResources(
vtkWindow*) override;
435 int RenderTranslucentPolygonalGeometry(
vtkViewport*) override;
436 vtkTypeBool HasTranslucentPolygonalGeometry() override;
462 vtkSetClampMacro(InteractionState,
int, Outside, Scaling);
470 virtual void SetRepresentationState(
int);
471 vtkGetMacro(RepresentationState,
int);
483 vtkGetMacro(SnapToAxes,
bool);
484 vtkSetMacro(SnapToAxes,
bool);
485 vtkBooleanMacro(SnapToAxes,
bool);
495 vtkGetMacro(AlwaysSnapToNearestAxis,
bool);
498 this->AlwaysSnapToNearestAxis = snap;
499 this->SetNormal(this->GetNormal());
510 double LastEventPosition[3];
511 double LastEventOrientation[4];
512 double StartEventOrientation[4];
519 double SnappedEventOrientation[4];
543 double WidgetBounds[6];
547 void HighlightOutline(
int highlight);
556 void HighlightPlane(
int highlight);
563 void HighlightEdges(
int highlight);
570 void SetEdgesColor(
double,
double,
double);
571 void SetEdgesColor(
double c[3]);
587 void SetIntersectionEdgesColor(
double,
double,
double);
588 void SetIntersectionEdgesColor(
double c[3]);
595 void HighlightNormal(
int highlight);
611 void HighlightSphere(
int highlight);
617 void ComputeAdaptivePickerTolerance();
626 void Rotate(
double X,
double Y,
double* p1,
double* p2,
double* vpn);
627 void Rotate3D(
double* p1,
double* p2);
628 void TranslateOutline(
double* p1,
double* p2);
629 void TranslateOrigin(
double* p1,
double* p2);
630 void UpdatePose(
double* p1,
double* d1,
double* p2,
double* d2);
631 void Push(
double* p1,
double* p2);
632 void ResizeRadius(
double* p1,
double* p2,
double* vpn);
633 void ResizeRadius3D(
double* p1,
double* p2);
634 void Scale(
double* p1,
double* p2,
double X,
double Y);
650 virtual void CreateDefaultProperties();
661 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
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
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(...)
#define VTK_MARSHALEXCLUDE(reason)
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
#define VTK_MARSHAL_EXCLUDE_REASON_IS_INTERNAL