|
VR-Engage
2.2
|
Extends the base custom reflected entity list to provide VREngage-specific functionality, including parameter database handling and interaction with simulation model sets.
#include <vreVrvExtensions.h>
Public Member Functions | |
| DtVreCustomReflectedEntityList (makVrv::DT_PROTOCOL_NAMESPACE::DtEntityElementProcessor &listener) | |
| DtVreCustomReflectedEntityList (makVrv::DT_PROTOCOL_NAMESPACE::DtEntityElementProcessor &listener, const DtDDMRegionSet ®ionsToUse) | |
| virtual | ~DtVreCustomReflectedEntityList () override |
| virtual void | initialize () |
| virtual void | entityAdded (DtReflectedEntity *ent) override |
| virtual bool | readyToAdd (DtReflectedObject *obj) override |
| virtual void | entityUpdated (DtReflectedEntity *ent) override |
| DtVrfParameterDb * | parameterDatabase () |
Static Public Member Functions | |
| static void | entityUpdatedCallback (DtReflectedEntity *entity, void *usr) |
Protected Types | |
| using | InitializedTypeMap = std::map<DtReflectedObject*, DtEntityType> |
| using | MissingTypeSet = std::set<DtEntityType> |
Protected Member Functions | |
| virtual void | discoverEntity (DtReflectedObject *obj, DtExtEntityStateRepository *entSR) |
| virtual DtVreMessageResult | handleSessionSmsList (DtVreMessage *msg) |
Protected Attributes | |
| DtSmsLoader | mySmsLoader |
| std::vector< std::string > | mySms |
| InitializedTypeMap | myInitializedWithType |
| MissingTypeSet | myMissingTypes |
|
protected |
Type alias for mapping reflected objects to entity types.
|
protected |
Type alias for the set of missing entity types.
|
inline |
Constructor for non-HLA protocols.
| listener | Reference to the entity element processor that will receive entity events |
|
inline |
Constructor for HLA protocol.
| listener | Reference to the entity element processor that will receive entity events |
| regionsToUse | Reference to the DDM regions to use for this entity list |
|
overridevirtual |
Virtual destructor.
Removes message handlers registered during initialization
|
virtual |
Initializes the reflected entity list.
Registers parameter factories for various entity types and sets up message handlers for simulation model set handling
|
overridevirtual |
Handles a newly added entity.
| ent | Pointer to the entity that was added |
Registers a callback for entity updates and performs base class handling
|
overridevirtual |
Determines if an entity is ready to be added to the list.
| obj | Pointer to the reflected object to check |
Called when an entity has been discovered and needs to be added to the list
|
static |
Static callback function for entity updates.
| entity | Pointer to the entity that was updated |
| usr | User data pointer (points to the DtVreCustomReflectedEntityList instance) |
|
overridevirtual |
Handles entity updates.
| ent | Pointer to the entity that was updated |
Overridden function to process entity updates
| DtVrfParameterDb * makVre::DtVreCustomReflectedEntityList::parameterDatabase | ( | ) |
Gets the parameter database associated with this entity list.
Returns the parameter database from the SMS loader
|
protectedvirtual |
Discovers and initializes an entity with parameter data.
| obj | Pointer to the reflected object to discover |
| entSR | Pointer to the entity state repository |
Attempts to find parameter data for the entity in the parameter database
|
protectedvirtual |
Handles simulation model set list messages.
| msg | Pointer to the message containing the SMS list |
Ensures the SMS list has been loaded successfully and updates parameters if needed
|
protected |
Loader for simulation model sets.
|
protected |
Currently loaded simulation model set filenames.
|
protected |
Map of reflected objects to their entity types.
Tracks which entities have been initialized with which entity types
|
protected |
Set of entity types we know aren't in the parameter database.
This prevents entities with unknown parameter types from searching the parameter database every time there's a network update