23 #include <tbb/tbb_allocator.h>
49 unsigned char myNamespaceId);
59 return (myFreeID & 0x00FFFFFFFFFFFFFFULL) | (myNamespaceId << 56);
65 return (
unsigned char) (
id >> 56);
68 unsigned char namespaceId()
const;
80 return ++myUpdateCallIndex;
85 virtual DtAgent* createNewObject(
const std::string& objectClass,
bool bDistribute);
90 virtual void recreateObject(
DtAgent* proxy);
93 bool encodeUpdate(
DtMessage& masterMsg,
DtMessage& distributedMsg,
double simulationTime );
98 virtual void tick() = 0;
107 void queueObjectForUpdate(
DtAgent*
object);
123 typedef std::list<IndexedMessage, tbb::tbb_allocator<IndexedMessage> >
OrderedCallList;
OrderedCallList myMasterList
Definition: DtAgentManagerInterface.h:136
unsigned int index
Definition: DtAgentManagerInterface.h:113
static unsigned char namespaceFromUniqueId(DtUniqueID id)
Get the namespace id from a unique id.
Definition: DtAgentManagerInterface.h:63
The IGI Message. Is easily encoded and decoding using stream operators. It also provides validation d...
Definition: DtMessage.h:30
bool uniqueIdFromAgentManagerInterface(const DtUniqueID &id) const
Check to.
Definition: DtAgentManagerInterface.h:71
static const double IgnoreSimulationTime
Special time value used to encode messages where the sim time provided is ignored.
Definition: DtAgentManagerInterface.h:45
A distributed object agent base class.
Definition: DtAgent.h:54
Definition: DtAgentManagerInterface.h:111
AgentList myToBeDeletedObjects
Definition: DtAgentManagerInterface.h:133
DtUniqueID myFreeID
Definition: DtAgentManagerInterface.h:130
std::list< DtAgent * > AgentList
Type of drivers.
Definition: DtAgentManagerInterface.h:127
DtUniqueID createNewUniqueId()
Generate a new id.
Definition: DtAgentManagerInterface.h:55
AgentList myUpdatedObjects
Definition: DtAgentManagerInterface.h:132
unsigned int createNewCallID()
Create a new call id. Call ids are internal ids for function calls made onto objects.
Definition: DtAgentManagerInterface.h:78
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
bool distributeMessage
Definition: DtAgentManagerInterface.h:115
const DtAgentFactory * myDriverFactory
Definition: DtAgentManagerInterface.h:135
DtUniqueID myNamespaceId
Definition: DtAgentManagerInterface.h:129
DtMessage message
Definition: DtAgentManagerInterface.h:114
The DtAgentManager manages the distributed scene object framework. This includes the objects and upda...
Definition: DtAgentManager.h:38
std::list< IndexedMessage, tbb::tbb_allocator< IndexedMessage > > OrderedCallList
Definition: DtAgentManagerInterface.h:123
unsigned int myUpdateCallIndex
Definition: DtAgentManagerInterface.h:131
static bool sortCriteria(const IndexedMessage &a, const IndexedMessage &b)
Definition: DtAgentManagerInterface.h:117
Contains makVrv::DtUniqueID type.
The abstract interface necessary for agents.
Definition: DtAgentManagerInterface.h:33
The scene object creators are registered with the scene object factory for accessing DtSceneObjectCre...
Definition: DtAgentFactory.h:33
Contains DLL export macros.