27 #ifndef vtkBoxRepresentation_h
28 #define vtkBoxRepresentation_h
30 #include "vtkInteractionWidgetsModule.h"
34 VTK_ABI_NAMESPACE_BEGIN
133 vtkGetObjectMacro(SelectedHandleProperty, vtkProperty);
142 vtkGetObjectMacro(FaceProperty, vtkProperty);
143 vtkGetObjectMacro(SelectedFaceProperty, vtkProperty);
152 vtkGetObjectMacro(OutlineProperty, vtkProperty);
153 vtkGetObjectMacro(SelectedOutlineProperty, vtkProperty);
160 void SetForegroundColor(
double _arg1,
double _arg2,
double _arg3);
161 void SetForegroundColor(const
double _arg[3])
163 this->SetForegroundColor(_arg[0], _arg[1], _arg[2]);
172 void SetInteractionColor(
double _arg1,
double _arg2,
double _arg3);
175 this->SetInteractionColor(_arg[0], _arg[1], _arg[2]);
184 void SetOutlineFaceWires(
int);
185 vtkGetMacro(OutlineFaceWires,
int);
196 void SetOutlineCursorWires(
int);
197 vtkGetMacro(OutlineCursorWires,
int);
207 virtual void HandlesOn();
208 virtual void HandlesOff();
222 unsigned long event,
void* calldata) override;
224 unsigned long event,
void* calldata) override;
226 unsigned long event,
void* calldata,
int modify = 0) override;
228 unsigned long event,
void* calldata) override;
235 void ReleaseGraphicsResources(
vtkWindow*) override;
237 int RenderTranslucentPolygonalGeometry(
vtkViewport*) override;
238 vtkTypeBool HasTranslucentPolygonalGeometry() override;
265 void SetInteractionState(
int state);
272 vtkGetMacro(TwoPlaneMode,
bool);
273 void SetTwoPlaneMode(
bool);
281 vtkGetMacro(SnapToAxes,
bool);
282 vtkSetMacro(SnapToAxes,
bool);
304 vtkGetMacro(TranslationAxis,
int);
305 vtkSetClampMacro(TranslationAxis,
int, -1, 2);
338 std::vector<double> GetCorners();
339 void SetCorners(std::vector<double>
points);
356 vtkSetMacro(RotationAxisMode,
int);
357 vtkGetMacro(RotationAxisMode,
int);
371 double LastEventPosition[3];
372 double LastEventOrientation[4];
373 double StartEventOrientation[4];
374 double SnappedEventOrientations[3][4];
375 bool SnappedOrientation[3];
399 virtual void PositionHandles();
400 int HighlightHandle(
vtkProp* prop);
401 void HighlightFace(
int cellId);
402 void HighlightOutline(
int highlight);
403 virtual void ComputeNormals();
404 virtual void SizeHandles();
432 virtual void CreateDefaultProperties();
438 void GenerateOutline();
441 virtual void Translate(
const double* p1,
const double* p2);
442 virtual void Scale(
const double* p1,
const double* p2,
int X,
int Y);
443 virtual void Rotate(
int X,
int Y,
const double* p1,
const double* p2,
const double* vpn);
444 void MovePlusXFace(
const double* p1,
const double* p2);
445 void MoveMinusXFace(
const double* p1,
const double* p2);
446 void MovePlusYFace(
const double* p1,
const double* p2);
447 void MoveMinusYFace(
const double* p1,
const double* p2);
448 void MovePlusZFace(
const double* p1,
const double* p2);
449 void MoveMinusZFace(
const double* p1,
const double* p2);
450 void UpdatePose(
const double* p1,
const double* d1,
const double* p2,
const double* d2);
462 void MoveFace(
const double* p1,
const double* p2,
const double*
dir,
double* x1,
double* x2,
463 double* x3,
double* x4,
double* x5);
466 void GetDirection(
const double Nx[3],
const double Ny[3],
const double Nz[3],
double dir[3]);
472 int RotationAxisMode = ROTATE_FREE;
475 VTK_ABI_NAMESPACE_END
vtkProperty * SelectedHandleProperty
abstract superclass for all actors, volumes and annotations
vtkPolyData * OutlinePolyData
vtkPolyDataMapper * HexMapper
represents an object (geometry & properties) in a rendered scene
represent and manipulate 4x4 transformation matrices
void SetXTranslationAxisOn()
Toggles constraint translation axis on/off.
represent the position of a point in 3D space
abstract specification for Viewports
represent surface properties of a geometric object
bool IsTranslationConstrained()
Returns true if ConstrainedAxis.
void SetInteractionColor(const double _arg[3])
Set the interaction color.
implicit function for convex set of planes
a class defining the representation for the vtkBoxWidget2
vtkProperty * SelectedFaceProperty
vtkPlane * GetUnderlyingPlane(int i)
vtkProperty * OutlineProperty
concrete dataset represents vertices, lines, polygons, and triangle strips
void SetRotationAxisModeToX()
Get/Set the rotation mode of the box.
dynamic, self-adjusting array of double
void SetRotationAxisModeToZ()
Get/Set the rotation mode of the box.
window superclass for vtkRenderWindow
platform-independent render window interaction including picking and frame rate control.
create a polygonal sphere centered at the origin
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
vtkCellPicker * HexPicker
vtkPolyDataMapper ** HandleMapper
void SetRotationAxisModeToFree()
Get/Set the rotation mode of the box.
perform various plane computations
vtkPolyDataMapper * HexFaceMapper
vtkSphereSource ** HandleGeometry
#define VTK_SIZEHINT(...)
vtkPolyData * HexFacePolyData
#define VTK_MARSHALEXCLUDE(reason)
vtkProperty * SelectedOutlineProperty
create a line defined by two end points
map vtkPolyData to graphics primitives
vtkProperty * FaceProperty
vtkProperty * HandleProperty
void OutlineFaceWiresOn()
Control the representation of the outline.
void OutlineCursorWiresOff()
Control the representation of the outline.
void SetYTranslationAxisOn()
Toggles constraint translation axis on/off.
ray-cast cell picker for all kinds of Prop3Ds
vtkDoubleArray * PlaneNormals
void SetRotationAxisModeToY()
Get/Set the rotation mode of the box.
void OutlineCursorWiresOn()
Control the representation of the outline.
bool IsRotationAxisLocked() const
Get/Set the rotation mode of the box.
vtkCellPicker * LastPicker
vtkCellPicker * HandlePicker
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
vtkPolyData * HexPolyData
void SetZTranslationAxisOn()
Toggles constraint translation axis on/off.
vtkPolyDataMapper * OutlineMapper
void SetTranslationAxisOff()
Toggles constraint translation axis on/off.
#define VTK_MARSHAL_EXCLUDE_REASON_IS_INTERNAL