24#ifndef vtkCamera3DRepresentation_h 
   25#define vtkCamera3DRepresentation_h 
   27#include "vtkInteractionWidgetsModule.h"  
   34VTK_ABI_NAMESPACE_BEGIN
 
   80  int RenderTranslucentPolygonalGeometry(
vtkViewport*) override;
 
   99  vtkGetMacro(FrontHandleDistance, 
double);
 
  109  vtkGetMacro(UpHandleDistance, 
double);
 
  117  void SetTranslationAxisToXAxis() { this->SetTranslationAxis(Axis::XAxis); }
 
  121  vtkSetClampMacro(TranslationAxis, 
int, Axis::NONE, Axis::ZAxis);
 
  122  vtkGetMacro(TranslationAxis, 
int);
 
  130  vtkSetMacro(TranslatingAll, 
bool);
 
  131  vtkGetMacro(TranslatingAll, 
bool);
 
  132  vtkBooleanMacro(TranslatingAll, 
bool);
 
  141  vtkGetMacro(FrustumVisibility, 
bool);
 
  142  vtkBooleanMacro(FrustumVisibility, 
bool);
 
  151  vtkGetMacro(SecondaryHandlesVisibility, 
bool);
 
  152  vtkBooleanMacro(SecondaryHandlesVisibility, 
bool);
 
  204  virtual void Scale(
const double p1[4], 
const double p2[4], 
int X, 
int Y);
 
  208  double LastEventPosition[3] = { 0.0 };
 
  209  double LastEventOrientation[4] = { 0.0 };
 
  210  double StartEventOrientation[4] = { 0.0 };
 
  222  double FrontHandleDistance = 2.5;
 
  223  double UpHandleDistance = 1.5;
 
  242  bool TranslatingAll = 
false;
 
  243  bool FrustumVisibility = 
true;
 
  244  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(...)