VR-Forces 4.1.1 Class Documentation
List of all members | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Friends
makVrv::DtModelDefinitionManager Class Reference

The model definition manager is responsible to managing all of the model definitions the IG knows about. More...

Public Types

typedef std::map< std::string,
DtModelDefinition
DefinitionMap

Public Member Functions

virtual ~DtModelDefinitionManager ()
 DTOR.
virtual void loadDefinitions ()
 Load all the models in a given directory.
virtual void saveDefinitions ()
 Save all of the model definitions to a directory.
virtual void saveDefinitions (const std::string &)
virtual void addDefinition (const DtModelDefinition &definition, bool autoSave=true)
 Add a model definition.
virtual void destroyDefinition (const DtModelDefinition &def)
 Remove and destroy a definition.
DtModelDefinitionfindDefinition (const std::string &modelName) const
 Find a a model definition.
const DefinitionMapdefinitions () const
 Get a const ref to the map of definitions used for iteration.
DefinitionMapdefinitions ()
const std::string & modelFilename () const
 Set the model filename. The default is "Model Definitions.ommx".
void setModelFilename (const std::string &extension)
 Set the model filename.
bool modelInstancingEnabled () const
 Set if model instance sharing is enabled.
void setModelInstancingEnabled (bool enabled)
 Set if model instance sharing is enabled.
void clearModelInstancingCache ()
 Clears the cache of all model definitions.
void clear ()
 Clears out entire manager.
virtual void merge (const DtModelDefinitionManager &)
 Merges contents of supplied model definition manager into this one.
virtual bool loadModelDefinitions (const std::string &filename, bool merge=true)
 Load a specific model definition manager file.
virtual bool loadModelDefinition (const std::string &filename)
 Load a specific model file.
virtual bool exportToFile (const std::vector< std::string > &defs, const std::string &filename) const
 Exports the named definitions to the specified file.
virtual bool schemaInUse (const std::string &) const
 Returns true if the schema is in use by and model definition.
virtual bool schemaInUse (const std::string &, std::vector< std::string > &) const
 true if schema is in use and the vector of model defs for those that do
virtual void backup ()
 Backs up model definitions to backup manager.
const DtSettingsBackupsettingsBackup () const
DtSettingsBackupsettingsBackup ()
virtual DtModelDefinitionManageroperator= (const DtModelDefinitionManager &)
 Assignment operator.
void setAutoSave (bool b)
 Sets whether or not to automatically save model definition mananger on any change. Default is true.
bool autoSave () const
virtual void removeNonPersistentItems ()
 Removes items that are not persistent. These items should not be saved to disk or backed-up.

Protected Member Functions

 DtModelDefinitionManager (DtDe &)
 CTOR.
 DtModelDefinitionManager (const DtModelDefinitionManager &)
template<typename Archive >
void serialize (Archive &ar, unsigned int version)

Protected Attributes

DtDemyDe
DefinitionMap myDefinitions
std::string myModelFileName
bool myAutoSave
bool myModelInstancingFlag
DtModelDefinitionManagerSignalermySignaler
DtModelDefinitionManagerBackupmyBackup

Friends

class DtModelDefinitionManagerCreator
class DtModelDefinitionManagerBackup
class boost::serialization::access

Detailed Description

The model definition manager is responsible to managing all of the model definitions the IG knows about.

It will save and load definitions to/from files.

Member Typedef Documentation

Constructor & Destructor Documentation

virtual makVrv::DtModelDefinitionManager::~DtModelDefinitionManager ( )
virtual

DTOR.

makVrv::DtModelDefinitionManager::DtModelDefinitionManager ( DtDe )
protected

CTOR.

makVrv::DtModelDefinitionManager::DtModelDefinitionManager ( const DtModelDefinitionManager )
protected

Member Function Documentation

virtual void makVrv::DtModelDefinitionManager::loadDefinitions ( )
virtual

Load all the models in a given directory.

virtual void makVrv::DtModelDefinitionManager::saveDefinitions ( )
virtual

Save all of the model definitions to a directory.

virtual void makVrv::DtModelDefinitionManager::saveDefinitions ( const std::string &  )
virtual
virtual void makVrv::DtModelDefinitionManager::addDefinition ( const DtModelDefinition definition,
bool  autoSave = true 
)
virtual

Add a model definition.

The definition itself will only be copied. If autoSave is true and myAutoSave is true, saves out definitions to file

Exceptions
DtInvalidInputif the definition's name is empty.
virtual void makVrv::DtModelDefinitionManager::destroyDefinition ( const DtModelDefinition def)
virtual

Remove and destroy a definition.

