83 #ifndef __vtkBoxWidget_h
84 #define __vtkBoxWidget_h
86 #include "vtkInteractionWidgetsModule.h"
94 class vtkPolyDataMapper;
107 void PrintSelf(ostream& os, vtkIndent indent);
111 virtual void SetEnabled(
int);
114 {this->Superclass::PlaceWidget();}
115 void PlaceWidget(
double xmin,
double xmax,
double ymin,
double ymax,
116 double zmin,
double zmax)
117 {this->Superclass::PlaceWidget(xmin,xmax,ymin,ymax,zmin,zmax);}
126 void GetPlanes(vtkPlanes *planes);
132 vtkSetMacro(InsideOut,
int);
133 vtkGetMacro(InsideOut,
int);
134 vtkBooleanMacro(InsideOut,
int);
163 vtkGetObjectMacro(HandleProperty,vtkProperty);
164 vtkGetObjectMacro(SelectedHandleProperty,vtkProperty);
177 vtkGetObjectMacro(FaceProperty,vtkProperty);
178 vtkGetObjectMacro(SelectedFaceProperty,vtkProperty);
184 vtkGetObjectMacro(OutlineProperty,vtkProperty);
185 vtkGetObjectMacro(SelectedOutlineProperty,vtkProperty);
191 void SetOutlineFaceWires(
int);
192 vtkGetMacro(OutlineFaceWires,
int);
201 void SetOutlineCursorWires(
int);
202 vtkGetMacro(OutlineCursorWires,
int);
210 vtkSetMacro(TranslationEnabled,
int);
211 vtkGetMacro(TranslationEnabled,
int);
212 vtkBooleanMacro(TranslationEnabled,
int);
213 vtkSetMacro(ScalingEnabled,
int);
214 vtkGetMacro(ScalingEnabled,
int);
215 vtkBooleanMacro(ScalingEnabled,
int);
216 vtkSetMacro(RotationEnabled,
int);
217 vtkGetMacro(RotationEnabled,
int);
218 vtkBooleanMacro(RotationEnabled,
int);
237 static void ProcessEvents(vtkObject*
object,
243 virtual void OnMouseMove();
244 virtual void OnLeftButtonDown();
245 virtual void OnLeftButtonUp();
246 virtual void OnMiddleButtonDown();
247 virtual void OnMiddleButtonUp();
248 virtual void OnRightButtonDown();
249 virtual void OnRightButtonUp();
267 virtual void PositionHandles();
268 int HighlightHandle(vtkProp *prop);
269 void HighlightFace(
int cellId);
270 void HighlightOutline(
int highlight);
271 void ComputeNormals();
286 virtual void RegisterPickers();
289 virtual void Translate(
double *p1,
double *p2);
290 virtual void Scale(
double *p1,
double *p2,
int X,
int Y);
291 virtual void Rotate(
int X,
int Y,
double *p1,
double *p2,
double *vpn);
292 void MovePlusXFace(
double *p1,
double *p2);
293 void MoveMinusXFace(
double *p1,
double *p2);
294 void MovePlusYFace(
double *p1,
double *p2);
295 void MoveMinusYFace(
double *p1,
double *p2);
296 void MovePlusZFace(
double *p1,
double *p2);
297 void MoveMinusZFace(
double *p1,
double *p2);
301 void MoveFace(
double *p1,
double *p2,
double *dir,
302 double *x1,
double *x2,
double *x3,
double *x4,
306 void GetDirection(
const double Nx[3],
const double Ny[3],
307 const double Nz[3],
double dir[3]);
320 void CreateDefaultProperties();
326 void GenerateOutline();
concrete dataset represents vertices, lines, polygons, and triangle strips
create a polygonal sphere centered at the origin