VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
makVrv::DtCamera< T > Class Template Reference

template<class T>
class makVrv::DtCamera< T >

Template for 32/64 bit Cameras.

Public Member Functions

 DtCamera ()
 
virtual ~DtCamera ()
 
void setNearPlane (T fNearPlane)
 
nearPlane (void) const
 
void setFarPlane (T fFarPlane)
 
farPlane (void) const
 
void setFieldOfView (T fFOVy)
 
fieldOfView (void) const
 
void setPosition (const DtVector3< T > &vPosition)
 
DtVector3< T > position (void) const
 
void setDirection (const DtVector3< T > &vDirection)
 
DtVector3< T > direction (void) const
 
DtVector3< T > upVector (void) const
 
DtVector3< T > sideVector (void) const
 
void lookAt (const DtVector3< T > &vEye, const DtVector3< T > &vLook, const DtVector3< T > &vUp)
 
const DtMatrix4< T > & ViewMatrix (void) const
 
void SetPerspective (T fFOVy, T fAspectRatio, T fNearPlane, T fFarPlane)
 
const DtMatrix4< T > & ProjectionMatrix (void) const
 
const DtMatrix4< T > & ViewProjectionMatrix (void) const
 
void setFixedUpVector (bool fixed)
 
bool isFixedUpVector (void) const
 
aspectRatio (void) const
 
bool IsVisible (const DtAxisAlignedBoundingBox< T > &box) const
 
VisibilityFromCamera getVisibility (const DtAxisAlignedBoundingBox< T > &box) const
 
DtScreenRect screenAABB (const DtAxisAlignedBoundingBox< T > &worldBox, const Vector2_uint32 &viewPortSize) const
 

Private Member Functions

void updateFrustumPlanes (void)
 
void updateViewProjectionMatrix (void)
 

Private Attributes

DtVector3< T > myVecPosition
 
DtVector3< T > myVecDirection
 
DtVector3< T > myVecUpVector
 
DtVector3< T > myVecSideVector
 
myfNearPlane
 
myfFarPlane
 
myfFieldOfViewY
 
myfAspectRatio
 
DtMatrix4< T > myViewMatrix
 
DtMatrix4< T > myProjectionMatrix
 
DtMatrix4< T > myViewProjectionMatrix
 
bool mybFixedUpVector
 
DtPlane< T > myFrustumPlanes [6]
 

Constructor & Destructor Documentation

template<class T>
makVrv::DtCamera< T >::DtCamera ( )

CTOR.

template<class T>
virtual makVrv::DtCamera< T >::~DtCamera ( )
virtual

DTOR.

Member Function Documentation

template<class T>
void makVrv::DtCamera< T >::setNearPlane ( fNearPlane)
template<class T>
T makVrv::DtCamera< T >::nearPlane ( void  ) const
template<class T>
void makVrv::DtCamera< T >::setFarPlane ( fFarPlane)
template<class T>
T makVrv::DtCamera< T >::farPlane ( void  ) const
template<class T>
void makVrv::DtCamera< T >::setFieldOfView ( fFOVy)

This is the complete field of view in the Y direction. Not half.

template<class T>
T makVrv::DtCamera< T >::fieldOfView ( void  ) const
template<class T>
void makVrv::DtCamera< T >::setPosition ( const DtVector3< T > &  vPosition)
template<class T>
DtVector3<T> makVrv::DtCamera< T >::position ( void  ) const
template<class T>
void makVrv::DtCamera< T >::setDirection ( const DtVector3< T > &  vDirection)
template<class T>
DtVector3<T> makVrv::DtCamera< T >::direction ( void  ) const
template<class T>
DtVector3<T> makVrv::DtCamera< T >::upVector ( void  ) const
template<class T>
DtVector3<T> makVrv::DtCamera< T >::sideVector ( void  ) const
template<class T>
void makVrv::DtCamera< T >::lookAt ( const DtVector3< T > &  vEye,
const DtVector3< T > &  vLook,
const DtVector3< T > &  vUp 
)

gluLookAt style setting of the view matrix

template<class T>
const DtMatrix4<T>& makVrv::DtCamera< T >::ViewMatrix ( void  ) const

Get the view matrix specified above.

template<class T>
void makVrv::DtCamera< T >::SetPerspective ( fFOVy,
fAspectRatio,
fNearPlane,
fFarPlane 
)

gluPerspective style setting of the projection matrix

template<class T>
const DtMatrix4<T>& makVrv::DtCamera< T >::ProjectionMatrix ( void  ) const

Get the projection matrix specified above.

template<class T>
const DtMatrix4<T>& makVrv::DtCamera< T >::ViewProjectionMatrix ( void  ) const

concatenated matrix : projection * view

template<class T>
void makVrv::DtCamera< T >::setFixedUpVector ( bool  fixed)
template<class T>
bool makVrv::DtCamera< T >::isFixedUpVector ( void  ) const
template<class T>
T makVrv::DtCamera< T >::aspectRatio ( void  ) const

Get the aspect ratio.

template<class T>
bool makVrv::DtCamera< T >::IsVisible ( const DtAxisAlignedBoundingBox< T > &  box) const

Is a box visible from this camera?

template<class T>
VisibilityFromCamera makVrv::DtCamera< T >::getVisibility ( const DtAxisAlignedBoundingBox< T > &  box) const

Returns visibility from this camera?

template<class T>
DtScreenRect makVrv::DtCamera< T >::screenAABB ( const DtAxisAlignedBoundingBox< T > &  worldBox,
const Vector2_uint32 viewPortSize 
) const

Get the screen space bounds of a world box.

template<class T>
void makVrv::DtCamera< T >::updateFrustumPlanes ( void  )
private
template<class T>
void makVrv::DtCamera< T >::updateViewProjectionMatrix ( void  )
private

Member Data Documentation

template<class T>
DtVector3<T> makVrv::DtCamera< T >::myVecPosition
private
template<class T>
DtVector3<T> makVrv::DtCamera< T >::myVecDirection
private
template<class T>
DtVector3<T> makVrv::DtCamera< T >::myVecUpVector
private
template<class T>
DtVector3<T> makVrv::DtCamera< T >::myVecSideVector
private
template<class T>
T makVrv::DtCamera< T >::myfNearPlane
private
template<class T>
T makVrv::DtCamera< T >::myfFarPlane
private
template<class T>
T makVrv::DtCamera< T >::myfFieldOfViewY
private
template<class T>
T makVrv::DtCamera< T >::myfAspectRatio
private
template<class T>
DtMatrix4<T> makVrv::DtCamera< T >::myViewMatrix
private
template<class T>
DtMatrix4<T> makVrv::DtCamera< T >::myProjectionMatrix
private
template<class T>
DtMatrix4<T> makVrv::DtCamera< T >::myViewProjectionMatrix
private
template<class T>
bool makVrv::DtCamera< T >::mybFixedUpVector
private
template<class T>
DtPlane<T> makVrv::DtCamera< T >::myFrustumPlanes[6]
private

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

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)