38 #ifndef __vtkBoxRepresentation_h
39 #define __vtkBoxRepresentation_h
41 #include "vtkInteractionWidgetsModule.h"
86 vtkSetMacro(InsideOut,
int);
87 vtkGetMacro(InsideOut,
int);
88 vtkBooleanMacro(InsideOut,
int);
119 vtkGetObjectMacro(SelectedHandleProperty,
vtkProperty);
126 vtkGetObjectMacro(SelectedFaceProperty,
vtkProperty);
133 vtkGetObjectMacro(SelectedOutlineProperty,
vtkProperty);
139 void SetOutlineFaceWires(
int);
140 vtkGetMacro(OutlineFaceWires,
int);
149 void SetOutlineCursorWires(
int);
150 vtkGetMacro(OutlineCursorWires,
int);
158 virtual void HandlesOn();
159 virtual void HandlesOff();
181 enum {Outside=0,MoveF0,MoveF1,MoveF2,MoveF3,MoveF4,MoveF5,
Translating,Rotating,Scaling};
191 void SetInteractionState(
int state);
198 double LastEventPosition[3];
216 virtual void PositionHandles();
217 int HighlightHandle(
vtkProp *prop);
218 void HighlightFace(
int cellId);
219 void HighlightOutline(
int highlight);
220 virtual void ComputeNormals();
221 virtual void SizeHandles();
249 virtual void CreateDefaultProperties();
255 void GenerateOutline();
258 virtual void Translate(
double *p1,
double *p2);
259 virtual void Scale(
double *p1,
double *p2,
int X,
int Y);
260 virtual void Rotate(
int X,
int Y,
double *p1,
double *p2,
double *vpn);
261 void MovePlusXFace(
double *p1,
double *p2);
262 void MoveMinusXFace(
double *p1,
double *p2);
263 void MovePlusYFace(
double *p1,
double *p2);
264 void MoveMinusYFace(
double *p1,
double *p2);
265 void MovePlusZFace(
double *p1,
double *p2);
266 void MoveMinusZFace(
double *p1,
double *p2);
275 void MoveFace(
double *p1,
double *p2,
double *
dir,
276 double *x1,
double *x2,
double *x3,
double *x4,
280 void GetDirection(
const double Nx[3],
const double Ny[3],
281 const double Nz[3],
double dir[3]);