60 #ifndef vtkImplicitPlaneRepresentation_h
61 #define vtkImplicitPlaneRepresentation_h
64 #include "vtkInteractionWidgetsModule.h"
110 void GetOrigin(
double xyz[3]);
117 void SetNormal(
double x,
double y,
double z);
118 void SetNormal(
double n[3]);
119 void SetNormalToCamera();
121 void GetNormal(
double xyz[3]);
209 void SetXTranslationAxisOn() { this->TranslationAxis = Axis::XAxis; }
229 vtkSetVector6Macro(WidgetBounds,
double);
230 vtkGetVector6Macro(WidgetBounds,
double);
336 vtkSetClampMacro(BumpDistance,
double, 0.000001, 1);
337 vtkGetMacro(BumpDistance,
double);
369 unsigned long event,
void* calldata)
override;
371 unsigned long event,
void* calldata)
override;
373 unsigned long event,
void* calldata,
int modify = 0)
override;
375 unsigned long event,
void* calldata)
override;
401 #if !defined(VTK_LEGACY_REMOVE)
416 vtkSetClampMacro(InteractionState,
int, Outside, Scaling);
425 vtkGetMacro(RepresentationState,
int);
438 vtkGetMacro(CropPlaneToBoundingBox,
bool);
439 vtkBooleanMacro(CropPlaneToBoundingBox,
bool);
447 vtkGetMacro(SnapToAxes,
bool);
448 vtkSetMacro(SnapToAxes,
bool);
458 vtkGetMacro(AlwaysSnapToNearestAxis,
bool);
461 this->AlwaysSnapToNearestAxis = snap;
462 this->SetNormal(this->GetNormal());
473 double LastEventPosition[3];
474 double LastEventOrientation[4];
475 double StartEventOrientation[4];
482 double SnappedEventOrientation[4];
508 double WidgetBounds[6];
558 void Rotate(
double X,
double Y,
double* p1,
double* p2,
double* vpn);
562 void UpdatePose(
double* p1,
double* d1,
double* p2,
double* d2);
563 void Push(
double* p1,
double* p2);
564 void Scale(
double* p1,
double* p2,
double X,
double Y);
represents an object (geometry & properties) in a rendered scene
implicit function for a bounding box
ray-cast cell picker for all kinds of Prop3Ds
Cut vtkDataSet with user-specified implicit function.
extract interior, boundary, non-manifold, and/or sharp edges from polygonal data
topologically and geometrically regular array of data
a class defining the representation for a vtkImplicitPlaneWidget2
vtkPolyDataMapper * SphereMapper
vtkPolyDataAlgorithm * GetPolyDataAlgorithm()
Satisfies superclass API.
void Rotate(double X, double Y, double *p1, double *p2, double *vpn)
vtkLineSource * LineSource
vtkProperty * SelectedNormalProperty
void SetZTranslationAxisOn()
Toggles constraint translation axis on/off.
void EndWidgetInteraction(double newEventPos[2]) override
Methods to interface with the vtkImplicitPlaneWidget2.
vtkTypeBool NormalToXAxis
void SetEdgeColor(vtkLookupTable *)
Set color to the edge.
vtkTypeBool ConstrainToWidgetBounds
vtkPlane * GetUnderlyingPlane()
virtual void SetCropPlaneToBoundingBox(bool)
Control if the plane should be drawn cropped by the bounding box or without cropping.
bool CropPlaneToBoundingBox
void PlaceWidget(double bounds[6]) override
Methods to interface with the vtkImplicitPlaneWidget2.
vtkProperty * EdgesProperty
void GetPolyData(vtkPolyData *pd)
Grab the polydata that defines the plane.
vtkPolyDataMapper * CutMapper
void SetEdgeColor(double c[3])
Set color to the edge.
void Scale(double *p1, double *p2, double X, double Y)
virtual void CreateDefaultProperties()
vtkPolyDataMapper * LineMapper
void HighlightPlane(int highlight)
vtkPolyDataMapper * ConeMapper
int ComputeInteractionState(int X, int Y, int modify=0) override
Methods to interface with the vtkImplicitPlaneWidget2.
vtkTypeBool NormalToYAxis
bool AlwaysSnapToNearestAxis
vtkOutlineFilter * Outline
void SetOrigin(double x[3])
Get the origin of the plane.
double * GetBounds() override
Methods supporting the rendering process.
vtkPlaneSource * PlaneSource
void HighlightNormal(int highlight)
vtkTypeBool OutsideBounds
vtkTubeFilter * EdgesTuber
vtkPolyDataMapper * OutlineMapper
void UpdatePlacement(void)
Satisfies the superclass API.
void BuildRepresentation() override
Methods to interface with the vtkImplicitPlaneWidget2.
void GetPlane(vtkPlane *plane)
Get the implicit function for the plane by copying the origin and normal of the cut plane into the pr...
void StartComplexInteraction(vtkRenderWindowInteractor *iren, vtkAbstractWidget *widget, unsigned long event, void *calldata) override
Methods to interface with the vtkImplicitPlaneWidget2.
vtkPolyDataMapper * ConeMapper2
vtkProperty * SelectedPlaneProperty
void Push(double *p1, double *p2)
vtkImplicitPlaneRepresentation()
vtkConeSource * ConeSource
vtkProperty * PlaneProperty
vtkProperty * OutlineProperty
virtual void SetAlwaysSnapToNearestAxis(bool snap)
Forces the plane's normal to be aligned with x, y or z axis.
double * GetOrigin()
Get the origin of the plane.
int ComputeComplexInteractionState(vtkRenderWindowInteractor *iren, vtkAbstractWidget *widget, unsigned long event, void *calldata, int modify=0) override
Methods to interface with the vtkImplicitPlaneWidget2.
void EndComplexInteraction(vtkRenderWindowInteractor *iren, vtkAbstractWidget *widget, unsigned long event, void *calldata) override
Methods to interface with the vtkImplicitPlaneWidget2.
vtkTypeBool NormalToZAxis
void WidgetInteraction(double newEventPos[2]) override
Methods to interface with the vtkImplicitPlaneWidget2.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for the class.
void ComplexInteraction(vtkRenderWindowInteractor *iren, vtkAbstractWidget *widget, unsigned long event, void *calldata) override
Methods to interface with the vtkImplicitPlaneWidget2.
vtkPolyDataMapper * EdgesMapper
void PushPlane(double distance)
Push the plane the distance specified along the normal.
void SetOrigin(double x, double y, double z)
Get the origin of the plane.
static vtkImplicitPlaneRepresentation * New()
Instantiate the class.
void StartWidgetInteraction(double eventPos[2]) override
Methods to interface with the vtkImplicitPlaneWidget2.
void BumpPlane(int dir, double factor)
Translate the plane in the direction of the normal by the specified BumpDistance.
vtkProperty * SelectedOutlineProperty
void TranslateOrigin(double *p1, double *p2)
vtkTypeBool OutlineTranslation
void SetEdgeColor(double, double, double)
Set color to the edge.
void SetTranslationAxisOff()
Toggles constraint translation axis on/off.
virtual void SetRepresentationState(int)
Sets the visual appearance of the representation based on the state it is in.
vtkProperty * NormalProperty
void UpdatePose(double *p1, double *d1, double *p2, double *d2)
void RegisterPickers() override
Register internal Pickers in the Picking Manager.
void TranslateOutline(double *p1, double *p2)
bool IsTranslationConstrained()
Returns true if ContrainedAxis.
void HighlightOutline(int highlight)
vtkTypeBool LockNormalToCamera
void SetYTranslationAxisOn()
Toggles constraint translation axis on/off.
void SetPlane(vtkPlane *plane)
Alternative way to define the cutting plane.
vtkConeSource * ConeSource2
~vtkImplicitPlaneRepresentation() override
void Rotate3D(double *p1, double *p2)
a simple class to control print indentation
create a line defined by two end points
map scalar values into colors via a lookup table
create wireframe outline for an arbitrary data set or composite dataset
create an array of quadrilaterals located in a plane
perform various plane computations
Superclass for algorithms that produce only polydata as output.
map vtkPolyData to graphics primitives
concrete dataset represents vertices, lines, polygons, and triangle strips
represent surface properties of a geometric object
platform-independent render window interaction including picking and frame rate control.
create a polygonal sphere centered at the origin
filter that generates tubes around lines
abstract specification for Viewports
window superclass for vtkRenderWindow
#define VTK_DEPRECATED_IN_9_2_0(reason)
#define VTK_SIZEHINT(...)