19 #include <boost/signal.hpp>
26 #include <tbb/tbb_allocator.h>
52 unsigned char myNamespaceId);
62 return (myFreeID & 0x00FFFFFFFFFFFFFFULL) | (myNamespaceId << 56);
68 return (
unsigned char) (
id >> 56);
71 unsigned char namespaceId()
const;
83 return ++myUpdateCallIndex;
88 virtual DtAgent* createNewObject(
const std::string& objectClass,
bool bDistribute);
93 virtual void recreateObject(
DtAgent* proxy);
96 bool encodeUpdate(
DtMessage& masterMsg,
DtMessage& distributedMsg,
double simulationTime );
101 virtual void tick() = 0;
110 void queueObjectForUpdate(
DtAgent*
object);
126 typedef std::list<IndexedMessage, tbb::tbb_allocator<IndexedMessage> >
OrderedCallList;
OrderedCallList myMasterList
Definition: DtAgentManagerInterface.h:139
unsigned int index
Definition: DtAgentManagerInterface.h:116
static unsigned char namespaceFromUniqueId(DtUniqueID id)
Get the namespace id from a unique id.
Definition: DtAgentManagerInterface.h:66
The IGI Message.
Definition: DtMessage.h:33
bool uniqueIdFromAgentManagerInterface(const DtUniqueID &id) const
Check to.
Definition: DtAgentManagerInterface.h:74
static const double IgnoreSimulationTime
Special time value used to encode messages where the sim time provided is ignored.
Definition: DtAgentManagerInterface.h:48
A distributed object agent base class.
Definition: DtAgent.h:54
Definition: DtAgentManagerInterface.h:114
AgentList myToBeDeletedObjects
Definition: DtAgentManagerInterface.h:136
DtUniqueID myFreeID
Definition: DtAgentManagerInterface.h:133
std::list< DtAgent * > AgentList
Type of drivers.
Definition: DtAgentManagerInterface.h:130
DtUniqueID createNewUniqueId()
Generate a new id.
Definition: DtAgentManagerInterface.h:58
AgentList myUpdatedObjects
Definition: DtAgentManagerInterface.h:135
unsigned int createNewCallID()
Create a new call id.
Definition: DtAgentManagerInterface.h:81
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
bool distributeMessage
Definition: DtAgentManagerInterface.h:118
const DtAgentFactory * myDriverFactory
Definition: DtAgentManagerInterface.h:138
DtUniqueID myNamespaceId
Definition: DtAgentManagerInterface.h:132
DtMessage message
Definition: DtAgentManagerInterface.h:117
The DtAgentManager manages the distributed scene object framework.
Definition: DtAgentManager.h:38
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
std::list< IndexedMessage, tbb::tbb_allocator< IndexedMessage > > OrderedCallList
Definition: DtAgentManagerInterface.h:126
unsigned int myUpdateCallIndex
Definition: DtAgentManagerInterface.h:134
static bool sortCriteria(const IndexedMessage &a, const IndexedMessage &b)
Definition: DtAgentManagerInterface.h:120
Contains makVrv::DtUniqueID type.
The abstract interface necessary for agents.
Definition: DtAgentManagerInterface.h:36
The scene object creators are registered with the scene object factory for accessing DtSceneObjectCre...
Definition: DtAgentFactory.h:36
Contains DLL export macros.