VTK  9.1.0
vtkImplicitPlaneRepresentation.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkImplicitPlaneRepresentation.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
57 #ifndef vtkImplicitPlaneRepresentation_h
58 #define vtkImplicitPlaneRepresentation_h
59 
60 #include "vtkInteractionWidgetsModule.h" // For export macro
62 
63 class vtkActor;
64 class vtkBox;
65 class vtkCellPicker;
66 class vtkConeSource;
67 class vtkCutter;
68 class vtkFeatureEdges;
69 class vtkImageData;
70 class vtkLineSource;
71 class vtkLookupTable;
72 class vtkOutlineFilter;
73 class vtkPlane;
74 class vtkPlaneSource;
75 class vtkPolyData;
77 class vtkPolyDataMapper;
78 class vtkProperty;
79 class vtkSphereSource;
80 class vtkTransform;
81 class vtkTubeFilter;
82 
83 class VTKINTERACTIONWIDGETS_EXPORT vtkImplicitPlaneRepresentation : public vtkWidgetRepresentation
84 {
85 public:
90 
92 
96  void PrintSelf(ostream& os, vtkIndent indent) override;
98 
100 
103  void SetOrigin(double x, double y, double z);
104  void SetOrigin(double x[3]);
105  double* GetOrigin() VTK_SIZEHINT(3);
106  void GetOrigin(double xyz[3]);
108 
110 
113  void SetNormal(double x, double y, double z);
114  void SetNormal(double n[3]);
115  void SetNormalToCamera();
116  double* GetNormal() VTK_SIZEHINT(3);
117  void GetNormal(double xyz[3]);
119 
121 
128  void SetNormalToXAxis(vtkTypeBool);
129  vtkGetMacro(NormalToXAxis, vtkTypeBool);
130  vtkBooleanMacro(NormalToXAxis, vtkTypeBool);
131  void SetNormalToYAxis(vtkTypeBool);
132  vtkGetMacro(NormalToYAxis, vtkTypeBool);
133  vtkBooleanMacro(NormalToYAxis, vtkTypeBool);
134  void SetNormalToZAxis(vtkTypeBool);
135  vtkGetMacro(NormalToZAxis, vtkTypeBool);
136  vtkBooleanMacro(NormalToZAxis, vtkTypeBool);
138 
140 
145  virtual void SetLockNormalToCamera(vtkTypeBool);
146  vtkGetMacro(LockNormalToCamera, vtkTypeBool);
147  vtkBooleanMacro(LockNormalToCamera, vtkTypeBool);
149 
151 
155  vtkSetMacro(Tubing, vtkTypeBool);
156  vtkGetMacro(Tubing, vtkTypeBool);
157  vtkBooleanMacro(Tubing, vtkTypeBool);
159 
161 
167  void SetDrawPlane(vtkTypeBool plane);
168  vtkGetMacro(DrawPlane, vtkTypeBool);
169  vtkBooleanMacro(DrawPlane, vtkTypeBool);
171 
173 
176  void SetDrawOutline(vtkTypeBool plane);
177  vtkGetMacro(DrawOutline, vtkTypeBool);
178  vtkBooleanMacro(DrawOutline, vtkTypeBool);
180 
182 
186  vtkSetMacro(OutlineTranslation, vtkTypeBool);
187  vtkGetMacro(OutlineTranslation, vtkTypeBool);
188  vtkBooleanMacro(OutlineTranslation, vtkTypeBool);
190 
192 
196  vtkSetMacro(OutsideBounds, vtkTypeBool);
197  vtkGetMacro(OutsideBounds, vtkTypeBool);
198  vtkBooleanMacro(OutsideBounds, vtkTypeBool);
200 
202 
205  void SetXTranslationAxisOn() { this->TranslationAxis = Axis::XAxis; }
206  void SetYTranslationAxisOn() { this->TranslationAxis = Axis::YAxis; }
207  void SetZTranslationAxisOn() { this->TranslationAxis = Axis::ZAxis; }
208  void SetTranslationAxisOff() { this->TranslationAxis = Axis::NONE; }
210 
212 
215  bool IsTranslationConstrained() { return this->TranslationAxis != Axis::NONE; }
217 
219 
225  vtkSetVector6Macro(WidgetBounds, double);
226  vtkGetVector6Macro(WidgetBounds, double);
228 
230 
237  vtkSetMacro(ConstrainToWidgetBounds, vtkTypeBool);
238  vtkGetMacro(ConstrainToWidgetBounds, vtkTypeBool);
239  vtkBooleanMacro(ConstrainToWidgetBounds, vtkTypeBool);
241 
243 
246  vtkSetMacro(ScaleEnabled, vtkTypeBool);
247  vtkGetMacro(ScaleEnabled, vtkTypeBool);
248  vtkBooleanMacro(ScaleEnabled, vtkTypeBool);
250 
256 
262 
270  void GetPlane(vtkPlane* plane);
271 
277  void SetPlane(vtkPlane* plane);
278 
283  void UpdatePlacement(void);
284 
286 
289  vtkGetObjectMacro(NormalProperty, vtkProperty);
290  vtkGetObjectMacro(SelectedNormalProperty, vtkProperty);
292 
294 
298  vtkGetObjectMacro(PlaneProperty, vtkProperty);
299  vtkGetObjectMacro(SelectedPlaneProperty, vtkProperty);
301 
303 
306  vtkGetObjectMacro(OutlineProperty, vtkProperty);
307  vtkGetObjectMacro(SelectedOutlineProperty, vtkProperty);
309 
311 
315  vtkGetObjectMacro(EdgesProperty, vtkProperty);
318 
322  void SetEdgeColor(double, double, double);
323  void SetEdgeColor(double c[3]);
325 
327 
332  vtkSetClampMacro(BumpDistance, double, 0.000001, 1);
333  vtkGetMacro(BumpDistance, double);
335 
344  void BumpPlane(int dir, double factor);
345 
352  void PushPlane(double distance);
353 
355 
358  int ComputeInteractionState(int X, int Y, int modify = 0) override;
359  void PlaceWidget(double bounds[6]) override;
360  void BuildRepresentation() override;
361  void StartWidgetInteraction(double eventPos[2]) override;
362  void WidgetInteraction(double newEventPos[2]) override;
363  void EndWidgetInteraction(double newEventPos[2]) override;
365  unsigned long event, void* calldata) override;
367  unsigned long event, void* calldata) override;
369  unsigned long event, void* calldata, int modify = 0) override;
371  unsigned long event, void* calldata) override;
373 
375 
378  double* GetBounds() VTK_SIZEHINT(6) override;
379  void GetActors(vtkPropCollection* pc) override;
380  void ReleaseGraphicsResources(vtkWindow*) override;
381  int RenderOpaqueGeometry(vtkViewport*) override;
382  int RenderTranslucentPolygonalGeometry(vtkViewport*) override;
383  vtkTypeBool HasTranslucentPolygonalGeometry() override;
385 
386  // Manage the state of the widget
388  {
389  Outside = 0,
395  Scaling
396  };
397 
399 
408  vtkSetClampMacro(InteractionState, int, Outside, Scaling);
410 
412 
416  virtual void SetRepresentationState(int);
417  vtkGetMacro(RepresentationState, int);
419 
420  // Get the underlying implicit plane object used by this rep
421  // that can be used as a cropping plane in vtkMapper.
422  vtkPlane* GetUnderlyingPlane() { return this->Plane; }
423 
425 
429  virtual void SetCropPlaneToBoundingBox(bool);
430  vtkGetMacro(CropPlaneToBoundingBox, bool);
431  vtkBooleanMacro(CropPlaneToBoundingBox, bool);
433 
435 
439  vtkGetMacro(SnapToAxes, bool);
440  vtkSetMacro(SnapToAxes, bool);
442 
444 
450  vtkGetMacro(AlwaysSnapToNearestAxis, bool);
451  virtual void SetAlwaysSnapToNearestAxis(bool snap)
452  {
453  this->AlwaysSnapToNearestAxis = snap;
454  this->SetNormal(this->GetNormal());
455  }
457 
458 protected:
461 
463 
464  // Keep track of event positions
465  double LastEventPosition[3];
466  double LastEventOrientation[4];
467  double StartEventOrientation[4];
468 
469  // Controlling ivars
473 
474  double SnappedEventOrientation[4];
477 
479 
480  // Locking normal to camera
482 
483  // Controlling the push operation
484  double BumpDistance;
485 
486  // The actual plane which is being manipulated
488 
490 
491  // The bounding box is represented by a single voxel image data
496  void HighlightOutline(int highlight);
497  vtkTypeBool OutlineTranslation; // whether the outline can be moved
498  vtkTypeBool ScaleEnabled; // whether the widget can be scaled
499  vtkTypeBool OutsideBounds; // whether the widget can be moved outside input's bounds
500  double WidgetBounds[6];
502 
503  // The cut plane is produced with a vtkCutter
505  vtkPlaneSource* PlaneSource; // used when plane cropping disabled
510  void HighlightPlane(int highlight);
511 
512  // Optional tubes are represented by extracting boundary edges and tubing
517  vtkTypeBool Tubing; // control whether tubing is on
518 
519  // The + normal cone
523  void HighlightNormal(int highlight);
524 
525  // The normal line
529 
530  // The - normal cone
534 
535  // The origin positioning handle
539 
540  // Do the picking
542 
543  // Register internal Pickers within PickingManager
544  void RegisterPickers() override;
545 
546  // Transform the normal (used for rotation)
548 
549  // Methods to manipulate the plane
550  void Rotate(double X, double Y, double* p1, double* p2, double* vpn);
551  void Rotate3D(double* p1, double* p2);
552  void TranslatePlane(double* p1, double* p2);
553  void TranslateOutline(double* p1, double* p2);
554  void TranslateOrigin(double* p1, double* p2);
555  void UpdatePose(double* p1, double* d1, double* p2, double* d2);
556  void Push(double* p1, double* p2);
557  void Scale(double* p1, double* p2, double X, double Y);
558  void SizeHandles();
559 
560  // Properties used to control the appearance of selected objects and
561  // the manipulator in general.
569  virtual void CreateDefaultProperties();
570 
572 
574 
575  // Support GetBounds() method
577 
578 private:
580  void operator=(const vtkImplicitPlaneRepresentation&) = delete;
581 };
582 
583 #endif
vtkPolyDataMapper
map vtkPolyData to graphics primitives
Definition: vtkPolyDataMapper.h:146
vtkWidgetRepresentation.h
vtkImplicitPlaneRepresentation::ScaleEnabled
vtkTypeBool ScaleEnabled
Definition: vtkImplicitPlaneRepresentation.h:498
vtkImplicitPlaneRepresentation::IsTranslationConstrained
bool IsTranslationConstrained()
Returns true if ContrainedAxis.
Definition: vtkImplicitPlaneRepresentation.h:215
vtkPlane
perform various plane computations
Definition: vtkPlane.h:143
vtkImplicitPlaneRepresentation::MovingOutline
@ MovingOutline
Definition: vtkImplicitPlaneRepresentation.h:391
vtkImplicitPlaneRepresentation::PushPlane
void PushPlane(double distance)
Push the plane the distance specified along the normal.
vtkImplicitPlaneRepresentation::GetPolyData
void GetPolyData(vtkPolyData *pd)
Grab the polydata that defines the plane.
vtkImplicitPlaneRepresentation::ConeMapper2
vtkPolyDataMapper * ConeMapper2
Definition: vtkImplicitPlaneRepresentation.h:532
vtkImplicitPlaneRepresentation::MovingOrigin
@ MovingOrigin
Definition: vtkImplicitPlaneRepresentation.h:392
vtkImplicitPlaneRepresentation::Outline
vtkOutlineFilter * Outline
Definition: vtkImplicitPlaneRepresentation.h:493
vtkImplicitPlaneRepresentation::SelectedNormalProperty
vtkProperty * SelectedNormalProperty
Definition: vtkImplicitPlaneRepresentation.h:563
vtkImplicitPlaneRepresentation::SetCropPlaneToBoundingBox
virtual void SetCropPlaneToBoundingBox(bool)
Control if the plane should be drawn cropped by the bounding box or without cropping.
vtkImplicitPlaneRepresentation::RegisterPickers
void RegisterPickers() override
Register internal Pickers in the Picking Manager.
vtkImplicitPlaneRepresentation::NormalProperty
vtkProperty * NormalProperty
Definition: vtkImplicitPlaneRepresentation.h:562
vtkImplicitPlaneRepresentation::NormalToXAxis
vtkTypeBool NormalToXAxis
Definition: vtkImplicitPlaneRepresentation.h:470
vtkCutter
Cut vtkDataSet with user-specified implicit function.
Definition: vtkCutter.h:163
vtkImplicitPlaneRepresentation::HighlightOutline
void HighlightOutline(int highlight)
vtkImplicitPlaneRepresentation::~vtkImplicitPlaneRepresentation
~vtkImplicitPlaneRepresentation() override
vtkImplicitPlaneRepresentation::SetTranslationAxisOff
void SetTranslationAxisOff()
Toggles constraint translation axis on/off.
Definition: vtkImplicitPlaneRepresentation.h:208
vtkImplicitPlaneRepresentation::Rotate3D
void Rotate3D(double *p1, double *p2)
vtkImplicitPlaneRepresentation::ConstrainToWidgetBounds
vtkTypeBool ConstrainToWidgetBounds
Definition: vtkImplicitPlaneRepresentation.h:501
vtkImplicitPlaneRepresentation::HighlightNormal
void HighlightNormal(int highlight)
vtkImplicitPlaneRepresentation::ComputeComplexInteractionState
int ComputeComplexInteractionState(vtkRenderWindowInteractor *iren, vtkAbstractWidget *widget, unsigned long event, void *calldata, int modify=0) override
Methods to interface with the vtkImplicitPlaneWidget2.
vtkImplicitPlaneRepresentation::EndWidgetInteraction
void EndWidgetInteraction(double newEventPos[2]) override
Methods to interface with the vtkImplicitPlaneWidget2.
vtkImplicitPlaneRepresentation::RepresentationState
int RepresentationState
Definition: vtkImplicitPlaneRepresentation.h:462
vtkImplicitPlaneRepresentation::CropPlaneToBoundingBox
bool CropPlaneToBoundingBox
Definition: vtkImplicitPlaneRepresentation.h:573
vtkImplicitPlaneRepresentation::Rotate
void Rotate(double X, double Y, double *p1, double *p2, double *vpn)
vtkImplicitPlaneRepresentation::CutMapper
vtkPolyDataMapper * CutMapper
Definition: vtkImplicitPlaneRepresentation.h:506
vtkPlaneSource
create an array of quadrilaterals located in a plane
Definition: vtkPlaneSource.h:164
vtkConeSource
generate polygonal cone
Definition: vtkConeSource.h:148
vtkImplicitPlaneRepresentation::EdgesProperty
vtkProperty * EdgesProperty
Definition: vtkImplicitPlaneRepresentation.h:568
vtkWidgetRepresentation
abstract class defines interface between the widget and widget representation classes
Definition: vtkWidgetRepresentation.h:60
vtkImplicitPlaneRepresentation::SetRepresentationState
virtual void SetRepresentationState(int)
Sets the visual appearance of the representation based on the state it is in.
vtkImplicitPlaneRepresentation::SphereActor
vtkActor * SphereActor
Definition: vtkImplicitPlaneRepresentation.h:538
vtkImplicitPlaneRepresentation::SetEdgeColor
void SetEdgeColor(double c[3])
Set color to the edge.
vtkImplicitPlaneRepresentation::StartComplexInteraction
void StartComplexInteraction(vtkRenderWindowInteractor *iren, vtkAbstractWidget *widget, unsigned long event, void *calldata) override
Methods to interface with the vtkImplicitPlaneWidget2.
vtkX3D::dir
@ dir
Definition: vtkX3D.h:330
vtkImplicitPlaneRepresentation::SetEdgeColor
void SetEdgeColor(vtkLookupTable *)
Set color to the edge.
vtkImplicitPlaneRepresentation::PlaneProperty
vtkProperty * PlaneProperty
Definition: vtkImplicitPlaneRepresentation.h:564
vtkImplicitPlaneRepresentation::ConeSource
vtkConeSource * ConeSource
Definition: vtkImplicitPlaneRepresentation.h:520
vtkImplicitPlaneRepresentation::LineMapper
vtkPolyDataMapper * LineMapper
Definition: vtkImplicitPlaneRepresentation.h:527
vtkTransform
describes linear transformations via a 4x4 matrix
Definition: vtkTransform.h:164
vtkImplicitPlaneRepresentation::Cutter
vtkCutter * Cutter
Definition: vtkImplicitPlaneRepresentation.h:504
vtkImplicitPlaneRepresentation::TranslationAxis
int TranslationAxis
Definition: vtkImplicitPlaneRepresentation.h:489
vtkImplicitPlaneRepresentation::SetEdgeColor
void SetEdgeColor(double, double, double)
Set color to the edge.
vtkImplicitPlaneRepresentation::ComputeInteractionState
int ComputeInteractionState(int X, int Y, int modify=0) override
Methods to interface with the vtkImplicitPlaneWidget2.
vtkImplicitPlaneRepresentation::SphereMapper
vtkPolyDataMapper * SphereMapper
Definition: vtkImplicitPlaneRepresentation.h:537
vtkImplicitPlaneRepresentation::EndComplexInteraction
void EndComplexInteraction(vtkRenderWindowInteractor *iren, vtkAbstractWidget *widget, unsigned long event, void *calldata) override
Methods to interface with the vtkImplicitPlaneWidget2.
vtkImplicitPlaneRepresentation::Moving
@ Moving
Definition: vtkImplicitPlaneRepresentation.h:390
vtkWindow
window superclass for vtkRenderWindow
Definition: vtkWindow.h:39
vtkImplicitPlaneRepresentation::StartWidgetInteraction
void StartWidgetInteraction(double eventPos[2]) override
Methods to interface with the vtkImplicitPlaneWidget2.
vtkImplicitPlaneRepresentation::GetPlane
void GetPlane(vtkPlane *plane)
Get the implicit function for the plane by copying the origin and normal of the cut plane into the pr...
vtkImplicitPlaneRepresentation::Rotating
@ Rotating
Definition: vtkImplicitPlaneRepresentation.h:393
vtkImplicitPlaneRepresentation
a class defining the representation for a vtkImplicitPlaneWidget2
Definition: vtkImplicitPlaneRepresentation.h:84
vtkTubeFilter
filter that generates tubes around lines
Definition: vtkTubeFilter.h:189
vtkAbstractWidget
define the API for widget / widget representation
Definition: vtkAbstractWidget.h:66
vtkImplicitPlaneRepresentation::NormalToZAxis
vtkTypeBool NormalToZAxis
Definition: vtkImplicitPlaneRepresentation.h:472
vtkImplicitPlaneRepresentation::PlaceWidget
void PlaceWidget(double bounds[6]) override
Methods to interface with the vtkImplicitPlaneWidget2.
vtkImplicitPlaneRepresentation::OutlineMapper
vtkPolyDataMapper * OutlineMapper
Definition: vtkImplicitPlaneRepresentation.h:494
vtkImplicitPlaneRepresentation::ConeMapper
vtkPolyDataMapper * ConeMapper
Definition: vtkImplicitPlaneRepresentation.h:521
vtkImplicitPlaneRepresentation::TranslatePlane
void TranslatePlane(double *p1, double *p2)
VTK_SIZEHINT
#define VTK_SIZEHINT(...)
Definition: vtkWrappingHints.h:48
vtkImplicitPlaneRepresentation::SetOrigin
void SetOrigin(double x[3])
Get the origin of the plane.
vtkImplicitPlaneRepresentation::DrawPlane
vtkTypeBool DrawPlane
Definition: vtkImplicitPlaneRepresentation.h:508
vtkImplicitPlaneRepresentation::BuildRepresentation
void BuildRepresentation() override
Methods to interface with the vtkImplicitPlaneWidget2.
vtkImplicitPlaneRepresentation::EdgesActor
vtkActor * EdgesActor
Definition: vtkImplicitPlaneRepresentation.h:516
vtkImplicitPlaneRepresentation::SelectedOutlineProperty
vtkProperty * SelectedOutlineProperty
Definition: vtkImplicitPlaneRepresentation.h:567
vtkImplicitPlaneRepresentation::Push
void Push(double *p1, double *p2)
vtkImplicitPlaneRepresentation::ConeSource2
vtkConeSource * ConeSource2
Definition: vtkImplicitPlaneRepresentation.h:531
vtkSphereSource
create a polygonal sphere centered at the origin
Definition: vtkSphereSource.h:149
vtkImplicitPlaneRepresentation::BumpDistance
double BumpDistance
Definition: vtkImplicitPlaneRepresentation.h:484
vtkImplicitPlaneRepresentation::LineActor
vtkActor * LineActor
Definition: vtkImplicitPlaneRepresentation.h:528
vtkImplicitPlaneRepresentation::LineSource
vtkLineSource * LineSource
Definition: vtkImplicitPlaneRepresentation.h:526
vtkImplicitPlaneRepresentation::GeneratePlane
void GeneratePlane()
vtkActor
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:155
vtkImplicitPlaneRepresentation::SetOrigin
void SetOrigin(double x, double y, double z)
Get the origin of the plane.
vtkImageData
topologically and geometrically regular array of data
Definition: vtkImageData.h:157
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:113
vtkImplicitPlaneRepresentation::CutActor
vtkActor * CutActor
Definition: vtkImplicitPlaneRepresentation.h:507
vtkImplicitPlaneRepresentation::ConeActor2
vtkActor * ConeActor2
Definition: vtkImplicitPlaneRepresentation.h:533
vtkImplicitPlaneRepresentation::PlaneSource
vtkPlaneSource * PlaneSource
Definition: vtkImplicitPlaneRepresentation.h:505
vtkImplicitPlaneRepresentation::NormalToYAxis
vtkTypeBool NormalToYAxis
Definition: vtkImplicitPlaneRepresentation.h:471
vtkImplicitPlaneRepresentation::OutlineTranslation
vtkTypeBool OutlineTranslation
Definition: vtkImplicitPlaneRepresentation.h:497
vtkImplicitPlaneRepresentation::SnappedOrientation
bool SnappedOrientation
Definition: vtkImplicitPlaneRepresentation.h:475
vtkFeatureEdges
extract interior, boundary, non-manifold, and/or sharp edges from polygonal data
Definition: vtkFeatureEdges.h:137
vtkImplicitPlaneRepresentation::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for the class.
vtkImplicitPlaneRepresentation::SetYTranslationAxisOn
void SetYTranslationAxisOn()
Toggles constraint translation axis on/off.
Definition: vtkImplicitPlaneRepresentation.h:206
vtkImplicitPlaneRepresentation::SizeHandles
void SizeHandles()
vtkImplicitPlaneRepresentation::UpdatePlacement
void UpdatePlacement(void)
Satisfies the superclass API.
vtkImplicitPlaneRepresentation::BoundingBox
vtkBox * BoundingBox
Definition: vtkImplicitPlaneRepresentation.h:576
vtkImplicitPlaneRepresentation::Tubing
vtkTypeBool Tubing
Definition: vtkImplicitPlaneRepresentation.h:517
vtkImplicitPlaneRepresentation::ConeActor
vtkActor * ConeActor
Definition: vtkImplicitPlaneRepresentation.h:522
vtkImplicitPlaneRepresentation::OutlineActor
vtkActor * OutlineActor
Definition: vtkImplicitPlaneRepresentation.h:495
vtkLineSource
create a line defined by two end points
Definition: vtkLineSource.h:170
vtkImplicitPlaneRepresentation::SetAlwaysSnapToNearestAxis
virtual void SetAlwaysSnapToNearestAxis(bool snap)
Forces the plane's normal to be aligned with x, y or z axis.
Definition: vtkImplicitPlaneRepresentation.h:451
vtkImplicitPlaneRepresentation::HighlightPlane
void HighlightPlane(int highlight)
vtkRenderWindowInteractor
platform-independent render window interaction including picking and frame rate control.
Definition: vtkRenderWindowInteractor.h:192
vtkImplicitPlaneRepresentation::_InteractionState
_InteractionState
Definition: vtkImplicitPlaneRepresentation.h:388
vtkImplicitPlaneRepresentation::SnapToAxes
bool SnapToAxes
Definition: vtkImplicitPlaneRepresentation.h:476
vtkViewport
abstract specification for Viewports
Definition: vtkViewport.h:47
vtkImplicitPlaneRepresentation::Plane
vtkPlane * Plane
Definition: vtkImplicitPlaneRepresentation.h:487
vtkImplicitPlaneRepresentation::Picker
vtkCellPicker * Picker
Definition: vtkImplicitPlaneRepresentation.h:541
vtkImplicitPlaneRepresentation::GetOrigin
double * GetOrigin()
Get the origin of the plane.
vtkImplicitPlaneRepresentation::Pushing
@ Pushing
Definition: vtkImplicitPlaneRepresentation.h:394
vtkImplicitPlaneRepresentation::DrawOutline
vtkTypeBool DrawOutline
Definition: vtkImplicitPlaneRepresentation.h:509
vtkImplicitPlaneRepresentation::Sphere
vtkSphereSource * Sphere
Definition: vtkImplicitPlaneRepresentation.h:536
vtkImplicitPlaneRepresentation::Transform
vtkTransform * Transform
Definition: vtkImplicitPlaneRepresentation.h:547
vtkImplicitPlaneRepresentation::GetPolyDataAlgorithm
vtkPolyDataAlgorithm * GetPolyDataAlgorithm()
Satisfies superclass API.
vtkLookupTable
map scalar values into colors via a lookup table
Definition: vtkLookupTable.h:178
vtkImplicitPlaneRepresentation::Box
vtkImageData * Box
Definition: vtkImplicitPlaneRepresentation.h:492
vtkBox
implicit function for a bounding box
Definition: vtkBox.h:138
vtkImplicitPlaneRepresentation::LockNormalToCamera
vtkTypeBool LockNormalToCamera
Definition: vtkImplicitPlaneRepresentation.h:481
vtkImplicitPlaneRepresentation::OutlineProperty
vtkProperty * OutlineProperty
Definition: vtkImplicitPlaneRepresentation.h:566
vtkImplicitPlaneRepresentation::WidgetInteraction
void WidgetInteraction(double newEventPos[2]) override
Methods to interface with the vtkImplicitPlaneWidget2.
vtkPolyData
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:195
vtkOutlineFilter
create wireframe outline for an arbitrary data set or composite dataset
Definition: vtkOutlineFilter.h:151
vtkImplicitPlaneRepresentation::GetBounds
double * GetBounds() override
Methods supporting the rendering process.
vtkImplicitPlaneRepresentation::New
static vtkImplicitPlaneRepresentation * New()
Instantiate the class.
vtkProperty
represent surface properties of a geometric object
Definition: vtkProperty.h:171
vtkImplicitPlaneRepresentation::UpdatePose
void UpdatePose(double *p1, double *d1, double *p2, double *d2)
vtkImplicitPlaneRepresentation::SetZTranslationAxisOn
void SetZTranslationAxisOn()
Toggles constraint translation axis on/off.
Definition: vtkImplicitPlaneRepresentation.h:207
vtkImplicitPlaneRepresentation::BumpPlane
void BumpPlane(int dir, double factor)
Translate the plane in the direction of the normal by the specified BumpDistance.
vtkPropCollection
an ordered list of Props
Definition: vtkPropCollection.h:85
vtkCellPicker
ray-cast cell picker for all kinds of Prop3Ds
Definition: vtkCellPicker.h:96
vtkImplicitPlaneRepresentation::Scale
void Scale(double *p1, double *p2, double X, double Y)
vtkImplicitPlaneRepresentation::TranslateOrigin
void TranslateOrigin(double *p1, double *p2)
vtkImplicitPlaneRepresentation::OutsideBounds
vtkTypeBool OutsideBounds
Definition: vtkImplicitPlaneRepresentation.h:499
vtkImplicitPlaneRepresentation::Edges
vtkFeatureEdges * Edges
Definition: vtkImplicitPlaneRepresentation.h:513
vtkImplicitPlaneRepresentation::CreateDefaultProperties
virtual void CreateDefaultProperties()
vtkTypeBool
int vtkTypeBool
Definition: vtkABI.h:69
vtkImplicitPlaneRepresentation::SetPlane
void SetPlane(vtkPlane *plane)
Alternative way to define the cutting plane.
vtkImplicitPlaneRepresentation::EdgesTuber
vtkTubeFilter * EdgesTuber
Definition: vtkImplicitPlaneRepresentation.h:514
vtkImplicitPlaneRepresentation::vtkImplicitPlaneRepresentation
vtkImplicitPlaneRepresentation()
vtkImplicitPlaneRepresentation::EdgesMapper
vtkPolyDataMapper * EdgesMapper
Definition: vtkImplicitPlaneRepresentation.h:515
vtkImplicitPlaneRepresentation::SelectedPlaneProperty
vtkProperty * SelectedPlaneProperty
Definition: vtkImplicitPlaneRepresentation.h:565
vtkImplicitPlaneRepresentation::TranslateOutline
void TranslateOutline(double *p1, double *p2)
vtkImplicitPlaneRepresentation::AlwaysSnapToNearestAxis
bool AlwaysSnapToNearestAxis
Definition: vtkImplicitPlaneRepresentation.h:478
vtkImplicitPlaneRepresentation::ComplexInteraction
void ComplexInteraction(vtkRenderWindowInteractor *iren, vtkAbstractWidget *widget, unsigned long event, void *calldata) override
Methods to interface with the vtkImplicitPlaneWidget2.
vtkPolyDataAlgorithm
Superclass for algorithms that produce only polydata as output.
Definition: vtkPolyDataAlgorithm.h:151
vtkImplicitPlaneRepresentation::GetUnderlyingPlane
vtkPlane * GetUnderlyingPlane()
Definition: vtkImplicitPlaneRepresentation.h:422