38 #include "vtkRenderingCoreModule.h"
48 class vtkCameraCallbackCommand;
68 void SetPosition(
double x,
double y,
double z);
70 this->SetPosition(a[0], a[1], a[2]); };
71 vtkGetVector3Macro(Position,
double);
79 void SetFocalPoint(
double x,
double y,
double z);
81 this->SetFocalPoint(a[0], a[1], a[2]);};
82 vtkGetVector3Macro(FocalPoint,
double);
90 void SetViewUp(
double vx,
double vy,
double vz);
92 this->SetViewUp(a[0], a[1], a[2]); }
93 vtkGetVector3Macro(ViewUp,
double);
101 void OrthogonalizeViewUp();
107 void SetDistance(
double);
114 vtkGetMacro(Distance,
double);
123 vtkGetVector3Macro(DirectionOfProjection,
double);
132 void Dolly(
double value);
138 void SetRoll(
double angle);
146 void Roll(
double angle);
154 void Azimuth(
double angle);
163 void Yaw(
double angle);
171 void Elevation(
double angle);
178 void Pitch(
double angle);
185 void SetParallelProjection(
int flag);
186 vtkGetMacro(ParallelProjection,
int);
199 void SetUseHorizontalViewAngle(
int flag);
200 vtkGetMacro(UseHorizontalViewAngle,
int);
214 void SetViewAngle(
double angle);
215 vtkGetMacro(ViewAngle,
double);
226 void SetParallelScale(
double scale);
227 vtkGetMacro(ParallelScale ,
double);
235 void Zoom(
double factor);
249 void SetClippingRange(
double dNear,
double dFar);
251 { this->SetClippingRange(a[0], a[1]); }
252 vtkGetVector2Macro(ClippingRange,
double);
261 void SetThickness(
double);
262 vtkGetMacro(Thickness,
double);
273 void SetWindowCenter(
double x,
double y);
274 vtkGetVector2Macro(WindowCenter,
double);
288 void SetObliqueAngles(
double alpha,
double beta);
303 vtkGetVector3Macro(ViewPlaneNormal,
double);
313 void SetViewShear(
double dxdz,
double dydz,
double center);
314 void SetViewShear(
double d[3]);
315 vtkGetVector3Macro(ViewShear,
double);
324 vtkGetMacro(EyeAngle,
double);
335 vtkGetMacro(FocalDisk,
double);
347 vtkGetMacro(UseOffAxisProjection,
int);
357 vtkSetVector3Macro(ScreenBottomLeft,
double);
358 vtkGetVector3Macro(ScreenBottomLeft,
double);
367 vtkSetVector3Macro(ScreenBottomRight,
double);
368 vtkGetVector3Macro(ScreenBottomRight,
double);
377 vtkSetVector3Macro(ScreenTopRight,
double);
378 vtkGetVector3Macro(ScreenTopRight,
double);
388 vtkGetMacro(EyeSeparation,
double);
398 void SetEyePosition(
double eyePosition[3]);
399 void GetEyePosition(
double eyePosition[3]);
406 void GetEyePlaneNormal(
double normal[3]);
425 void SetEyeTransformMatrix(
const double elements[16]);
442 void SetModelTransformMatrix(
const double elements[16]);
482 virtual vtkMatrix4x4 *GetProjectionTransformMatrix(
double aspect,
507 virtual vtkMatrix4x4 *GetCompositeProjectionTransformMatrix(
double aspect,
555 void ViewingRaysModified();
566 virtual void GetFrustumPlanes(
double aspect,
double planes[24]);
572 double *GetOrientation();
573 double *GetOrientationWXYZ();
580 void ComputeViewPlaneNormal();
599 vtkGetMacro(LeftEye,
int);
625 vtkGetMacro(FreezeFocalPoint,
bool);
633 vtkGetMacro(UseScissor,
bool);
640 void SetScissorRect(
vtkRecti scissorRect);
641 void GetScissorRect(
vtkRecti& scissorRect);
652 void ComputeDistance();
653 virtual void ComputeViewTransform();
659 virtual void ComputeProjectionTransform(
double aspect,
666 void ComputeCompositeProjectionTransform(
double aspect,
670 void ComputeCameraLightTransform();
677 void ComputeWorldToScreenMatrix();
682 void ComputeOffAxisProjectionFrustum();
687 void ComputeModelViewMatrix();
697 double WindowCenter[2];
698 double ObliqueAngles[2];
699 double FocalPoint[3];
703 double ClippingRange[2];
711 double DirectionOfProjection[3];
712 double ViewPlaneNormal[3];
718 double ScreenBottomLeft[3];
719 double ScreenBottomRight[3];
720 double ScreenTopRight[3];
744 friend class vtkCameraCallbackCommand;
758 void operator=(const
vtkCamera&) VTK_DELETE_FUNCTION;
vtkHomogeneousTransform * UserTransform
abstract base class for most VTK objects
represent and manipulate 4x4 transformation matrices
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetViewUp(const double a[3])
Set/Get the view up direction for the camera.
int UseHorizontalViewAngle
record modification and/or execution time
void DeepCopy(vtkPistonReference *self, vtkPistonReference *other)
abstract specification for renderers
void SetPosition(const double a[3])
Set/Get the position of the camera in world coordinates.
vtkTransform * ViewTransform
vtkTypeUInt64 vtkMTimeType
virtual void UpdateViewport(vtkRenderer *vtkNotUsed(ren))
Update the viewport.
vtkMatrix4x4 * ModelTransformMatrix
supports function callbacks
vtkTimeStamp WorldToScreenMatrixMTime
a simple class to control print indentation
a virtual camera for 3D rendering
virtual void Render(vtkRenderer *)
This method causes the camera to set up whatever is required for viewing the scene.
void SetFocalPoint(const double a[3])
Set/Get the focal of the camera in world coordinates.
vtkMatrix4x4 * WorldToScreenMatrix
vtkCameraCallbackCommand * UserViewTransformCallbackCommand
vtkTransform * CameraLightTransform
void SetClippingRange(const double a[2])
Set/Get the location of the near and far clipping planes along the direction of projection.
vtkTransform * ModelViewTransform
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
vtkPerspectiveTransform * Transform
vtkMatrix4x4 * EyeTransformMatrix
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
vtkTimeStamp ViewingRaysMTime
vtkHomogeneousTransform * UserViewTransform
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...
vtkPerspectiveTransform * ProjectionTransform