31#ifndef vtkFinitePlaneRepresentation_h
32#define vtkFinitePlaneRepresentation_h
34#include "vtkInteractionWidgetsModule.h"
98 vtkSetMacro(Tubing,
bool);
99 vtkGetMacro(Tubing,
bool);
100 vtkBooleanMacro(Tubing,
bool);
111 vtkGetMacro(DrawPlane,
bool);
112 vtkBooleanMacro(DrawPlane,
bool);
147 vtkSetClampMacro(InteractionState,
int, Outside, Pushing);
155 vtkGetVector3Macro(Origin,
double);
164 vtkGetVector3Macro(Normal,
double);
173 vtkGetVector2Macro(V1,
double);
182 vtkGetVector2Macro(V2,
double);
191 vtkGetMacro(RepresentationState,
int);
206 void Push(
double* p1,
double* p2);
207 void Rotate(
int X,
int Y,
double* p1,
double* p2,
double* vpn);
238 double LastEventPosition[3];
253 double PreviousNormal[3];
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.
vtkSphereSource * V2Geometry
vtkTransform * TransformRotation
double * GetBounds() override
These are methods that satisfy vtkWidgetRepresentation's API.
void Rotate(int X, int Y, double *p1, double *p2, double *vpn)
vtkPolyDataMapper * OriginMapper
void SetHighlightNormal(int highlight)
vtkPolyDataMapper * V2Mapper
void SetDrawPlane(bool plane)
Enable/disable the drawing of the plane.
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.
vtkTubeFilter * EdgesTuber
static vtkFinitePlaneRepresentation * New()
Instantiate the class.
vtkPolyDataMapper * ConeMapper
vtkProperty * OriginHandleProperty
virtual void CreateDefaultProperties()
vtkSphereSource * V1Geometry
void SetHighlightHandle(vtkProp *prop)
vtkProperty * V1HandleProperty
void SetOrigin(double x, double y, double z)
Set/Get the origin of the plane.
vtkConeSource * ConeSource
vtkProperty * NormalProperty
virtual void HandlesOn()
Switches handles (the spheres) on or off by manipulating the underlying actor visibility.
vtkProperty * SelectedNormalProperty
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.
void SetNormal(double x, double y, double z)
Set/Get the normal to the plane.
void SetHighlightPlane(int highlight)
vtkPolyData * PlanePolyData
vtkPolyDataMapper * LineMapper
int RenderOpaqueGeometry(vtkViewport *) override
Methods supporting, and required by, the rendering process.
vtkLineSource * LineSource
vtkPolyDataMapper * V1Mapper
void RegisterPickers() override
Register internal Pickers in the Picking Manager.
void SetHandles(bool handles)
Switches handles (the spheres) on or off by manipulating the underlying actor visibility.
void StartWidgetInteraction(double e[2]) override
These are methods that satisfy vtkWidgetRepresentation's API.
vtkProperty * PlaneProperty
void SetNormal(double n[3])
Set/Get the normal to the plane.
void SetOrigin(double x[3])
Set/Get the origin of the plane.
void SetV1(double x[2])
Set/Get the v1 vector of the plane.
vtkProperty * V2HandleProperty
vtkPolyDataMapper * EdgesMapper
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.
vtkSphereSource * OriginGeometry
vtkFinitePlaneRepresentation()
vtkProperty * SelectedPlaneProperty
int ComputeInteractionState(int X, int Y, int modify=0) override
These are methods that satisfy vtkWidgetRepresentation's API.
vtkPolyDataMapper * ConeMapper2
virtual void SizeHandles()
void PlaceWidget(double bounds[6]) override
These are methods that satisfy vtkWidgetRepresentation's API.
void TranslateOrigin(double *p1, double *p2)
void WidgetInteraction(double e[2]) override
These are methods that satisfy vtkWidgetRepresentation's API.
vtkLineSource * LineSource2
void MovePoint1(double *p1, double *p2)
virtual void HandlesOff()
Switches handles (the spheres) on or off by manipulating the underlying actor visibility.
vtkCellPicker * HandlePicker
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
vtkPolyDataMapper * PlaneMapper
vtkConeSource * ConeSource2
vtkPolyDataMapper * LineMapper2
vtkProperty * SelectedHandleProperty
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
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