# 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::CIGSurfaceLight Class Reference

Class owned by CInstanceGroup to get StaticLightSetup for dynamic models. More...

#include <ig_surface_light.h>

List of all members.

Public Types

typedef std::map< std::string,
CRetrieverLightGrid
TRetrieverGridMap
typedef TRetrieverGridMap::iterator ItRetrieverGridMap

Public Methods

 CIGSurfaceLight ()
 Constructor. A CIGSurfaceLight MUST be owned by an CInstanceGroup (nlassert(_Owner!=NULL));. More...

void setOwner (CInstanceGroup *owner)
void build (const TRetrieverGridMap &retrieverGridMap, float cellSize, const std::vector< uint > &plRemap)
 build. More...

void clear ()
 clear. More...

void serial (NLMISC::IStream &f)
bool getStaticLightSetup (const std::string &retrieverIdentifier, sint surfaceId, const CVector &localPos, std::vector< CPointLightInfluence > &pointLightList, uint8 &sunContribution, NLMISC::CRGBA &localAmbient)
 Get StaticLightSetup Infos from the grid. More...

float getCellSize () const
float getOOCellSize () const

Private Attributes

CInstanceGroup_Owner
float _CellSize
float _OOCellSize
TRetrieverGridMap _RetrieverGridMap

Friends

class CSurfaceLightGrid


Detailed Description

Class owned by CInstanceGroup to get StaticLightSetup for dynamic models.

It owns a map of SurfaceIdent -> CSurfaceLightGrid

Author:
Lionel Berenguier , Nevrax France
Date:
2002

Definition at line 48 of file ig_surface_light.h.


Member Typedef Documentation

typedef TRetrieverGridMap::iterator NL3D::CIGSurfaceLight::ItRetrieverGridMap
 

Definition at line 63 of file ig_surface_light.h.

Referenced by build, and getStaticLightSetup.

typedef std::map<std::string, CRetrieverLightGrid> NL3D::CIGSurfaceLight::TRetrieverGridMap
 

Definition at line 62 of file ig_surface_light.h.


Constructor & Destructor Documentation

NL3D::CIGSurfaceLight::CIGSurfaceLight  
 

Constructor. A CIGSurfaceLight MUST be owned by an CInstanceGroup (nlassert(_Owner!=NULL));.

Definition at line 35 of file ig_surface_light.cpp.

References _CellSize, _OOCellSize, and _Owner.


Member Function Documentation

void NL3D::CIGSurfaceLight::build const TRetrieverGridMap   retrieverGridMap,
float    cellSize,
const std::vector< uint > &    plRemap
 

build.

called by CInstanceLighter.

Parameters:
retrieverGridMap  is the gridMap builded by CInstanceLighter
cellSize  is the size in meter of a cell
plRemap  is the array returned by CInstanceGroup::build() to remap indices

Definition at line 50 of file ig_surface_light.cpp.

References _CellSize, _OOCellSize, _RetrieverGridMap, CSurfaceLightGrid, ItRetrieverGridMap, and nlassert.

void NL3D::CIGSurfaceLight::clear  
 

clear.

Definition at line 90 of file ig_surface_light.cpp.

References _CellSize, _OOCellSize, and _RetrieverGridMap.

float NL3D::CIGSurfaceLight::getCellSize   const [inline]
 

Definition at line 98 of file ig_surface_light.h.

References _CellSize.

float NL3D::CIGSurfaceLight::getOOCellSize   const [inline]
 

Definition at line 99 of file ig_surface_light.h.

References _OOCellSize.

bool NL3D::CIGSurfaceLight::getStaticLightSetup const std::string &    retrieverIdentifier,
sint    surfaceId,
const CVector &    localPos,
std::vector< CPointLightInfluence > &    pointLightList,
uint8   sunContribution,
NLMISC::CRGBA   localAmbient
 

Get StaticLightSetup Infos from the grid.

Parameters:
retrieverIdentifier  value returned by CClobalRetriever::getIdentifier(globalPos).
surfaceId  the id of the surface in the LocalRetriever
localPos  position to retrieve info. Position local to the LocalRetriever!! ie gp.LocalPosition.Estimated
pointLightList  list of pointlight to append pointLight influecnes
Returns:
false if retrieverIdentifier / surfaceId is not found. In this case pointLightList is not modified, and sunContribution is set to 255, and localAmbient is set to 0

Definition at line 108 of file ig_surface_light.cpp.

References _Owner, _RetrieverGridMap, ItRetrieverGridMap, nlassert, and NLMISC::CRGBA::set.

void NL3D::CIGSurfaceLight::serial NLMISC::IStream   f
 

Definition at line 98 of file ig_surface_light.cpp.

References _CellSize, _OOCellSize, _RetrieverGridMap, NLMISC::IStream::serial, NLMISC::IStream::serialCont, and NLMISC::IStream::serialVersion.

void NL3D::CIGSurfaceLight::setOwner CInstanceGroup   owner
 

Definition at line 43 of file ig_surface_light.cpp.

References _Owner, and nlassert.


Friends And Related Function Documentation

friend class CSurfaceLightGrid [friend]
 

Definition at line 104 of file ig_surface_light.h.

Referenced by build.


Member Data Documentation

float NL3D::CIGSurfaceLight::_CellSize [private]
 

Definition at line 108 of file ig_surface_light.h.

Referenced by build, CIGSurfaceLight, clear, getCellSize, and serial.

float NL3D::CIGSurfaceLight::_OOCellSize [private]
 

Definition at line 109 of file ig_surface_light.h.

Referenced by build, CIGSurfaceLight, clear, getOOCellSize, and serial.

CInstanceGroup* NL3D::CIGSurfaceLight::_Owner [private]
 

Definition at line 107 of file ig_surface_light.h.

Referenced by CIGSurfaceLight, getStaticLightSetup, and setOwner.

TRetrieverGridMap NL3D::CIGSurfaceLight::_RetrieverGridMap [private]
 

Definition at line 110 of file ig_surface_light.h.

Referenced by build, clear, getStaticLightSetup, and serial.


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