41 #ifndef vtkImplicitPlaneRepresentation_h 42 #define vtkImplicitPlaneRepresentation_h 44 #include "vtkInteractionWidgetsModule.h" 87 void SetOrigin(
double x,
double y,
double z);
88 void SetOrigin(
double x[3]);
90 void GetOrigin(
double xyz[3]);
97 void SetNormal(
double x,
double y,
double z);
98 void SetNormal(
double x[3]);
99 void SetNormalToCamera();
101 void GetNormal(
double xyz[3]);
113 vtkGetMacro(NormalToXAxis,vtkTypeBool);
114 vtkBooleanMacro(NormalToXAxis,vtkTypeBool);
115 void SetNormalToYAxis(vtkTypeBool);
116 vtkGetMacro(NormalToYAxis,vtkTypeBool);
117 vtkBooleanMacro(NormalToYAxis,vtkTypeBool);
118 void SetNormalToZAxis(vtkTypeBool);
119 vtkGetMacro(NormalToZAxis,vtkTypeBool);
120 vtkBooleanMacro(NormalToZAxis,vtkTypeBool);
129 virtual
void SetLockNormalToCamera(vtkTypeBool);
130 vtkGetMacro(LockNormalToCamera,vtkTypeBool);
131 vtkBooleanMacro(LockNormalToCamera,vtkTypeBool);
139 vtkSetMacro(Tubing,vtkTypeBool);
140 vtkGetMacro(Tubing,vtkTypeBool);
141 vtkBooleanMacro(Tubing,vtkTypeBool);
151 void SetDrawPlane(vtkTypeBool plane);
152 vtkGetMacro(DrawPlane,vtkTypeBool);
153 vtkBooleanMacro(DrawPlane,vtkTypeBool);
160 void SetDrawOutline(vtkTypeBool plane);
161 vtkGetMacro(DrawOutline,vtkTypeBool);
162 vtkBooleanMacro(DrawOutline,vtkTypeBool);
170 vtkSetMacro(OutlineTranslation,vtkTypeBool);
171 vtkGetMacro(OutlineTranslation,vtkTypeBool);
172 vtkBooleanMacro(OutlineTranslation,vtkTypeBool);
180 vtkSetMacro(OutsideBounds,vtkTypeBool);
181 vtkGetMacro(OutsideBounds,vtkTypeBool);
182 vtkBooleanMacro(OutsideBounds,vtkTypeBool);
192 vtkSetVector6Macro(WidgetBounds,
double);
193 vtkGetVector6Macro(WidgetBounds,
double);
204 vtkSetMacro(ConstrainToWidgetBounds,vtkTypeBool);
205 vtkGetMacro(ConstrainToWidgetBounds,vtkTypeBool);
206 vtkBooleanMacro(ConstrainToWidgetBounds,vtkTypeBool);
213 vtkSetMacro(ScaleEnabled,vtkTypeBool);
214 vtkGetMacro(ScaleEnabled,vtkTypeBool);
215 vtkBooleanMacro(ScaleEnabled,vtkTypeBool);
250 void UpdatePlacement(
void);
257 vtkGetObjectMacro(SelectedNormalProperty,vtkProperty);
265 vtkGetObjectMacro(PlaneProperty,vtkProperty);
266 vtkGetObjectMacro(SelectedPlaneProperty,vtkProperty);
273 vtkGetObjectMacro(OutlineProperty,vtkProperty);
274 vtkGetObjectMacro(SelectedOutlineProperty,vtkProperty);
282 vtkGetObjectMacro(EdgesProperty,vtkProperty);
289 void SetEdgeColor(
double,
double,
double);
290 void SetEdgeColor(
double x[3]);
299 vtkSetClampMacro(BumpDistance,
double,0.000001,1);
300 vtkGetMacro(BumpDistance,
double);
311 void BumpPlane(
int dir,
double factor);
319 void PushPlane(
double distance);
325 int ComputeInteractionState(
int X,
int Y,
int modify=0) override;
326 void PlaceWidget(
double bounds[6]) override;
327 void BuildRepresentation() override;
328 void StartWidgetInteraction(
double eventPos[2]) override;
329 void WidgetInteraction(
double newEventPos[2]) override;
330 void EndWidgetInteraction(
double newEventPos[2]) override;
331 void StartComplexInteraction(
334 unsigned long event,
void *calldata) override;
335 void ComplexInteraction(
338 unsigned long event,
void *calldata) override;
339 int ComputeComplexInteractionState(
342 unsigned long event,
void *calldata,
int modify = 0) override;
343 void EndComplexInteraction(
346 unsigned long event,
void *calldata) override;
353 double *GetBounds() VTK_SIZEHINT(6) override;
355 void ReleaseGraphicsResources(
vtkWindow*) override;
357 int RenderTranslucentPolygonalGeometry(
vtkViewport*) override;
358 vtkTypeBool HasTranslucentPolygonalGeometry() override;
383 vtkSetClampMacro(InteractionState,
int,Outside,Scaling);
391 virtual void SetRepresentationState(
int);
392 vtkGetMacro(RepresentationState,
int);
398 return this->Plane; }
405 virtual void SetCropPlaneToBoundingBox(
bool);
406 vtkGetMacro(CropPlaneToBoundingBox,
bool);
407 vtkBooleanMacro(CropPlaneToBoundingBox,
bool);
415 vtkGetMacro(SnapToAxes,
bool);
416 vtkSetMacro(SnapToAxes,
bool);
426 double LastEventPosition[3];
427 double LastEventOrientation[4];
428 double StartEventOrientation[4];
435 double SnappedEventOrientation[4];
453 void HighlightOutline(
int highlight);
457 double WidgetBounds[6];
467 void HighlightPlane(
int highlight);
480 void HighlightNormal(
int highlight);
512 void Rotate(
double X,
double Y,
double *p1,
double *p2,
double *vpn);
513 void Rotate3D(
double *p1,
double *p2);
514 void TranslatePlane(
double *p1,
double *p2);
515 void TranslateOutline(
double *p1,
double *p2);
516 void TranslateOrigin(
double *p1,
double *p2);
517 void UpdatePose(
double *p1,
double *d1,
double *p2,
double *d2);
518 void Push(
double *p1,
double *p2);
519 void Scale(
double *p1,
double *p2,
double X,
double Y);
531 void CreateDefaultProperties();
533 void GeneratePlane();
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
vtkOutlineFilter * Outline
vtkProperty * SelectedNormalProperty
vtkLineSource * LineSource2
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
vtkPlaneSource * PlaneSource
window superclass for vtkRenderWindow
platform-independent render window interaction including picking and frame rate control.
create wireframe outline for arbitrary data set
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 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
vtkPlane * GetUnderlyingPlane()
ray-cast cell picker for all kinds of Prop3Ds
vtkPolyDataMapper * LineMapper2
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
vtkTypeBool ConstrainToWidgetBounds
vtkPolyDataMapper * CutMapper