VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Protected 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)
 CTOR. More...
 
virtual ~DtLightManager ()
 DTOR. More...
 
virtual const VectorLights & allLights (void) const
 Get all the lights that have been registered/created. More...
 
virtual bool lightExists (const DtLight *pLight) const
 Find if a light exists in this manager. More...
 
virtual void getClosestLights (VectorLights &closestLights, const Vector3_64 &vPosition, size_t n)
 Get the 'n' closest lights to vPosition. Must be called after LightManager::Update. More...
 
virtual const VectorLights & frustumAffectingLights (void) const
 Get all the lights that affect the view frustum. Must be called after LightManager::Update. More...
 
virtual void setlodDistance (float fDistance)
 
virtual float lodDistance (void) const
 
virtual float lodDistanceSquared (void) const
 
virtual void initOctree (const AxisAlignedBoundingBox_64 &box)
 
virtual void lightUpdated (const DtLight *pLight)
 
virtual void lightBoundsUpdated (const DtLight *pLight)
 
virtual void lightDestroyed (const DtLight *pLight)
 
virtual void connectSignals (DtLight *pSceneNode)
 
virtual void disconnectSignals (const DtLight *pLight)
 
virtual void createOctreeNode (DtLight *pLight)
 
virtual void destroyOctreeNode (DtLight *pLight)
 
virtual OctreeNode_64octreeNode (const DtLight *pLight) const
 
virtual void findVisibleObjects (Camera_64 *pCamera)
 
virtual void findVisibleObjects (Frustum_64 *pCamera, const Vector3_64 &vRefPosition)
 
virtual DtLightcreateLight (LightType lightType)
 create/destroy/get lights More...
 
virtual void destroyLight (DtLight *pLight)
 
virtual size_t numLights (void) const
 
virtual DtLightlight (size_t index)
 
virtual void update (Camera_64 *pCamera)
 Call these before calling either of the 2 queries below. More...
 
virtual void update (Frustum_64 *pFrustum, const Vector3_64 &vRefPosition)
 

Protected Member Functions

 DtLightManager ()
 

Protected Attributes

ListLights myLights
 
bool mybVectorLightsdirty
 
VectorLights myVectorLights
 
Octree_64myOctree
 
Octree_64::NodeVector myVisibleOctreeNodes
 
VectorLights myFrustumAffectingLights
 
VectorLights myFrustumAffectingLightsSortingScratchPad
 
float myLODDistance
 
tbb::mutex myOctreeMutex
 

Detailed Description

LightManager class which allows creation/deletion of lights.

Constructor & Destructor Documentation

makVrv::DtLightManager::DtLightManager ( const AxisAlignedBoundingBox_64 box,
size_t  depth 
)

CTOR.

virtual makVrv::DtLightManager::~DtLightManager ( )
virtual

DTOR.

makVrv::DtLightManager::DtLightManager ( )
inlineprotected

Member Function Documentation

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

create/destroy/get lights

virtual void makVrv::DtLightManager::destroyLight ( DtLight pLight)
virtual
virtual size_t makVrv::DtLightManager::numLights ( void  ) const
virtual
virtual DtLight* makVrv::DtLightManager::light ( size_t  index)
virtual
virtual const VectorLights& makVrv::DtLightManager::allLights ( void  ) const
virtual

Get all the lights that have been registered/created.

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

Find if a light exists in this manager.

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

Call these before calling either of the 2 queries below.

virtual void makVrv::DtLightManager::update ( Frustum_64 pFrustum,
const Vector3_64 vRefPosition 
)
virtual
virtual void makVrv::DtLightManager::getClosestLights ( VectorLights &  closestLights,
const Vector3_64 vPosition,
size_t  n 
)
virtual

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

virtual const VectorLights& makVrv::DtLightManager::frustumAffectingLights ( void  ) const
virtual

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

virtual void makVrv::DtLightManager::setlodDistance ( float  fDistance)
virtual
virtual float makVrv::DtLightManager::lodDistance ( void  ) const
virtual
virtual float makVrv::DtLightManager::lodDistanceSquared ( void  ) const
virtual
virtual void makVrv::DtLightManager::initOctree ( const AxisAlignedBoundingBox_64 box)
virtual
virtual void makVrv::DtLightManager::lightUpdated ( const DtLight pLight)
virtual
virtual void makVrv::DtLightManager::lightBoundsUpdated ( const DtLight pLight)
virtual
virtual void makVrv::DtLightManager::lightDestroyed ( const DtLight pLight)
virtual
virtual void makVrv::DtLightManager::connectSignals ( DtLight pSceneNode)
virtual
virtual void makVrv::DtLightManager::disconnectSignals ( const DtLight pLight)
virtual
virtual void makVrv::DtLightManager::createOctreeNode ( DtLight pLight)
virtual
virtual void makVrv::DtLightManager::destroyOctreeNode ( DtLight pLight)
virtual
virtual OctreeNode_64* makVrv::DtLightManager::octreeNode ( const DtLight pLight) const
virtual
virtual void makVrv::DtLightManager::findVisibleObjects ( Camera_64 pCamera)
virtual
virtual void makVrv::DtLightManager::findVisibleObjects ( Frustum_64 pCamera,
const Vector3_64 vRefPosition 
)
virtual

Member Data Documentation

ListLights makVrv::DtLightManager::myLights
protected
bool makVrv::DtLightManager::mybVectorLightsdirty
mutableprotected
VectorLights makVrv::DtLightManager::myVectorLights
mutableprotected
Octree_64* makVrv::DtLightManager::myOctree
protected
Octree_64::NodeVector makVrv::DtLightManager::myVisibleOctreeNodes
protected
VectorLights makVrv::DtLightManager::myFrustumAffectingLights
protected
VectorLights makVrv::DtLightManager::myFrustumAffectingLightsSortingScratchPad
protected
float makVrv::DtLightManager::myLODDistance
protected
tbb::mutex makVrv::DtLightManager::myOctreeMutex
protected

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

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)