VR-Forces 4.0.4 Class Documentation
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...

List of all members.

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

DTOR.

CTOR.


Member Function Documentation

Load all the models in a given directory.

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.

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.

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

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

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

Set the model filename.

Set if model instance sharing is enabled.

Set if model instance sharing is enabled.

Clears the cache of all model definitions.

Clears out entire manager.

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.

virtual DtModelDefinitionManager& makVrv::DtModelDefinitionManager::operator= ( const DtModelDefinitionManager ) [virtual]

Assignment operator.

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

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 
) [inline, protected]

Friends And Related Function Documentation

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

Member Data Documentation


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

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)