28#include "vtkRenderingCoreModule.h"  
   30VTK_ABI_NAMESPACE_BEGIN
 
   38class vtkCameraCallbackCommand;
 
   60  vtkGetVector3Macro(Position, 
double);
 
   70  vtkGetVector3Macro(FocalPoint, 
double);
 
   80  vtkGetVector3Macro(ViewUp, 
double);
 
  101  vtkGetMacro(Distance, 
double);
 
  110  vtkGetVector3Macro(DirectionOfProjection, 
double);
 
  208  vtkGetMacro(ViewAngle, 
double);
 
  222  vtkGetMacro(ParallelScale, 
double);
 
  250  vtkGetVector2Macro(ClippingRange, 
double);
 
  262  vtkGetMacro(Thickness, 
double);
 
  276  vtkGetVector2Macro(WindowCenter, 
double);
 
  307  vtkGetVector3Macro(ViewPlaneNormal, 
double);
 
  321  vtkGetVector3Macro(ViewShear, 
double);
 
  329  vtkSetMacro(EyeAngle, 
double);
 
  330  vtkGetMacro(EyeAngle, 
double);
 
  340  vtkSetMacro(FocalDisk, 
double);
 
  341  vtkGetMacro(FocalDisk, 
double);
 
  353  vtkSetMacro(FocalDistance, 
double);
 
  354  vtkGetMacro(FocalDistance, 
double);
 
  386  vtkSetVector3Macro(ScreenBottomLeft, 
double);
 
  387  vtkGetVector3Macro(ScreenBottomLeft, 
double);
 
  396  vtkSetVector3Macro(ScreenBottomRight, 
double);
 
  397  vtkGetVector3Macro(ScreenBottomRight, 
double);
 
  406  vtkSetVector3Macro(ScreenTopRight, 
double);
 
  407  vtkGetVector3Macro(ScreenTopRight, 
double);
 
  416  vtkSetMacro(EyeSeparation, 
double);
 
  417  vtkGetMacro(EyeSeparation, 
double);
 
  518  vtkSetMacro(UseExplicitProjectionTransformMatrix, 
bool);
 
  519  vtkGetMacro(UseExplicitProjectionTransformMatrix, 
bool);
 
  520  vtkBooleanMacro(UseExplicitProjectionTransformMatrix, 
bool);
 
  528  vtkSetMacro(ExplicitAspectRatio, 
double);
 
  529  vtkGetMacro(ExplicitAspectRatio, 
double);
 
  538  vtkSetMacro(UseExplicitAspectRatio, 
bool);
 
  539  vtkGetMacro(UseExplicitAspectRatio, 
bool);
 
  540  vtkBooleanMacro(UseExplicitAspectRatio, 
bool);
 
  566    double aspect, 
double nearz, 
double farz);
 
  580    double aspect, 
double nearz, 
double farz);
 
  653  vtkGetVector3Macro(FocalPointShift, 
double);
 
  654  vtkGetMacro(FocalPointScale, 
double);
 
  655  vtkGetVector3Macro(NearPlaneShift, 
double);
 
  656  vtkGetMacro(NearPlaneScale, 
double);
 
  657  vtkSetMacro(ShiftScaleThreshold, 
double);
 
  658  vtkGetMacro(ShiftScaleThreshold, 
double);
 
  673  void ComputeViewPlaneNormal();
 
  691  vtkGetMacro(Stereo, 
int);
 
  698  vtkSetMacro(LeftEye, 
int);
 
  699  vtkGetMacro(LeftEye, 
int);
 
  724  vtkSetMacro(FreezeFocalPoint, 
bool);
 
  725  vtkGetMacro(FreezeFocalPoint, 
bool);
 
  732  vtkSetMacro(UseScissor, 
bool);
 
  733  vtkGetMacro(UseScissor, 
bool);
 
  800  double WindowCenter[2];
 
  801  double ObliqueAngles[2];
 
  802  double FocalPoint[3];
 
  806  double ClippingRange[2];
 
  814  double DirectionOfProjection[3];
 
  815  double ViewPlaneNormal[3];
 
  821  double ScreenBottomLeft[3];
 
  822  double ScreenBottomRight[3];
 
  823  double ScreenTopRight[3];
 
  824  double ScreenCenter[3];
 
  853  double FocalPointShift[3];
 
  855  double NearPlaneShift[3];
 
  860  friend class vtkCameraCallbackCommand;
 
  876  void operator=(
const vtkCamera&) = 
delete;
 
