24#ifndef vtkCamera3DRepresentation_h
25#define vtkCamera3DRepresentation_h
27#include "vtkInteractionWidgetsModule.h"
35VTK_ABI_NAMESPACE_BEGIN
82 int RenderTranslucentPolygonalGeometry(
vtkViewport*) override;
101 vtkGetMacro(FrontHandleDistance,
double);
111 vtkGetMacro(UpHandleDistance,
double);
119 void SetTranslationAxisToXAxis() { this->SetTranslationAxis(Axis::XAxis); }
123 vtkSetClampMacro(TranslationAxis,
int, Axis::NONE, Axis::ZAxis);
124 vtkGetMacro(TranslationAxis,
int);
132 vtkSetMacro(TranslatingAll,
bool);
133 vtkGetMacro(TranslatingAll,
bool);
134 vtkBooleanMacro(TranslatingAll,
bool);
143 vtkGetMacro(FrustumVisibility,
bool);
144 vtkBooleanMacro(FrustumVisibility,
bool);
153 vtkGetMacro(SecondaryHandlesVisibility,
bool);
154 vtkBooleanMacro(SecondaryHandlesVisibility,
bool);
206 virtual void Scale(
const double p1[4],
const double p2[4],
int X,
int Y);
210 double LastEventPosition[3] = { 0.0 };
211 double LastEventOrientation[4] = { 0.0 };
212 double StartEventOrientation[4] = { 0.0 };
224 double FrontHandleDistance = 2.5;
225 double UpHandleDistance = 1.5;
244 bool TranslatingAll =
false;
245 bool FrustumVisibility =
true;
246 bool SecondaryHandlesVisibility =
true;
represents an object (geometry & properties) in a rendered scene
implicit function for a bounding box
a class defining the representation for the vtkCamera3DWidget
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for the class.
void SetTranslationAxisToZAxis()
Set/Get the constraint axis for translations.
void GetActors(vtkPropCollection *) override
These methods are necessary to make this representation behave as a vtkProp (i.e.,...
void StartWidgetInteraction(double e[2]) override
These are methods that satisfy vtkWidgetRepresentation's API.
vtkNew< vtkActor > CameraBoxActor
virtual void TranslatePosition(const double p1[4], const double p2[4])
std::array< vtkNew< vtkActor >, 3 > HandleSphereActor
void PlaceWidget(double bounds[6]) override
These are methods that satisfy vtkWidgetRepresentation's API.
vtkNew< vtkProperty > HandleProperty
static vtkCamera3DRepresentation * New()
Instantiate the class.
vtkNew< vtkTransform > UpTransform
virtual void Scale(const double p1[4], const double p2[4], int X, int Y)
vtkNew< vtkActor > CameraConeActor
vtkCamera3DRepresentation()
vtkNew< vtkTransform > FrontTransform
std::array< vtkNew< vtkLineSource >, 2 > HandleLineGeometry
void SetFrustumVisibility(bool visible)
Set/Get whether to show camera frustum.
virtual void TranslateNearTarget(const double p1[4], const double p2[4])
std::array< vtkNew< vtkActor >, 2 > HandleLineActor
void GetTranslation(const double p1[4], const double p2[4], double v[3])
vtkNew< vtkCameraActor > CameraFrustumActor
vtkSmartPointer< vtkCamera > Camera
vtkNew< vtkBox > BoundingBox
virtual void TranslateAll(const double p1[4], const double p2[4])
void SetInteractionState(int state)
The interaction state may be set from a widget (e.g., vtkCamera3DWidget) or other object.
void SetSecondaryHandlesVisibility(bool visible)
Set/Get whether to show secondary handles (spheres and lines).
vtkNew< vtkCellPicker > HandlePicker
int ComputeInteractionState(int X, int Y, int modify=0) override
These are methods that satisfy vtkWidgetRepresentation's API.
std::array< vtkNew< vtkSphereSource >, 3 > HandleSphereGeometry
void RegisterPickers() override
Register internal Pickers in the Picking Manager.
virtual void TranslateUp(const double p1[4], const double p2[4])
void SetTranslationAxisToNone()
Set/Get the constraint axis for translations.
void BuildRepresentation() override
These are methods that satisfy vtkWidgetRepresentation's API.
virtual void CreateDefaultProperties()
virtual void UpdateGeometry()
vtkNew< vtkProperty > SelectedHandleProperty
double * GetBounds() override
These are methods that satisfy vtkWidgetRepresentation's API.
void WidgetInteraction(double e[2]) override
These are methods that satisfy vtkWidgetRepresentation's API.
void SetTranslationAxisToYAxis()
Set/Get the constraint axis for translations.
vtkNew< vtkTransform > CameraTransform
virtual void TranslateTarget(const double p1[4], const double p2[4])
void HighlightHandle(vtkProp *prop)
~vtkCamera3DRepresentation() override
a frustum to represent a camera.
a virtual camera for 3D rendering
ray-cast cell picker for all kinds of Prop3Ds
a simple class to control print indentation
create a line defined by two end points
Allocate and hold a VTK object.
abstract superclass for all actors, volumes and annotations
represent surface properties of a geometric object
Hold a reference to a vtkObjectBase instance.
create a polygonal sphere centered at the origin
abstract specification for Viewports
window superclass for vtkRenderWindow
#define VTK_SIZEHINT(...)