VR-Forces 4.7 Class Documentation
 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 Reference

The abstract interface necessary for agents. More...

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

Classes

struct  IndexedMessage

Public Member Functions

 DtAgentManagerInterface (const DtAgentFactory *factory, unsigned char myNamespaceId)
 CTOR.
virtual ~DtAgentManagerInterface ()
 DTOR.
DtUniqueID createNewUniqueId ()
 Generate a new id.
unsigned char namespaceId () const
bool uniqueIdFromAgentManagerInterface (const DtUniqueID &id) const
 Check to.
unsigned int createNewCallID ()
 Create a new call id.
virtual DtAgentcreateNewObject (const std::string &objectClass, bool bDistribute)
 Create a new object, and return a driver to that object.
virtual void recreateObject (DtAgent *proxy)
 Add the existing proxy to the map of new objects so it gets "recreated" on slaves.
bool encodeUpdate (DtMessage &masterMsg, DtMessage &distributedMsg, double simulationTime)
 Encode an scene update int a message.
virtual void tick ()=0
 Tick the scene manager.

Static Public Member Functions

static unsigned char namespaceFromUniqueId (DtUniqueID id)
 Get the namespace id from a unique id.

Static Public Attributes

static const double IgnoreSimulationTime
 Special time value used to encode messages where the sim time provided is ignored.

Protected Types

typedef std::list
< IndexedMessage,
tbb::tbb_allocator
< IndexedMessage > > 
OrderedCallList
typedef std::list< DtAgent * > AgentList
 Type of drivers.

Protected Member Functions

void deleteObject (DtAgent *)
 Internal call to queue an object to be deleted next tick.
void queueObjectForUpdate (DtAgent *object)
 Internal call to queue an object to generate an update in the next tick.

Protected Attributes

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

Friends

class DtAgentManager
 otheer scene manager interfaces).
class DtAgent

Detailed Description

The abstract interface necessary for agents.

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 Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)