32 #include "vtkRenderingCoreModule.h"
42 class vtkCameraCallbackCommand;
62 void SetPosition(
double x,
double y,
double z);
64 this->SetPosition(a[0], a[1], a[2]); };
65 vtkGetVector3Macro(Position,
double);
73 void SetFocalPoint(
double x,
double y,
double z);
75 this->SetFocalPoint(a[0], a[1], a[2]);};
76 vtkGetVector3Macro(FocalPoint,
double);
84 void SetViewUp(
double vx,
double vy,
double vz);
86 this->SetViewUp(a[0], a[1], a[2]); }
87 vtkGetVector3Macro(ViewUp,
double);
95 void OrthogonalizeViewUp();
101 void SetDistance(
double);
108 vtkGetMacro(Distance,
double);
117 vtkGetVector3Macro(DirectionOfProjection,
double);
126 void Dolly(
double value);
132 void SetRoll(
double angle);
140 void Roll(
double angle);
148 void Azimuth(
double angle);
157 void Yaw(
double angle);
165 void Elevation(
double angle);
172 void Pitch(
double angle);
181 void SetParallelProjection(
int flag);
182 vtkGetMacro(ParallelProjection,
int);
197 void SetUseHorizontalViewAngle(
int flag);
198 vtkGetMacro(UseHorizontalViewAngle,
int);
214 void SetViewAngle(
double angle);
215 vtkGetMacro(ViewAngle,
double);
228 void SetParallelScale(
double scale);
229 vtkGetMacro(ParallelScale ,
double);
239 void Zoom(
double factor);
255 void SetClippingRange(
double dNear,
double dFar);
257 { this->SetClippingRange(a[0], a[1]); }
258 vtkGetVector2Macro(ClippingRange,
double);
269 void SetThickness(
double);
270 vtkGetMacro(Thickness,
double);
283 void SetWindowCenter(
double x,
double y);
284 vtkGetVector2Macro(WindowCenter,
double);
300 void SetObliqueAngles(
double alpha,
double beta);
315 vtkGetVector3Macro(ViewPlaneNormal,
double);
327 void SetViewShear(
double dxdz,
double dydz,
double center);
328 void SetViewShear(
double d[3]);
329 vtkGetVector3Macro(ViewShear,
double);
338 vtkGetMacro(EyeAngle,
double);
349 vtkGetMacro(FocalDisk,
double);
363 vtkGetMacro(UseOffAxisProjection,
int);
373 vtkSetVector3Macro(ScreenBottomLeft,
double);
374 vtkGetVector3Macro(ScreenBottomLeft,
double);
383 vtkSetVector3Macro(ScreenBottomRight,
double);
384 vtkGetVector3Macro(ScreenBottomRight,
double);
393 vtkSetVector3Macro(ScreenTopRight,
double);
394 vtkGetVector3Macro(ScreenTopRight,
double);
404 vtkGetMacro(EyeSeparation,
double);
414 void SetEyePosition(
double eyePosition[3]);
415 void GetEyePosition(
double eyePosition[3]);
422 void GetEyePlaneNormal(
double normal[3]);
441 void SetEyeTransformMatrix(
const double elements[16]);
458 void SetModelTransformMatrix(
const double elements[16]);
496 virtual void SetExplicitProjectionTransformMatrix(
vtkMatrix4x4*);
497 vtkGetObjectMacro(ExplicitProjectionTransformMatrix,
vtkMatrix4x4)
505 vtkSetMacro(UseExplicitProjectionTransformMatrix,
bool)
506 vtkGetMacro(UseExplicitProjectionTransformMatrix,
bool)
519 virtual
vtkMatrix4x4 *GetProjectionTransformMatrix(
double aspect,
546 virtual
vtkMatrix4x4 *GetCompositeProjectionTransformMatrix(
double aspect,
575 void SetUserTransform(vtkHomogeneousTransform *transform);
576 vtkGetObjectMacro(UserTransform,vtkHomogeneousTransform);
595 void ViewingRaysModified();
606 virtual void GetFrustumPlanes(
double aspect,
double planes[24]);
612 double *GetOrientation();
613 double *GetOrientationWXYZ();
620 void ComputeViewPlaneNormal();
639 vtkGetMacro(LeftEye,
int);
665 vtkGetMacro(FreezeFocalPoint,
bool);
673 vtkGetMacro(UseScissor,
bool);
680 void SetScissorRect(
vtkRecti scissorRect);
681 void GetScissorRect(
vtkRecti& scissorRect);
692 void ComputeDistance();
693 virtual
void ComputeViewTransform();
699 virtual
void ComputeProjectionTransform(
double aspect,
706 void ComputeCompositeProjectionTransform(
double aspect,
710 void ComputeCameraLightTransform();
717 void ComputeWorldToScreenMatrix();
722 void ComputeOffAxisProjectionFrustum();
727 void ComputeModelViewMatrix();
737 double WindowCenter[2];
738 double ObliqueAngles[2];
739 double FocalPoint[3];
743 double ClippingRange[2];
745 int ParallelProjection;
746 double ParallelScale;
751 double DirectionOfProjection[3];
752 double ViewPlaneNormal[3];
754 int UseHorizontalViewAngle;
756 int UseOffAxisProjection;
758 double ScreenBottomLeft[3];
759 double ScreenBottomRight[3];
760 double ScreenTopRight[3];
762 double EyeSeparation;
775 bool UseExplicitProjectionTransformMatrix;
786 vtkCameraCallbackCommand *UserViewTransformCallbackCommand;
787 friend class vtkCameraCallbackCommand;
793 bool FreezeFocalPoint;
801 void operator=(const
vtkCamera&) VTK_DELETE_FUNCTION;
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.
vtkTypeUInt32 vtkMTimeType
record modification and/or execution time
abstract specification for renderers
void SetPosition(const double a[3])
Set/Get the position of the camera in world coordinates.
virtual void UpdateViewport(vtkRenderer *vtkNotUsed(ren))
Update the viewport.
supports function callbacks
a simple class to control print indentation
a virtual camera for 3D rendering
void SetFocalPoint(const double a[3])
Set/Get the focal of the camera in world coordinates.
void SetClippingRange(const double a[2])
Set/Get the location of the near and far clipping planes along the direction of projection.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
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...