 |
VTK
9.0.1
|
Go to the documentation of this file.
34 #include "vtkRenderingCoreModule.h"
43 class vtkCameraCallbackCommand;
65 vtkGetVector3Macro(Position,
double);
75 vtkGetVector3Macro(FocalPoint,
double);
85 vtkGetVector3Macro(ViewUp,
double);
106 vtkGetMacro(Distance,
double);
115 vtkGetVector3Macro(DirectionOfProjection,
double);
213 vtkGetMacro(ViewAngle,
double);
227 vtkGetMacro(ParallelScale,
double);
255 vtkGetVector2Macro(ClippingRange,
double);
267 vtkGetMacro(Thickness,
double);
281 vtkGetVector2Macro(WindowCenter,
double);
312 vtkGetVector3Macro(ViewPlaneNormal,
double);
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);
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);
515 vtkSetMacro(UseExplicitProjectionTransformMatrix,
bool);
516 vtkGetMacro(UseExplicitProjectionTransformMatrix,
bool);
517 vtkBooleanMacro(UseExplicitProjectionTransformMatrix,
bool);
541 double aspect,
double nearz,
double farz);
554 double aspect,
double nearz,
double farz);
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);
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;
vtkTransform * ViewTransform
void DeepCopy(vtkCamera *source)
Copy the properties of ‘source’ into ‘this’.
vtkTransform * CameraLightTransform
virtual vtkMatrix4x4 * GetViewTransformMatrix()
For backward compatibility.
vtkMTimeType GetViewingRaysMTime()
Return the MTime that concerns recomputing the view rays of the camera.
vtkTypeBool ParallelProjection
void PartialCopy(vtkCamera *source)
Copy the ivars.
virtual vtkMatrix4x4 * GetModelViewTransformMatrix()
Return the model view matrix of model view transform.
void GetEyePosition(double eyePosition[3])
void OrthogonalizeViewUp()
Recompute the ViewUp vector to force it to be perpendicular to camera->focalpoint vector.
record modification and/or execution time
void SetDistance(double)
Move the focal point so that it is the specified distance from the camera position.
static vtkCamera * New()
Construct camera instance with its focal point at the origin, and position=(0,0,1).
vtkTimeStamp ViewingRaysMTime
virtual vtkMatrix4x4 * GetProjectionTransformMatrix(double aspect, double nearz, double farz)
Return the projection transform matrix, which converts from camera coordinates to viewport coordinate...
void SetViewUp(const double a[3])
abstract base class for most VTK objects
void SetClippingRange(const double a[2])
void SetObliqueAngles(double alpha, double beta)
Get/Set the oblique viewing angles.
vtkPerspectiveTransform * Transform
void SetFocalPoint(double x, double y, double z)
Set/Get the focal of the camera in world coordinates.
vtkTypeBool UseOffAxisProjection
virtual vtkTransform * GetViewTransformObject()
For backward compatibility.
bool UseExplicitProjectionTransformMatrix
void ViewingRaysModified()
Mark that something has changed which requires the view rays to be recomputed.
#define VTK_SIZEHINT(...)
void SetParallelProjection(vtkTypeBool flag)
Set/Get the value of the ParallelProjection instance variable.
void ComputeCameraLightTransform()
void ComputeWorldToScreenMatrix()
Given screen screen top, bottom left and top right calculate screen rotation.
void SetEyePosition(double eyePosition[3])
Set/Get the eye position (center point between two eyes).
vtkMatrix4x4 * ExplicitProjectionTransformMatrix
virtual vtkPerspectiveTransform * GetProjectionTransformObject(double aspect, double nearz, double farz)
Return the projection transform matrix, which converts from camera coordinates to viewport coordinate...
virtual void SetInformation(vtkInformation *)
void SetScissorRect(vtkRecti scissorRect)
Set/Get the vtkRect value of the scissor.
void ComputeModelViewMatrix()
Compute model view matrix for the camera.
void SetParallelScale(double scale)
Set/Get the scaling used for a parallel projection, i.e.
virtual vtkTransform * GetModelViewTransformObject()
Return the model view transform.
void SetUseHorizontalViewAngle(vtkTypeBool flag)
Set/Get the value of the UseHorizontalViewAngle instance variable.
void GetScissorRect(vtkRecti &scissorRect)
a simple class to control print indentation
represent and manipulate 4x4 transformation matrices
vtkMatrix4x4 * ModelTransformMatrix
void SetViewAngle(double angle)
Set/Get the camera view angle, which is the angular height of the camera view measured in degrees.
virtual vtkMatrix4x4 * GetProjectionTransformMatrix(vtkRenderer *ren)
Return the projection transform matrix, which converts from camera coordinates to viewport coordinate...
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
a virtual camera for 3D rendering
virtual void SetExplicitProjectionTransformMatrix(vtkMatrix4x4 *)
Set/get an explicit 4x4 projection matrix to use, rather than computing one from other state variable...
void SetPosition(const double a[3])
virtual void GetFrustumPlanes(double aspect, double planes[24])
Get the plane equations that bound the view frustum.
vtkTimeStamp WorldToScreenMatrixMTime
void SetPosition(double x, double y, double z)
Set/Get the position of the camera in world coordinates.
void ComputeCompositeProjectionTransform(double aspect, double nearz, double farz)
These methods should only be used within vtkCamera.cxx.
void SetEyeTransformMatrix(vtkMatrix4x4 *matrix)
Set/Get eye transformation matrix.
virtual void ComputeProjectionTransform(double aspect, double nearz, double farz)
These methods should only be used within vtkCamera.cxx.
void ShallowCopy(vtkCamera *source)
Copy the properties of ‘source’ into ‘this’.
void SetUserViewTransform(vtkHomogeneousTransform *transform)
In addition to the instance variables such as position and orientation, you can add an additional tra...
void SetViewShear(double dxdz, double dydz, double center)
Set/get the shear transform of the viewing frustum.
void SetEyeTransformMatrix(const double elements[16])
Set the eye transform matrix.
virtual vtkMatrix4x4 * GetCompositeProjectionTransformMatrix(double aspect, double nearz, double farz)
Return the concatenation of the ViewTransform and the ProjectionTransform.
void SetThickness(double)
Set the distance between clipping planes.
vtkHomogeneousTransform * UserTransform
vtkInformation * Information
virtual void Render(vtkRenderer *)
This method causes the camera to set up whatever is required for viewing the scene.
void ComputeOffAxisProjectionFrustum()
Compute and use frustum using offaxis method.
void SetModelTransformMatrix(const double elements[16])
Set model transformation matrix.
abstract specification for renderers
void Zoom(double factor)
In perspective mode, decrease the view angle by the specified factor.
vtkPerspectiveTransform * ProjectionTransform
void SetRoll(double angle)
Set the roll angle of the camera about the direction of projection.
supports function callbacks
vtkTypeBool UseHorizontalViewAngle
void SetViewShear(double d[3])
void SetUserTransform(vtkHomogeneousTransform *transform)
In addition to the instance variables such as position and orientation, you can add an additional tra...
void SetWindowCenter(double x, double y)
Set/Get the center of the window in viewport coordinates.
void SetClippingRange(double dNear, double dFar)
Set/Get the location of the near and far clipping planes along the direction of projection.
vtkCameraCallbackCommand * UserViewTransformCallbackCommand
void Roll(double angle)
Rotate the camera about the direction of projection.
void SetFocalPoint(const double a[3])
double * GetOrientation()
Get the orientation of the camera.
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
void ComputeDistance()
These methods should only be used within vtkCamera.cxx.
void Pitch(double angle)
Rotate the focal point about the cross product of the view up vector and the direction of projection,...
void Yaw(double angle)
Rotate the focal point about the view up vector, using the camera's position as the center of rotatio...
void Elevation(double angle)
Rotate the camera about the cross product of the negative of the direction of projection and the view...
void Dolly(double value)
Divide the camera's distance from the focal point by the given dolly value.
void SetViewUp(double vx, double vy, double vz)
Set/Get the view up direction for the camera.
void Azimuth(double angle)
Rotate the camera about the view up vector centered at the focal point.
vtkHomogeneousTransform * UserViewTransform
void ApplyTransform(vtkTransform *t)
Apply a transform to the camera.
void SetModelTransformMatrix(vtkMatrix4x4 *matrix)
Set/Get model transformation matrix.
vtkTransform * ModelViewTransform
vtkMatrix4x4 * EyeTransformMatrix
void GetEyePlaneNormal(double normal[3])
Get normal vector from eye to screen rotated by EyeTransformMatrix.
vtkTypeUInt32 vtkMTimeType
virtual void ComputeViewTransform()
vtkMatrix4x4 * WorldToScreenMatrix