Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

nvsg::PerspectiveCamera Class Reference

A perspective camera. More...

#include <PerspectiveCamera.h>

Inheritance diagram for nvsg::PerspectiveCamera:

Inheritance graph
[legend]
Collaboration diagram for nvsg::PerspectiveCamera:

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual NVSG_API const PerspectiveCameraclone (void) const
 Create a clone of this PerspectiveCamera.
NVSG_API float getFieldOfView () const
 Get the field of view (fovy).
NVSG_API void setFieldOfView (float fov)
 Set the field of view (fovy).
virtual NVSG_API void setTargetDistance (float td)
 Set the distance to the target point.
virtual NVSG_API nvmath::Mat44f getProjection () const
 Get the projection matrix.
virtual NVSG_API nvmath::Mat44f getInverseProjection () const
 Get the inverse projection matrix.

Static Public Member Functions

static NVSG_API const PerspectiveCameracreate (void)
 Create a PerspectiveCamera.
static NVSG_API const PerspectiveCameracreateFromBase (const SimpleCamera &rhs)
 Create a PerspectiveCamera by copying from a SimpleCamera.

Protected Member Functions

NVSG_API PerspectiveCamera ()
 Constructor.
NVSG_API PerspectiveCamera (const SimpleCamera &rhs)
 Partial Constructor.
NVSG_API PerspectiveCamera (const PerspectiveCamera &rhs)
 Copy Constructor.
virtual NVSG_API ~PerspectiveCamera (void)
 Protected destructor to prevent explicit creation on stack.

Detailed Description

A perspective camera.

This is a SimpleCamera that represents a perspective camera.


Constructor & Destructor Documentation

NVSG_API nvsg::PerspectiveCamera::PerspectiveCamera  )  [protected]
 

Constructor.

NVSG_API nvsg::PerspectiveCamera::PerspectiveCamera const SimpleCamera rhs  )  [protected]
 

Partial Constructor.

NVSG_API nvsg::PerspectiveCamera::PerspectiveCamera const PerspectiveCamera rhs  )  [protected]
 

Copy Constructor.

virtual NVSG_API nvsg::PerspectiveCamera::~PerspectiveCamera void   )  [protected, virtual]
 

Protected destructor to prevent explicit creation on stack.


Member Function Documentation

static NVSG_API const PerspectiveCamera* nvsg::PerspectiveCamera::create void   )  [static]
 

Create a PerspectiveCamera.

Returns:
a constant pointer to a PerspectiveCamera.

static NVSG_API const PerspectiveCamera* nvsg::PerspectiveCamera::createFromBase const SimpleCamera rhs  )  [static]
 

Create a PerspectiveCamera by copying from a SimpleCamera.

Returns:
a constant pointer to a PerspectiveCamera.
Parameters:
rhs  SimpleCamera to copy from

virtual NVSG_API const PerspectiveCamera* nvsg::PerspectiveCamera::clone void   )  const [virtual]
 

Create a clone of this PerspectiveCamera.

Returns:
a constant pointer to a PerspectiveCamera.

Implements nvsg::SimpleCamera.

float nvsg::PerspectiveCamera::getFieldOfView  )  const [inline]
 

Get the field of view (fovy).

The field of view is the view angle (in radians) in the y-direction.

Returns:
The field of view (in radians)

NVSG_API void nvsg::PerspectiveCamera::setFieldOfView float  fov  ) 
 

Set the field of view (fovy).

The field of view is the view angle (in radians) in the y-direction.

Parameters:
fov  field of view to set (in radians)

virtual NVSG_API void nvsg::PerspectiveCamera::setTargetDistance float  td  )  [virtual]
 

Set the distance to the target point.

On perspective cameras, setting the target distance keeps the field of view constant. This means that the window size is adjusted accordingly.

Parameters:
td  distance to target point (or viewing plane)

Reimplemented from nvsg::SimpleCamera.

virtual NVSG_API nvmath::Mat44f nvsg::PerspectiveCamera::getProjection  )  const [virtual]
 

Get the projection matrix.

Returns:
The projection matrix

Implements nvsg::MonoCamera.

virtual NVSG_API nvmath::Mat44f nvsg::PerspectiveCamera::getInverseProjection  )  const [virtual]
 

Get the inverse projection matrix.

Returns:
The inverse projection matrix

Implements nvsg::MonoCamera.


The documentation for this class was generated from the following file:
Generated on Tue Mar 1 13:20:52 2005 for NVSGSDK by NVIDIA