VR-Engage  2.2
Loading...
Searching...
No Matches
makVre::DtVreCustomReflectedEntityList Class Reference

Detailed Description

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>

Inheritance diagram for makVre::DtVreCustomReflectedEntityList:
[legend]

Public Member Functions

 DtVreCustomReflectedEntityList (makVrv::DT_PROTOCOL_NAMESPACE::DtEntityElementProcessor &listener)
 
 DtVreCustomReflectedEntityList (makVrv::DT_PROTOCOL_NAMESPACE::DtEntityElementProcessor &listener, const DtDDMRegionSet &regionsToUse)
 
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
 

Member Typedef Documentation

◆ InitializedTypeMap

using makVre::DtVreCustomReflectedEntityList::InitializedTypeMap = std::map<DtReflectedObject*, DtEntityType>
protected

Type alias for mapping reflected objects to entity types.

◆ MissingTypeSet

using makVre::DtVreCustomReflectedEntityList::MissingTypeSet = std::set<DtEntityType>
protected

Type alias for the set of missing entity types.

Constructor & Destructor Documentation

◆ DtVreCustomReflectedEntityList() [1/2]

makVre::DtVreCustomReflectedEntityList::DtVreCustomReflectedEntityList ( makVrv::DT_PROTOCOL_NAMESPACE::DtEntityElementProcessor & listener)
inline

Constructor for non-HLA protocols.

Parameters
listenerReference to the entity element processor that will receive entity events

◆ DtVreCustomReflectedEntityList() [2/2]

makVre::DtVreCustomReflectedEntityList::DtVreCustomReflectedEntityList ( makVrv::DT_PROTOCOL_NAMESPACE::DtEntityElementProcessor & listener,
const DtDDMRegionSet & regionsToUse )
inline

Constructor for HLA protocol.

Parameters
listenerReference to the entity element processor that will receive entity events
regionsToUseReference to the DDM regions to use for this entity list

◆ ~DtVreCustomReflectedEntityList()

virtual makVre::DtVreCustomReflectedEntityList::~DtVreCustomReflectedEntityList ( )
overridevirtual

Virtual destructor.

Removes message handlers registered during initialization

Member Function Documentation

◆ initialize()

virtual void makVre::DtVreCustomReflectedEntityList::initialize ( )
virtual

Initializes the reflected entity list.

Registers parameter factories for various entity types and sets up message handlers for simulation model set handling

◆ entityAdded()

virtual void makVre::DtVreCustomReflectedEntityList::entityAdded ( DtReflectedEntity * ent)
overridevirtual

Handles a newly added entity.

Parameters
entPointer to the entity that was added

Registers a callback for entity updates and performs base class handling

◆ readyToAdd()

virtual bool makVre::DtVreCustomReflectedEntityList::readyToAdd ( DtReflectedObject * obj)
overridevirtual

Determines if an entity is ready to be added to the list.

Parameters
objPointer to the reflected object to check
Returns
True if the entity should be added, false otherwise

Called when an entity has been discovered and needs to be added to the list

◆ entityUpdatedCallback()

static void makVre::DtVreCustomReflectedEntityList::entityUpdatedCallback ( DtReflectedEntity * entity,
void * usr )
static

Static callback function for entity updates.

Parameters
entityPointer to the entity that was updated
usrUser data pointer (points to the DtVreCustomReflectedEntityList instance)

◆ entityUpdated()

virtual void makVre::DtVreCustomReflectedEntityList::entityUpdated ( DtReflectedEntity * ent)
overridevirtual

Handles entity updates.

Parameters
entPointer to the entity that was updated

Overridden function to process entity updates

◆ parameterDatabase()

DtVrfParameterDb * makVre::DtVreCustomReflectedEntityList::parameterDatabase ( )

Gets the parameter database associated with this entity list.

Returns
Pointer to the parameter database

Returns the parameter database from the SMS loader

◆ discoverEntity()

virtual void makVre::DtVreCustomReflectedEntityList::discoverEntity ( DtReflectedObject * obj,
DtExtEntityStateRepository * entSR )
protectedvirtual

Discovers and initializes an entity with parameter data.

Parameters
objPointer to the reflected object to discover
entSRPointer to the entity state repository

Attempts to find parameter data for the entity in the parameter database

◆ handleSessionSmsList()

virtual DtVreMessageResult makVre::DtVreCustomReflectedEntityList::handleSessionSmsList ( DtVreMessage * msg)
protectedvirtual

Handles simulation model set list messages.

Parameters
msgPointer to the message containing the SMS list
Returns
Message result indicating how the message was handled

Ensures the SMS list has been loaded successfully and updates parameters if needed

Member Data Documentation

◆ mySmsLoader

DtSmsLoader makVre::DtVreCustomReflectedEntityList::mySmsLoader
protected

Loader for simulation model sets.

◆ mySms

std::vector<std::string> makVre::DtVreCustomReflectedEntityList::mySms
protected

Currently loaded simulation model set filenames.

◆ myInitializedWithType

InitializedTypeMap makVre::DtVreCustomReflectedEntityList::myInitializedWithType
protected

Map of reflected objects to their entity types.

Tracks which entities have been initialized with which entity types

◆ myMissingTypes

MissingTypeSet makVre::DtVreCustomReflectedEntityList::myMissingTypes
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


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