![]() |
VR-Forces 5.0.2 Developer's Guide
|
Instances of DtVrfParameterDb are the database of DtVrfObjectParameters objects used in the construction of DtSimObjects. The database is a collection of DtVrfObjectParameters objects, keyed on DtObjectType. When a new DtLocalObject is created through the DtLocalObjectManager, it looks up the appropriate DtVrfObjectParameters entry in the database, and uses the information contained in the entry to direct its construction.
The database can be used to get parametric data about a given type of entity (for example, to make behavior decisions) by using the lookup function in the DB. Access to the DB is generally obtained via:

Public Member Functions | |
| DtVrfParameterDb () | |
| virtual | ~DtVrfParameterDb () |
| virtual bool | init () |
| virtual DtVrfParameterDbEntry * | add (const DtObjectType &objectType, DtVrfObjectParameters *parameters) |
| virtual DtVrfObjectParameters * | lookup (const DtObjectType &objectType, DtObjectType *matchingType=NULL, DtString *source=NULL) const |
| virtual std::list< const DtVrfObjectParameters * > | lookupByEquipmentName (const DtString &equipmentName) const |
| virtual DtString | equipmentName (const DtObjectType &objectType, int &count) const |
| virtual void | remove (const DtObjectType &objectType) |
| virtual void | removeAll () |
| virtual const DtList & | parameterList () const |
| virtual bool | load (const DtFilename &filename, bool preloadParameters=false) |
| virtual bool | save (const DtFilename &filename) |
| virtual void | addParameters (const DtObjectType &objectType, DtVrfObjectParameters *newParameters) |
| virtual DtVrfObjectParameters * | lookupParameters (const DtObjectType &objectType, DtObjectType *matchingType) const |
| virtual void | removeParameters (const DtObjectType &objectType) |
| virtual void | removeAndDeleteAll () |
| virtual DtVrfParameterDbEntry * | lookupParameterDbEntry (const DtObjectType &objectType, DtObjectType *matchingType) const |
| virtual int | numParameterEntries () const |
| virtual std::list< DtString > * | getSysDefExtensionList () |
| virtual void | addExtension (DtString) |
Static Public Member Functions | |
| static DtVrfParameterDb * | create () |
Protected Member Functions | |
| virtual void | addParameterDbEntry (DtVrfParameterDbEntry *newParameterEntry) |
| virtual DtListItem * | lookupParameters (const DtObjectType &objectType) const |
| void | emptyList () |
| virtual DtVrfParameterDbEntry * | createParameterEntry () const |
Protected Attributes | |
| DtList | myParameterList |
| std::map< DtString, std::list < const DtVrfObjectParameters * > > | myEquipmentToParamsMap |
| tbb::spin_rw_mutex | myEquipmentToParamsMapMutex |
Private Member Functions | |
| DtVrfParameterDb (const DtVrfParameterDb &orig) | |
| DtVrfParameterDb & | operator= (const DtVrfParameterDb &orig) |
| DtVrfParameterDb::DtVrfParameterDb | ( | ) |
default constructor
|
virtual |
destructor
|
private |
copy constructor - not implemented
|
virtual |
initialization - must be called before any other public member functions are called.
Reimplemented in DtMtlParameterDb.
|
virtual |
Add a new parameter entry to database. It will replace the current entry for the given object type, if one exists. This class assumes responsibility for deleting memory associated with parameters added through addParameters.
|
virtual |
Lookup entry in parameter database that most closely matches given objectType. If matchingType is specified, return the object type of the entry (which may be less specific than the object type being looked up). If source is specified, it will be set to a string indicating the source data for the parameters which is appropriate for displaying on the console.
Reimplemented in DtMtlParameterDb.
|
virtual |
Some entity types, in particular in the AggregateLevel SMS, may have a Parameter Property defined called Primary-Equipment. This is a name (along with a count) that is like the type description from the DIS enumeration document for the equivalent EntityLevel entity. This function takes an equipment name and provides a list of parameter entries for types that have this as Primary Equipment. The object parameters entries are found by searching through all of the entries in the database; however, a map is created to cache the results found. This map stays in effect until the database is cleared (when a new SMS is loaded).
|
virtual |
This function provides a shortcut to get the primary equipment parameter property for the given object type. Count is the number of this equipment in the object type (i.e., the Count field of the Primary-Equipment structure). Returns the null string if the given type does not have an exact match or if it does not have this parameter property.
|
virtual |
Remove the entry for the given object type from the database. Deletes the memory associated with the entry.
|
virtual |
Remove all entries in the parameter database. Deletes memory associated with entries in the database.
Reimplemented in DtMtlParameterDb.
|
virtual |
List of all DtVrfParameterDbEntry* items in the database.
|
inlinevirtual |
Load the contents of a file into the parameter database. If the preloadParameters value is true will load all the parameters found in the database from disk (versus waiting until it is needed)
Reimplemented in DtMtlParameterDb.
|
inlinevirtual |
Save current contents of the parameter database to file.
Reimplemented in DtMtlParameterDb.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Returns entry most closely matching given object type. Returns object type of the entry that was found (which may be less specific than given object type).
|
virtual |
Returns the number of parameter entries.
|
virtual |
Get the list of sysdef extensions currently accepted. This can be modified so you may add, remove, or reorder the extensions. Extensions are used to load alternate sysdefs. For example, if you add an extension of "myextension", your human-myextension.sysdef file will load if it exists, instead of human.sysdef.
|
virtual |
Add a new extension to the back of the line. The extensions added last are considered more important than the extensions added first.
|
static |
Returns a new instance of this class.
|
protectedvirtual |
Add news item to database. If entry with an exactly matching DtObjectType already exists, removes and deletes the existing entry before adding the new one. Inserts new entry into list of entries in the order of most general DtObjectType (e.g. -1 -1 -1 -1 -1 -1 -1 -1) to most specific (e.g. 1 1 225 3 1 3 1 1), where -1 is a wildcard, and fields are ordered from left to right as most general to most specific.
|
protectedvirtual |
Returns DtListItem (containing DtVrfParameterDbEntry*) for given object type.
|
protected |
Empties contents of database, deleting memory associated with each entry. Not virtual because its called by the destructor.
|
protectedvirtual |
Creates a new type of parameter entry. Override to create your own derived type.
Reimplemented in DtMtlParameterDb.
|
private |
assignment operator - not implemented
|
protected |
List of DtVrfParameterDbEntry* objects.
|
mutableprotected |
A cache of equipment name to db entry list mappings. This is filled in as queries are made with lookupByEquipmentName calls are made. If queries are made that return empty lists, those are entered in the map as well.
|
mutableprotected |