16 #include <boost/smart_ptr/detail/atomic_count.hpp>
17 #include <boost/thread/condition.hpp>
18 #include <boost/thread/mutex.hpp>
20 #include <boost/unordered_map.hpp>
26 class DtAsynchronousAgentManager;
27 class DtCoordinateSystem;
31 class DtAgentUpdateResolverInterface;
53 virtual void cleanup();
61 virtual void updateScene(
DtMessage& message);
73 virtual bool sceneObjectIsVisible(
DtElementID id)
const;
88 void checkForIgLock(
bool forceLock =
false);
95 virtual DtDe& acquireLockedIg();
102 virtual void releaseLockedIg();
130 virtual unsigned char acquireNamespaceId(
132 const std::string& ownerName);
136 virtual void releaseNamespaceId(
unsigned char nsId);
174 virtual void localEncodeAndUpdateScene();
177 virtual void createObject(
const std::string& className,
DtUniqueID id);
187 typedef boost::function< void (DtAgentManagerInterface*) >
200 typedef boost::unordered_map<DtUniqueID,AsynchronousInterfaceEntry>
NamespaceMap;
201 typedef boost::unordered_map<DtUniqueID,DtAgentUpdateResolverInterface*>
UpdaterMap;
NamespaceMap myNamespaceMap
Definition: DtAgentManager.h:211
UpdaterMap myUpdaterMap
Definition: DtAgentManager.h:207
Virtual base class.
Definition: DtVirtualBaseClass.h:19
An asynchronous interface to the scene manager.
Definition: DtAsynchronousAgentManager.h:24
std::vector< DtAgent * > DriverVector
Definition: DtAgentManager.h:202
The IGI Message.
Definition: DtMessage.h:30
Abstract base class for object updaters.
Definition: DtAgentUpdateResolverInterface.h:20
DtDe & de()
Get the scene manager's Ig object.
Definition: DtAgentManager.h:107
AsynchronousAgentManagerInterfaceFunctionQueue * asyncFunctionQueue
Definition: DtAgentManager.h:197
Scene Manager creator.
Definition: DtAgentManager.h:226
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
Contains makVrv::DtLockedBufferedQueue class.
std::pair< DtUniqueID, DtAgentUpdateResolverInterface * > myLastObjectCache
Definition: DtAgentManager.h:208
boost::signalslib::signal< void(DtUniqueID id)> signal_objectCreated
Signal for creation of actual objects (represented by their unique id).
Definition: DtAgentManager.h:119
DtMessage * message
Definition: DtAgentManager.h:152
boost::condition myReleaseIgCondition
Definition: DtAgentManager.h:216
A locked buffered queue which allows multiple writers and a single reader.
Definition: DtLockedBufferedQueue.h:24
Contains makVrv::DtVirtualBaseClass class.
DtLockedBufferedQueue< AgentManagerInterfaceFunction > AsynchronousAgentManagerInterfaceFunctionQueue
Definition: DtAgentManager.h:191
boost::condition myRequestIgCondition
Definition: DtAgentManager.h:215
boost::detail::atomic_count myAtomicWaitingCount
Definition: DtAgentManager.h:214
boost::unordered_map< DtUniqueID, DtAgentUpdateResolverInterface * > UpdaterMap
Definition: DtAgentManager.h:201
bool myForceCheckAysncMessages
Definition: DtAgentManager.h:220
unsigned char myNextValidNamespaceIdGuess
Definition: DtAgentManager.h:212
Helper struct for sending messages via the asynchronous message queue.
Definition: DtAgentManager.h:140
std::string name
Definition: DtAgentManager.h:195
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
DtSceneProctor * mySceneProctor
Definition: DtAgentManager.h:209
The DtAgentManager manages the distributed scene object framework.
Definition: DtAgentManager.h:38
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
std::vector< DtMessage * > MessageList
Definition: DtAgentManager.h:165
DtLockedBufferedQueue< MessageParcel > myAsynchronousMessageQueue
Definition: DtAgentManager.h:210
std::vector< MessageParcel > MessageParcelVector
Definition: DtAgentManager.h:156
The abstract interface necessary for agents.
Definition: DtAgentManagerInterface.h:33
boost::unordered_map< DtUniqueID, AsynchronousInterfaceEntry > NamespaceMap
Definition: DtAgentManager.h:200
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Contains makVrv::DtAgentManagerInterface class.
DtDe & myDe
Definition: DtAgentManager.h:205
boost::function< void(DtAgentManagerInterface *) > AgentManagerInterfaceFunction
Definition: DtAgentManager.h:188
The abstract scene handler defines the abstract IGI interface for controlling the scene...
Definition: DtSceneProctor.h:26
MessageParcel()
Definition: DtAgentManager.h:145
bool distribute
Definition: DtAgentManager.h:151
boost::mutex myMonitor
Definition: DtAgentManager.h:217
Definition: DtAgentManager.h:192