46 class vtkCameraCallbackCommand;
62 void SetPosition(
double x,
double y,
double z);
64 this->SetPosition(a[0], a[1], a[2]); };
65 vtkGetVector3Macro(Position,
double);
71 void SetFocalPoint(
double x,
double y,
double z);
73 this->SetFocalPoint(a[0], a[1], a[2]);};
74 vtkGetVector3Macro(FocalPoint,
double);
80 void SetViewUp(
double vx,
double vy,
double vz);
82 this->SetViewUp(a[0], a[1], a[2]); }
83 vtkGetVector3Macro(ViewUp,
double);
89 void OrthogonalizeViewUp();
93 void SetDistance(
double);
98 vtkGetMacro(Distance,
double);
105 vtkGetVector3Macro(DirectionOfProjection,
double);
112 void Dolly(
double value);
116 void SetRoll(
double angle);
122 void Roll(
double angle);
128 void Azimuth(
double angle);
135 void Yaw(
double angle);
141 void Elevation(
double angle);
146 void Pitch(
double angle);
152 void SetParallelProjection(
int flag);
153 vtkGetMacro(ParallelProjection,
int);
154 vtkBooleanMacro(ParallelProjection,
int);
164 void SetUseHorizontalViewAngle(
int flag);
165 vtkGetMacro(UseHorizontalViewAngle,
int);
166 vtkBooleanMacro(UseHorizontalViewAngle,
int);
177 void SetViewAngle(
double angle);
178 vtkGetMacro(ViewAngle,
double);
187 void SetParallelScale(
double scale);
188 vtkGetMacro(ParallelScale ,
double);
195 void Zoom(
double factor);
207 void SetClippingRange(
double dNear,
double dFar);
209 { this->SetClippingRange(a[0], a[1]); }
210 vtkGetVector2Macro(ClippingRange,
double);
217 void SetThickness(
double);
218 vtkGetMacro(Thickness,
double);
227 void SetWindowCenter(
double x,
double y);
228 vtkGetVector2Macro(WindowCenter,
double);
239 void SetObliqueAngles(
double alpha,
double beta);
250 vtkGetVector3Macro(ViewPlaneNormal,
double);
258 void SetViewShear(
double dxdz,
double dydz,
double center);
259 void SetViewShear(
double d[3]);
260 vtkGetVector3Macro(ViewShear,
double);
266 vtkSetMacro(EyeAngle,
double);
267 vtkGetMacro(EyeAngle,
double);
275 vtkSetMacro(FocalDisk,
double);
276 vtkGetMacro(FocalDisk,
double);
284 vtkSetMacro(UseOffAxisProjection,
int);
285 vtkGetMacro(UseOffAxisProjection,
int);
286 vtkBooleanMacro(UseOffAxisProjection,
int);
292 vtkSetVector3Macro(ScreenBottomLeft,
double);
293 vtkGetVector3Macro(ScreenBottomLeft,
double);
299 vtkSetVector3Macro(ScreenBottomRight,
double);
300 vtkGetVector3Macro(ScreenBottomRight,
double);
306 vtkSetVector3Macro(ScreenTopRight,
double);
307 vtkGetVector3Macro(ScreenTopRight,
double);
313 vtkSetMacro(EyeSeparation,
double);
314 vtkGetMacro(EyeSeparation,
double);
322 void SetEyePosition(
double eyePosition[3]);
323 void GetEyePosition(
double eyePosition[3]);
328 void GetEyePlaneNormal(
double normal[3]);
341 void SetEyeTransformMatrix(
const double elements[16]);
354 void SetModelTransformMatrix(
const double elements[16]);
383 virtual vtkMatrix4x4 *GetProjectionTransformMatrix(
double aspect,
408 virtual vtkMatrix4x4 *GetCompositeProjectionTransformMatrix(
double aspect,
444 unsigned long GetViewingRaysMTime();
448 void ViewingRaysModified();
457 virtual void GetFrustumPlanes(
double aspect,
double planes[24]);
461 double *GetOrientation();
462 double *GetOrientationWXYZ();
467 void ComputeViewPlaneNormal();
479 vtkSetMacro(LeftEye,
int);
480 vtkGetMacro(LeftEye,
int);
495 vtkSetMacro(FreezeFocalPoint,
bool);
496 vtkGetMacro(FreezeFocalPoint,
bool);
505 void ComputeDistance();
506 virtual void ComputeViewTransform();
511 virtual void ComputeProjectionTransform(
double aspect,
518 void ComputeCompositeProjectionTransform(
double aspect,
523 void ComputeCameraLightTransform();
528 void ComputeWorldToScreenMatrix();
531 void ComputeOffAxisProjectionFrustum();
534 void ComputeModelViewMatrix();
540 double WindowCenter[2];
541 double ObliqueAngles[2];
542 double FocalPoint[3];
546 double ClippingRange[2];
554 double DirectionOfProjection[3];
555 double ViewPlaneNormal[3];
561 double ScreenBottomLeft[3];
562 double ScreenBottomRight[3];
563 double ScreenTopRight[3];
587 friend class vtkCameraCallbackCommand;
vtkHomogeneousTransform * UserTransform
abstract base class for most VTK objects
represent and manipulate 4x4 transformation matrices
void SetViewUp(const double a[3])
int UseHorizontalViewAngle
record modification and/or execution time
void DeepCopy(vtkPistonReference *self, vtkPistonReference *other)
abstract specification for renderers
void SetPosition(const double a[3])
vtkTransform * ViewTransform
virtual void UpdateViewport(vtkRenderer *vtkNotUsed(ren))
vtkMatrix4x4 * ModelTransformMatrix
supports function callbacks
vtkTimeStamp WorldToScreenMatrixMTime
virtual void PrintSelf(ostream &os, vtkIndent indent)
a simple class to control print indentation
a virtual camera for 3D rendering
virtual void Render(vtkRenderer *)
void SetFocalPoint(const double a[3])
vtkMatrix4x4 * WorldToScreenMatrix
vtkCameraCallbackCommand * UserViewTransformCallbackCommand
vtkTransform * CameraLightTransform
void SetClippingRange(const double a[2])
vtkTransform * ModelViewTransform
vtkPerspectiveTransform * Transform
vtkMatrix4x4 * EyeTransformMatrix
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
#define VTKRENDERINGCORE_EXPORT
vtkTimeStamp ViewingRaysMTime
vtkHomogeneousTransform * UserViewTransform
vtkPerspectiveTransform * ProjectionTransform