NVIDIA IndeX API nvidia_logo_transpbg.gif Up
nv::index::ICamera Class Referenceabstract

Abstract interface class representing a generic camera. More...

#include <icamera.h>

Inherits mi::base::Interface_declare< 0x1247f2e7, ... >.

Public Member Functions

virtual void set (const mi::math::Vector_struct< mi::Float32, 3 > &eye_point, const mi::math::Vector_struct< mi::Float32, 3 > &view_direction, const mi::math::Vector_struct< mi::Float32, 3 > &up_direction)=0
 Set the basic camera parameters. More...
 
virtual void set_eye_point (const mi::math::Vector_struct< mi::Float32, 3 > &eye_point)=0
 Sets the eye point (the origin of the camera's coordinate system). More...
 
virtual mi::math::Vector_struct< mi::Float32, 3 > get_eye_point () const =0
 Returns the eye point (the origin of the camera's coordinate system). More...
 
virtual bool set_view_direction (const mi::math::Vector_struct< mi::Float32, 3 > &view_direction)=0
 Set the view direction. More...
 
virtual mi::math::Vector_struct< mi::Float32, 3 > get_view_direction () const =0
 Returns the normalized view direction. More...
 
virtual void set_up_direction (const mi::math::Vector_struct< mi::Float32, 3 > &up_direction)=0
 Sets the up vector. More...
 
virtual mi::math::Vector_struct< mi::Float32, 3 > get_up_direction () const =0
 Returns the normalized up vector. More...
 

Detailed Description

Abstract interface class representing a generic camera.

Both perspective projection and orthographic projection are supported through the sub-interface classes IPerspective_camera and IOrthographic_camera.

The base class contains general attributes allowing the positioning and orientation of the camera in the virtual scene.

A camera's position and orientation are defined by three parameters. The camera's position is defined in space (the eye point). The camera's viewing direction is defined by the viewing direction). Rotation around the viewing direction as an axis is defined by a vector which represents "straight up" (the up vector).

Instances of ICamera implementations are created by IScene::create_camera().

Note: ICamera is not a IScene_element.

Member Function Documentation

 get_eye_point()

virtual mi::math::Vector_struct< mi::Float32, 3 > nv::index::ICamera::get_eye_point ( ) const
pure virtual

Returns the eye point (the origin of the camera's coordinate system).

Returns
Eye point

 get_up_direction()

virtual mi::math::Vector_struct< mi::Float32, 3 > nv::index::ICamera::get_up_direction ( ) const
pure virtual

Returns the normalized up vector.

Returns
Normalized up vector

 get_view_direction()

virtual mi::math::Vector_struct< mi::Float32, 3 > nv::index::ICamera::get_view_direction ( ) const
pure virtual

Returns the normalized view direction.

Returns
Normalized view direction

 set()

virtual void nv::index::ICamera::set ( const mi::math::Vector_struct< mi::Float32, 3 > &  eye_point,
const mi::math::Vector_struct< mi::Float32, 3 > &  view_direction,
const mi::math::Vector_struct< mi::Float32, 3 > &  up_direction 
)
pure virtual

Set the basic camera parameters.

A convenienve method for setting up basic camera parameters.

Parameters
[in]eye_pointCamera eye point
[in]view_directionViewing direction
[in]up_directionUp vector

 set_eye_point()

virtual void nv::index::ICamera::set_eye_point ( const mi::math::Vector_struct< mi::Float32, 3 > &  eye_point)
pure virtual

Sets the eye point (the origin of the camera's coordinate system).

Parameters
[in]eye_pointEye point

 set_up_direction()

virtual void nv::index::ICamera::set_up_direction ( const mi::math::Vector_struct< mi::Float32, 3 > &  up_direction)
pure virtual

Sets the up vector.

Parameters
[in]up_directionUp vector, will be normalized.

 set_view_direction()

virtual bool nv::index::ICamera::set_view_direction ( const mi::math::Vector_struct< mi::Float32, 3 > &  view_direction)
pure virtual

Set the view direction.

Parameters
[in]view_directionCamera direction vector.
Returns
true when succeeded.

The documentation for this class was generated from the following file: