36 #ifndef vtkBoxRepresentation_h
37 #define vtkBoxRepresentation_h
39 #include "vtkInteractionWidgetsModule.h"
93 vtkGetMacro(InsideOut,
int);
133 vtkGetObjectMacro(SelectedHandleProperty,
vtkProperty);
143 vtkGetObjectMacro(SelectedFaceProperty,
vtkProperty);
153 vtkGetObjectMacro(SelectedOutlineProperty,
vtkProperty);
161 void SetOutlineFaceWires(
int);
162 vtkGetMacro(OutlineFaceWires,
int);
173 void SetOutlineCursorWires(
int);
174 vtkGetMacro(OutlineCursorWires,
int);
184 virtual void HandlesOn();
185 virtual void HandlesOff();
194 int ComputeInteractionState(
int X,
int Y,
int modify=0) VTK_OVERRIDE;
195 void StartWidgetInteraction(
double e[2]) VTK_OVERRIDE;
196 void WidgetInteraction(
double e[2]) VTK_OVERRIDE;
197 double *GetBounds() VTK_OVERRIDE;
204 void ReleaseGraphicsResources(
vtkWindow*) VTK_OVERRIDE;
205 int RenderOpaqueGeometry(
vtkViewport*) VTK_OVERRIDE;
206 int RenderTranslucentPolygonalGeometry(
vtkViewport*) VTK_OVERRIDE;
207 int HasTranslucentPolygonalGeometry() VTK_OVERRIDE;
211 enum {Outside=0,MoveF0,MoveF1,MoveF2,MoveF3,MoveF4,MoveF5,
Translating,Rotating,Scaling};
222 void SetInteractionState(
int state);
229 double LastEventPosition[3];
247 virtual
void PositionHandles();
248 int HighlightHandle(
vtkProp *prop);
249 void HighlightFace(
int cellId);
250 void HighlightOutline(
int highlight);
251 virtual
void ComputeNormals();
252 virtual
void SizeHandles();
267 void RegisterPickers() VTK_OVERRIDE;
283 virtual
void CreateDefaultProperties();
287 int OutlineFaceWires;
288 int OutlineCursorWires;
289 void GenerateOutline();
292 virtual
void Translate(
double *p1,
double *p2);
293 virtual
void Scale(
double *p1,
double *p2,
int X,
int Y);
294 virtual
void Rotate(
int X,
int Y,
double *p1,
double *p2,
double *vpn);
295 void MovePlusXFace(
double *p1,
double *p2);
296 void MoveMinusXFace(
double *p1,
double *p2);
297 void MovePlusYFace(
double *p1,
double *p2);
298 void MoveMinusYFace(
double *p1,
double *p2);
299 void MovePlusZFace(
double *p1,
double *p2);
300 void MoveMinusZFace(
double *p1,
double *p2);
309 void MoveFace(
double *p1,
double *p2,
double *
dir,
310 double *x1,
double *x2,
double *x3,
double *x4,
314 void GetDirection(const
double Nx[3],const
double Ny[3],
315 const
double Nz[3],
double dir[3]);
abstract superclass for all actors, volumes and annotations
represents an object (geometry & properties) in a rendered scene
represent and manipulate 4x4 transformation matrices
represent the position of a point in 3D space
abstract specification for Viewports
represent surface properties of a geometric object
implicit function for convex set of planes
a class defining the representation for the vtkBoxWidget2
concrete dataset represents vertices, lines, polygons, and triangle strips
dynamic, self-adjusting array of double
window superclass for vtkRenderWindow
create a polygonal sphere centered at the origin
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
create a line defined by two end points
map vtkPolyData to graphics primitives
void OutlineFaceWiresOn()
Control the representation of the outline.
void OutlineCursorWiresOff()
Control the representation of the outline.
ray-cast cell picker for all kinds of Prop3Ds
void OutlineCursorWiresOn()
Control the representation of the outline.
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
implicit function for a bounding box
void OutlineFaceWiresOff()
Control the representation of the outline.
represent and manipulate 3D points