VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
makVrv::DtLightManager Class Reference

LightManager class which allows creation/deletion of lights. More...

Public Member Functions

 DtLightManager (const AxisAlignedBoundingBox_64 &box, size_t depth)
virtual ~DtLightManager ()
const VectorLights & getAllLights (void) const
 Get all the lights that have been registered/created.
bool lightExists (const DtLight *pLight) const
 Find if a light exists in this manager.
void getClosestLights (VectorLights &closestLights, const Vector3_64 &vPosition, size_t n)
 Get the 'n' closest lights to vPosition. Must be called after LightManager::Update.
const VectorLights & getFrustumAffectingLights (void) const
 Get all the lights that affect the view frustum. Must be called after LightManager::Update.
DtLightcreateLight (LightType lightType)
 create/destroy/get lights
void destroyLight (DtLight *pLight)
 create/destroy/get lights
size_t numLights (void) const
 create/destroy/get lights
DtLightgetLight (size_t index)
 create/destroy/get lights
void update (Camera_64 *pCamera)
 Call these before calling either of the 2 queries below.
void update (Frustum_64 *pFrustum)
 Call these before calling either of the 2 queries below.

Private Member Functions

void initOctree (const AxisAlignedBoundingBox_64 &box)
void lightUpdated (const DtLight *pLight)
void lightBoundsUpdated (const DtLight *pLight)
void lightDestroyed (const DtLight *pLight)
void connectSignals (DtLight *pSceneNode)
void disconnectSignals (const DtLight *pLight)
void createOctreeNode (DtLight *pLight)
void destroyOctreeNode (DtLight *pLight)
OctreeNode_64getOctreeNode (const DtLight *pLight) const
void findVisibleObjects (Camera_64 *pCamera)
void findVisibleObjects (Frustum_64 *pCamera)
 DtLightManager ()

Private Attributes

ListLights myLights
bool mybVectorLightsdirty
VectorLights myVectorLights
Octree_64myOctree
Octree_64::NodeList myVisibleOctreeNodes
VectorLights myFrustumAffectingLights
VectorLights myFrustumAffectingLightsSortingScratchPad

Static Private Attributes

static const std::string m_StrOctreeNodeKey
static const std::string m_StrLightKey

Detailed Description

LightManager class which allows creation/deletion of lights.

Constructor & Destructor Documentation

makVrv::DtLightManager::DtLightManager ( const AxisAlignedBoundingBox_64 box,
size_t  depth 
)
virtual makVrv::DtLightManager::~DtLightManager ( )
virtual
makVrv::DtLightManager::DtLightManager ( )
inlineprivate

Member Function Documentation

DtLight* makVrv::DtLightManager::createLight ( LightType  lightType)

create/destroy/get lights

void makVrv::DtLightManager::destroyLight ( DtLight pLight)

create/destroy/get lights

size_t makVrv::DtLightManager::numLights ( void  ) const

create/destroy/get lights

DtLight* makVrv::DtLightManager::getLight ( size_t  index)

create/destroy/get lights

const VectorLights& makVrv::DtLightManager::getAllLights ( void  ) const

Get all the lights that have been registered/created.

bool makVrv::DtLightManager::lightExists ( const DtLight pLight) const

Find if a light exists in this manager.

void makVrv::DtLightManager::update ( Camera_64 pCamera)

Call these before calling either of the 2 queries below.

void makVrv::DtLightManager::update ( Frustum_64 pFrustum)

Call these before calling either of the 2 queries below.

void makVrv::DtLightManager::getClosestLights ( VectorLights &  closestLights,
const Vector3_64 vPosition,
size_t  n 
)

Get the 'n' closest lights to vPosition. Must be called after LightManager::Update.

const VectorLights& makVrv::DtLightManager::getFrustumAffectingLights ( void  ) const

Get all the lights that affect the view frustum. Must be called after LightManager::Update.

void makVrv::DtLightManager::initOctree ( const AxisAlignedBoundingBox_64 box)
private
void makVrv::DtLightManager::lightUpdated ( const DtLight pLight)
private
void makVrv::DtLightManager::lightBoundsUpdated ( const DtLight pLight)
private
void makVrv::DtLightManager::lightDestroyed ( const DtLight pLight)
private
void makVrv::DtLightManager::connectSignals ( DtLight pSceneNode)
private
void makVrv::DtLightManager::disconnectSignals ( const DtLight pLight)
private
void makVrv::DtLightManager::createOctreeNode ( DtLight pLight)
private
void makVrv::DtLightManager::destroyOctreeNode ( DtLight pLight)
private
OctreeNode_64* makVrv::DtLightManager::getOctreeNode ( const DtLight pLight) const
private
void makVrv::DtLightManager::findVisibleObjects ( Camera_64 pCamera)
private
void makVrv::DtLightManager::findVisibleObjects ( Frustum_64 pCamera)
private

Member Data Documentation

ListLights makVrv::DtLightManager::myLights
private
bool makVrv::DtLightManager::mybVectorLightsdirty
mutableprivate
VectorLights makVrv::DtLightManager::myVectorLights
mutableprivate
Octree_64* makVrv::DtLightManager::myOctree
private
const std::string makVrv::DtLightManager::m_StrOctreeNodeKey
staticprivate
const std::string makVrv::DtLightManager::m_StrLightKey
staticprivate
Octree_64::NodeList makVrv::DtLightManager::myVisibleOctreeNodes
private
VectorLights makVrv::DtLightManager::myFrustumAffectingLights
private
VectorLights makVrv::DtLightManager::myFrustumAffectingLightsSortingScratchPad
private

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

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)