32 #ifndef vtkImplicitPlaneRepresentation_h
33 #define vtkImplicitPlaneRepresentation_h
36 #include "vtkInteractionWidgetsModule.h"
39 VTK_ABI_NAMESPACE_BEGIN
81 void SetOrigin(
double x,
double y,
double z);
82 void SetOrigin(
double x[3]);
84 void GetOrigin(
double xyz[3]);
91 void SetNormal(
double x,
double y,
double z);
92 void SetNormal(
double n[3]);
93 void SetNormalToCamera();
95 void GetNormal(
double xyz[3]);
107 vtkGetMacro(NormalToXAxis, vtkTypeBool);
108 vtkBooleanMacro(NormalToXAxis, vtkTypeBool);
109 void SetNormalToYAxis(vtkTypeBool);
110 vtkGetMacro(NormalToYAxis, vtkTypeBool);
111 vtkBooleanMacro(NormalToYAxis, vtkTypeBool);
112 void SetNormalToZAxis(vtkTypeBool);
113 vtkGetMacro(NormalToZAxis, vtkTypeBool);
114 vtkBooleanMacro(NormalToZAxis, vtkTypeBool);
123 virtual
void SetLockNormalToCamera(vtkTypeBool);
124 vtkGetMacro(LockNormalToCamera, vtkTypeBool);
125 vtkBooleanMacro(LockNormalToCamera, vtkTypeBool);
133 vtkSetMacro(Tubing, vtkTypeBool);
134 vtkGetMacro(Tubing, vtkTypeBool);
135 vtkBooleanMacro(Tubing, vtkTypeBool);
145 void SetDrawPlane(vtkTypeBool plane);
146 vtkGetMacro(DrawPlane, vtkTypeBool);
147 vtkBooleanMacro(DrawPlane, vtkTypeBool);
154 void SetDrawOutline(vtkTypeBool plane);
155 vtkGetMacro(DrawOutline, vtkTypeBool);
156 vtkBooleanMacro(DrawOutline, vtkTypeBool);
163 vtkSetMacro(ScaleEnabled, vtkTypeBool);
164 vtkGetMacro(ScaleEnabled, vtkTypeBool);
165 vtkBooleanMacro(ScaleEnabled, vtkTypeBool);
202 void UpdatePlacement();
209 vtkGetObjectMacro(SelectedNormalProperty, vtkProperty);
217 vtkGetObjectMacro(PlaneProperty, vtkProperty);
218 vtkGetObjectMacro(SelectedPlaneProperty, vtkProperty);
226 vtkGetObjectMacro(EdgesProperty, vtkProperty);
235 void SetInteractionColor(
double,
double,
double);
237 void SetHandleColor(
double,
double,
double);
239 void SetForegroundColor(
double,
double,
double);
248 void SetEdgeColor(
double,
double,
double);
249 void SetEdgeColor(
double c[3]);
258 vtkSetClampMacro(BumpDistance,
double, 0.000001, 1);
259 vtkGetMacro(BumpDistance,
double);
270 void BumpPlane(
int dir,
double factor);
278 void PushPlane(
double distance);
291 unsigned long event,
void* calldata)
override;
293 unsigned long event,
void* calldata)
override;
295 unsigned long event,
void* calldata,
int modify = 0)
override;
297 unsigned long event,
void* calldata)
override;
306 void ReleaseGraphicsResources(
vtkWindow*) override;
308 int RenderTranslucentPolygonalGeometry(
vtkViewport*) override;
309 vtkTypeBool HasTranslucentPolygonalGeometry() override;
334 vtkSetClampMacro(InteractionState,
int, Outside, Scaling);
342 virtual void SetRepresentationState(
int);
343 vtkGetMacro(RepresentationState,
int);
355 virtual void SetCropPlaneToBoundingBox(
bool);
356 vtkGetMacro(CropPlaneToBoundingBox,
bool);
357 vtkBooleanMacro(CropPlaneToBoundingBox,
bool);
365 vtkGetMacro(SnapToAxes,
bool);
366 vtkSetMacro(SnapToAxes,
bool);
376 vtkGetMacro(AlwaysSnapToNearestAxis,
bool);
379 this->AlwaysSnapToNearestAxis = snap;
380 this->SetNormal(this->GetNormal());
391 double LastEventPosition[3];
392 double LastEventOrientation[4];
393 double StartEventOrientation[4];
400 double SnappedEventOrientation[4];
424 void HighlightPlane(
int highlight);
437 void HighlightNormal(
int highlight);
464 void Rotate(
double X,
double Y,
double* p1,
double* p2,
double* vpn);
465 void Rotate3D(
double* p1,
double* p2);
467 void TranslateOrigin(
double* p1,
double* p2);
468 void UpdatePose(
double* p1,
double* d1,
double* p2,
double* d2);
469 void Push(
double* p1,
double* p2);
470 void Scale(
double* p1,
double* p2,
double X,
double Y);
494 VTK_ABI_NAMESPACE_END
bool CropPlaneToBoundingBox
Cut vtkDataSet with user-specified implicit function.
vtkProperty * EdgesProperty
represents an object (geometry & properties) in a rendered scene
vtkPolyDataMapper * LineMapper
vtkPolyDataMapper * EdgesMapper
vtkConeSource * ConeSource
abstract specification for Viewports
represent surface properties of a geometric object
vtkProperty * SelectedPlaneProperty
bool AlwaysSnapToNearestAxis
vtkProperty * SelectedNormalProperty
map scalar values into colors via a lookup table
vtkTypeBool NormalToXAxis
vtkTypeBool NormalToZAxis
vtkPolyDataMapper * ConeMapper
void SetInteractionColor(double c[3])
Set the color of all the widget's handles (edges, cone1, cone2, line, sphere, selected plane) and the...
vtkProperty * NormalProperty
concrete dataset represents vertices, lines, polygons, and triangle strips
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
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
void SetHandleColor(double c[3])
Set the color of all the widget's handles (edges, cone1, cone2, line, sphere, selected plane) and the...
vtkPolyDataMapper * SphereMapper
perform various plane computations
void SetForegroundColor(double c[3])
Set the color of all the widget's handles (edges, cone1, cone2, line, sphere, selected plane) and the...
#define VTK_SIZEHINT(...)
create an array of quadrilaterals located in a plane
#define VTK_MARSHALEXCLUDE(reason)
vtkLineSource * LineSource
vtkProperty * SelectedOutlineProperty
vtkConeSource * ConeSource2
create a line defined by two end points
map vtkPolyData to graphics primitives
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
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
vtkPolyDataMapper * CutMapper
#define VTK_MARSHAL_EXCLUDE_REASON_IS_INTERNAL