Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes

OpenTissue::gl::Frustum< types > Class Template Reference

#include <gl_frustum.h>

List of all members.

Public Types

typedef types::real_type real_type
typedef types::vector3_type vector3_type
typedef geometry::Plane< typesplane_type

Public Member Functions

plane_typeget_plane (unsigned int const &i)
plane_type const & get_plane (unsigned int const &i) const
void update ()
template<typename aabb_type >
const bool contains (aabb_type const &aabb) const
const bool contains (vector3_type const &p) const
const bool contains (vector3_type const &p, real_type const &radius) const

Static Public Attributes

static const unsigned int RIGHT = 0u
 The RIGHT side of the frustum.
static const unsigned int LEFT = 1u
 The LEFT side of the frustum.
static const unsigned int BOTTOM = 2u
 The BOTTOM side of the frustum.
static const unsigned int TOP = 3u
 The TOP side of the frustum.
static const unsigned int BACK = 4u
 The BACK side of the frustum (near plane).
static const unsigned int FRONT = 5u
 The FRONT side of the frustum (far plane).

Protected Member Functions

void mul (GLfloat *A, GLfloat *B, GLfloat *C)

Protected Attributes

plane_type m_planes [6]
 The planes of the frustum. Normals are pointing inwards!!!

Detailed Description

template<typename types>
class OpenTissue::gl::Frustum< types >

See http://www.opengl.org/resources/faq/technical/viewcull.c


Member Typedef Documentation

template<typename types>
typedef geometry::Plane<types> OpenTissue::gl::Frustum< types >::plane_type
template<typename types>
typedef types::real_type OpenTissue::gl::Frustum< types >::real_type
template<typename types>
typedef types::vector3_type OpenTissue::gl::Frustum< types >::vector3_type

Member Function Documentation

template<typename types>
template<typename aabb_type >
const bool OpenTissue::gl::Frustum< types >::contains ( aabb_type const &  aabb  )  const [inline]
template<typename types>
const bool OpenTissue::gl::Frustum< types >::contains ( vector3_type const &  p,
real_type const &  radius 
) const [inline]
template<typename types>
const bool OpenTissue::gl::Frustum< types >::contains ( vector3_type const &  p  )  const [inline]
template<typename types>
plane_type const& OpenTissue::gl::Frustum< types >::get_plane ( unsigned int const &  i  )  const [inline]
template<typename types>
plane_type& OpenTissue::gl::Frustum< types >::get_plane ( unsigned int const &  i  )  [inline]
template<typename types>
void OpenTissue::gl::Frustum< types >::mul ( GLfloat A,
GLfloat B,
GLfloat C 
) [inline, protected]

Auxiliary method used to multiply opengl matrices.

C = A*B

All matrices are represented in column major form.

template<typename types>
void OpenTissue::gl::Frustum< types >::update (  )  [inline]

Computes the current clip planes in model space.


Member Data Documentation

template<typename types>
const unsigned int OpenTissue::gl::Frustum< types >::BACK = 4u [static]

The BACK side of the frustum (near plane).

template<typename types>
const unsigned int OpenTissue::gl::Frustum< types >::BOTTOM = 2u [static]

The BOTTOM side of the frustum.

template<typename types>
const unsigned int OpenTissue::gl::Frustum< types >::FRONT = 5u [static]

The FRONT side of the frustum (far plane).

template<typename types>
const unsigned int OpenTissue::gl::Frustum< types >::LEFT = 1u [static]

The LEFT side of the frustum.

template<typename types>
plane_type OpenTissue::gl::Frustum< types >::m_planes[6] [protected]

The planes of the frustum. Normals are pointing inwards!!!

template<typename types>
const unsigned int OpenTissue::gl::Frustum< types >::RIGHT = 0u [static]

The RIGHT side of the frustum.

template<typename types>
const unsigned int OpenTissue::gl::Frustum< types >::TOP = 3u [static]

The TOP side of the frustum.


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