Go to the documentation of this file.
39 #ifndef vtkBoxRepresentation_h
40 #define vtkBoxRepresentation_h
42 #include "vtkInteractionWidgetsModule.h"
92 return this->Planes[i]; }
171 vtkGetMacro(OutlineFaceWires,
int);
183 vtkGetMacro(OutlineCursorWires,
int);
207 void StartComplexInteraction(
210 unsigned long event,
void *calldata) override;
211 void ComplexInteraction(
214 unsigned long event,
void *calldata) override;
215 int ComputeComplexInteractionState(
218 unsigned long event,
void *calldata,
int modify = 0) override;
219 void EndComplexInteraction(
222 unsigned long event,
void *calldata) override;
236 enum {Outside=0,MoveF0,MoveF1,MoveF2,MoveF3,MoveF4,MoveF5,
Translating,Rotating,Scaling};
254 vtkGetMacro(TwoPlaneMode,
bool);
263 vtkGetMacro(SnapToAxes,
bool);
264 vtkSetMacro(SnapToAxes,
bool);
286 double LastEventPosition[3];
287 double LastEventOrientation[4];
288 double StartEventOrientation[4];
289 double SnappedEventOrientations[3][4];
290 bool SnappedOrientation[3];
354 virtual void Scale(
double *p1,
double *p2,
int X,
int Y);
355 virtual void Rotate(
int X,
int Y,
double *p1,
double *p2,
double *vpn);
362 void UpdatePose(
double *p1,
double *d1,
double *p2,
double *d2);
375 double *x1,
double *x2,
double *x3,
double *x4,
380 const double Nz[3],
double dir[3]);
map vtkPolyData to graphics primitives
represent and manipulate 3D points
virtual void HandlesOff()
perform various plane computations
void PlaceWidget(double bounds[6]) override
These are methods that satisfy vtkWidgetRepresentation's API.
double * GetBounds() override
Get the bounds for this Prop as (Xmin,Xmax,Ymin,Ymax,Zmin,Zmax).
virtual void Rotate(int X, int Y, double *p1, double *p2, double *vpn)
vtkDoubleArray * PlaneNormals
void GetDirection(const double Nx[3], const double Ny[3], const double Nz[3], double dir[3])
virtual void Translate(double *p1, double *p2)
vtkProperty * SelectedOutlineProperty
a class defining the representation for the vtkBoxWidget2
void BuildRepresentation() override
void MoveFace(double *p1, double *p2, double *dir, double *x1, double *x2, double *x3, double *x4, double *x5)
represent the position of a point in 3D space
void HighlightFace(int cellId)
vtkPolyDataMapper * OutlineMapper
void UpdatePose(double *p1, double *d1, double *p2, double *d2)
void GetPolyData(vtkPolyData *pd)
Grab the polydata (including points) that define the box widget.
vtkPolyData * OutlinePolyData
int ComputeInteractionState(int X, int Y, int modify=0) override
vtkCellPicker * HexPicker
implicit function for convex set of planes
void MovePlusZFace(double *p1, double *p2)
vtkPolyDataMapper ** HandleMapper
window superclass for vtkRenderWindow
void StepForward()
For complex events should we snap orientations to be aligned with the x y z axes.
void MoveMinusYFace(double *p1, double *p2)
virtual void HandlesOn()
Switches handles (the spheres) on or off by manipulating the underlying actor visibility.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void RegisterPickers() override
Register internal Pickers in the Picking Manager.
#define VTK_SIZEHINT(...)
vtkPolyDataMapper * HexMapper
vtkPolyData * HexFacePolyData
vtkPolyDataMapper * HexFaceMapper
create a polygonal sphere centered at the origin
void MoveMinusXFace(double *p1, double *p2)
virtual void Scale(double *p1, double *p2, int X, int Y)
void HighlightOutline(int highlight)
represents an object (geometry & properties) in a rendered scene
a simple class to control print indentation
represent and manipulate 4x4 transformation matrices
virtual void GetTransform(vtkTransform *t)
Retrieve a linear transform characterizing the transformation of the box.
create a line defined by two end points
void OutlineFaceWiresOn()
platform-independent render window interaction including picking and frame rate control.
void WidgetInteraction(double e[2]) override
abstract specification for Viewports
virtual void CreateDefaultProperties()
vtkPolyData * HexPolyData
vtkPlane * GetUnderlyingPlane(int i)
virtual void ComputeNormals()
void MovePlusYFace(double *p1, double *p2)
static vtkBoxRepresentation * New()
Instantiate the class.
abstract superclass for all actors, volumes and annotations
int HighlightHandle(vtkProp *prop)
vtkProperty * FaceProperty
implicit function for a bounding box
virtual void SizeHandles()
void OutlineCursorWiresOff()
vtkProperty * SelectedFaceProperty
vtkSphereSource ** HandleGeometry
void GetPlanes(vtkPlanes *planes)
Get the planes describing the implicit function defined by the box widget.
concrete dataset represents vertices, lines, polygons, and triangle strips
void OutlineCursorWiresOn()
void SetOutlineCursorWires(int)
Control the representation of the outline.
virtual void PositionHandles()
void SetInteractionState(int state)
The interaction state may be set from a widget (e.g., vtkBoxWidget2) or other object.
dynamic, self-adjusting array of double
represent surface properties of a geometric object
vtkCellPicker * LastPicker
virtual void SetTransform(vtkTransform *t)
Set the position, scale and orientation of the box widget using the transform specified.
~vtkBoxRepresentation() override
void SetTwoPlaneMode(bool)
void OutlineFaceWiresOff()
ray-cast cell picker for all kinds of Prop3Ds
vtkProperty * HandleProperty
vtkProperty * OutlineProperty
void MovePlusXFace(double *p1, double *p2)
void SetOutlineFaceWires(int)
Control the representation of the outline.
void StartWidgetInteraction(double e[2]) override
vtkProperty * SelectedHandleProperty
vtkCellPicker * HandlePicker
void MoveMinusZFace(double *p1, double *p2)
Superclass for algorithms that produce only polydata as output.