37#ifndef vtkDisplaySizedImplicitPlaneRepresentation_h
38#define vtkDisplaySizedImplicitPlaneRepresentation_h
41#include "vtkInteractionWidgetsModule.h"
90 void GetOrigin(
double xyz[3]);
97 void SetNormal(
double x,
double y,
double z);
98 void SetNormal(
double n[3]);
99 void SetNormalToCamera();
101 void GetNormal(
double xyz[3]);
138 virtual
void SetRadiusMultiplier(
double radiusMultiplier);
139 virtual
double GetRadiusMultiplierMinValue() {
return 0.000001; }
141 vtkGetMacro(RadiusMultiplier,
double);
220 vtkSetVector6Macro(WidgetBounds,
double);
221 vtkGetVector6Macro(WidgetBounds,
double);
360 vtkSetClampMacro(BumpDistance,
double, 0.000001, 1);
361 vtkGetMacro(BumpDistance,
double);
387 vtkGetMacro(PickCameraFocalInfo,
bool);
388 vtkSetMacro(PickCameraFocalInfo,
bool);
389 vtkBooleanMacro(PickCameraFocalInfo,
bool);
421 unsigned long event,
void* calldata)
override;
423 unsigned long event,
void* calldata)
override;
425 unsigned long event,
void* calldata,
int modify = 0)
override;
427 unsigned long event,
void* calldata)
override;
454#if !defined(VTK_LEGACY_REMOVE)
469 vtkSetClampMacro(InteractionState,
int, Outside, Scaling);
478 vtkGetMacro(RepresentationState,
int);
490 vtkGetMacro(SnapToAxes,
bool);
491 vtkSetMacro(SnapToAxes,
bool);
492 vtkBooleanMacro(SnapToAxes,
bool);
502 vtkGetMacro(AlwaysSnapToNearestAxis,
bool);
505 this->AlwaysSnapToNearestAxis = snap;
506 this->SetNormal(this->GetNormal());
517 double LastEventPosition[3];
518 double LastEventOrientation[4];
519 double StartEventOrientation[4];
526 double SnappedEventOrientation[4];
550 double WidgetBounds[6];
633 void Rotate(
double X,
double Y,
double* p1,
double* p2,
double* vpn);
637 void UpdatePose(
double* p1,
double* d1,
double* p2,
double* d2);
638 void Push(
double* p1,
double* p2);
641 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 SetSelectedWidgetColor(double, double, double)
Set the color of all the widgets objects (edges, cone1, cone2, line, sphere, except plane) when unsel...
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 SetUnselectedWidgetColor(double c[3])
Set the color of all the widgets objects (edges, cone1, cone2, line, sphere, except plane) when unsel...
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for the class.
vtkNew< vtkConeSource > ConeSource
void SetUnselectedWidgetColor(double, double, double)
Set the color of all the widgets objects (edges, cone1, cone2, line, sphere, except plane) when unsel...
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.
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 ContrainedAxis.
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)
void SetSelectedWidgetColor(double c[3])
Set the color of all the widgets objects (edges, cone1, cone2, line, sphere, except plane) when unsel...
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
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.
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 SetOrigin(double x, double y, double z)
Set/Get the origin of the plane.
vtkNew< vtkActor > SphereActor
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_2_0(reason)
#define VTK_SIZEHINT(...)