#include <gl_frustum.h>
Public Types | |
typedef types::real_type | real_type |
typedef types::vector3_type | vector3_type |
typedef geometry::Plane< types > | plane_type |
Public Member Functions | |
plane_type & | get_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!!! |
See http://www.opengl.org/resources/faq/technical/viewcull.c
typedef geometry::Plane<types> OpenTissue::gl::Frustum< types >::plane_type |
typedef types::real_type OpenTissue::gl::Frustum< types >::real_type |
typedef types::vector3_type OpenTissue::gl::Frustum< types >::vector3_type |
const bool OpenTissue::gl::Frustum< types >::contains | ( | aabb_type const & | aabb | ) | const [inline] |
const bool OpenTissue::gl::Frustum< types >::contains | ( | vector3_type const & | p, | |
real_type const & | radius | |||
) | const [inline] |
const bool OpenTissue::gl::Frustum< types >::contains | ( | vector3_type const & | p | ) | const [inline] |
plane_type const& OpenTissue::gl::Frustum< types >::get_plane | ( | unsigned int const & | i | ) | const [inline] |
plane_type& OpenTissue::gl::Frustum< types >::get_plane | ( | unsigned int const & | i | ) | [inline] |
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.
void OpenTissue::gl::Frustum< types >::update | ( | ) | [inline] |
Computes the current clip planes in model space.
const unsigned int OpenTissue::gl::Frustum< types >::BACK = 4u [static] |
The BACK side of the frustum (near plane).
const unsigned int OpenTissue::gl::Frustum< types >::BOTTOM = 2u [static] |
The BOTTOM side of the frustum.
const unsigned int OpenTissue::gl::Frustum< types >::FRONT = 5u [static] |
The FRONT side of the frustum (far plane).
const unsigned int OpenTissue::gl::Frustum< types >::LEFT = 1u [static] |
The LEFT side of the frustum.
plane_type OpenTissue::gl::Frustum< types >::m_planes[6] [protected] |
The planes of the frustum. Normals are pointing inwards!!!
const unsigned int OpenTissue::gl::Frustum< types >::RIGHT = 0u [static] |
The RIGHT side of the frustum.
const unsigned int OpenTissue::gl::Frustum< types >::TOP = 3u [static] |
The TOP side of the frustum.