9 #include <tbb/spin_rw_mutex.h>
13 class DtSimEntryObjectAgent;
14 class DtSimStateObjectAgent;
15 class DtBaseConnection;
20 class DtSimDataProcessorManager;
21 class DtStateComponent;
26 virtual void createAndSendState(
const std::set<const DtFrameStateInterface*>&, makVrv::DtSimStateObjectAgent&,
27 bool force =
false) = 0;
30 template <
typename T_Agent,
typename T_Component>
51 virtual void queueFunction(
const boost::function<
void ()>&
function);
83 makVrv::DtSimStateObjectAgent& driver,
139 typedef std::map<makVrv::DtSimEntryUpdater::UpdateRate, UpdaterGroup>
UpdateGroupMap;
156 typedef std::map<makVrv::DtUniqueID, ComponentInstance>
AgentMap;
makVrv::DtBalancedUpdater< ComponentUpdater > UpdaterGroup
Definition: vrfComponentProcessorInterface.h:138
DtSimDataProcessorManager * mySimDataProcessorManager
Definition: vrfComponentProcessorInterface.h:162
makVrv::DtSimStateObjectAgent * myObjectAgent
Definition: vrfComponentProcessorInterface.h:124
DtSimDataProcessorManager * simDataProcessorManager()
In theory, the state data should have a big blob of data for all components – the state data entries ...
Definition: vrfComponentProcessorInterface.h:149
UpdateRate
Definition: DtSimEntryUpdater.h:31
makVrv::DtBaseConnection & mySimulation
Definition: vrfComponentProcessorInterface.h:133
virtual void queueStateComponentRemoved(const DtStateComponent *)
virtual T_Agent * createAgent(const DtFrameStateInterface *sc)
This class will manage the data processors. It will be the spot that the data processors can post mes...
Definition: simDataProcessorManager.h:25
DtStateDataManager * myStateDataManager
Definition: vrfComponentProcessorInterface.h:131
void setupComponentData()
std::set< const DtFrameStateInterface * > myFrameStateInterfaces
Definition: vrfComponentProcessorInterface.h:151
std::set< makVrv::DtUniqueID > myAwaitingValidId
Definition: vrfComponentProcessorInterface.h:161
makVrv::DtSimEntryObjectAgent * mySimEntryAgent
Definition: vrfComponentProcessorInterface.h:136
makVrv::DtSignalConnectionManager myConnectionManager
Definition: vrfComponentProcessorInterface.h:132
Definition: vrfDataProcessorInterface.h:35
virtual void forceObjectUpdate(makVrv::DtUniqueID)
virtual makVrv::DtUniqueID idForStateComponent(const DtFrameStateInterface *) const
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:35
bool operator==(const ComponentUpdater &orig) const
Definition: vrfComponentProcessorInterface.h:108
virtual bool componentDiscovered(const DtFrameStateInterface *)
Creates/removes agents for data.
makVrv::DtSimEntryUpdater::UpdateRate myRate
Definition: vrfComponentProcessorInterface.h:153
tbb::spin_rw_mutex myMutex
Definition: vrfComponentProcessorInterface.h:163
std::set< const DtFrameStateInterface * > myFrameStateInterfaces
Definition: vrfComponentProcessorInterface.h:123
virtual ~DtVrfComponentProcessor()
DTOR.
virtual void queueFunction(const boost::function< void()> &function)
Put a function in the sim function queue, for threadsafe calling.
virtual Legion::UInt64 legionIdFromVantageId(makVrv::DtUniqueID lid) const override
ComponentUpdater(const ComponentUpdater &orig)
Definition: vrfComponentProcessorInterface.h:91
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
unsigned long long UInt64
Definition: stateDataTypes.h:17
DtBalanacedUpdater updates updatee classes at a desired rate in a fair (each instance gets the same n...
Definition: DtBalancedUpdater.h:26
virtual bool shouldForceObjectUpdate(const DtFrameStateInterface *) const
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
void update(double)
Definition: vrfComponentProcessorInterface.h:113
DtTimedSection myTimer
Definition: vrfComponentProcessorInterface.h:135
ComponentUpdater(const std::set< const DtFrameStateInterface * > &listener, makVrv::DtSimStateObjectAgent &driver, DtComponentProcessorInterface &iface)
Definition: vrfComponentProcessorInterface.h:82
Definition: stateComponent.h:51
virtual void dataDiscoveredByLegionId(Legion::UInt64 lid)
#define DT_DLL_vrfGuiNetworkCommon
This file is used to determine how to build.
Definition: vrfGuiNetworkCommonDefines.h:24
virtual void destroyAgent(makVrv::DtSimStateObjectAgent *agent, const DtFrameStateInterface *sc)
UpdateGroupMap myRefreshRateGroups
Definition: vrfComponentProcessorInterface.h:141
makVrv::DtSimStateObjectAgent * myAgent
Definition: vrfComponentProcessorInterface.h:152
virtual void vantageIdMapped(makVrv::DtUniqueID, Legion::UInt64)
virtual void slot_frameAdvanced()
virtual void componentRemoved(UInt64, makVrv::DtUniqueID, const DtFrameStateInterface *)
virtual void componentUpdated(const DtFrameStateInterface *)
virtual void setObjectUpdateRate(makVrv::DtUniqueID uniqueId, makVrv::DtSimEntryUpdater::UpdateRate rate)
Set a particular object update.
virtual void createAndSendState(const std::set< const DtFrameStateInterface * > &, makVrv::DtSimStateObjectAgent &, bool force=false)=0
EntityIdList myForceUpdateList
Definition: vrfComponentProcessorInterface.h:144
std::map< makVrv::DtSimEntryUpdater::UpdateRate, UpdaterGroup > UpdateGroupMap
Definition: vrfComponentProcessorInterface.h:139
virtual makVrv::DtUniqueID vantageIdFromLegionId(Legion::UInt64) const override
boost::signals2::connection myVantageToLegionIdMapperConnection
Definition: vrfComponentProcessorInterface.h:159
AgentMap myAgents
Definition: vrfComponentProcessorInterface.h:157
std::map< makVrv::DtUniqueID, ComponentInstance > AgentMap
Definition: vrfComponentProcessorInterface.h:156
virtual void queueStateComponentDiscovered(const DtStateComponent *)
Call this method to queue a state component discovered or removed.
This is a simple base class that will be used to return a pointer to current or next frame state...
Definition: stateComponent.h:291
DtVrfComponentProcessor(DtStateDataManager *, makVrv::DtBaseConnection &)
CTOR.
Definition: vrfComponentProcessorInterface.h:78
virtual void stateComponentDiscovered(const DtStateComponent *, UInt64)
Calls DtFrameStateInterface versions.
virtual makVrv::DtUniqueID vantageIdFromLegionId(Legion::UInt64 lid) const =0
Definition: vrfComponentProcessorInterface.h:23
ComponentUpdater & operator=(const ComponentUpdater &orig)
Definition: vrfComponentProcessorInterface.h:98
DtComponentProcessorInterface * myDataProcessorInterface
Definition: vrfComponentProcessorInterface.h:125
Definition: vrfComponentProcessorInterface.h:31
This class holds the state data that represents each simulation object in the system.
Definition: stateDataManager.h:73
std::set< makVrv::DtUniqueID > EntityIdList
Definition: vrfComponentProcessorInterface.h:143