NL3D::CLandscapeIGManager Class Reference

#include <landscapeig_manager.h>


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 55 of file landscapeig_manager.h.

Public Member Functions

 CLandscapeIGManager ()
 Constructor.

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

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

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

void initIG (UScene *scene, const std::string &igDesc, UDriver *driver, uint selectedTexture, NLMISC::IProgressCallback *callBack)
bool isIGAddedToScene (const std::string &name) const
 is the Ig added to scene? name is like "150_EM". false if not found.

void loadArrayZoneIG (const std::vector< std::string > &names, std::vector< UInstanceGroup * > *dest=NULL)
UInstanceGrouploadZoneIG (const std::string &name)
void reloadAllIgs ()
 reload all the Igs and re-add to scene.

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

void unloadArrayZoneIG (const std::vector< std::string > &names)
void unloadZoneIG (const std::string &name)
 ~CLandscapeIGManager ()

Private Types

typedef TZoneInstanceGroupMap::const_iterator ConstItZoneInstanceGroupMap
typedef TZoneInstanceGroupMap::iterator ItZoneInstanceGroupMap
typedef std::map< std::string,
void * > 
TShapeMap
typedef std::map< std::string,
CInstanceGroupElement
TZoneInstanceGroupMap

Private Member Functions

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

Private Attributes

UScene_Scene
TShapeMap _ShapeAdded
TZoneInstanceGroupMap _ZoneInstanceGroupMap


Member Typedef Documentation

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

Definition at line 130 of file landscapeig_manager.h.

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

Definition at line 129 of file landscapeig_manager.h.

typedef std::map<std::string, void*> NL3D::CLandscapeIGManager::TShapeMap [private]
 

Definition at line 127 of file landscapeig_manager.h.

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

Definition at line 128 of file landscapeig_manager.h.


Constructor & Destructor Documentation

NL3D::CLandscapeIGManager::CLandscapeIGManager  ) 
 

Constructor.

NL3D::CLandscapeIGManager::~CLandscapeIGManager  ) 
 


Member Function Documentation

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

get a list of the ig

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

get a list of the ig, with their names

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

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

void NL3D::CLandscapeIGManager::initIG UScene scene,
const std::string &  igDesc,
UDriver driver,
uint  selectedTexture,
NLMISC::IProgressCallback callBack
 

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.

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

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

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

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()

void NL3D::CLandscapeIGManager::reloadAllIgs  ) 
 

reload all the Igs and re-add to scene.

void NL3D::CLandscapeIGManager::reset  ) 
 

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

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

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().

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()


Field Documentation

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

Definition at line 114 of file landscapeig_manager.h.

TShapeMap NL3D::CLandscapeIGManager::_ShapeAdded [private]
 

Definition at line 132 of file landscapeig_manager.h.

TZoneInstanceGroupMap NL3D::CLandscapeIGManager::_ZoneInstanceGroupMap [private]
 

Definition at line 131 of file landscapeig_manager.h.


The documentation for this class was generated from the following file:
Generated on Tue Mar 16 06:48:44 2004 for NeL by doxygen 1.3.6