common::FRUSTUM_POINTS Struct Reference
[Frustum]

Frustum zapisany jako 8 wierzchołków. More...

#include <Math.hpp>

List of all members.

Public Member Functions

 FRUSTUM_POINTS ()
 Tworzy niezainicjalizowany.
 FRUSTUM_POINTS (const FRUSTUM_PLANES &FrustumPlanes)
 Inicjalizuje na podstawie płaszczyzn.
 FRUSTUM_POINTS (const MATRIX &WorldViewProjInv)
 Inicjalizuje na podstawie ODWROTNOŚCI macierzy View*Projection.
void Set (const FRUSTUM_PLANES &FrustumPlanes)
 Wypełnia.
void Set (const MATRIX &WorldViewProjInv)
VEC3operator[] (size_t Index)
const VEC3operator[] (size_t Index) const
void CalcCenter (VEC3 *Out) const
 Wylicza i zwraca środek frustuma.
void CalcBoundingBox (BOX *Box) const
 Oblicza najmniejszy AABB otaczający frustum dany tymi punktami.
void CalcBoundingSphere (VEC3 *SphereCenter, float *SphereRadius) const
 Oblicza sferę otaczającą frustum.

Public Attributes

VEC3 Points [8]

Static Public Attributes

indeksy do tablicy punktów

Kolejno na przecięciu płaszczyzn.



static const size_t NEAR_LEFT_BOTTOM = 0
static const size_t NEAR_RIGHT_BOTTOM = 1
static const size_t NEAR_LEFT_TOP = 2
static const size_t NEAR_RIGHT_TOP = 3
static const size_t FAR_LEFT_BOTTOM = 4
static const size_t FAR_RIGHT_BOTTOM = 5
static const size_t FAR_LEFT_TOP = 6
static const size_t FAR_RIGHT_TOP = 7

Detailed Description

Frustum zapisany jako 8 wierzchołków.

Uzyskiwanie przez konwersję macierzy ViewProj do FRUSTUM_PLANES i z niego do FRUSTUM_POINTS jest dużo szybsze niż budowanie FRUSTUM_POINTS z macierzy ViewProjInv - 2 (Release) - 8 (Debug) razy szybsze!


Constructor & Destructor Documentation

common::FRUSTUM_POINTS::FRUSTUM_POINTS (  )  [inline]

Tworzy niezainicjalizowany.

common::FRUSTUM_POINTS::FRUSTUM_POINTS ( const FRUSTUM_PLANES FrustumPlanes  )  [inline]

Inicjalizuje na podstawie płaszczyzn.

common::FRUSTUM_POINTS::FRUSTUM_POINTS ( const MATRIX WorldViewProjInv  )  [inline]

Inicjalizuje na podstawie ODWROTNOŚCI macierzy View*Projection.


Member Function Documentation

void common::FRUSTUM_POINTS::CalcBoundingBox ( BOX Box  )  const

Oblicza najmniejszy AABB otaczający frustum dany tymi punktami.

void common::FRUSTUM_POINTS::CalcBoundingSphere ( VEC3 SphereCenter,
float *  SphereRadius 
) const

Oblicza sferę otaczającą frustum.

Może nie najlepszą, ale jakąśtam... (a może to jest najlepsza? nie wiem :P)

void common::FRUSTUM_POINTS::CalcCenter ( VEC3 Out  )  const

Wylicza i zwraca środek frustuma.

const VEC3& common::FRUSTUM_POINTS::operator[] ( size_t  Index  )  const [inline]
VEC3& common::FRUSTUM_POINTS::operator[] ( size_t  Index  )  [inline]
void common::FRUSTUM_POINTS::Set ( const MATRIX WorldViewProjInv  ) 
void common::FRUSTUM_POINTS::Set ( const FRUSTUM_PLANES FrustumPlanes  ) 

Wypełnia.


Member Data Documentation

const size_t common::FRUSTUM_POINTS::FAR_LEFT_BOTTOM = 4 [static]
const size_t common::FRUSTUM_POINTS::FAR_LEFT_TOP = 6 [static]
const size_t common::FRUSTUM_POINTS::FAR_RIGHT_BOTTOM = 5 [static]
const size_t common::FRUSTUM_POINTS::FAR_RIGHT_TOP = 7 [static]
const size_t common::FRUSTUM_POINTS::NEAR_LEFT_BOTTOM = 0 [static]
const size_t common::FRUSTUM_POINTS::NEAR_LEFT_TOP = 2 [static]
const size_t common::FRUSTUM_POINTS::NEAR_RIGHT_BOTTOM = 1 [static]
const size_t common::FRUSTUM_POINTS::NEAR_RIGHT_TOP = 3 [static]

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

Generated on Wed Dec 16 20:44:55 2009 for CommonLib by  doxygen 1.6.1