supports function callbacks
 
a virtual camera for 3D rendering
 
bool UseExplicitProjectionTransformMatrix
 
void ComputeOffAxisProjectionFrustum()
Compute and use frustum using offaxis method.
 
vtkInformation * Information
 
virtual void SetInformation(vtkInformation *)
Set/Get the information object associated with this camera.
 
vtkMatrix4x4 * EyeTransformMatrix
 
void Roll(double angle)
Rotate the camera about the direction of projection.
 
vtkTypeBool ParallelProjection
 
virtual vtkMatrix4x4 * GetViewTransformMatrix()
For backward compatibility.
 
void ApplyTransform(vtkTransform *t)
Apply a transform to the camera.
 
void SetModelTransformMatrix(vtkMatrix4x4 *matrix)
Set/Get model transformation matrix.
 
double GetRoll()
Set the roll angle of the camera about the direction of projection.
 
double * GetOrientation()
Get the orientation of the camera.
 
vtkPerspectiveTransform * Transform
 
void ComputeCameraLightTransform()
 
void SetViewUp(const double a[3])
Set/Get the view up direction for the camera.
 
vtkTransform * ViewTransform
 
void SetUserTransform(vtkHomogeneousTransform *transform)
In addition to the instance variables such as position and orientation, you can add an additional tra...
 
virtual void ComputeViewTransform()
These methods should only be used within vtkCamera.cxx.
 
void SetEyePosition(double eyePosition[3])
Set/Get the eye position (center point between two eyes).
 
void SetPosition(const double a[3])
Set/Get the position of the camera in world coordinates.
 
void Yaw(double angle)
Rotate the focal point about the view up vector, using the camera's position as the center of rotatio...
 
void SetRoll(double angle)
Set the roll angle of the camera about the direction of projection.
 
void PartialCopy(vtkCamera *source)
Copy the ivars.
 
void Elevation(double angle)
Rotate the camera about the cross product of the negative of the direction of projection and the view...
 
void Azimuth(double angle)
Rotate the camera about the view up vector centered at the focal point.
 
vtkHomogeneousTransform * UserTransform
 
void DeepCopy(vtkCamera *source)
Copy the properties of ‘source’ into ‘this’.
 
void Pitch(double angle)
Rotate the focal point about the cross product of the view up vector and the direction of projection,...
 
vtkTypeBool UseOffAxisProjection
 
vtkMatrix4x4 * ExplicitProjectionTransformMatrix
 
void SetObliqueAngles(double alpha, double beta)
Get/Set the oblique viewing angles.
 
virtual vtkMatrix4x4 * GetProjectionTransformMatrix(vtkRenderer *ren)
Return the projection transform matrix, which converts from camera coordinates to viewport coordinate...
 
void SetParallelProjection(vtkTypeBool flag)
Set/Get the value of the ParallelProjection instance variable.
 
void ComputeModelViewMatrix()
Compute model view matrix for the camera.
 
virtual void GetFrustumPlanes(double aspect, double planes[24])
Get the plane equations that bound the view frustum.
 
void Zoom(double factor)
In perspective mode, decrease the view angle by the specified factor.
 
void SetPosition(double x, double y, double z)
Set/Get the position of the camera in world coordinates.
 
void SetViewUp(double vx, double vy, double vz)
Set/Get the view up direction for the camera.
 
vtkMatrix4x4 * ProjectionPlaneOrientationMatrix
 
vtkMatrix4x4 * ModelTransformMatrix
 
void ShallowCopy(vtkCamera *source)
Copy the properties of ‘source’ into ‘this’.
 
bool UseExplicitAspectRatio
 
void SetModelTransformMatrix(const double elements[16])
Set model transformation matrix.
 
void SetClippingRange(double dNear, double dFar)
Set/Get the location of the near and far clipping planes along the direction of projection.
 
virtual vtkMatrix4x4 * GetModelViewTransformMatrix()
Return the model view matrix of model view transform.
 
void SetThickness(double)
Set the distance between clipping planes.
 
void GetScissorRect(vtkRecti &scissorRect)
Set/Get the vtkRect value of the scissor.
 
virtual void Render(vtkRenderer *)
This method causes the camera to set up whatever is required for viewing the scene.
 
void ViewingRaysModified()
Mark that something has changed which requires the view rays to be recomputed.
 
static vtkCamera * New()
Construct camera instance with its focal point at the origin, and position=(0,0,1).
 
void SetFocalPoint(const double a[3])
Set/Get the focal of the camera in world coordinates.
 
