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

This class is used to load and unload IG of landscape. More...

#include <landscapeig_manager.h>

List of all members.

Public Methods

 CLandscapeIGManager ()
 Constructor. More...

 ~CLandscapeIGManager ()
void initIG (UScene *scene, const std::string &igDesc)
 Initialize and load Instances Group from a text file. More...

UInstanceGrouploadZoneIG (const std::string &name)
 load of an instanceGroup of a zone. More...

void loadArrayZoneIG (const std::vector< std::string > &names, std::vector< UInstanceGroup * > *dest=NULL)
 same as prec loadZoneIG, but with an array of name. More...

void unloadZoneIG (const std::string &name)
 unload of an instanceGroup of a zone. More...

void unloadArrayZoneIG (const std::vector< std::string > &names)
 same as prec unloadZoneIG, but with an array of name. More...

bool isIGAddedToScene (const std::string &name) const
 is the Ig added to scene? name is like "150_EM". false if not found. More...

UInstanceGroupgetIG (const std::string &name) const
 get the Ig. name is like "150_EM". NULL if not found. More...

void reset ()
 unload and delete all the zoneIgs. Call before deletion of the scene (else exception). More...

void reloadAllIgs ()
 reload all the Igs and re-add to scene. More...

void getAllIG (std::vector< UInstanceGroup * > &dest) const
 get a list of the ig. More...

void getAllIGWithNames (std::vector< std::pair< UInstanceGroup *, std::string > > &dest) const
 get a list of the ig, with their names. More...


Private Types

typedef std::map< std::string,
CInstanceGroupElement
TZoneInstanceGroupMap
typedef TZoneInstanceGroupMap::iterator ItZoneInstanceGroupMap
typedef TZoneInstanceGroupMap::const_iterator ConstItZoneInstanceGroupMap

Private Methods

std::string translateName (const std::string &name) const

Private Attributes

UScene_Scene
TZoneInstanceGroupMap _ZoneInstanceGroupMap


Detailed Description

This class is used to load and unload IG of landscape.

Used in conjunction with ULandscape.

Author:
Lionel Berenguier , Nevrax France
Date:
2001

Definition at line 51 of file landscapeig_manager.h.


Member Typedef Documentation

typedef TZoneInstanceGroupMap::const_iterator NL3D::CLandscapeIGManager::ConstItZoneInstanceGroupMap [private]
 

Definition at line 124 of file landscapeig_manager.h.

Referenced by getIG, and isIGAddedToScene.

typedef TZoneInstanceGroupMap::iterator NL3D::CLandscapeIGManager::ItZoneInstanceGroupMap [private]
 

Definition at line 123 of file landscapeig_manager.h.

Referenced by loadZoneIG, and unloadZoneIG.

typedef std::map<std::string, CInstanceGroupElement> NL3D::CLandscapeIGManager::TZoneInstanceGroupMap [private]
 

Definition at line 122 of file landscapeig_manager.h.


Constructor & Destructor Documentation

NL3D::CLandscapeIGManager::CLandscapeIGManager  
 

Constructor.

Definition at line 68 of file landscapeig_manager.cpp.

References _Scene, and NL3D_MEM_LANDSCAPE_IG.

NL3D::CLandscapeIGManager::~CLandscapeIGManager  
 

Definition at line 74 of file landscapeig_manager.cpp.

References _Scene, and NL3D_MEM_LANDSCAPE_IG.


Member Function Documentation

void NL3D::CLandscapeIGManager::getAllIG std::vector< UInstanceGroup * > &    dest const
 

get a list of the ig.

Definition at line 336 of file landscapeig_manager.cpp.

References _ZoneInstanceGroupMap, and NL3D_MEM_LANDSCAPE_IG.

void NL3D::CLandscapeIGManager::getAllIGWithNames std::vector< std::pair< UInstanceGroup *, std::string > > &    dest const
 

get a list of the ig, with their names.

Definition at line 349 of file landscapeig_manager.cpp.

References _ZoneInstanceGroupMap, and NL3D_MEM_LANDSCAPE_IG.

UInstanceGroup * NL3D::CLandscapeIGManager::getIG const std::string &    name const
 

get the Ig. name is like "150_EM". NULL if not found.

Definition at line 243 of file landscapeig_manager.cpp.

References _ZoneInstanceGroupMap, ConstItZoneInstanceGroupMap, NL3D_MEM_LANDSCAPE_IG, and translateName.

