A CShapeBank handle all the instance of the shapes and the cache management system. More...
#include <shape_bank.h>
Classes | |
| struct | CShapeCache |
| struct | CShapeInfo |
| struct | CWaitingShape |
Public Types | |
State of a shape | |
| enum | TShapeState { NotPresent, Present, AsyncLoad_Error, AsyncLoad_Shape, AsyncLoad_Texture, AsyncLoad_Ready, AsyncLoad_Delete } |
NotPresent : Not present in the bank Present : Present in the bank and ready to be used AsyncLoad_Error : Asynchronous loading failed AsyncLoad_Shape : Asynchronous loading is currently loading the .shape file, textures and lightmaps AsyncLoad_Texture : Asynchronous loading is currently uploading textures and lightmaps to VRAM. More... | |
Public Member Functions | |
| CShapeBank () | |
| ~CShapeBank () | |
| const std::string * | getShapeNameFromShapePtr (IShape *pShp) const |
Instance Management | |
| IShape * | addRef (const std::string &shapeName) |
| Add a reference to a shape and return the instance created. NB: getPresentState()==Present must be tested first. | |
| void | release (IShape *pShp) |
| Release a reference to a shape by its instance. | |
| TShapeState | getPresentState (const std::string &shapeName) |
| Return the shape state. Process the waiting shapes. | |
| IShape * | getShape (const std::string &shapeName) |
| Return the IShape from the bank. | |
| void | load (const std::string &shapeName) |
| Load the corresponding file from disk and add it to the bank. | |
| void | loadAsync (const std::string &shapeName, IDriver *pDriver, const NLMISC::CVector &position, bool *bSignal, uint selectedTexture) |
| Load the corresponding file from disk asynchronously and add it to the bank. | |
| void | cancelLoadAsync (const std::string &shapeName) |
| bool | isShapeWaiting () |
| void | processWaitingShapes () |
| processWaitingShapes must be done one time per frame | |
| void | setMaxBytesToUpload (uint32 MaxUploadPerFrame) |
| Setup the maximum number of bytes to upload for a frame (texture upload from RAM to VRAM). | |
| void | add (const std::string &shapeName, IShape *shape) |
| Add directly a shape to the bank. If the shape name is already used do nothing. | |
Shape cache management | |
| void | addShapeCache (const std::string &shapeCacheName) |
| Add a new ShapeCache. If already exist do nothing. | |
| void | removeShapeCache (const std::string &shapeCacheName) |
| Remove a ShapeCache. | |
| bool | isShapeCache (const std::string &shapeCacheName) const |
| true if the shape cache exist | |
| void | reset () |
| Remove all ShapeCache and suppress all links (even the link to the default cache are removed). | |
| void | setShapeCacheSize (const std::string &shapeCacheName, sint32 maxSize) |
| Set the shapeCache shapeCacheName the new size.(delete shapes if maxsize<shapeCacheSize). | |
| sint | getShapeCacheFreeSpace (const std::string &shapeCacheName) const |
| return free cache space (maxSize-nbCurrentInCache) | |
| void | linkShapeToShapeCache (const std::string &shapeName, const std::string &shapeCacheName) |
| Link a shape to a ShapeCache. The ShapeCache must exist and must not contains the shape. | |
Tools | |
| void | preLoadShapes (const std::string &shapeCacheName, const std::vector< std::string > &listFile, const std::string &wildCardNotLwr, NLMISC::IProgressCallback *progress=NULL, bool flushTextures=false, IDriver *drv=NULL) |
| PreLoad all shapes (.shape, .ps, .skel. | |
| void | buildSystemGeometryForshape (const std::string &shapeName) |
| Mark this shape name as needing a buildSystemGeometry() (typically used for selection) NB: this will take effect only for shapes on a subsequent add(), load() or loadAsync(). | |
Shape/Instances. | |
|
| |
| typedef NLMISC::CSmartPtr< IShape > | PShape |
| typedef std::map< std::string, PShape > | TShapeMap |
| typedef std::map< std::string, CWaitingShape > | TWaitingShapesMap |
| TShapeMap | ShapeMap |
| TWaitingShapesMap | WaitingShapes |
| uint32 | _MaxUploadPerFrame |
| IDriver * | _pDriver |
| bool | processWSUploadTexture (CWaitingShape &rWS, uint32 &nTotalUploaded, ITexture *pText) |
| return true if the texture is entirely uploaded | |
Shape/Caches. | |
|
| |
| typedef std::map< std::string, std::string > | TShapeCacheNameMap |
| typedef std::map< std::string, CShapeCache > | TShapeCacheMap |
| typedef std::map< IShape *, CShapeInfo > | TShapeInfoMap |
| TShapeCacheNameMap | ShapeNameToShapeCacheName |
| TShapeCacheMap | ShapeCacheNameToShapeCache |
| TShapeInfoMap | ShapePtrToShapeInfo |
| std::set< std::string > | _ShapeNeedingSystemGeometryCopy |
| IShape * | getShapePtrFromShapeName (const std::string &pShpName) |
| CShapeCache * | getShapeCachePtrFromShapePtr (IShape *pShp) |
| CShapeCache * | getShapeCachePtrFromShapeCacheName (const std::string &shapeCacheName) |
| CShapeCache * | getShapeCachePtrFromShapeName (const std::string &shapeName) |
| void | checkShapeCache (CShapeCache *pShpCache) |
A CShapeBank handle all the instance of the shapes and the cache management system.
There is a default cache. If the shape is not linked explicitly to any cache it is linked to the default cache. The comportement of this cache is to not do any cache. When the release is called on the last reference to a shape linked to this cache, the shape is removed instantly. This is the behavior of all newly created cache before we call the setShapeCacheSize method.
NB: ShapeCacheName is case-sensitive but shapeName are not (all entry are lwrcased)
Definition at line 61 of file shape_bank.h.
typedef NLMISC::CSmartPtr<IShape> NL3D::CShapeBank::PShape [private] |
Definition at line 173 of file shape_bank.h.
typedef std::map<std::string,CShapeCache> NL3D::CShapeBank::TShapeCacheMap [private] |
Definition at line 237 of file shape_bank.h.
typedef std::map<std::string,std::string> NL3D::CShapeBank::TShapeCacheNameMap [private] |
Definition at line 236 of file shape_bank.h.
typedef std::map<IShape*,CShapeInfo> NL3D::CShapeBank::TShapeInfoMap [private] |
Definition at line 238 of file shape_bank.h.
typedef std::map<std::string, PShape> NL3D::CShapeBank::TShapeMap [private] |
Definition at line 174 of file shape_bank.h.
typedef std::map< std::string, CWaitingShape > NL3D::CShapeBank::TWaitingShapesMap [private] |
Definition at line 198 of file shape_bank.h.
NotPresent : Not present in the bank Present : Present in the bank and ready to be used AsyncLoad_Error : Asynchronous loading failed AsyncLoad_Shape : Asynchronous loading is currently loading the .shape file, textures and lightmaps AsyncLoad_Texture : Asynchronous loading is currently uploading textures and lightmaps to VRAM.
| NotPresent | |
| Present | |
| AsyncLoad_Error | |
| AsyncLoad_Shape | |
| AsyncLoad_Texture | |
| AsyncLoad_Ready | |
| AsyncLoad_Delete |
Definition at line 73 of file shape_bank.h.
| NL3D::CShapeBank::CShapeBank | ( | ) |
Definition at line 42 of file shape_bank.cpp.
References _MaxUploadPerFrame, and addShapeCache().
| NL3D::CShapeBank::~CShapeBank | ( | ) |
Definition at line 51 of file shape_bank.cpp.
| void NL3D::CShapeBank::add | ( | const std::string & | shapeName, | |
| IShape * | shape | |||
| ) |
Add directly a shape to the bank. If the shape name is already used do nothing.
Definition at line 603 of file shape_bank.cpp.
References _ShapeNeedingSystemGeometryCopy, NL3D::IShape::buildSystemGeometry(), getShapeCachePtrFromShapeCacheName(), getShapeCachePtrFromShapeName(), nlassert, NL3D::CShapeBank::CShapeInfo::pShpCache, ShapeMap, ShapeNameToShapeCacheName, ShapePtrToShapeInfo, NL3D::CShapeBank::CShapeInfo::sShpName, and NLMISC::toLower().
Referenced by NL3D::CPSMesh::createInstance(), NL3D::GetDummyMeshFromBank(), load(), and processWaitingShapes().
| IShape * NL3D::CShapeBank::addRef | ( | const std::string & | shapeName | ) |
Add a reference to a shape and return the instance created. NB: getPresentState()==Present must be tested first.
Definition at line 57 of file shape_bank.cpp.
References NL3D::CShapeBank::CShapeCache::Elements, getShapeNameFromShapePtr(), getShapePtrFromShapeName(), nlassert, ShapePtrToShapeInfo, and NLMISC::toLower().
Referenced by NL3D::CScene::createInstance(), NL3D::GetDummyMeshFromBank(), NL3D::CFlareShape::getOcclusionTestMesh(), NL3D::CLandscapeIGManager::initIG(), preLoadShapes(), NL3D::CAnimationSet::preloadSSSShapes(), NL3D::CPSConstraintMesh::update(), and NL3D::CScene::updateWaitingInstances().
| void NL3D::CShapeBank::addShapeCache | ( | const std::string & | shapeCacheName | ) |
Add a new ShapeCache. If already exist do nothing.
Definition at line 646 of file shape_bank.cpp.
References ShapeCacheNameToShapeCache.
Referenced by NL3D::CShapeBankUser::addShapeCache(), CShapeBank(), NL3D::CAnimationSet::preloadSSSShapes(), and reset().
| void NL3D::CShapeBank::buildSystemGeometryForshape | ( | const std::string & | shapeName | ) |
Mark this shape name as needing a buildSystemGeometry() (typically used for selection) NB: this will take effect only for shapes on a subsequent add(), load() or loadAsync().
Definition at line 913 of file shape_bank.cpp.
References _ShapeNeedingSystemGeometryCopy, and NLMISC::toLower().
Referenced by NL3D::CShapeBankUser::buildSystemGeometryForshape().
| void NL3D::CShapeBank::cancelLoadAsync | ( | const std::string & | shapeName | ) |
Definition at line 531 of file shape_bank.cpp.
References AsyncLoad_Delete, AsyncLoad_Error, AsyncLoad_Texture, nlassert, ShapePtrToShapeInfo, NLMISC::toLower(), and WaitingShapes.
Referenced by NL3D::CInstanceGroup::stopAddToSceneAsync().
| void NL3D::CShapeBank::checkShapeCache | ( | CShapeCache * | pShpCache | ) | [private] |
Definition at line 832 of file shape_bank.cpp.
References NL3D::CShapeBank::CShapeCache::Elements, getShapeNameFromShapePtr(), NL3D::CShapeBank::CShapeCache::MaxSize, ShapeMap, and ShapePtrToShapeInfo.
Referenced by release(), removeShapeCache(), reset(), and setShapeCacheSize().
| CShapeBank::TShapeState NL3D::CShapeBank::getPresentState | ( | const std::string & | shapeName | ) |
Return the shape state. Process the waiting shapes.
Definition at line 435 of file shape_bank.cpp.
References NotPresent, Present, ShapeMap, NLMISC::toLower(), and WaitingShapes.
Referenced by NL3D::CInstanceGroup::addToSceneAsync(), NL3D::CScene::createInstance(), NL3D::CScene::createInstanceAsync(), NL3D::GetDummyMeshFromBank(), NL3D::CFlareShape::getOcclusionTestMesh(), NL3D::CLandscapeIGManager::initIG(), preLoadShapes(), NL3D::CAnimationSet::preloadSSSShapes(), NL3D::CPSConstraintMesh::update(), and NL3D::CScene::updateWaitingInstances().
| IShape * NL3D::CShapeBank::getShape | ( | const std::string & | shapeName | ) |
Return the IShape from the bank.
Unlike addRef, no reference is added. Thus the returning shape sould be used temporarily
Definition at line 451 of file shape_bank.cpp.
References ShapeMap, and NLMISC::toLower().
Referenced by NL3D::CShapeBankUser::getShape().
| sint NL3D::CShapeBank::getShapeCacheFreeSpace | ( | const std::string & | shapeCacheName | ) | const |
return free cache space (maxSize-nbCurrentInCache)
Definition at line 717 of file shape_bank.cpp.
References ShapeCacheNameToShapeCache.
Referenced by preLoadShapes(), and NL3D::CAnimationSet::preloadSSSShapes().
| CShapeBank::CShapeCache * NL3D::CShapeBank::getShapeCachePtrFromShapeCacheName | ( | const std::string & | shapeCacheName | ) | [private] |
Definition at line 796 of file shape_bank.cpp.
References ShapeCacheNameToShapeCache.
Referenced by add(), getShapeCachePtrFromShapeName(), linkShapeToShapeCache(), removeShapeCache(), reset(), and setShapeCacheSize().
| CShapeBank::CShapeCache * NL3D::CShapeBank::getShapeCachePtrFromShapeName | ( | const std::string & | shapeName | ) | [private] |
Definition at line 820 of file shape_bank.cpp.
References getShapeCachePtrFromShapeCacheName(), and ShapeNameToShapeCacheName.
Referenced by add().
| CShapeBank::CShapeCache * NL3D::CShapeBank::getShapeCachePtrFromShapePtr | ( | IShape * | pShp | ) | [private] |
Definition at line 770 of file shape_bank.cpp.
References ShapePtrToShapeInfo.
Referenced by release().
| const string * NL3D::CShapeBank::getShapeNameFromShapePtr | ( | IShape * | pShp | ) | const |
Definition at line 808 of file shape_bank.cpp.
References ShapePtrToShapeInfo.
Referenced by addRef(), checkShapeCache(), NL3D::USkeleton::getShapeName(), NL3D::UInstance::getShapeName(), release(), and NL3D::CRenderTrav::traverse().
| IShape * NL3D::CShapeBank::getShapePtrFromShapeName | ( | const std::string & | pShpName | ) | [private] |
Definition at line 782 of file shape_bank.cpp.
References ShapeMap.
Referenced by addRef(), and linkShapeToShapeCache().
| bool NL3D::CShapeBank::isShapeCache | ( | const std::string & | shapeCacheName | ) | const |
true if the shape cache exist
Definition at line 850 of file shape_bank.cpp.
References ShapeCacheNameToShapeCache.
Referenced by preLoadShapes(), and NL3D::CAnimationSet::preloadSSSShapes().
| bool NL3D::CShapeBank::isShapeWaiting | ( | ) |
Definition at line 593 of file shape_bank.cpp.
References WaitingShapes.
| void NL3D::CShapeBank::linkShapeToShapeCache | ( | const std::string & | shapeName, | |
| const std::string & | shapeCacheName | |||
| ) |
Link a shape to a ShapeCache. The ShapeCache must exist and must not contains the shape.
Definition at line 729 of file shape_bank.cpp.
References getShapeCachePtrFromShapeCacheName(), getShapePtrFromShapeName(), NL3D::CShapeBank::CShapeInfo::isAdded, NL3D::CShapeBank::CShapeInfo::pShpCache, ShapeNameToShapeCacheName, ShapePtrToShapeInfo, and NLMISC::toLower().
Referenced by NL3D::CShapeBankUser::linkShapeToShapeCache(), preLoadShapes(), and NL3D::CAnimationSet::preloadSSSShapes().
| void NL3D::CShapeBank::load | ( | const std::string & | shapeName | ) |
Load the corresponding file from disk and add it to the bank.
Definition at line 465 of file shape_bank.cpp.
References add(), NLMISC::CIFile::close(), NL3D::CShapeStream::getShapePointer(), NLMISC::CPath::lookup(), nlwarning, NLMISC::CIFile::open(), NLMISC::IStream::serial(), ShapeMap, NLMISC::toLower(), and WaitingShapes.
Referenced by NL3D::CScene::createInstance(), NL3D::CFlareShape::getOcclusionTestMesh(), NL3D::CLandscapeIGManager::initIG(), preLoadShapes(), NL3D::CAnimationSet::preloadSSSShapes(), and NL3D::CPSConstraintMesh::update().
| void NL3D::CShapeBank::loadAsync | ( | const std::string & | shapeName, | |
| IDriver * | pDriver, | |||
| const NLMISC::CVector & | position, | |||
| bool * | bSignal, | |||
| uint | selectedTexture | |||
| ) |
Load the corresponding file from disk asynchronously and add it to the bank.
The driver passed to this function is used to know if we have to load the textures.
Definition at line 499 of file shape_bank.cpp.
References _pDriver, NL3D::CShapeBank::CWaitingShape::RefCnt, ShapeMap, NL3D::CShapeBank::CWaitingShape::Signal, NLMISC::toLower(), and WaitingShapes.
Referenced by NL3D::CInstanceGroup::addToSceneAsync(), and NL3D::CScene::createInstanceAsync().
| void NL3D::CShapeBank::preLoadShapes | ( | const std::string & | shapeCacheName, | |
| const std::vector< std::string > & | listFile, | |||
| const std::string & | wildCardNotLwr, | |||
| NLMISC::IProgressCallback * | progress = NULL, |
|||
| bool | flushTextures = false, |
|||
| IDriver * | drv = NULL | |||
| ) |
PreLoad all shapes (.shape, .ps, .skel.
..) files from a list of files 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...)
| shapeCacheName | name of a shapeCache created with addShapeCache()/setShapeCacheSize(). no-op if don't exist | |
| fileList | a list of file names. NB: CPath is used to load the shapes. | |
| wildcard | a filter string like: "*.shape", "??_HOM*.shape". NB: toLower-ed internally | |
| flushTextures | if true, then textures are flushed in the driver drv |
Definition at line 856 of file shape_bank.cpp.
References addRef(), NL3D::IShape::flushTextures(), NLMISC::CFile::getFilename(), getPresentState(), getShapeCacheFreeSpace(), isShapeCache(), linkShapeToShapeCache(), load(), NotPresent, Present, NLMISC::IProgressCallback::progress(), release(), NLMISC::testWildCard(), and NLMISC::toLower().
Referenced by NL3D::CShapeBankUser::preLoadShapesFromBNP(), and NL3D::CShapeBankUser::preLoadShapesFromDirectory().
| void NL3D::CShapeBank::processWaitingShapes | ( | ) |
processWaitingShapes must be done one time per frame
Definition at line 131 of file shape_bank.cpp.
References _MaxUploadPerFrame, _pDriver, add(), AsyncLoad_Delete, AsyncLoad_Error, AsyncLoad_Ready, AsyncLoad_Shape, AsyncLoad_Texture, NL3D::CMaterial::getLightMap(), NL3D::CMeshBase::getMaterial(), NL3D::CMeshBase::getNbMaterial(), NL3D::ITexture::getReleasable(), NL3D::CMaterial::getShader(), NL3D::CMaterial::getTexture(), NL3D::IDRV_MAT_MAXTEXTURES, NL3D::IDriver::isTextureExist(), NL3D::CMaterial::LightMap, nlstop, processWSUploadTexture(), NL3D::CShapeBank::CWaitingShape::RefCnt, NL3D::ITexture::release(), NL3D::CShapeBank::CWaitingShape::ShapePtr, NL3D::CShapeBank::CWaitingShape::Signal, NL3D::CShapeBank::CWaitingShape::State, NL3D::CMaterial::texturePresent(), NL3D::CShapeBank::CWaitingShape::UpTextLine, NL3D::CShapeBank::CWaitingShape::UpTextMipMap, NL3D::CShapeBank::CWaitingShape::UpTextProgress, and WaitingShapes.
Referenced by NL3D::CScene::updateWaitingInstances().
| bool NL3D::CShapeBank::processWSUploadTexture | ( | CWaitingShape & | rWS, | |
| uint32 & | nTotalUploaded, | |||
| ITexture * | pText | |||
| ) | [private] |
return true if the texture is entirely uploaded
Definition at line 335 of file shape_bank.cpp.
References _MaxUploadPerFrame, _pDriver, NLMISC::CBitmap::bitPerPixels, NLMISC::CBitmap::getHeight(), NLMISC::CBitmap::getMipMapCount(), NLMISC::CBitmap::getPixelFormat(), NL3D::ITexture::getReleasable(), NLMISC::CBitmap::getSize(), NLMISC::CBitmap::getWidth(), NL3D::ITexture::isTextureCube(), NL3D::ITexture::mipMapOn(), NL3D::ITexture::release(), NLMISC::CRect::set(), NL3D::ITexture::setReleasable(), NL3D::IDriver::setupTextureEx(), NL3D::IDriver::uploadTexture(), NL3D::IDriver::uploadTextureCube(), NL3D::CShapeBank::CWaitingShape::UpTextLine, and NL3D::CShapeBank::CWaitingShape::UpTextMipMap.
Referenced by processWaitingShapes().
| void NL3D::CShapeBank::release | ( | IShape * | pShp | ) |
Release a reference to a shape by its instance.
If the shape has no more reference it is added to its own shape cache. When the shape cache is full the last entry is deleted.
Definition at line 92 of file shape_bank.cpp.
References checkShapeCache(), NL3D::CShapeBank::CShapeCache::Elements, getShapeCachePtrFromShapePtr(), getShapeNameFromShapePtr(), nlassert, nlwarning, ShapeMap, and ShapePtrToShapeInfo.
Referenced by NL3D::CScene::deleteInstance(), NL3D::CFlareShape::getOcclusionTestMesh(), preLoadShapes(), NL3D::CAnimationSet::preloadSSSShapes(), NL3D::CPSConstraintMesh::releaseShapes(), NL3D::CLandscapeIGManager::reset(), and NL3D::CPSConstraintMesh::update().
| void NL3D::CShapeBank::removeShapeCache | ( | const std::string & | shapeCacheName | ) |
Remove a ShapeCache.
All shapes in the shape cache are deleted. All links are redirected to the default ShapeCache
Definition at line 658 of file shape_bank.cpp.
References checkShapeCache(), getShapeCachePtrFromShapeCacheName(), NL3D::CShapeBank::CShapeCache::MaxSize, ShapeCacheNameToShapeCache, and ShapeNameToShapeCacheName.
Referenced by NL3D::CShapeBankUser::removeShapeCache().
| void NL3D::CShapeBank::reset | ( | ) |
Remove all ShapeCache and suppress all links (even the link to the default cache are removed).
Definition at line 685 of file shape_bank.cpp.
References addShapeCache(), checkShapeCache(), getShapeCachePtrFromShapeCacheName(), NL3D::CShapeBank::CShapeCache::MaxSize, nlstop, ShapeCacheNameToShapeCache, and ShapeNameToShapeCacheName.
Referenced by NL3D::CShapeBankUser::reset().
| void NL3D::CShapeBank::setMaxBytesToUpload | ( | uint32 | MaxUploadPerFrame | ) |
Setup the maximum number of bytes to upload for a frame (texture upload from RAM to VRAM).
Definition at line 329 of file shape_bank.cpp.
References _MaxUploadPerFrame.
Referenced by NL3D::CScene::updateWaitingInstances().
| void NL3D::CShapeBank::setShapeCacheSize | ( | const std::string & | shapeCacheName, | |
| sint32 | maxSize | |||
| ) |
Set the shapeCache shapeCacheName the new size.(delete shapes if maxsize<shapeCacheSize).
Definition at line 706 of file shape_bank.cpp.
References checkShapeCache(), getShapeCachePtrFromShapeCacheName(), and ShapeCacheNameToShapeCache.
Referenced by NL3D::CAnimationSet::preloadSSSShapes(), and NL3D::CShapeBankUser::setShapeCacheSize().
uint32 NL3D::CShapeBank::_MaxUploadPerFrame [private] |
Definition at line 200 of file shape_bank.h.
Referenced by CShapeBank(), processWaitingShapes(), processWSUploadTexture(), and setMaxBytesToUpload().
IDriver* NL3D::CShapeBank::_pDriver [private] |
Definition at line 209 of file shape_bank.h.
Referenced by loadAsync(), processWaitingShapes(), and processWSUploadTexture().
std::set<std::string> NL3D::CShapeBank::_ShapeNeedingSystemGeometryCopy [private] |
Definition at line 244 of file shape_bank.h.
Referenced by add(), and buildSystemGeometryForshape().
Definition at line 240 of file shape_bank.h.
Referenced by addShapeCache(), getShapeCacheFreeSpace(), getShapeCachePtrFromShapeCacheName(), isShapeCache(), removeShapeCache(), reset(), and setShapeCacheSize().
TShapeMap NL3D::CShapeBank::ShapeMap [private] |
Definition at line 175 of file shape_bank.h.
Referenced by add(), checkShapeCache(), getPresentState(), getShape(), getShapePtrFromShapeName(), load(), loadAsync(), and release().
Definition at line 239 of file shape_bank.h.
Referenced by add(), getShapeCachePtrFromShapeName(), linkShapeToShapeCache(), removeShapeCache(), and reset().
Definition at line 241 of file shape_bank.h.
Referenced by add(), addRef(), cancelLoadAsync(), checkShapeCache(), getShapeCachePtrFromShapePtr(), getShapeNameFromShapePtr(), linkShapeToShapeCache(), and release().
Definition at line 199 of file shape_bank.h.
Referenced by cancelLoadAsync(), getPresentState(), isShapeWaiting(), load(), loadAsync(), and processWaitingShapes().
1.6.1