27#ifndef vtkBoxRepresentation_h 
   28#define vtkBoxRepresentation_h 
   30#include "vtkInteractionWidgetsModule.h"  
   33VTK_ABI_NAMESPACE_BEGIN
 
  159    this->SetForegroundColor(_arg[0], _arg[1], _arg[2]);
 
  171    this->SetInteractionColor(_arg[0], _arg[1], _arg[2]);
 
  181  vtkGetMacro(OutlineFaceWires, 
int);
 
  193  vtkGetMacro(OutlineCursorWires, 
int);
 
  218    unsigned long event, 
void* calldata) override;
 
  220    unsigned long event, 
void* calldata) override;
 
  222    unsigned long event, 
void* calldata, 
int modify = 0) override;
 
  224    unsigned long event, 
void* calldata) override;
 
  268  vtkGetMacro(TwoPlaneMode, 
bool);
 
  277  vtkGetMacro(SnapToAxes, 
bool);
 
  278  vtkSetMacro(SnapToAxes, 
bool);
 
  300  vtkGetMacro(TranslationAxis, 
int);
 
  301  vtkSetClampMacro(TranslationAxis, 
int, -1, 2);
 
  333  double LastEventPosition[3];
 
  334  double LastEventOrientation[4];
 
  335  double StartEventOrientation[4];
 
  336  double SnappedEventOrientations[3][4];
 
  337  bool SnappedOrientation[3];
 
  403  virtual void Translate(
const double* p1, 
const double* p2);
 
  404  virtual void Scale(
const double* p1, 
const double* p2, 
int X, 
int Y);
 
  405  virtual void Rotate(
int X, 
int Y, 
const double* p1, 
const double* p2, 
const double* vpn);
 
  412  void UpdatePose(
const double* p1, 
const double* d1, 
const double* p2, 
const double* d2);
 
  424  void MoveFace(
const double* p1, 
const double* p2, 
const double* dir, 
double* x1, 
double* x2,
 
  425    double* x3, 
double* x4, 
double* x5);
 
  428  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.
 
void SetForegroundColor(const double _arg[3])
Set the foreground color (the outline of the box).
 
virtual void PositionHandles()
 
virtual void SetTransform(vtkTransform *t)
Set the position, scale and orientation of the box widget using the transform specified.
 
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.
 
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
 
virtual void GetTransform(vtkTransform *t)
Retrieve a linear transform characterizing the transformation of the box.
 
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 GetPolyData(vtkPolyData *pd)
Grab the polydata (including points) that define the box widget.
 
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.
 
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.
 
void SetForegroundColor(double _arg1, double _arg2, double _arg3)
Set the foreground color (the outline of the box).
 
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(...)