VR-Forces Developer's Guide
 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 | Private Member Functions
makVrv::DtLightManager Class Reference

LightManager class which allows creation/deletion of lights.

Public Member Functions

 DtLightManager (const AxisAlignedBoundingBox_64 &box, size_t depth)
 
virtual ~DtLightManager ()
 
virtual DtLightcreateLight (LightType lightType)
 
virtual void destroyLight (DtLight *pLight)
 
virtual size_t numLights (void) const
 
virtual DtLightlight (size_t index)
 
virtual const VectorLights & allLights (void) const
 
virtual bool lightExists (const DtLight *pLight) const
 
virtual void findVisibleObjects (std::vector< const DtLight * > &frustumAffectingLights, Octree_64::NodeVector &visibleOctreeNodes, const Frustum_64 *pCamera, const Vector3_64 &vRefPosition)
 
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 createOctreeNode (DtLight *pLight)
 
virtual void destroyOctreeNode (DtLight *pLight)
 
virtual OctreeNode_64octreeNode (const DtLight *pLight) const
 

Protected Member Functions

virtual void getClosestLights (std::vector< const DtLight * > &closestLights, const std::vector< const DtLight * > &frustumAffectingLights, const Vector3_64 &vPosition, size_t n)
 

Protected Attributes

ListLights myLights
 
bool mybVectorLightsdirty
 
VectorLights myVectorLights
 
Octree_64myOctree
 
float myLODDistance
 
tbb::mutex myOctreeMutex
 

Private Member Functions

 DtLightManager ()=delete
 
 DtLightManager (const DtLightManager &rhs)=delete
 
DtLightManageroperator= (const DtLightManager &rhs)=delete
 

Constructor & Destructor Documentation

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

CTOR.

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

DTOR.

makVrv::DtLightManager::DtLightManager ( )
privatedelete

not allowed

makVrv::DtLightManager::DtLightManager ( const DtLightManager rhs)
privatedelete

not allowed

Member Function Documentation

DtLightManager& makVrv::DtLightManager::operator= ( const DtLightManager rhs)
privatedelete

not allowed

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

create a light

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

destroy a light

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

number of lights

virtual DtLight* makVrv::DtLightManager::light ( size_t  index)
virtual

light for an index

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::findVisibleObjects ( std::vector< const DtLight * > &  frustumAffectingLights,
Octree_64::NodeVector visibleOctreeNodes,
const Frustum_64 pCamera,
const Vector3_64 vRefPosition 
)
virtual
virtual void makVrv::DtLightManager::setlodDistance ( float  fDistance)
virtual

set the lod distance

virtual float makVrv::DtLightManager::lodDistance ( void  ) const
virtual

get the lod distance

virtual float makVrv::DtLightManager::lodDistanceSquared ( void  ) const
virtual

get the lod distance squared

virtual void makVrv::DtLightManager::initOctree ( const AxisAlignedBoundingBox_64 box)
virtual

initailize the internal octress with box extens

virtual void makVrv::DtLightManager::lightUpdated ( const DtLight pLight)
virtual

indicate that this light changed

virtual void makVrv::DtLightManager::lightBoundsUpdated ( const DtLight pLight)
virtual

indicate that light bounds were updated

virtual void makVrv::DtLightManager::lightDestroyed ( const DtLight pLight)
virtual

indicate that light was destroyed

virtual void makVrv::DtLightManager::createOctreeNode ( DtLight pLight)
virtual

create an octree node for this light

virtual void makVrv::DtLightManager::destroyOctreeNode ( DtLight pLight)
virtual

destroy the octree node for this light

virtual OctreeNode_64* makVrv::DtLightManager::octreeNode ( const DtLight pLight) const
virtual

Get the octree node for this light.

virtual void makVrv::DtLightManager::getClosestLights ( std::vector< const DtLight * > &  closestLights,
const std::vector< const DtLight * > &  frustumAffectingLights,
const Vector3_64 vPosition,
size_t  n 
)
protectedvirtual

Get the 'n' closest lights to vPosition. Must be called after LightManager::Update This is a legacy function before F+.

Member Data Documentation

ListLights makVrv::DtLightManager::myLights
protected
bool makVrv::DtLightManager::mybVectorLightsdirty
mutableprotected
VectorLights makVrv::DtLightManager::myVectorLights
mutableprotected
Octree_64* makVrv::DtLightManager::myOctree
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 Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)