VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | 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 bool skipDefaultDefinitions ()
 Should we skip the default model definitions for example, if –noAppDataModelDefs is on the command line.
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.
virtual bool mergeModelDefinitions (const std::string &fileOrDirName)
 merge in model definitions from a file or directory
virtual bool modifiedSinceStartup ()
 return whether the model definitions have modified since start up
virtual void addToModifiedDefinitionsMap (DtModelDefinition modelDefinition)
 add a model definition to the modifiedDefinitions map
virtual void addToAddedDefinitionsMap (DtModelDefinition modelDefinition)
 add a model definition to the addedDefinitions map
virtual void addToDeletedDefinitionsMap (DtModelDefinition modelDefinition)
 add a model definition to the deletedDefinitions map
virtual void resetModifiedFlags ()
 reset the flags about the modification after you have save it.
virtual int getNumOfDefinitionsExcludeTerrain ()
 exclude the definition that has terrain schema
const DtSettingsBackupsettingsBackup () const
DtSettingsBackupsettingsBackup ()
virtual DtModelDefinitionManageroperator= (const DtModelDefinitionManager &)
 Assignment operator.
void setAutoSave (bool b)
 Sets whether or not to automatically save model definition manager 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
std::string myModelFileExtension
bool myAutoSave
bool myModelInstancingFlag
DtModelDefinitionManagerSignalermySignaler
DtModelDefinitionManagerBackupmyBackup
int myStartupNumOfDefinition
DefinitionMap myModifiedDefinitions
DefinitionMap myAddedDefinitions
DefinitionMap myDeletedDefinitions

Private Member Functions

bool loadModelDefinitionsFromXML (const std::string &filename, bool shouldMerge)
bool loadModelDefinitionsFromBinary (const std::string &filename, bool shouldMerge)

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 bool makVrv::DtModelDefinitionManager::skipDefaultDefinitions ( )
virtual

Should we skip the default model definitions for example, if –noAppDataModelDefs is on the command line.

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.

virtual bool makVrv::DtModelDefinitionManager::mergeModelDefinitions ( const std::string &  fileOrDirName)
virtual

merge in model definitions from a file or directory

virtual bool makVrv::DtModelDefinitionManager::modifiedSinceStartup ( )
virtual

return whether the model definitions have modified since start up

virtual void makVrv::DtModelDefinitionManager::addToModifiedDefinitionsMap ( DtModelDefinition  modelDefinition)
virtual

add a model definition to the modifiedDefinitions map

virtual void makVrv::DtModelDefinitionManager::addToAddedDefinitionsMap ( DtModelDefinition  modelDefinition)
virtual

add a model definition to the addedDefinitions map

virtual void makVrv::DtModelDefinitionManager::addToDeletedDefinitionsMap ( DtModelDefinition  modelDefinition)
virtual

add a model definition to the deletedDefinitions map

virtual void makVrv::DtModelDefinitionManager::resetModifiedFlags ( )
virtual

reset the flags about the modification after you have save it.

virtual int makVrv::DtModelDefinitionManager::getNumOfDefinitionsExcludeTerrain ( )
virtual

exclude the definition that has terrain schema

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 manager 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
bool makVrv::DtModelDefinitionManager::loadModelDefinitionsFromXML ( const std::string &  filename,
bool  shouldMerge 
)
private
bool makVrv::DtModelDefinitionManager::loadModelDefinitionsFromBinary ( const std::string &  filename,
bool  shouldMerge 
)
private

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
std::string makVrv::DtModelDefinitionManager::myModelFileExtension
protected
bool makVrv::DtModelDefinitionManager::myAutoSave
protected
bool makVrv::DtModelDefinitionManager::myModelInstancingFlag
protected
DtModelDefinitionManagerSignaler& makVrv::DtModelDefinitionManager::mySignaler
protected
DtModelDefinitionManagerBackup* makVrv::DtModelDefinitionManager::myBackup
protected
int makVrv::DtModelDefinitionManager::myStartupNumOfDefinition
protected
DefinitionMap makVrv::DtModelDefinitionManager::myModifiedDefinitions
protected
DefinitionMap makVrv::DtModelDefinitionManager::myAddedDefinitions
protected
DefinitionMap makVrv::DtModelDefinitionManager::myDeletedDefinitions
protected

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

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)