VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | Friends
makVrv::DtAgentManagerInterface Class Referenceabstract

The abstract interface necessary for agents.

Inheritance diagram for makVrv::DtAgentManagerInterface:
Inheritance graph
[legend]

Classes

struct  IndexedMessage
 

Public Member Functions

 DtAgentManagerInterface (const DtAgentFactory *factory, unsigned char myNamespaceId)
 
virtual ~DtAgentManagerInterface ()
 
DtUniqueID createNewUniqueId ()
 
unsigned char namespaceId () const
 
bool uniqueIdFromAgentManagerInterface (const DtUniqueID &id) const
 
unsigned int createNewCallID ()
 
virtual DtAgentcreateNewObject (const std::string &objectClass, bool bDistribute)
 
virtual void recreateObject (DtAgent *proxy)
 
bool encodeUpdate (DtMessage &masterMsg, DtMessage &distributedMsg, double simulationTime)
 
virtual void tick ()=0
 

Static Public Member Functions

static unsigned char namespaceFromUniqueId (DtUniqueID id)
 

Static Public Attributes

static const double IgnoreSimulationTime
 

Protected Types

typedef std::list
< IndexedMessage,
tbb::tbb_allocator
< IndexedMessage > > 
OrderedCallList
 
typedef std::list< DtAgent * > AgentList
 

Protected Member Functions

void deleteObject (DtAgent *)
 
void queueObjectForUpdate (DtAgent *object)
 

Protected Attributes

DtUniqueID myNamespaceId
 
DtUniqueID myFreeID
 
unsigned int myUpdateCallIndex
 
AgentList myUpdatedObjects
 
AgentList myToBeDeletedObjects
 
const DtAgentFactorymyDriverFactory
 
OrderedCallList myMasterList
 

Friends

class DtAgentManager
 
class DtAgent
 

Member Typedef Documentation

typedef std::list<IndexedMessage, tbb::tbb_allocator<IndexedMessage> > makVrv::DtAgentManagerInterface::OrderedCallList
protected
typedef std::list<DtAgent*> makVrv::DtAgentManagerInterface::AgentList
protected

Type of drivers.

Constructor & Destructor Documentation

makVrv::DtAgentManagerInterface::DtAgentManagerInterface ( const DtAgentFactory factory,
unsigned char  myNamespaceId 
)

CTOR.

virtual makVrv::DtAgentManagerInterface::~DtAgentManagerInterface ( )
virtual

DTOR.

Member Function Documentation

DtUniqueID makVrv::DtAgentManagerInterface::createNewUniqueId ( )
inline

Generate a new id.

static unsigned char makVrv::DtAgentManagerInterface::namespaceFromUniqueId ( DtUniqueID  id)
inlinestatic

Get the namespace id from a unique id.

Referenced by uniqueIdFromAgentManagerInterface().

unsigned char makVrv::DtAgentManagerInterface::namespaceId ( ) const
bool makVrv::DtAgentManagerInterface::uniqueIdFromAgentManagerInterface ( const DtUniqueID id) const
inline

Check to.

References namespaceFromUniqueId().

unsigned int makVrv::DtAgentManagerInterface::createNewCallID ( )
inline

Create a new call id. Call ids are internal ids for function calls made onto objects.

virtual DtAgent* makVrv::DtAgentManagerInterface::createNewObject ( const std::string &  objectClass,
bool  bDistribute 
)
virtual

Create a new object, and return a driver to that object. Deleting the driver will automatically destroy the actual object.

virtual void makVrv::DtAgentManagerInterface::recreateObject ( DtAgent proxy)
virtual

Add the existing proxy to the map of new objects so it gets "recreated" on slaves. Use this if you have late joining slaves and you want them to know about objects were created before the slave came into existence.

bool makVrv::DtAgentManagerInterface::encodeUpdate ( DtMessage masterMsg,
DtMessage distributedMsg,
double  simulationTime 
)

Encode an scene update int a message.

virtual void makVrv::DtAgentManagerInterface::tick ( )
pure virtual

Tick the scene manager. This will generate a message and deliver that message to the slaves (if the IG is the master) and handle the message.

Implemented in makVrv::DtAgentManager, and makVrv::DtAsynchronousAgentManager.

void makVrv::DtAgentManagerInterface::deleteObject ( DtAgent )
protected

Internal call to queue an object to be deleted next tick. This is called automatically when a driver for an object is deleted.

void makVrv::DtAgentManagerInterface::queueObjectForUpdate ( DtAgent object)
protected

Internal call to queue an object to generate an update in the next tick.

Friends And Related Function Documentation

friend class DtAgentManager
friend

otheer scene manager interfaces).

friend class DtAgent
friend

Member Data Documentation

const double makVrv::DtAgentManagerInterface::IgnoreSimulationTime
static

Special time value used to encode messages where the sim time provided is ignored.

DtUniqueID makVrv::DtAgentManagerInterface::myNamespaceId
protected
DtUniqueID makVrv::DtAgentManagerInterface::myFreeID
protected
unsigned int makVrv::DtAgentManagerInterface::myUpdateCallIndex
protected
AgentList makVrv::DtAgentManagerInterface::myUpdatedObjects
protected
AgentList makVrv::DtAgentManagerInterface::myToBeDeletedObjects
protected
const DtAgentFactory* makVrv::DtAgentManagerInterface::myDriverFactory
protected
OrderedCallList makVrv::DtAgentManagerInterface::myMasterList
protected

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

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)