# Home    # nevrax.com   
Nevrax
Nevrax.org
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
Docs
 
Documentation  
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  

NL3D::CVisualCollisionManager Class Reference

Server to Client collision manager. More...

#include <visual_collision_manager.h>

List of all members.

Public Methods

 CVisualCollisionManager ()
 Constructor. More...

 ~CVisualCollisionManager ()
void setLandscape (CLandscape *landscape)
 setup the landscape used for this collision manager. More...

CVisualCollisionEntitycreateEntity ()
 create an entity. More...

void deleteEntity (CVisualCollisionEntity *entity)
 delete an entity. More...

void setSunContributionPower (float power, float maxThreshold)
 for CVisualCollisionEntity::getStaticLightSetup(). More...


Private Methods

CVisualTileDescNodenewVisualTileDescNode ()
void deleteVisualTileDescNode (CVisualTileDescNode *ptr)
CPatchQuadBlocknewPatchQuadBlock ()
void deletePatchQuadBlock (CPatchQuadBlock *ptr)

Private Attributes

NLMISC::CRefPtr< CLandscape_Landscape
 The landscape used to generate tiles, and to snap position to tesselated ground. More...

CBlockMemory< CVisualTileDescNode_TileDescNodeAllocator
 Allocators. More...

CBlockMemory< CPatchQuadBlock_PatchQuadBlockAllocator
uint8 _SunContributionLUT [256]

Friends

class CVisualCollisionEntity
class CLandscapeCollisionGrid


Detailed Description

Server to Client collision manager.

Snap logic position to Visual position.

Author:
Lionel Berenguier , Nevrax France
Date:
2001

Definition at line 69 of file visual_collision_manager.h.


Constructor & Destructor Documentation

NL3D::CVisualCollisionManager::CVisualCollisionManager  
 

Constructor.

Definition at line 45 of file visual_collision_manager.cpp.

References _Landscape, NL3D::PatchQuadBlockAllocatorBlockSize, setSunContributionPower, and NL3D::TileDescNodeAllocatorBlockSize.

NL3D::CVisualCollisionManager::~CVisualCollisionManager  
 

Definition at line 55 of file visual_collision_manager.cpp.

References _Landscape.


Member Function Documentation

CVisualCollisionEntity * NL3D::CVisualCollisionManager::createEntity  
 

create an entity.

NB: CVisualCollisionManager do not owns this ptr for now, and you must delete it with deleteEntity(). NB: CVisualCollisionEntity are no more valid when this manager is deleted.

Definition at line 69 of file visual_collision_manager.cpp.

References CVisualCollisionEntity.

void NL3D::CVisualCollisionManager::deleteEntity CVisualCollisionEntity   entity
 

delete an entity.

Definition at line 76 of file visual_collision_manager.cpp.

void NL3D::CVisualCollisionManager::deletePatchQuadBlock CPatchQuadBlock   ptr [private]
 

Definition at line 101 of file visual_collision_manager.cpp.

References _PatchQuadBlockAllocator.

void NL3D::CVisualCollisionManager::deleteVisualTileDescNode CVisualTileDescNode   ptr [private]
 

Definition at line 89 of file visual_collision_manager.cpp.

References _TileDescNodeAllocator.

CPatchQuadBlock * NL3D::CVisualCollisionManager::newPatchQuadBlock   [private]
 

Definition at line 95 of file visual_collision_manager.cpp.

References _PatchQuadBlockAllocator.

CVisualTileDescNode * NL3D::CVisualCollisionManager::newVisualTileDescNode   [private]
 

Definition at line 83 of file visual_collision_manager.cpp.

References _TileDescNodeAllocator.

void NL3D::CVisualCollisionManager::setLandscape CLandscape   landscape
 

setup the landscape used for this collision manager.

ptr is kept, and manager and all entities must be cleared when the landscape is deleted.

Definition at line 62 of file visual_collision_manager.cpp.

References _Landscape.

void NL3D::CVisualCollisionManager::setSunContributionPower float    power,
float    maxThreshold
 

for CVisualCollisionEntity::getStaticLightSetup().

See also:
CVisualCollisionEntity::getStaticLightSetup()
Build a lighting table to remap sun contribution from landscape to sun contribution for objects. The value remap the landscape sun contribution (0 ~ 1) to an object sun contribution (0 ~1) using the following formula:

objectSunContribution = min ( powf ( landscapeSunContribution / maxThreshold, power ), 1 );

Default is 0.5 (=> sqrt) for power and 0.5 for maxThreshold.

Definition at line 108 of file visual_collision_manager.cpp.

References _SunContributionLUT, and NLMISC::clamp.

Referenced by CVisualCollisionManager.


Friends And Related Function Documentation

friend class CLandscapeCollisionGrid [friend]
 

Definition at line 120 of file visual_collision_manager.h.

friend class CVisualCollisionEntity [friend]
 

Definition at line 119 of file visual_collision_manager.h.

Referenced by createEntity.


Member Data Documentation

NLMISC::CRefPtr<CLandscape> NL3D::CVisualCollisionManager::_Landscape [private]
 

The landscape used to generate tiles, and to snap position to tesselated ground.

Definition at line 111 of file visual_collision_manager.h.

Referenced by CVisualCollisionManager, setLandscape, and ~CVisualCollisionManager.

CBlockMemory<CPatchQuadBlock> NL3D::CVisualCollisionManager::_PatchQuadBlockAllocator [private]
 

Definition at line 115 of file visual_collision_manager.h.

Referenced by deletePatchQuadBlock, and newPatchQuadBlock.

uint8 NL3D::CVisualCollisionManager::_SunContributionLUT[256] [private]
 

Definition at line 131 of file visual_collision_manager.h.

Referenced by setSunContributionPower.

CBlockMemory<CVisualTileDescNode> NL3D::CVisualCollisionManager::_TileDescNodeAllocator [private]
 

Allocators.

Definition at line 114 of file visual_collision_manager.h.

Referenced by deleteVisualTileDescNode, and newVisualTileDescNode.


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