22#ifndef vtkFinitePlaneRepresentation_h
23#define vtkFinitePlaneRepresentation_h
25#include "vtkInteractionWidgetsModule.h"
30VTK_ABI_NAMESPACE_BEGIN
93 vtkSetMacro(Tubing,
bool);
94 vtkGetMacro(Tubing,
bool);
95 vtkBooleanMacro(Tubing,
bool);
103 vtkSetMacro(RectangularShape,
bool);
104 vtkGetMacro(RectangularShape,
bool);
105 vtkBooleanMacro(RectangularShape,
bool);
116 vtkGetMacro(DrawPlane,
bool);
117 vtkBooleanMacro(DrawPlane,
bool);
152 vtkSetClampMacro(InteractionState,
int, Outside, Pushing);
160 vtkGetVector3Macro(Origin,
double);
169 vtkGetVector3Macro(Normal,
double);
178 vtkGetVector2Macro(V1,
double);
187 vtkGetVector2Macro(V2,
double);
196 vtkGetMacro(RepresentationState,
int);
211 void Push(
double* p1,
double* p2);
212 void Rotate(
int X,
int Y,
double* p1,
double* p2,
double* vpn);
243 double LastEventPosition[3];
258 double PreviousNormal[3];
306 bool RectangularShape =
false;
307 bool DrawPlane =
true;
represents an object (geometry & properties) in a rendered scene
implicit function for a bounding box
ray-cast cell picker for all kinds of Prop3Ds
extract interior, boundary, non-manifold, and/or sharp edges from polygonal data
represent the vtkFinitePlaneWidget.
vtkNew< vtkPolyDataMapper > EdgesMapper
vtkNew< vtkPolyDataMapper > ConeMapper
double * GetBounds() override
These are methods that satisfy vtkWidgetRepresentation's API.
vtkNew< vtkPolyDataMapper > V2Mapper
vtkNew< vtkSphereSource > V1Geometry
void Rotate(int X, int Y, double *p1, double *p2, double *vpn)
void SetHighlightNormal(int highlight)
vtkNew< vtkProperty > NormalProperty
vtkNew< vtkPolyDataMapper > LineMapper
void SetDrawPlane(bool plane)
Enable/disable the drawing of the plane.
vtkNew< vtkActor > EdgesActor
void SetV2(double x[2])
Set/Get the v2 vector of the plane.
void ReleaseGraphicsResources(vtkWindow *) override
Methods supporting, and required by, the rendering process.
vtkNew< vtkProperty > PlaneProperty
vtkNew< vtkProperty > OriginHandleProperty
static vtkFinitePlaneRepresentation * New()
Instantiate the class.
virtual void CreateDefaultProperties()
void SetHighlightHandle(vtkProp *prop)
void SetOrigin(double x, double y, double z)
Set/Get the origin of the plane.
vtkNew< vtkProperty > V2HandleProperty
vtkNew< vtkCellPicker > HandlePicker
vtkNew< vtkLineSource > LineSource2
virtual void HandlesOn()
Switches handles (the spheres) on or off by manipulating the underlying actor visibility.
vtkNew< vtkTransform > TransformRotation
vtkNew< vtkProperty > SelectedPlaneProperty
virtual void SetRepresentationState(int)
Sets the visual appearance of the representation based on the state it is in.
void BuildRepresentation() override
These are methods that satisfy vtkWidgetRepresentation's API.
vtkNew< vtkActor > ConeActor
void SetNormal(double x, double y, double z)
Set/Get the normal to the plane.
void SetHighlightPlane(int highlight)
int RenderOpaqueGeometry(vtkViewport *) override
Methods supporting, and required by, the rendering process.
vtkNew< vtkPolyDataMapper > ConeMapper2
vtkNew< vtkActor > PlaneActor
void RegisterPickers() override
Register internal Pickers in the Picking Manager.
vtkNew< vtkTubeFilter > EdgesTuber
void SetHandles(bool handles)
Switches handles (the spheres) on or off by manipulating the underlying actor visibility.
vtkNew< vtkLineSource > LineSource
void StartWidgetInteraction(double e[2]) override
These are methods that satisfy vtkWidgetRepresentation's API.
void SetNormal(double n[3])
Set/Get the normal to the plane.
void SetOrigin(double x[3])
Set/Get the origin of the plane.
vtkNew< vtkPolyDataMapper > PlaneMapper
vtkNew< vtkConeSource > ConeSource2
vtkNew< vtkActor > ConeActor2
vtkNew< vtkPolyDataMapper > OriginMapper
void SetV1(double x[2])
Set/Get the v1 vector of the plane.
int RenderTranslucentPolygonalGeometry(vtkViewport *) override
Methods supporting, and required by, the rendering process.
void GetPolyData(vtkPolyData *pd)
Grab the polydata that defines the plane.
vtkTypeBool HasTranslucentPolygonalGeometry() override
Methods supporting, and required by, the rendering process.
void SetV1(double x, double y)
Set/Get the v1 vector of the plane.
vtkNew< vtkActor > OriginActor
vtkNew< vtkTransform > Transform
vtkNew< vtkProperty > SelectedHandleProperty
vtkNew< vtkBox > BoundingBox
vtkNew< vtkActor > LineActor2
vtkFinitePlaneRepresentation()
vtkNew< vtkPolyDataMapper > LineMapper2
int ComputeInteractionState(int X, int Y, int modify=0) override
These are methods that satisfy vtkWidgetRepresentation's API.
vtkNew< vtkPolyData > PlanePolyData
vtkNew< vtkProperty > SelectedNormalProperty
vtkNew< vtkActor > V1Actor
virtual void SizeHandles()
void PlaceWidget(double bounds[6]) override
These are methods that satisfy vtkWidgetRepresentation's API.
void TranslateOrigin(double *p1, double *p2)
vtkNew< vtkActor > LineActor
vtkNew< vtkPolyDataMapper > V1Mapper
void WidgetInteraction(double e[2]) override
These are methods that satisfy vtkWidgetRepresentation's API.
void MovePoint1(double *p1, double *p2)
virtual void HandlesOff()
Switches handles (the spheres) on or off by manipulating the underlying actor visibility.
void SetV2(double x, double y)
Set/Get the v2 vector of the plane.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard vtkObject methods.
~vtkFinitePlaneRepresentation() override
vtkNew< vtkActor > V2Actor
vtkNew< vtkFeatureEdges > Edges
vtkNew< vtkConeSource > ConeSource
vtkNew< vtkSphereSource > OriginGeometry
vtkNew< vtkProperty > V1HandleProperty
vtkNew< vtkSphereSource > V2Geometry
void MovePoint2(double *p1, double *p2)
void Push(double *p1, double *p2)
a simple class to control print indentation
create a line defined by two end points
Allocate and hold a VTK object.
map vtkPolyData to graphics primitives
concrete dataset represents vertices, lines, polygons, and triangle strips
abstract superclass for all actors, volumes and annotations
represent surface properties of a geometric object
create a polygonal sphere centered at the origin
filter that generates tubes around lines
abstract specification for Viewports
window superclass for vtkRenderWindow