34 #include "vtkRenderingCoreModule.h"
43 class vtkCameraCallbackCommand;
63 void SetPosition(
double x,
double y,
double z);
65 vtkGetVector3Macro(Position,
double);
73 void SetFocalPoint(
double x,
double y,
double z);
75 vtkGetVector3Macro(FocalPoint,
double);
83 void SetViewUp(
double vx,
double vy,
double vz);
85 vtkGetVector3Macro(ViewUp,
double);
93 void OrthogonalizeViewUp();
99 void SetDistance(
double);
106 vtkGetMacro(Distance,
double);
115 vtkGetVector3Macro(DirectionOfProjection,
double);
124 void Dolly(
double value);
130 void SetRoll(
double angle);
138 void Roll(
double angle);
146 void Azimuth(
double angle);
155 void Yaw(
double angle);
163 void Elevation(
double angle);
170 void Pitch(
double angle);
197 vtkBooleanMacro(UseHorizontalViewAngle,
vtkTypeBool);
212 void SetViewAngle(
double angle);
213 vtkGetMacro(ViewAngle,
double);
226 void SetParallelScale(
double scale);
227 vtkGetMacro(ParallelScale,
double);
237 void Zoom(
double factor);
253 void SetClippingRange(
double dNear,
double dFar);
255 vtkGetVector2Macro(ClippingRange,
double);
266 void SetThickness(
double);
267 vtkGetMacro(Thickness,
double);
280 void SetWindowCenter(
double x,
double y);
281 vtkGetVector2Macro(WindowCenter,
double);
297 void SetObliqueAngles(
double alpha,
double beta);
312 vtkGetVector3Macro(ViewPlaneNormal,
double);
324 void SetViewShear(
double dxdz,
double dydz,
double center);
325 void SetViewShear(
double d[3]);
326 vtkGetVector3Macro(ViewShear,
double);
334 vtkSetMacro(EyeAngle,
double);
335 vtkGetMacro(EyeAngle,
double);
345 vtkSetMacro(FocalDisk,
double);
346 vtkGetMacro(FocalDisk,
double);
358 vtkSetMacro(FocalDistance,
double);
359 vtkGetMacro(FocalDistance,
double);
374 vtkBooleanMacro(UseOffAxisProjection,
vtkTypeBool);
383 vtkSetVector3Macro(ScreenBottomLeft,
double);
384 vtkGetVector3Macro(ScreenBottomLeft,
double);
393 vtkSetVector3Macro(ScreenBottomRight,
double);
394 vtkGetVector3Macro(ScreenBottomRight,
double);
403 vtkSetVector3Macro(ScreenTopRight,
double);
404 vtkGetVector3Macro(ScreenTopRight,
double);
413 vtkSetMacro(EyeSeparation,
double);
414 vtkGetMacro(EyeSeparation,
double);
424 void SetEyePosition(
double eyePosition[3]);
425 void GetEyePosition(
double eyePosition[3]);
432 void GetEyePlaneNormal(
double normal[3]);
451 void SetEyeTransformMatrix(
const double elements[16]);
468 void SetModelTransformMatrix(
const double elements[16]);
506 virtual void SetExplicitProjectionTransformMatrix(
vtkMatrix4x4*);
507 vtkGetObjectMacro(ExplicitProjectionTransformMatrix,
vtkMatrix4x4);
515 vtkSetMacro(UseExplicitProjectionTransformMatrix,
bool);
516 vtkGetMacro(UseExplicitProjectionTransformMatrix,
bool);
517 vtkBooleanMacro(UseExplicitProjectionTransformMatrix,
bool);
529 virtual vtkMatrix4x4* GetProjectionTransformMatrix(
double aspect,
double nearz,
double farz);
541 double aspect,
double nearz,
double farz);
553 virtual vtkMatrix4x4* GetCompositeProjectionTransformMatrix(
554 double aspect,
double nearz,
double farz);
601 void ViewingRaysModified();
612 virtual void GetFrustumPlanes(
double aspect,
double planes[24]);
626 void ComputeViewPlaneNormal();
644 vtkSetMacro(LeftEye,
int);
645 vtkGetMacro(LeftEye,
int);
670 vtkSetMacro(FreezeFocalPoint,
bool);
671 vtkGetMacro(FreezeFocalPoint,
bool);
678 vtkSetMacro(UseScissor,
bool);
679 vtkGetMacro(UseScissor,
bool);
686 void SetScissorRect(
vtkRecti scissorRect);
687 void GetScissorRect(
vtkRecti& scissorRect);
706 void ComputeDistance();
707 virtual void ComputeViewTransform();
713 virtual void ComputeProjectionTransform(
double aspect,
double nearz,
double farz);
718 void ComputeCompositeProjectionTransform(
double aspect,
double nearz,
double farz);
720 void ComputeCameraLightTransform();
726 void ComputeWorldToScreenMatrix();
731 void ComputeOffAxisProjectionFrustum();
736 void ComputeModelViewMatrix();
746 double WindowCenter[2];
747 double ObliqueAngles[2];
748 double FocalPoint[3];
752 double ClippingRange[2];
760 double DirectionOfProjection[3];
761 double ViewPlaneNormal[3];
767 double ScreenBottomLeft[3];
768 double ScreenBottomRight[3];
769 double ScreenTopRight[3];
797 friend class vtkCameraCallbackCommand;
813 void operator=(
const vtkCamera&) =
delete;