NL3D::UShapeBank Class Reference

#include <u_shape_bank.h>

Inheritance diagram for NL3D::UShapeBank:

NL3D::CShapeBankUser

Detailed Description

Game interface for managing shape bank

Author:
Matthieu Besson

Nevrax France

Date:
2001

Definition at line 48 of file u_shape_bank.h.

Public Member Functions

virtual void addShapeCache (const std::string &shapeCacheName)=0
virtual UShape getShape (const std::string &shapeName)=0
virtual void linkShapeToShapeCache (const std::string &shapeName, const std::string &shapeCacheName)=0
virtual void preLoadShapesFromBNP (const std::string &shapeCacheName, const std::string &bnpName, const std::string &wildCard, NLMISC::IProgressCallback *progress=NULL, bool flushTextures=false)=0
virtual void preLoadShapesFromDirectory (const std::string &shapeCacheName, const std::string &path, const std::string &wildCard, bool recurs=false, NLMISC::IProgressCallback *progress=NULL, bool flushTextures=false)=0
virtual void removeShapeCache (const std::string &shapeCacheName)=0
virtual void reset ()=0
virtual void setShapeCacheSize (const std::string &shapeCacheName, sint32 maxSize)=0


Member Function Documentation

virtual void NL3D::UShapeBank::addShapeCache const std::string &  shapeCacheName  )  [pure virtual]
 

Add a new ShapeCache. If already exist do nothing.

Implemented in NL3D::CShapeBankUser.

virtual UShape NL3D::UShapeBank::getShape const std::string &  shapeName  )  [pure virtual]
 

Return a UShape proxy from this name. NB: if not found the mesh is not loaded, and the proxy returned will be empty

Implemented in NL3D::CShapeBankUser.

virtual void NL3D::UShapeBank::linkShapeToShapeCache const std::string &  shapeName,
const std::string &  shapeCacheName
[pure virtual]
 

Link a shape to a ShapeCache. The ShapeCache must exist and must not contains the shape.

Implemented in NL3D::CShapeBankUser.

virtual void NL3D::UShapeBank::preLoadShapesFromBNP const std::string &  shapeCacheName,
const std::string &  bnpName,
const std::string &  wildCard,
NLMISC::IProgressCallback progress = NULL,
bool  flushTextures = false
[pure virtual]
 

PreLoad all shapes (.shape, .ps, .skel...) files from a directory into a shapeCache. same as preLoadShapesFromDirectory() but take a BNP name which must have been added with CBigFile::add() or through CPath::addSearchBigFile()

Parameters:
bnpName eg: "characters.bnp" (NB: set the bigFileNAme without any path).
flushTex : true to flush the texture of each shape when it is loaded

Implemented in NL3D::CShapeBankUser.

virtual void NL3D::UShapeBank::preLoadShapesFromDirectory const std::string &  shapeCacheName,
const std::string &  path,
const std::string &  wildCard,
bool  recurs = false,
NLMISC::IProgressCallback progress = NULL,
bool  flushTextures = false
[pure virtual]
 

PreLoad all shapes (.shape, .ps, .skel...) files from a directory into a shapeCache. Shapes are Loaded if not present, assigned to the given cache, and fit in the cache Size as max possible. NB: crash if you try to load a non shape file (eg: a .dds etc...)

Parameters:
shapeCacheName name of a shapeCache created with addShapeCache()/setShapeCacheSize(). no-op if don't exist
path a valid path (local or not) where to find shapes. NB: CPath is used to load the shapes.
wildcard a filter string like: "*.shape", "??_HOM*.shape". NB: strlwr-ed internally
recurs true if want to recurs in sub directory

Implemented in NL3D::CShapeBankUser.

virtual void NL3D::UShapeBank::removeShapeCache const std::string &  shapeCacheName  )  [pure virtual]
 

Remove a ShapeCache. All shapes in the shape cache are deleted. All links are redirected to the default ShapeCache.

Implemented in NL3D::CShapeBankUser.

virtual void NL3D::UShapeBank::reset  )  [pure virtual]
 

Remove all ShapeCache and suppress all links (even the link to the default cache are removed)

Implemented in NL3D::CShapeBankUser.

virtual void NL3D::UShapeBank::setShapeCacheSize const std::string &  shapeCacheName,
sint32  maxSize
[pure virtual]
 

Set the shapeCache shapeCacheName the new size.(delete shapes if maxsize<shapeCacheSize).

Implemented in NL3D::CShapeBankUser.


The documentation for this class was generated from the following file:
Generated on Tue Mar 16 08:50:05 2004 for NeL by doxygen 1.3.6