Warning
Any pointers to the model definition will be invalid after this call and should never be used again.
DtModelDefinition* makVrv::DtModelDefinitionManager::findDefinition ( const std::string &  modelName) const

Find a a model definition.

Warning
The pointer returned should never be deleted, or cached.
Return values
0If no definition with the input name is found.
const DefinitionMap& makVrv::DtModelDefinitionManager::definitions ( ) const

Get a const ref to the map of definitions used for iteration.

DefinitionMap& makVrv::DtModelDefinitionManager::definitions ( )
const std::string& makVrv::DtModelDefinitionManager::modelFilename ( ) const

Set the model filename. The default is "Model Definitions.ommx".

void makVrv::DtModelDefinitionManager::setModelFilename ( const std::string &  extension)

Set the model filename.

bool makVrv::DtModelDefinitionManager::modelInstancingEnabled ( ) const

Set if model instance sharing is enabled.

void makVrv::DtModelDefinitionManager::setModelInstancingEnabled ( bool  enabled)

Set if model instance sharing is enabled.

void makVrv::DtModelDefinitionManager::clearModelInstancingCache ( )

Clears the cache of all model definitions.

void makVrv::DtModelDefinitionManager::clear ( )

Clears out entire manager.

virtual void makVrv::DtModelDefinitionManager::merge ( const DtModelDefinitionManager )
virtual

Merges contents of supplied model definition manager into this one.

Model definitions that exist will be replaced by model definitions in the merging manager. Ones that do not exist will be added. No model definitions will be removed as part of this operation

virtual bool makVrv::DtModelDefinitionManager::loadModelDefinitions ( const std::string &  filename,
bool  merge = true 
)
virtual

Load a specific model definition manager file.

Return values
trueif the model was loaded.
falseif the model definition manager file was not loaded (if the file was unable to be opened). When the load is complete, and merge is true, will call merge on the resultant model definition manager to place contents into this manager
virtual bool makVrv::DtModelDefinitionManager::loadModelDefinition ( const std::string &  filename)
virtual

Load a specific model file.

Return values
trueif the model was loaded.
falseif the model was not loaded (if the file was unable to be opened)
virtual bool makVrv::DtModelDefinitionManager::exportToFile ( const std::vector< std::string > &  defs,
const std::string &  filename 
) const
virtual

Exports the named definitions to the specified file.

The file can then be imported via the loadModelDefinitions() method

virtual bool makVrv::DtModelDefinitionManager::schemaInUse ( const std::string &  ) const
virtual

Returns true if the schema is in use by and model definition.

virtual bool makVrv::DtModelDefinitionManager::schemaInUse ( const std::string &  ,
std::vector< std::string > &   
) const
virtual

true if schema is in use and the vector of model defs for those that do

virtual void makVrv::DtModelDefinitionManager::backup ( )
virtual

Backs up model definitions to backup manager.

const DtSettingsBackup* makVrv::DtModelDefinitionManager::settingsBackup ( ) const
inline
DtSettingsBackup* makVrv::DtModelDefinitionManager::settingsBackup ( )
inline
virtual DtModelDefinitionManager& makVrv::DtModelDefinitionManager::operator= ( const DtModelDefinitionManager )
virtual

Assignment operator.

void makVrv::DtModelDefinitionManager::setAutoSave ( bool  b)
inline

Sets whether or not to automatically save model definition mananger on any change. Default is true.

bool makVrv::DtModelDefinitionManager::autoSave ( ) const
inline
virtual void makVrv::DtModelDefinitionManager::removeNonPersistentItems ( )
virtual

Removes items that are not persistent. These items should not be saved to disk or backed-up.

template<typename Archive >
void makVrv::DtModelDefinitionManager::serialize ( Archive &  ar,
unsigned int  version 
)
inlineprotected

Friends And Related Function Documentation

friend class DtModelDefinitionManagerCreator
friend
friend class DtModelDefinitionManagerBackup
friend
friend class boost::serialization::access
friend

Member Data Documentation

DtDe& makVrv::DtModelDefinitionManager::myDe
protected
DefinitionMap makVrv::DtModelDefinitionManager::myDefinitions
protected
std::string makVrv::DtModelDefinitionManager::myModelFileName
protected
bool makVrv::DtModelDefinitionManager::myAutoSave
protected
bool makVrv::DtModelDefinitionManager::myModelInstancingFlag
protected
DtModelDefinitionManagerSignaler& makVrv::DtModelDefinitionManager::mySignaler
protected
DtModelDefinitionManagerBackup* makVrv::DtModelDefinitionManager::myBackup
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)