void NL3D::CLandscapeIGManager::initIG UScene   scene,
const std::string &    igDesc
 

Initialize and load Instances Group from a text file.

no-op if not found. the file is just a list of filename eg: "150_EM.ig", separated with return. At this time, All UInstanceGroup are loaded, but none are addToScene() ed.

Definition at line 82 of file landscapeig_manager.cpp.

References _Scene, _ZoneInstanceGroupMap, file, NL3D_MEM_LANDSCAPE_IG, nlassert, and nlwarning.

bool NL3D::CLandscapeIGManager::isIGAddedToScene const std::string &    name const
 

is the Ig added to scene? name is like "150_EM". false if not found.

Definition at line 225 of file landscapeig_manager.cpp.

References _ZoneInstanceGroupMap, ConstItZoneInstanceGroupMap, NL3D_MEM_LANDSCAPE_IG, and translateName.

void NL3D::CLandscapeIGManager::loadArrayZoneIG const std::vector< std::string > &    names,
std::vector< UInstanceGroup * > *    dest = NULL
 

same as prec loadZoneIG, but with an array of name.

no-op if "". call after ULandscape::loadAllZonesAround().

Parameters:
names  the igs to load
dest  if not NUL, pointer to the created igs

Definition at line 172 of file landscapeig_manager.cpp.

References loadZoneIG, and NL3D_MEM_LANDSCAPE_IG.

UInstanceGroup * NL3D::CLandscapeIGManager::loadZoneIG const std::string &    name
 

load of an instanceGroup of a zone.

name is like "150_EM". no-op if "". If exist (see initIG), The instanceGroup is added to the scene. call after ULandscape::refreshZonesAround()

Definition at line 141 of file landscapeig_manager.cpp.

References _Scene, _ZoneInstanceGroupMap, ItZoneInstanceGroupMap, NL3D_MEM_LANDSCAPE_IG, and translateName.

Referenced by loadArrayZoneIG, and reloadAllIgs.

void NL3D::CLandscapeIGManager::reloadAllIgs  
 

reload all the Igs and re-add to scene.

Definition at line 293 of file landscapeig_manager.cpp.

References _ZoneInstanceGroupMap, loadZoneIG, NL3D_MEM_LANDSCAPE_IG, and unloadZoneIG.

void NL3D::CLandscapeIGManager::reset  
 

unload and delete all the zoneIgs. Call before deletion of the scene (else exception).

Definition at line 274 of file landscapeig_manager.cpp.

References _Scene, _ZoneInstanceGroupMap, NL3D_MEM_LANDSCAPE_IG, and unloadZoneIG.

std::string NL3D::CLandscapeIGManager::translateName const std::string &    name const [private]
 

Definition at line 262 of file landscapeig_manager.cpp.

References NL3D_MEM_LANDSCAPE_IG.

Referenced by getIG, isIGAddedToScene, loadZoneIG, and unloadZoneIG.

void NL3D::CLandscapeIGManager::unloadArrayZoneIG const std::vector< std::string > &    names
 

same as prec unloadZoneIG, but with an array of name.

no-op if "". call after ULandscape::refreshAllZonesAround().

Definition at line 191 of file landscapeig_manager.cpp.

References NL3D_MEM_LANDSCAPE_IG, and unloadZoneIG.

void NL3D::CLandscapeIGManager::unloadZoneIG const std::string &    name
 

unload of an instanceGroup of a zone.

name is like "150_EM". no-op if "". If exist (see initIG), The instanceGroup is removed from the scene. call after ULandscape::refreshZonesAround()

Definition at line 201 of file landscapeig_manager.cpp.

References _Scene, _ZoneInstanceGroupMap, ItZoneInstanceGroupMap, NL3D_MEM_LANDSCAPE_IG, and translateName.

Referenced by reloadAllIgs, reset, and unloadArrayZoneIG.


Member Data Documentation

UScene* NL3D::CLandscapeIGManager::_Scene [private]
 

Definition at line 110 of file landscapeig_manager.h.

Referenced by CLandscapeIGManager, initIG, loadZoneIG, reset, unloadZoneIG, and ~CLandscapeIGManager.

TZoneInstanceGroupMap NL3D::CLandscapeIGManager::_ZoneInstanceGroupMap [private]
 

Definition at line 125 of file landscapeig_manager.h.

Referenced by getAllIG, getAllIGWithNames, getIG, initIG, isIGAddedToScene, loadZoneIG, reloadAllIgs, reset, and unloadZoneIG.


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