41 #ifndef vtkImplicitPlaneRepresentation_h
42 #define vtkImplicitPlaneRepresentation_h
45 #include "vtkInteractionWidgetsModule.h"
88 void SetOrigin(
double x,
double y,
double z);
89 void SetOrigin(
double x[3]);
91 void GetOrigin(
double xyz[3]);
98 void SetNormal(
double x,
double y,
double z);
99 void SetNormal(
double n[3]);
100 void SetNormalToCamera();
102 void GetNormal(
double xyz[3]);
114 vtkGetMacro(NormalToXAxis, vtkTypeBool);
115 vtkBooleanMacro(NormalToXAxis, vtkTypeBool);
116 void SetNormalToYAxis(vtkTypeBool);
117 vtkGetMacro(NormalToYAxis, vtkTypeBool);
118 vtkBooleanMacro(NormalToYAxis, vtkTypeBool);
119 void SetNormalToZAxis(vtkTypeBool);
120 vtkGetMacro(NormalToZAxis, vtkTypeBool);
121 vtkBooleanMacro(NormalToZAxis, vtkTypeBool);
130 virtual
void SetLockNormalToCamera(vtkTypeBool);
131 vtkGetMacro(LockNormalToCamera, vtkTypeBool);
132 vtkBooleanMacro(LockNormalToCamera, vtkTypeBool);
140 vtkSetMacro(Tubing, vtkTypeBool);
141 vtkGetMacro(Tubing, vtkTypeBool);
142 vtkBooleanMacro(Tubing, vtkTypeBool);
152 void SetDrawPlane(vtkTypeBool plane);
153 vtkGetMacro(DrawPlane, vtkTypeBool);
154 vtkBooleanMacro(DrawPlane, vtkTypeBool);
161 void SetDrawOutline(vtkTypeBool plane);
162 vtkGetMacro(DrawOutline, vtkTypeBool);
163 vtkBooleanMacro(DrawOutline, vtkTypeBool);
171 vtkSetMacro(OutlineTranslation, vtkTypeBool);
172 vtkGetMacro(OutlineTranslation, vtkTypeBool);
173 vtkBooleanMacro(OutlineTranslation, vtkTypeBool);
181 vtkSetMacro(OutsideBounds, vtkTypeBool);
182 vtkGetMacro(OutsideBounds, vtkTypeBool);
183 vtkBooleanMacro(OutsideBounds, vtkTypeBool);
190 void SetXTranslationAxisOn() { this->TranslationAxis = Axis::XAxis; }
210 vtkSetVector6Macro(WidgetBounds,
double);
211 vtkGetVector6Macro(WidgetBounds,
double);
224 vtkBooleanMacro(ConstrainToWidgetBounds,
vtkTypeBool);
268 void UpdatePlacement(
void);
275 vtkGetObjectMacro(SelectedNormalProperty,
vtkProperty);
284 vtkGetObjectMacro(SelectedPlaneProperty,
vtkProperty);
292 vtkGetObjectMacro(SelectedOutlineProperty,
vtkProperty);
307 void SetEdgeColor(
double,
double,
double);
308 void SetEdgeColor(
double c[3]);
317 vtkSetClampMacro(BumpDistance,
double, 0.000001, 1);
318 vtkGetMacro(BumpDistance,
double);
329 void BumpPlane(
int dir,
double factor);
337 void PushPlane(
double distance);
350 unsigned long event,
void* calldata)
override;
352 unsigned long event,
void* calldata)
override;
354 unsigned long event,
void* calldata,
int modify = 0)
override;
356 unsigned long event,
void* calldata)
override;
365 void ReleaseGraphicsResources(
vtkWindow*) override;
367 int RenderTranslucentPolygonalGeometry(
vtkViewport*) override;
368 vtkTypeBool HasTranslucentPolygonalGeometry() override;
382 #if !defined(VTK_LEGACY_REMOVE)
397 vtkSetClampMacro(InteractionState,
int, Outside, Scaling);
405 virtual void SetRepresentationState(
int);
406 vtkGetMacro(RepresentationState,
int);
418 virtual void SetCropPlaneToBoundingBox(
bool);
419 vtkGetMacro(CropPlaneToBoundingBox,
bool);
420 vtkBooleanMacro(CropPlaneToBoundingBox,
bool);
428 vtkGetMacro(SnapToAxes,
bool);
429 vtkSetMacro(SnapToAxes,
bool);
439 vtkGetMacro(AlwaysSnapToNearestAxis,
bool);
442 this->AlwaysSnapToNearestAxis = snap;
443 this->SetNormal(this->GetNormal());
454 double LastEventPosition[3];
455 double LastEventOrientation[4];
456 double StartEventOrientation[4];
463 double SnappedEventOrientation[4];
485 void HighlightOutline(
int highlight);
489 double WidgetBounds[6];
499 void HighlightPlane(
int highlight);
512 void HighlightNormal(
int highlight);
539 void Rotate(
double X,
double Y,
double* p1,
double* p2,
double* vpn);
540 void Rotate3D(
double* p1,
double* p2);
541 void TranslateOutline(
double* p1,
double* p2);
542 void TranslateOrigin(
double* p1,
double* p2);
543 void UpdatePose(
double* p1,
double* d1,
double* p2,
double* d2);
544 void Push(
double* p1,
double* p2);
545 void Scale(
double* p1,
double* p2,
double X,
double Y);
557 virtual void CreateDefaultProperties();
bool CropPlaneToBoundingBox
Cut vtkDataSet with user-specified implicit function.
vtkProperty * EdgesProperty
represents an object (geometry & properties) in a rendered scene
void SetZTranslationAxisOn()
Toggles constraint translation axis on/off.
vtkPolyDataMapper * LineMapper
vtkPolyDataMapper * EdgesMapper
vtkConeSource * ConeSource
abstract specification for Viewports
represent surface properties of a geometric object
vtkProperty * SelectedPlaneProperty
#define VTK_DEPRECATED_IN_9_2_0(reason)
bool AlwaysSnapToNearestAxis
vtkOutlineFilter * Outline
vtkProperty * SelectedNormalProperty
map scalar values into colors via a lookup table
vtkTypeBool NormalToXAxis
vtkTypeBool NormalToZAxis
vtkPolyDataMapper * ConeMapper
vtkProperty * NormalProperty
concrete dataset represents vertices, lines, polygons, and triangle strips
void SetTranslationAxisOff()
Toggles constraint translation axis on/off.
vtkPlaneSource * PlaneSource
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
create a polygonal sphere centered at the origin
void SetYTranslationAxisOn()
Toggles constraint translation axis on/off.
Superclass for algorithms that produce only polydata as output.
filter that generates tubes around lines
vtkProperty * PlaneProperty
a simple class to control print indentation
a class defining the representation for a vtkImplicitPlaneWidget2
extract interior, boundary, non-manifold, and/or sharp edges from polygonal data
vtkTypeBool LockNormalToCamera
topologically and geometrically regular array of data
vtkPolyDataMapper * SphereMapper
perform various plane computations
#define VTK_SIZEHINT(...)
vtkPolyDataMapper * OutlineMapper
create an array of quadrilaterals located in a plane
vtkLineSource * LineSource
vtkProperty * SelectedOutlineProperty
vtkConeSource * ConeSource2
create a line defined by two end points
map vtkPolyData to graphics primitives
vtkTypeBool OutsideBounds
vtkTypeBool OutlineTranslation
vtkTubeFilter * EdgesTuber
vtkTypeBool NormalToYAxis
virtual void SetAlwaysSnapToNearestAxis(bool snap)
Forces the plane's normal to be aligned with x, y or z axis.
vtkPlane * GetUnderlyingPlane()
ray-cast cell picker for all kinds of Prop3Ds
vtkPolyDataMapper * ConeMapper2
bool IsTranslationConstrained()
Returns true if ContrainedAxis.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
vtkProperty * OutlineProperty
implicit function for a bounding box
vtkTypeBool ConstrainToWidgetBounds
vtkPolyDataMapper * CutMapper