46#ifndef vtkBoxRepresentation_h
47#define vtkBoxRepresentation_h
49#include "vtkInteractionWidgetsModule.h"
53VTK_ABI_NAMESPACE_BEGIN
179 void SetForegroundColor(
double _arg1,
double _arg2,
double _arg3);
180 void SetForegroundColor(const
double _arg[3])
182 this->SetForegroundColor(_arg[0], _arg[1], _arg[2]);
194 this->SetInteractionColor(_arg[0], _arg[1], _arg[2]);
204 vtkGetMacro(OutlineFaceWires,
int);
216 vtkGetMacro(OutlineCursorWires,
int);
241 unsigned long event,
void* calldata) override;
243 unsigned long event,
void* calldata) override;
245 unsigned long event,
void* calldata,
int modify = 0) override;
247 unsigned long event,
void* calldata) override;
291 vtkGetMacro(TwoPlaneMode,
bool);
300 vtkGetMacro(SnapToAxes,
bool);
301 vtkSetMacro(SnapToAxes,
bool);
323 vtkGetMacro(TranslationAxis,
int);
324 vtkSetClampMacro(TranslationAxis,
int, -1, 2);
366 double LastEventPosition[3];
367 double LastEventOrientation[4];
368 double StartEventOrientation[4];
369 double SnappedEventOrientations[3][4];
370 bool SnappedOrientation[3];
436 virtual void Translate(
const double* p1,
const double* p2);
437 virtual void Scale(
const double* p1,
const double* p2,
int X,
int Y);
438 virtual void Rotate(
int X,
int Y,
const double* p1,
const double* p2,
const double* vpn);
445 void UpdatePose(
const double* p1,
const double* d1,
const double* p2,
const double* d2);
457 void MoveFace(
const double* p1,
const double* p2,
const double* dir,
double* x1,
double* x2,
458 double* x3,
double* x4,
double* x5);
461 void GetDirection(
const double Nx[3],
const double Ny[3],
const double Nz[3],
double dir[3]);
represents an object (geometry & properties) in a rendered scene
a class defining the representation for the vtkBoxWidget2
int ComputeInteractionState(int X, int Y, int modify=0) override
These are methods that satisfy vtkWidgetRepresentation's API.
void SetZTranslationAxisOn()
Toggles constraint translation axis on/off.
virtual void PositionHandles()
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for the class.
vtkProperty * OutlineProperty
void MovePlusZFace(const double *p1, const double *p2)
void OutlineCursorWiresOff()
Control the representation of the outline.
void MoveMinusYFace(const double *p1, const double *p2)
void GetPlanes(vtkPlanes *planes)
Get the planes describing the implicit function defined by the box widget.
void SetOutlineCursorWires(int)
Control the representation of the outline.
vtkPolyDataMapper * HexFaceMapper
void StepBackward()
For complex events should we snap orientations to be aligned with the x y z axes.
void SetCorners(std::vector< double > points)
Get/Set the x,y,z coordinates for the corner points of the 3D box.
vtkProperty * FaceProperty
void GetActors(vtkPropCollection *) override
These methods are necessary to make this representation behave as a vtkProp (i.e.,...
void MoveMinusXFace(const double *p1, const double *p2)
void MoveFace(const double *p1, const double *p2, const double *dir, double *x1, double *x2, double *x3, double *x4, double *x5)
virtual void HandlesOff()
Switches handles (the spheres) on or off by manipulating the underlying actor visibility.
vtkProperty * HandleProperty
void HighlightFace(int cellId)
int HighlightHandle(vtkProp *prop)
bool IsTranslationConstrained()
Returns true if ConstrainedAxis.
void OutlineFaceWiresOn()
Control the representation of the outline.
vtkPolyDataMapper * OutlineMapper
vtkPlane * GetUnderlyingPlane(int i)
void GetDirection(const double Nx[3], const double Ny[3], const double Nz[3], double dir[3])
void SetXTranslationAxisOn()
Toggles constraint translation axis on/off.
virtual void Translate(const double *p1, const double *p2)
void MovePlusYFace(const double *p1, const double *p2)
virtual void SizeHandles()
void BuildRepresentation() override
These are methods that satisfy vtkWidgetRepresentation's API.
vtkCellPicker * LastPicker
virtual void Rotate(int X, int Y, const double *p1, const double *p2, const double *vpn)
vtkSphereSource ** HandleGeometry
vtkDoubleArray * PlaneNormals
void SetTwoPlaneMode(bool)
In two plane mode only the X planes are shown this is useful for defining thick slabs.
void WidgetInteraction(double e[2]) override
These are methods that satisfy vtkWidgetRepresentation's API.
vtkProperty * SelectedOutlineProperty
void OutlineCursorWiresOn()
Control the representation of the outline.
virtual void ComputeNormals()
vtkProperty * SelectedFaceProperty
void HighlightOutline(int highlight)
void SetInteractionColor(const double _arg[3])
Set the interaction color.
vtkPolyData * HexPolyData
void UpdatePose(const double *p1, const double *d1, const double *p2, const double *d2)
vtkProperty * SelectedHandleProperty
void MovePlusXFace(const double *p1, const double *p2)
vtkPolyDataMapper * HexMapper
void SetYTranslationAxisOn()
Toggles constraint translation axis on/off.
void StartWidgetInteraction(double e[2]) override
These are methods that satisfy vtkWidgetRepresentation's API.
void SetTranslationAxisOff()
Toggles constraint translation axis on/off.
void StepForward()
For complex events should we snap orientations to be aligned with the x y z axes.
vtkPolyDataMapper ** HandleMapper
vtkCellPicker * HandlePicker
void SetInteractionState(int state)
The interaction state may be set from a widget (e.g., vtkBoxWidget2) or other object.
virtual void HandlesOn()
Switches handles (the spheres) on or off by manipulating the underlying actor visibility.
void SetOutlineFaceWires(int)
Control the representation of the outline.
~vtkBoxRepresentation() override
void OutlineFaceWiresOff()
Control the representation of the outline.
virtual void CreateDefaultProperties()
void RegisterPickers() override
Register internal Pickers in the Picking Manager.
std::vector< double > GetCorners()
Get/Set the x,y,z coordinates for the corner points of the 3D box.
void PlaceWidget(double bounds[6]) override
These are methods that satisfy vtkWidgetRepresentation's API.
vtkPolyData * HexFacePolyData
vtkPolyData * OutlinePolyData
virtual void Scale(const double *p1, const double *p2, int X, int Y)
double * GetBounds() override
These are methods that satisfy vtkWidgetRepresentation's API.
static vtkBoxRepresentation * New()
Instantiate the class.
vtkCellPicker * HexPicker
void MoveMinusZFace(const double *p1, const double *p2)
void SetInteractionColor(double _arg1, double _arg2, double _arg3)
Set the interaction color.
implicit function for a bounding box
ray-cast cell picker for all kinds of Prop3Ds
dynamic, self-adjusting array of double
a simple class to control print indentation
create a line defined by two end points
represent and manipulate 4x4 transformation matrices
perform various plane computations
implicit function for convex set of planes
represent the position of a point in 3D space
represent and manipulate 3D points
Superclass for algorithms that produce only polydata as output.
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
platform-independent render window interaction including picking and frame rate control.
create a polygonal sphere centered at the origin
abstract specification for Viewports
window superclass for vtkRenderWindow
#define VTK_SIZEHINT(...)
#define VTK_MARSHAL_EXCLUDE_REASON_IS_INTERNAL
#define VTK_MARSHALEXCLUDE(reason)