Rumba C++ SDK
Imath::Frustum< T > Class Template Reference

#include <ImathFrustum.h>

Public Member Functions

 Frustum ()
 
 Frustum (const Frustum &)
 
 Frustum (T near, T far, T left, T right, T top, T bottom, bool ortho=false)
 
 Frustum (T near, T far, T fovx, T fovy, T aspect)
 
virtual ~Frustum ()
 
const Frustum & operator= (const Frustum &)
 
bool operator== (const Frustum< T > &src) const
 
bool operator!= (const Frustum< T > &src) const
 
void set (T near, T far, T left, T right, T top, T bottom, bool ortho=false)
 
void set (T near, T far, T fovx, T fovy, T aspect)
 
void modifyNearAndFar (T near, T far)
 
void setOrthographic (bool)
 
bool orthographic () const
 
T near () const
 
T hither () const
 
T far () const
 
T yon () const
 
T left () const
 
T right () const
 
T bottom () const
 
T top () const
 
void planes (Plane3< T > p[6])
 
void planes (Plane3< T > p[6], const Matrix44< T > &M)
 
T fovx () const
 
T fovy () const
 
T aspect () const
 
Matrix44< T > projectionMatrix () const
 
Frustum< T > window (T left, T right, T top, T bottom) const
 
Line3< T > projectScreenToRay (const Vec2< T > &) const
 
Vec2< T > projectPointToScreen (const Vec3< T > &) const
 
T ZToDepth (long zval, long min, long max) const
 
T normalizedZToDepth (T zval) const
 
long DepthToZ (T depth, long zmin, long zmax) const
 
T worldRadius (const Vec3< T > &p, T radius) const
 
T screenRadius (const Vec3< T > &p, T radius) const
 

Protected Member Functions

Vec2< T > screenToLocal (const Vec2< T > &) const
 
Vec2< T > localToScreen (const Vec2< T > &) const
 

Protected Attributes

T _near
 
T _far
 
T _left
 
T _right
 
T _top
 
T _bottom
 
bool _orthographic
 

Constructor & Destructor Documentation

◆ Frustum() [1/4]

template<class T >
Imath::Frustum< T >::Frustum ( )
inline

◆ Frustum() [2/4]

template<class T >
Imath::Frustum< T >::Frustum ( const Frustum< T > &  f)
inline

◆ Frustum() [3/4]

template<class T >
Imath::Frustum< T >::Frustum ( T  near,
T  far,
T  left,
T  right,
T  top,
T  bottom,
bool  ortho = false 
)
inline

◆ Frustum() [4/4]

template<class T >
Imath::Frustum< T >::Frustum ( T  near,
T  far,
T  fovx,
T  fovy,
T  aspect 
)
inline

◆ ~Frustum()

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

Member Function Documentation

◆ aspect()

template<class T >
T Imath::Frustum< T >::aspect ( ) const

◆ bottom()

template<class T>
T Imath::Frustum< T >::bottom ( ) const
inline

◆ DepthToZ()

template<class T >
long Imath::Frustum< T >::DepthToZ ( T  depth,
long  zmin,
long  zmax 
) const

◆ far()

template<class T>
T Imath::Frustum< T >::far ( ) const
inline

◆ fovx()

template<class T >
T Imath::Frustum< T >::fovx ( ) const

◆ fovy()

template<class T >
T Imath::Frustum< T >::fovy ( ) const

◆ hither()

template<class T>
T Imath::Frustum< T >::hither ( ) const
inline

◆ left()

template<class T>
T Imath::Frustum< T >::left ( ) const
inline

◆ localToScreen()

template<class T >
Vec2< T > Imath::Frustum< T >::localToScreen ( const Vec2< T > &  p) const
protected

◆ modifyNearAndFar()

template<class T >
void Imath::Frustum< T >::modifyNearAndFar ( T  near,
T  far 
)

◆ near()

template<class T>
T Imath::Frustum< T >::near ( ) const
inline

◆ normalizedZToDepth()

template<class T >
T Imath::Frustum< T >::normalizedZToDepth ( T  zval) const

◆ operator!=()

template<class T >
bool Imath::Frustum< T >::operator!= ( const Frustum< T > &  src) const
inline

◆ operator=()

template<class T >
const Frustum< T > & Imath::Frustum< T >::operator= ( const Frustum< T > &  f)

◆ operator==()

template<class T >
bool Imath::Frustum< T >::operator== ( const Frustum< T > &  src) const

◆ orthographic()

template<class T>
bool Imath::Frustum< T >::orthographic ( ) const
inline

◆ planes() [1/2]

template<class T >
void Imath::Frustum< T >::planes ( Plane3< T >  p[6])

◆ planes() [2/2]

template<class T >
void Imath::Frustum< T >::planes ( Plane3< T >  p[6],
const Matrix44< T > &  M 
)

◆ projectionMatrix()

template<class T >
Matrix44< T > Imath::Frustum< T >::projectionMatrix ( ) const

◆ projectPointToScreen()

template<class T >
Vec2< T > Imath::Frustum< T >::projectPointToScreen ( const Vec3< T > &  point) const

◆ projectScreenToRay()

template<class T >
Line3< T > Imath::Frustum< T >::projectScreenToRay ( const Vec2< T > &  p) const

◆ right()

template<class T>
T Imath::Frustum< T >::right ( ) const
inline

◆ screenRadius()

template<class T >
T Imath::Frustum< T >::screenRadius ( const Vec3< T > &  p,
T  radius 
) const

◆ screenToLocal()

template<class T >
Vec2< T > Imath::Frustum< T >::screenToLocal ( const Vec2< T > &  s) const
protected

◆ set() [1/2]

template<class T >
void Imath::Frustum< T >::set ( T  near,
T  far,
T  left,
T  right,
T  top,
T  bottom,
bool  ortho = false 
)

◆ set() [2/2]

template<class T >
void Imath::Frustum< T >::set ( T  near,
T  far,
T  fovx,
T  fovy,
T  aspect 
)

◆ setOrthographic()

template<class T >
void Imath::Frustum< T >::setOrthographic ( bool  ortho)

◆ top()

template<class T>
T Imath::Frustum< T >::top ( ) const
inline

◆ window()

template<class T >
Frustum< T > Imath::Frustum< T >::window ( T  left,
T  right,
T  top,
T  bottom 
) const

◆ worldRadius()

template<class T >
T Imath::Frustum< T >::worldRadius ( const Vec3< T > &  p,
T  radius 
) const

◆ yon()

template<class T>
T Imath::Frustum< T >::yon ( ) const
inline

◆ ZToDepth()

template<class T >
T Imath::Frustum< T >::ZToDepth ( long  zval,
long  min,
long  max 
) const

Member Data Documentation

◆ _bottom

template<class T>
T Imath::Frustum< T >::_bottom
protected

◆ _far

template<class T>
T Imath::Frustum< T >::_far
protected

◆ _left

template<class T>
T Imath::Frustum< T >::_left
protected

◆ _near

template<class T>
T Imath::Frustum< T >::_near
protected

◆ _orthographic

template<class T>
bool Imath::Frustum< T >::_orthographic
protected

◆ _right

template<class T>
T Imath::Frustum< T >::_right
protected

◆ _top

template<class T>
T Imath::Frustum< T >::_top
protected

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