TankModelStore Class Reference

#include <TankModelStore.h>

List of all members.

Public Member Functions

 TankModelStore ()
virtual ~TankModelStore ()
bool loadTankMeshes (ScorchedContext &context, int detailLevel, ProgressCounter *counter=0)
TankModelgetModelByName (const char *name, int team, bool ai)
TankModelgetRandomModel (int team, bool ai)
TankTypegetTypeByName (const char *name)
std::vector
< TankModel * > & 
getModels ()
std::set< std::string > & getModelCatagories ()

Protected Member Functions

void addModels (std::vector< TankModel * > &src)
void killModels (std::vector< TankModel * > &src)

Protected Attributes

TankTypes types_
std::vector
< TankModel * > 
models_
std::set
< std::string,
std::less
< std::string > > 
modelCatagories_

Private Member Functions

 TankModelStore (const TankModelStore &)
const TankModelStoreoperator= (const TankModelStore &)


Detailed Description

Definition at line 31 of file TankModelStore.h.


Constructor & Destructor Documentation

TankModelStore::TankModelStore (  ) 

Definition at line 28 of file TankModelStore.cpp.

References modelCatagories_.

TankModelStore::~TankModelStore (  )  [virtual]

Definition at line 33 of file TankModelStore.cpp.

TankModelStore::TankModelStore ( const TankModelStore  )  [private]


Member Function Documentation

bool TankModelStore::loadTankMeshes ( ScorchedContext context,
int  detailLevel,
ProgressCounter counter = 0 
)

Definition at line 38 of file TankModelStore.cpp.

References addModels(), S3D::dialogMessage(), file, S3D::formatStringBuffer(), XMLNode::getChildren(), S3D::getDataFile(), TankModel::getName(), XMLNode::getName(), Model::getNumberTriangles(), XMLFile::getParserError(), XMLFile::getRootNode(), TankModel::getTankModelID(), TankModel::initFromXML(), ModelStore::instance(), killModels(), LANG_RESOURCE, ModelStore::loadModel(), TankTypes::loadTankTypes(), models_, XMLFile::readFile(), XMLNode::returnError(), ProgressCounter::setNewOp(), LangStringUtil::strcmp(), stricmp, and types_.

TankModel * TankModelStore::getModelByName ( const char *  name,
int  team,
bool  ai 
)

Definition at line 172 of file TankModelStore.cpp.

References DIALOG_ASSERT, TankModel::getName(), getRandomModel(), TankModel::isOfAi(), TankModel::isOfTeam(), models_, and LangStringUtil::strcmp().

Referenced by ServerNewGameState::checkTeams(), TankDefinition::createTank(), TargetRendererImplTank::getModel(), TankMovement::moveTank(), and TankMovement::simulationMove().

TankModel * TankModelStore::getRandomModel ( int  team,
bool  ai 
)

Definition at line 151 of file TankModelStore.cpp.

References DIALOG_ASSERT, TankModel::getName(), TankModel::isOfAi(), TankModel::isOfTeam(), models_, and LangStringUtil::strcmp().

Referenced by TankAIAdder::addTankAI(), and getModelByName().

TankType * TankModelStore::getTypeByName ( const char *  name  ) 

Definition at line 196 of file TankModelStore.cpp.

References TankTypes::getType(), and types_.

Referenced by TankAccessories::accessoryAllowed(), TankPosition::clientNewGame(), TankModel::initFromXML(), TankPosition::newGame(), Tank::newGame(), and TankAccessories::newMatch().

std::vector<TankModel *>& TankModelStore::getModels (  )  [inline]

Definition at line 45 of file TankModelStore.h.

References models_.

Referenced by GLWTankViewer::select().

std::set<std::string>& TankModelStore::getModelCatagories (  )  [inline]

Definition at line 46 of file TankModelStore.h.

References modelCatagories_.

Referenced by GLWTankViewer::GLWTankViewer().

void TankModelStore::addModels ( std::vector< TankModel * > &  src  )  [protected]

Definition at line 120 of file TankModelStore.cpp.

References TankModel::getCatagories(), modelCatagories_, and models_.

Referenced by loadTankMeshes().

void TankModelStore::killModels ( std::vector< TankModel * > &  src  )  [protected]

Definition at line 141 of file TankModelStore.cpp.

Referenced by loadTankMeshes().

const TankModelStore& TankModelStore::operator= ( const TankModelStore  )  [private]


Member Data Documentation

TankTypes TankModelStore::types_ [protected]

Definition at line 49 of file TankModelStore.h.

Referenced by getTypeByName(), and loadTankMeshes().

std::vector<TankModel *> TankModelStore::models_ [protected]

Definition at line 50 of file TankModelStore.h.

Referenced by addModels(), getModelByName(), getModels(), getRandomModel(), and loadTankMeshes().

std::set<std::string, std::less<std::string> > TankModelStore::modelCatagories_ [protected]

Definition at line 51 of file TankModelStore.h.

Referenced by addModels(), getModelCatagories(), and TankModelStore().


The documentation for this class was generated from the following files:
Generated on Mon Feb 16 15:15:07 2009 for Scorched3D by  doxygen 1.5.3