![]() |
VR-Vantage 3.2 API Documentation
|
Template for 32/64 bit bit frustums. More...

Public Member Functions | |
| Frustum () | |
| ctor | |
| virtual | ~Frustum () |
| dtor | |
| template<class RHS > | |
| Frustum (const Frustum< RHS > &rhs) | |
| Copy Constructor. | |
| template<class RHS > | |
| Frustum & | operator= (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 > ¢er, T radius) const |
| is bounding sphere visible within this frustum? | |
| virtual bool | isSphereVisibleRadiusSquared (const DtVector3< T > ¢er, 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 |
Template for 32/64 bit bit frustums.
| makVrv::Frustum< T >::Frustum | ( | ) |
ctor
|
virtual |
dtor
Copy Constructor.
References makVrv::Frustum< T >::myFrustumPlanes.
| Frustum< T > & makVrv::Frustum< T >::operator= | ( | const Frustum< RHS > & | rhs | ) |
Assignment Operator.
References makVrv::Frustum< T >::myFrustumPlanes.
|
virtual |
set a frustum plane
References makVrv::DtVector3< T >::normalize().
|
virtual |
get a frustum plane
Referenced by makVrv::operator<<(), and makVrv::DtCamera< T >::updateFrustumPlanes().
|
virtual |
get the frustum plane as a vector
|
virtual |
is bounding box visible within this frustum?
References makVrv::DtAxisAlignedBoundingBox< T >::center(), makVrv::DtAxisAlignedBoundingBox< T >::halfSize(), makVrv::DtAxisAlignedBoundingBox< T >::isInfinite(), makVrv::DtAxisAlignedBoundingBox< T >::isNull(), and makVrv::NEGATIVE_SIDE.
|
virtual |
is bounding sphere visible within this frustum?
References makVrv::DtPlane< T >::d, makVrv::DtPlane< T >::vNormal, makVrv::DtVector3< T >::x, exprtk::details::x(), makVrv::DtVector3< T >::y, makVrv::DtVector3< T >::z, and exprtk::details::z.
|
virtual |
is bounding sphere (with a radius squared) visible within this frustum?
References makVrv::DtPlane< T >::d, makVrv::DtPlane< T >::vNormal, makVrv::DtVector3< T >::x, exprtk::details::x(), makVrv::DtVector3< T >::y, makVrv::DtVector3< T >::z, and exprtk::details::z.
|
virtual |
get visibility of bounding box within the frustum
References makVrv::BOTH_SIDE, makVrv::DtAxisAlignedBoundingBox< T >::center(), makVrv::FRUSTUM_PLANE_FAR, makVrv::FRUSTUM_PLANE_NEAR, makVrv::DtAxisAlignedBoundingBox< T >::halfSize(), makVrv::DtAxisAlignedBoundingBox< T >::isInfinite(), makVrv::DtAxisAlignedBoundingBox< T >::isNull(), makVrv::NEGATIVE_SIDE, makVrv::VISIBILITY_FULL, makVrv::VISIBILITY_NONE, and makVrv::VISIBILITY_PARTIAL.
|
virtual |
set up a frustum, given a projection matrix and a view matrix the matrices are expected to be row-major (osg style)
References makVrv::FRUSTUM_PLANE_BOTTOM, makVrv::FRUSTUM_PLANE_FAR, makVrv::FRUSTUM_PLANE_LEFT, makVrv::FRUSTUM_PLANE_NEAR, makVrv::FRUSTUM_PLANE_RIGHT, makVrv::FRUSTUM_PLANE_TOP, makVrv::DtMatrix4< T >::getInverse(), makVrv::DtVector4< T >::w, makVrv::DtVector4< T >::x, makVrv::DtVector3< T >::x, makVrv::DtVector4< T >::y, makVrv::DtVector3< T >::y, makVrv::DtVector4< T >::z, and makVrv::DtVector3< T >::z.
Referenced by makVrv::DtCamera< T >::updateFrustumPlanes().
|
virtual |
set up a frustum, given a model view projection matrix
References makVrv::FRUSTUM_PLANE_BOTTOM, makVrv::FRUSTUM_PLANE_FAR, makVrv::FRUSTUM_PLANE_LEFT, makVrv::FRUSTUM_PLANE_NEAR, makVrv::FRUSTUM_PLANE_RIGHT, makVrv::FRUSTUM_PLANE_TOP, and makVrv::vrvTacticalGraphicUtilities::length().
|
virtual |
get the frustum planes as DtVector4's
References makVrv::DtPlane< T >::d, makVrv::DtPlane< T >::vNormal, makVrv::DtVector4< T >::w, makVrv::DtVector4< T >::x, makVrv::DtVector3< T >::x, makVrv::DtVector4< T >::y, makVrv::DtVector3< T >::y, makVrv::DtVector4< T >::z, and makVrv::DtVector3< T >::z.
|
virtual |
equality
References exprtk::details::numeric::equal(), and makVrv::Frustum< T >::myFrustumPlanes.
|
virtual |
inequality
|
protected |
Helper to compute a plane from 3 points.
References makVrv::DtVector3< T >::crossProduct(), makVrv::DtPlane< T >::d, makVrv::DtVector3< T >::dotProduct(), makVrv::DtVector3< T >::length(), makVrv::vrvTacticalGraphicUtilities::length(), and makVrv::DtPlane< T >::vNormal.
|
protected |