VR-Vantage 3.2 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
makVrv::Frustum< T > Class Template Reference

Template for 32/64 bit bit frustums. More...

Inheritance diagram for makVrv::Frustum< T >:
Inheritance graph
[legend]

Public Member Functions

 Frustum ()
 ctor
virtual ~Frustum ()
 dtor
template<class RHS >
 Frustum (const Frustum< RHS > &rhs)
 Copy Constructor.
template<class RHS >
Frustumoperator= (const Frustum< RHS > &rhs)
 Assignment Operator.
virtual void setPlane (FrustumPlane plane, T d, const DtVector3< T > &vNormal)
 set a frustum plane
virtual const DtPlane< T > & plane (FrustumPlane plane) const
 get a frustum plane
virtual DtVector4< T > planeAsVector (FrustumPlane plane) const
 get the frustum plane as a vector
virtual bool isVisible (const DtAxisAlignedBoundingBox< T > &box) const
 is bounding box visible within this frustum?
virtual bool isSphereVisible (const DtVector3< T > &center, T radius) const
 is bounding sphere visible within this frustum?
virtual bool isSphereVisibleRadiusSquared (const DtVector3< T > &center, double radiusSquared) const
 is bounding sphere (with a radius squared) visible within this frustum?
virtual VisibilityFromCamera visibility (const DtAxisAlignedBoundingBox< T > &box, bool ignoreNearFar=false) const
 get visibility of bounding box within the frustum
virtual void setFromModelViewProjectionMatrix (const DtMatrix4< T > &modelViewMat, const DtMatrix4< T > &projMat)
 set up a frustum, given a projection matrix and a view matrix the matrices are expected to be row-major (osg style)
virtual void setFromModelViewProjectionMatrix (const DtMatrix4< T > &mvp)
 set up a frustum, given a model view projection matrix
virtual void frustumPlanes (std::array< DtVector4< T >, 6 > &planes) const
 get the frustum planes as DtVector4's
virtual bool operator== (const Frustum< T > &rhs) const
 equality
virtual bool operator!= (const Frustum< T > &rhs) const
 inequality

Protected Member Functions

void computePlaneFromPoints (DtPlane< T > &plane, const DtVector3< T > &point0, const DtVector3< T > &point1, const DtVector3< T > &point2) const
 Helper to compute a plane from 3 points.

Protected Attributes

std::array< DtPlane< T >, 6 > myFrustumPlanes

Detailed Description

template<class T>
class makVrv::Frustum< T >

Template for 32/64 bit bit frustums.

Constructor & Destructor Documentation

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

ctor

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

dtor

template<class T >
template<class RHS >
makVrv::Frustum< T >::Frustum ( const Frustum< RHS > &  rhs)

Copy Constructor.

References makVrv::Frustum< T >::myFrustumPlanes.

Member Function Documentation

template<class T >
template<class RHS >
Frustum< T > & makVrv::Frustum< T >::operator= ( const Frustum< RHS > &  rhs)

Assignment Operator.

References makVrv::Frustum< T >::myFrustumPlanes.

template<class T>
void makVrv::Frustum< T >::setPlane ( FrustumPlane  plane,
d,
const DtVector3< T > &  vNormal 
)
virtual

set a frustum plane

References makVrv::DtVector3< T >::normalize().

template<class T >
const DtPlane< T > & makVrv::Frustum< T >::plane ( FrustumPlane  plane) const
virtual

get a frustum plane

Referenced by makVrv::operator<<(), and makVrv::DtCamera< T >::updateFrustumPlanes().

template<class T >
DtVector4< T > makVrv::Frustum< T >::planeAsVector ( FrustumPlane  plane) const
virtual

get the frustum plane as a vector

template<class T>
bool makVrv::Frustum< T >::isVisible ( const DtAxisAlignedBoundingBox< T > &  box) const
virtual
template<class T>
bool makVrv::Frustum< T >::isSphereVisible ( const DtVector3< T > &  center,
radius 
) const
virtual
template<class T>
bool makVrv::Frustum< T >::isSphereVisibleRadiusSquared ( const DtVector3< T > &  center,
double  radiusSquared 
) const
virtual
template<class T>
VisibilityFromCamera makVrv::Frustum< T >::visibility ( const DtAxisAlignedBoundingBox< T > &  box,
bool  ignoreNearFar = false 
) const
virtual
template<class T>
void makVrv::Frustum< T >::setFromModelViewProjectionMatrix ( const DtMatrix4< T > &  modelViewMat,
const DtMatrix4< T > &  projMat 
)
virtual
template<class T>
void makVrv::Frustum< T >::setFromModelViewProjectionMatrix ( const DtMatrix4< T > &  mvp)
virtual
template<class T>
void makVrv::Frustum< T >::frustumPlanes ( std::array< DtVector4< T >, 6 > &  planes) const
virtual
template<class T>
bool makVrv::Frustum< T >::operator== ( const Frustum< T > &  rhs) const
virtual
template<class T>
bool makVrv::Frustum< T >::operator!= ( const Frustum< T > &  rhs) const
virtual

inequality

template<class T>
void makVrv::Frustum< T >::computePlaneFromPoints ( DtPlane< T > &  plane,
const DtVector3< T > &  point0,
const DtVector3< T > &  point1,
const DtVector3< T > &  point2 
) const
protected

Member Data Documentation

template<class T>
std::array< DtPlane<T>, 6 > makVrv::Frustum< T >::myFrustumPlanes
protected

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


Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)