void SetEyeTransformMatrix(vtkMatrix4x4 *matrix)
Set/Get eye transformation matrix.
 
void GetEyePosition(double eyePosition[3])
Set/Get the eye position (center point between two eyes).
 
void SetDistance(double)
Move the focal point so that it is the specified distance from the camera position.
 
virtual vtkPerspectiveTransform * GetProjectionTransformObject(double aspect, double nearz, double farz)
Return the projection transform matrix, which converts from camera coordinates to viewport coordinate...
 
void SetWindowCenter(double x, double y)
Set/Get the center of the window in viewport coordinates.
 
void SetEyeTransformMatrix(const double elements[16])
Set the eye transform matrix.
 
void SetScissorRect(vtkRecti scissorRect)
Set/Get the vtkRect value of the scissor.
 
virtual vtkMatrix4x4 * GetCompositeProjectionTransformMatrix(double aspect, double nearz, double farz)
Return the concatenation of the ViewTransform and the ProjectionTransform.
 
void ComputeCompositeProjectionTransform(double aspect, double nearz, double farz)
These methods should only be used within vtkCamera.cxx.
 
vtkTransform * CameraLightTransform
 
void SetViewAngle(double angle)
Set/Get the camera view angle, which is the angular height of the camera view measured in degrees.
 
void GetEyePlaneNormal(double normal[3])
Get normal vector from eye to screen rotated by EyeTransformMatrix.
 
vtkTypeBool UseHorizontalViewAngle
 
void OrthogonalizeViewUp()
Recompute the ViewUp vector to force it to be perpendicular to camera->focalpoint vector.
 
void Dolly(double value)
Divide the camera's distance from the focal point by the given dolly value.
 
virtual void SetExplicitProjectionTransformMatrix(vtkMatrix4x4 *)
Set/get an explicit 4x4 projection matrix to use, rather than computing one from other state variable...
 
vtkMTimeType GetViewingRaysMTime()
Return the MTime that concerns recomputing the view rays of the camera.
 
void SetFocalPoint(double x, double y, double z)
Set/Get the focal of the camera in world coordinates.
 
void SetUseHorizontalViewAngle(vtkTypeBool flag)
Set/Get the value of the UseHorizontalViewAngle instance variable.
 
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
 
void SetParallelScale(double scale)
Set/Get the scaling used for a parallel projection, i.e.
 
virtual vtkTransform * GetViewTransformObject()
For backward compatibility.
 
void SetViewShear(double d[3])
Set/get the shear transform of the viewing frustum.
 
void ComputeScreenOrientationMatrix()
Given screen screen top, bottom left and top right calculate screen orientation.
 
vtkHomogeneousTransform * UserViewTransform
 
vtkPerspectiveTransform * ProjectionTransform
 
vtkCameraCallbackCommand * UserViewTransformCallbackCommand
 
double ShiftScaleThreshold
 
virtual vtkTransform * GetModelViewTransformObject()
Return the model view transform.
 
virtual void ComputeProjectionTransform(double aspect, double nearz, double farz)
These methods should only be used within vtkCamera.cxx.
 
virtual vtkMatrix4x4 * GetProjectionTransformMatrix(double aspect, double nearz, double farz)
Return the projection transform matrix, which converts from camera coordinates to viewport coordinate...
 
void SetUserViewTransform(vtkHomogeneousTransform *transform)
In addition to the instance variables such as position and orientation, you can add an additional tra...
 
void ComputeDistance()
These methods should only be used within vtkCamera.cxx.
 
double GetOffAxisClippingAdjustment()
Get adjustment to clipping thickness, computed by camera based on the physical size of the screen and...
 
void SetViewShear(double dxdz, double dydz, double center)
Set/get the shear transform of the viewing frustum.
 
virtual void UpdateIdealShiftScale(double aspect)
The following methods are used to support view dependent methods for normalizing data (typically poin...
 
vtkTransform * ModelViewTransform
 
double OffAxisClippingAdjustment
 
void SetClippingRange(const double a[2])
Set/Get the location of the near and far clipping planes along the direction of projection.
 
vtkTimeStamp ViewingRaysMTime
 
double ExplicitAspectRatio
 
a simple class to control print indentation
 
represent and manipulate 4x4 transformation matrices
 
abstract base class for most VTK objects
 
abstract specification for renderers
 
record modification and/or execution time
 
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
 
vtkTypeUInt32 vtkMTimeType
 
#define VTK_SIZEHINT(...)