28#ifndef vtkDisplaySizedImplicitPlaneRepresentation_h
29#define vtkDisplaySizedImplicitPlaneRepresentation_h
31#include "vtkInteractionWidgetsModule.h"
36VTK_ABI_NAMESPACE_BEGIN
82 void GetOrigin(
double xyz[3]);
89 void SetNormal(
double x,
double y,
double z);
90 void SetNormal(
double n[3]);
91 void SetNormalToCamera();
93 void GetNormal(
double xyz[3]);
130 virtual
void SetRadiusMultiplier(
double radiusMultiplier);
131 virtual
double GetRadiusMultiplierMinValue() {
return 0.000001; }
133 vtkGetMacro(RadiusMultiplier,
double);
212 vtkSetVector6Macro(WidgetBounds,
double);
213 vtkGetVector6Macro(WidgetBounds,
double);
284 void UpdatePlacement();
343 void SetInteractionColor(
double,
double,
double);
357 vtkSetClampMacro(BumpDistance,
double, 0.000001, 1);
358 vtkGetMacro(BumpDistance,
double);
384 vtkGetMacro(PickCameraFocalInfo,
bool);
385 vtkSetMacro(PickCameraFocalInfo,
bool);
386 vtkBooleanMacro(PickCameraFocalInfo,
bool);
418 unsigned long event,
void* calldata)
override;
420 unsigned long event,
void* calldata)
override;
422 unsigned long event,
void* calldata,
int modify = 0)
override;
424 unsigned long event,
void* calldata)
override;
462 vtkSetClampMacro(InteractionState,
int, Outside, Scaling);
471 vtkGetMacro(RepresentationState,
int);
483 vtkGetMacro(SnapToAxes,
bool);
484 vtkSetMacro(SnapToAxes,
bool);
485 vtkBooleanMacro(SnapToAxes,
bool);
495 vtkGetMacro(AlwaysSnapToNearestAxis,
bool);
498 this->AlwaysSnapToNearestAxis = snap;
499 this->SetNormal(this->GetNormal());
510 double LastEventPosition[3];
511 double LastEventOrientation[4];
512 double StartEventOrientation[4];
519 double SnappedEventOrientation[4];
543 double WidgetBounds[6];
626 void Rotate(
double X,
double Y,
double* p1,
double* p2,
double* vpn);
630 void UpdatePose(
double* p1,
double* d1,
double* p2,
double* d2);
631 void Push(
double* p1,
double* p2);
634 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 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.
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 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.
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_SIZEHINT(...)
#define VTK_MARSHAL_EXCLUDE_REASON_IS_INTERNAL
#define VTK_MARSHALEXCLUDE(reason)