NL3D::CAsyncFileManager3D Class Reference

#include <async_file_manager_3d.h>


Detailed Description

CAsyncFileManager is a class that manage file loading in a seperate thread
Author:
Matthieu Besson

Nevrax France

Date:
2002

Definition at line 49 of file async_file_manager_3d.h.

Public Member Functions

bool cancelLoadMesh (const std::string &sMeshName)
bool cancelLoadTexture (CTextureFile *textFile)
void cancelSignal (bool *pSgn)
void loadFile (const std::string &fileName, uint8 **pPtr)
void loadFiles (const std::vector< std::string > &vFileNames, const std::vector< uint8 ** > &vPtrs)
void loadIG (const std::string &igName, CInstanceGroup **ppIG)
void loadIGUser (const std::string &igName, UInstanceGroup **ppIG)
void loadMesh (const std::string &sMeshName, IShape **ppShp, IDriver *pDriver, const NLMISC::CVector &position, uint textureSlot)
void loadTexture (CTextureFile *textureFile, bool *pSgn, const NLMISC::CVector &position)
void signal (bool *pSgn)

Static Public Member Functions

CAsyncFileManager3DgetInstance ()
void terminate ()

Private Member Functions

 CAsyncFileManager3D ()

Static Private Attributes

CAsyncFileManager3D_Singleton = NULL

Friends

class CLoadMeshCancel
class CLoadTextureCancel


Constructor & Destructor Documentation

NL3D::CAsyncFileManager3D::CAsyncFileManager3D  )  [private]
 

Definition at line 53 of file async_file_manager_3d.cpp.

Referenced by getInstance().

00054 {
00055 }


Member Function Documentation

bool NL3D::CAsyncFileManager3D::cancelLoadMesh const std::string &  sMeshName  ) 
 

Definition at line 120 of file async_file_manager_3d.cpp.

References CLoadMeshCancel.

00121 {
00122         return CAsyncFileManager::getInstance().cancelLoadTask(CLoadMeshCancel(sMeshName));
00123 }

bool NL3D::CAsyncFileManager3D::cancelLoadTexture CTextureFile textFile  ) 
 

Definition at line 178 of file async_file_manager_3d.cpp.

References CLoadTextureCancel.

00179 {
00180         return CAsyncFileManager::getInstance().cancelLoadTask(CLoadTextureCancel(textFile));
00181 }

void NL3D::CAsyncFileManager3D::cancelSignal bool *  pSgn  ) 
 

Definition at line 207 of file async_file_manager_3d.cpp.

00208 {
00209         CAsyncFileManager::getInstance().cancelSignal(pSgn);
00210 }

CAsyncFileManager3D & NL3D::CAsyncFileManager3D::getInstance  )  [static]
 

Definition at line 59 of file async_file_manager_3d.cpp.

References _Singleton, and CAsyncFileManager3D().

Referenced by terminate().

00060 {
00061         if (_Singleton == NULL)
00062         {
00063                 _Singleton = new CAsyncFileManager3D();
00064         }
00065         return *_Singleton;
00066 }

void NL3D::CAsyncFileManager3D::loadFile const std::string &  fileName,
uint8 **  pPtr
 

Definition at line 186 of file async_file_manager_3d.cpp.

References uint8.

00187 {
00188         CAsyncFileManager::getInstance().loadFile (sFileName, ppFile);
00189 }

void NL3D::CAsyncFileManager3D::loadFiles const std::vector< std::string > &  vFileNames,
const std::vector< uint8 ** > &  vPtrs
 

Definition at line 193 of file async_file_manager_3d.cpp.

00194 {
00195         CAsyncFileManager::getInstance().loadFiles (vFileNames, vPtrs);
00196 }

void NL3D::CAsyncFileManager3D::loadIG const std::string &  igName,
CInstanceGroup **  ppIG
 

Definition at line 127 of file async_file_manager_3d.cpp.

00128 {
00129         CAsyncFileManager::getInstance().addLoadTask(new CIGLoad(IGName, ppIG));
00130 }

void NL3D::CAsyncFileManager3D::loadIGUser const std::string &  igName,
UInstanceGroup **  ppIG
 

Definition at line 134 of file async_file_manager_3d.cpp.

00135 {
00136         CAsyncFileManager::getInstance().addLoadTask (new CIGLoadUser(IGName, ppIG));
00137 }

void NL3D::CAsyncFileManager3D::loadMesh const std::string &  sMeshName,
IShape **  ppShp,
IDriver pDriver,
const NLMISC::CVector position,
uint  textureSlot
 

Definition at line 81 of file async_file_manager_3d.cpp.

References nlwarning, and uint.

00082 {
00083         if (meshName.empty())
00084                 nlwarning ("Can't load an empty filename");
00085         CAsyncFileManager::getInstance().addLoadTask(new CMeshLoad(meshName, ppShp, pDriver, position, textureSlot));
00086 }

void NL3D::CAsyncFileManager3D::loadTexture CTextureFile textureFile,
bool *  pSgn,
const NLMISC::CVector position
 

Definition at line 140 of file async_file_manager_3d.cpp.

References nlassert.

00141 {
00142         nlassert(textureFile && pSgn);
00143         CAsyncFileManager::getInstance().addLoadTask(new CTextureLoad(textureFile, pSgn, position));
00144 }

void NL3D::CAsyncFileManager3D::signal bool *  pSgn  ) 
 

Definition at line 200 of file async_file_manager_3d.cpp.

00201 {
00202         CAsyncFileManager::getInstance().signal(pSgn);
00203 }

void NL3D::CAsyncFileManager3D::terminate  )  [static]
 

Definition at line 70 of file async_file_manager_3d.cpp.

References _Singleton, and getInstance().

00071 {
00072         if (_Singleton != NULL)
00073         {
00074                 delete &getInstance();
00075                 _Singleton = NULL;
00076         }
00077 }


Friends And Related Function Documentation

friend class CLoadMeshCancel [friend]
 

Definition at line 83 of file async_file_manager_3d.h.

Referenced by cancelLoadMesh().

friend class CLoadTextureCancel [friend]
 

Definition at line 84 of file async_file_manager_3d.h.

Referenced by cancelLoadTexture().


Field Documentation

CAsyncFileManager3D * NL3D::CAsyncFileManager3D::_Singleton = NULL [static, private]
 

Definition at line 49 of file async_file_manager_3d.cpp.

Referenced by getInstance(), and terminate().


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