28#ifndef vtkDisplaySizedImplicitPlaneRepresentation_h
29#define vtkDisplaySizedImplicitPlaneRepresentation_h
32#include "vtkInteractionWidgetsModule.h"
37VTK_ABI_NAMESPACE_BEGIN
83 void GetOrigin(
double xyz[3]);
90 void SetNormal(
double x,
double y,
double z);
91 void SetNormal(
double n[3]);
92 void SetNormalToCamera();
94 void GetNormal(
double xyz[3]);
131 virtual
void SetRadiusMultiplier(
double radiusMultiplier);
132 virtual
double GetRadiusMultiplierMinValue() {
return 0.000001; }
134 vtkGetMacro(RadiusMultiplier,
double);
213 vtkSetVector6Macro(WidgetBounds,
double);
214 vtkGetVector6Macro(WidgetBounds,
double);
351 void SetSelectedWidgetColor(
double a,
double b,
double c) { this->SetInteractionColor(a, b, c); }
353 void SetSelectedWidgetColor(
double c[3]) { this->SetInteractionColor(c); }
355 void SetUnselectedWidgetColor(
double a,
double b,
double c) { this->SetHandleColor(a, b, c); }
357 void SetUnselectedWidgetColor(
double c[3]) { this->SetHandleColor(c); }
365 vtkSetClampMacro(BumpDistance,
double, 0.000001, 1);
366 vtkGetMacro(BumpDistance,
double);
392 vtkGetMacro(PickCameraFocalInfo,
bool);
393 vtkSetMacro(PickCameraFocalInfo,
bool);
394 vtkBooleanMacro(PickCameraFocalInfo,
bool);
426 unsigned long event,
void* calldata)
override;
428 unsigned long event,
void* calldata)
override;
430 unsigned long event,
void* calldata,
int modify = 0)
override;
432 unsigned long event,
void* calldata)
override;
459#if !defined(VTK_LEGACY_REMOVE)
474 vtkSetClampMacro(InteractionState,
int, Outside, Scaling);
483 vtkGetMacro(RepresentationState,
int);
495 vtkGetMacro(SnapToAxes,
bool);
496 vtkSetMacro(SnapToAxes,
bool);
497 vtkBooleanMacro(SnapToAxes,
bool);
507 vtkGetMacro(AlwaysSnapToNearestAxis,
bool);
510 this->AlwaysSnapToNearestAxis = snap;
511 this->SetNormal(this->GetNormal());
522 double LastEventPosition[3];
523 double LastEventOrientation[4];
524 double StartEventOrientation[4];
531 double SnappedEventOrientation[4];
555 double WidgetBounds[6];
638 void Rotate(
double X,
double Y,
double* p1,
double* p2,
double* vpn);
642 void UpdatePose(
double* p1,
double* d1,
double* p2,
double* d2);
643 void Push(
double* p1,
double* p2);
646 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.
create a disk with hole in center
a class defining the representation for a vtkDisplaySizedImplicitPlaneWidget
void SetHandleColor(double, double, double)
Set the color of all the widget's handles (edges, cone1, cone2, line, sphere, selected plane) and the...
vtkNew< vtkTransform > Transform
void BumpPlane(int dir, double factor)
Translate the plane in the direction of the normal by the specified BumpDistance.
vtkNew< vtkLineSource > LineSource
void ResizeRadius(double *p1, double *p2, double *vpn)
vtkNew< vtkActor > LineActor
vtkNew< vtkPolyDataMapper > OutlineMapper
void SetTranslationAxisOff()
Toggles constraint translation axis on/off.
vtkNew< vtkActor > ConeActor2
void Push(double *p1, double *p2)
void SetZTranslationAxisOn()
Toggles constraint translation axis on/off.
void TranslateOutline(double *p1, double *p2)
vtkNew< vtkPolyDataMapper > ConeMapper
void SetDrawIntersectionEdges(vtkTypeBool intersectionEdges)
Enable/disable the drawing of the intersection edges.
void Rotate(double X, double Y, double *p1, double *p2, double *vpn)
vtkTypeBool OutlineTranslation
virtual void SetAlwaysSnapToNearestAxis(bool snap)
Forces the plane's normal to be aligned with x, y or z axis.
vtkNew< vtkTubeFilter > IntersectionEdgesTuber
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for the class.
vtkNew< vtkConeSource > ConeSource
void HighlightPlane(int highlight)
void SetIntersectionEdgesColor(double c[3])
Set color to the intersection edges.
vtkNew< vtkPolyDataMapper > SphereMapper
double * GetOrigin()
Set/Get the origin of the plane.
void SetInteractionColor(double, double, double)
Set the color of all the widget's handles (edges, cone1, cone2, line, sphere, selected plane) and the...
void ComputeAdaptivePickerTolerance()
void Rotate3D(double *p1, double *p2)
vtkNew< vtkPolyDataMapper > ConeMapper2
virtual void SetRepresentationState(int)
Sets the visual appearance of the representation based on the state it is in.
vtkNew< vtkFeatureEdges > IntersectionEdges
int ComputeInteractionState(int X, int Y, int modify=0) override
Methods to interface with the vtkDisplaySizedImplicitPlaneWidget.
vtkNew< vtkProperty > IntersectionEdgesProperty
vtkNew< vtkActor > IntersectionEdgesActor
vtkNew< vtkFeatureEdges > Edges
void SetOrigin(double x[3])
Set/Get the origin of the plane.
vtkNew< vtkConeSource > ConeSource2
bool PickOrigin(int X, int Y, bool snapToMeshPoint=false)
Given the X, Y display coordinates, pick a new origin for the plane from a point that is on the objec...
void UpdatePose(double *p1, double *d1, double *p2, double *d2)
vtkNew< vtkActor > EdgesActor
vtkNew< vtkImageData > Box
void BuildRepresentation() override
Methods to interface with the vtkDisplaySizedImplicitPlaneWidget.
void GetPlane(vtkPlane *plane)
Get the implicit function for the plane by copying the origin and normal of the cut plane into the pr...
vtkTypeBool LockNormalToCamera
bool IsTranslationConstrained()
Returns true if ConstrainedAxis.
void HighlightOutline(int highlight)
bool PickNormal(int X, int Y, bool snapToMeshPoint=false)
Given the X, Y display coordinates, pick a new normal for the plane from a point that is on the objec...
void HighlightNormal(int highlight)
vtkNew< vtkSphereSource > Sphere
vtkNew< vtkBox > BoundingBox
vtkPolyDataAlgorithm * GetPolyDataAlgorithm()
Satisfies superclass API.
void SetEdgesColor(vtkLookupTable *)
Set color to the edges.
void StartComplexInteraction(vtkRenderWindowInteractor *iren, vtkAbstractWidget *widget, unsigned long event, void *calldata) override
Methods to interface with the vtkDisplaySizedImplicitPlaneWidget.
int ComputeComplexInteractionState(vtkRenderWindowInteractor *iren, vtkAbstractWidget *widget, unsigned long event, void *calldata, int modify=0) override
Methods to interface with the vtkDisplaySizedImplicitPlaneWidget.
vtkNew< vtkProperty > SelectedEdgesProperty
vtkNew< vtkPolyDataMapper > IntersectionEdgesMapper
double * GetBounds() override
Methods supporting the rendering process.
void UpdatePlacement()
Satisfies the superclass API.
void HighlightEdges(int highlight)
void SetIntersectionEdgesColor(vtkLookupTable *)
Set color to the intersection edges.
vtkNew< vtkProperty > SelectedOutlineProperty
void SetIntersectionEdgesColor(double, double, double)
Set color to the intersection edges.
void PlaceWidget(double bounds[6]) override
Methods to interface with the vtkDisplaySizedImplicitPlaneWidget.
static vtkDisplaySizedImplicitPlaneRepresentation * New()
Instantiate the class.
void SetXTranslationAxisOn()
Toggles constraint translation axis on/off.
void TranslateOrigin(double *p1, double *p2)
vtkNew< vtkPolyDataMapper > LineMapper
vtkNew< vtkPolyDataMapper > EdgesMapper
void SetHandleColor(double c[3])
Set the color of all the widget's handles (edges, cone1, cone2, line, sphere, selected plane) and the...
vtkTypeBool NormalToXAxis
void GetPolyData(vtkPolyData *pd)
Grab the polydata that defines the plane.
vtkNew< vtkProperty > SphereProperty
vtkTypeBool OutsideBounds
virtual double GetRadiusMultiplierMaxValue()
Set/Get the Radius Multiplier value.
vtkNew< vtkOutlineFilter > Outline
vtkTypeBool ConstrainMaximumSizeToWidgetBounds
void SetDrawOutline(vtkTypeBool outline)
Enable/disable the drawing of the outline.
~vtkDisplaySizedImplicitPlaneRepresentation() override
vtkTypeBool NormalToYAxis
void PushPlane(double distance)
Push the plane the distance specified along the normal.
void SetInteractionColor(double c[3])
Set the color of all the widget's handles (edges, cone1, cone2, line, sphere, selected plane) and the...
vtkTypeBool DrawIntersectionEdges
void WidgetInteraction(double newEventPos[2]) override
Methods to interface with the vtkDisplaySizedImplicitPlaneWidget.
void SetPlane(vtkPlane *plane)
Alternative way to define the cutting plane.
vtkNew< vtkActor > ConeActor
vtkNew< vtkProperty > EdgesProperty
vtkDisplaySizedImplicitPlaneRepresentation()
vtkTypeBool ConstrainToWidgetBounds
void SetEdgesColor(double c[3])
Set color to the edges.
void SetDrawPlane(vtkTypeBool plane)
Enable/disable the drawing of the plane.
void ComplexInteraction(vtkRenderWindowInteractor *iren, vtkAbstractWidget *widget, unsigned long event, void *calldata) override
Methods to interface with the vtkDisplaySizedImplicitPlaneWidget.
void SetForegroundColor(double, double, double)
Set the color of all the widget's handles (edges, cone1, cone2, line, sphere, selected plane) and the...
void SetOrigin(double x, double y, double z)
Set/Get the origin of the plane.
vtkNew< vtkActor > SphereActor
void SetForegroundColor(double c[3])
Set the color of all the widget's handles (edges, cone1, cone2, line, sphere, selected plane) and the...
vtkNew< vtkCellPicker > CellPicker
vtkPlane * GetUnderlyingPlane()
vtkNew< vtkProperty > PlaneProperty
void StartWidgetInteraction(double eventPos[2]) override
Methods to interface with the vtkDisplaySizedImplicitPlaneWidget.
vtkNew< vtkProperty > SelectedSphereProperty
void Scale(double *p1, double *p2, double X, double Y)
vtkNew< vtkCutter > Cutter
void RegisterPickers() override
Register internal Pickers in the Picking Manager.
vtkNew< vtkTubeFilter > EdgesTuber
vtkNew< vtkPolyDataMapper > PlaneMapper
void SetYTranslationAxisOn()
Toggles constraint translation axis on/off.
void ResizeRadius3D(double *p1, double *p2)
vtkTypeBool NormalToZAxis
vtkNew< vtkProperty > SelectedPlaneProperty
void SetEdgesColor(double, double, double)
Set color to the edges.
vtkNew< vtkProperty > SelectedNormalProperty
vtkNew< vtkHardwarePicker > HardwarePicker
virtual void CreateDefaultProperties()
vtkNew< vtkProperty > NormalProperty
vtkNew< vtkProperty > OutlineProperty
vtkNew< vtkActor > OutlineActor
void EndWidgetInteraction(double newEventPos[2]) override
Methods to interface with the vtkDisplaySizedImplicitPlaneWidget.
vtkNew< vtkDiskSource > DiskPlaneSource
void EndComplexInteraction(vtkRenderWindowInteractor *iren, vtkAbstractWidget *widget, unsigned long event, void *calldata) override
Methods to interface with the vtkDisplaySizedImplicitPlaneWidget.
vtkNew< vtkActor > PlaneActor
bool AlwaysSnapToNearestAxis
void HighlightSphere(int highlight)
extract interior, boundary, non-manifold, and/or sharp edges from polygonal data
pick a point or snap to point of an actor/prop using graphics hardware
topologically and geometrically regular array of data
a simple class to control print indentation
create a line defined by two end points
map scalar values into colors via a lookup table
Allocate and hold a VTK object.
create wireframe outline for an arbitrary data set or composite dataset
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_3_0(reason)
#define VTK_DEPRECATED_IN_9_2_0(reason)
#define VTK_SIZEHINT(...)