NL3D::CAsyncFileManager3D::CIGLoad Class Reference

Inheritance diagram for NL3D::CAsyncFileManager3D::CIGLoad:

NLMISC::IRunnable

Public Member Functions

 CIGLoad (const std::string &meshName, CInstanceGroup **ppIG)
void getName (std::string &result) const
void run (void)

Private Attributes

std::string _IGName
CInstanceGroup ** _ppIG

Constructor & Destructor Documentation

NL3D::CAsyncFileManager3D::CIGLoad::CIGLoad const std::string &  meshName,
CInstanceGroup **  ppIG
 

Definition at line 370 of file async_file_manager_3d.cpp.

References _IGName, and _ppIG.

00371 {
00372         _IGName = IGName;
00373         _ppIG = ppIG;
00374 }


Member Function Documentation

void NL3D::CAsyncFileManager3D::CIGLoad::getName std::string &  result  )  const [virtual]
 

Reimplemented from NLMISC::IRunnable.

Definition at line 402 of file async_file_manager_3d.cpp.

References _IGName.

00403 {
00404         result = "LoadIG(" + _IGName + ")";
00405 }

void NL3D::CAsyncFileManager3D::CIGLoad::run void   )  [virtual]
 

Implements NLMISC::IRunnable.

Definition at line 377 of file async_file_manager_3d.cpp.

References _IGName, _ppIG, NLMISC::CIFile::close(), nlwarning, NLMISC::CIFile::open(), NL3D::CInstanceGroup::serial(), NLMISC::CIFile::setAsyncLoading(), and NLMISC::CIFile::setCacheFileOnOpen().

00378 {
00379         try
00380         {
00381                 CIFile igfile;
00382                 igfile.setAsyncLoading (true);
00383                 igfile.setCacheFileOnOpen (true);
00384                 igfile.open (CPath::lookup (_IGName));
00385                 CInstanceGroup *pIG = new CInstanceGroup();
00386                 pIG->serial (igfile);
00387                 igfile.close();
00388 
00389                 *_ppIG = pIG;
00390         }
00391         catch(EPathNotFound &)
00392         {
00393                 nlwarning ("Couldn't load '%s'", _IGName.c_str());
00394                 *_ppIG = (CInstanceGroup*)-1;
00395                 delete this;
00396                 return;
00397         }
00398         delete this;
00399 }


Field Documentation

std::string NL3D::CAsyncFileManager3D::CIGLoad::_IGName [private]
 

Definition at line 106 of file async_file_manager_3d.h.

Referenced by CIGLoad(), getName(), and run().

CInstanceGroup** NL3D::CAsyncFileManager3D::CIGLoad::_ppIG [private]
 

Definition at line 107 of file async_file_manager_3d.h.

Referenced by CIGLoad(), and run().


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