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

A distributed object agent base class.

Public Member Functions

virtual ~DtAgent ()
 
DtAgentManagerInterfacesceneInterface ()
 
void setSceneInterface (DtAgentManagerInterface *iface)
 
void init (DtAgentManagerInterface &sceneInterface, bool bDistribute)
 
const std::string & className () const
 
void clean ()
 
void dirty ()
 
DtUniqueID uniqueId () const
 
bool distributeMessages () const
 

Protected Member Functions

DtMessagestartNewCall (unsigned int function)
 
void addCreateObjectCall ()
 
void addDeleteObjectCall ()
 
unsigned int callCount () const
 
template<typename C >
void queueOperationCall (unsigned int state_function, void(C::*m)())
 
 DtAgent ()
 
 DtAgent (DtAgent &)
 
DtAgentManagerInterface::OrderedCallListcallList ()
 

Protected Attributes

DtAgentManagerInterfacemySceneInterface
 
DtUniqueID myUniqueId
 
std::string myClassName
 
bool myUpdateFlag
 
DtAgentManagerInterface::OrderedCallList myCalls
 
bool myDistributeObjectFlag
 
DtThreadId myThreadId
 

Friends

class DtAgentManagerInterface
 
class DtAgentManager
 

Constructor & Destructor Documentation

virtual makVrv::DtAgent::~DtAgent ( )
virtual

DTOR.

makVrv::DtAgent::DtAgent ( )
protected

Support up to 9 args, if more needed simply add, as they are template functions that will be dynamically generated.

CTOR

makVrv::DtAgent::DtAgent ( DtAgent )
protected

Copy CTOR is used internally for last update values.

Member Function Documentation

DtAgentManagerInterface& makVrv::DtAgent::sceneInterface ( )
inline

Get the scene interface, the scene interface may not be NULL (so a reference is safe.

void makVrv::DtAgent::setSceneInterface ( DtAgentManagerInterface iface)
inline

Set the internal scene interface pointer.

void makVrv::DtAgent::init ( DtAgentManagerInterface sceneInterface,
bool  bDistribute 
)

Initialize the object proxy this must be called once before using the object. It will be called automatically during proxy creation.

const std::string& makVrv::DtAgent::className ( ) const
inline

Get the class name.

void makVrv::DtAgent::clean ( )
inline
void makVrv::DtAgent::dirty ( )
inline
DtUniqueID makVrv::DtAgent::uniqueId ( ) const
inline

inline accessor

bool makVrv::DtAgent::distributeMessages ( ) const
inline

Accessor for myDistributeMessageFlag. Returns true if messages are going to be distributed to each slave in addition to the master.

DtMessage& makVrv::DtAgent::startNewCall ( unsigned int  function)
inlineprotected

Inline get arguments for a operation call operation.

void makVrv::DtAgent::addCreateObjectCall ( )
protected

Add a call which will create the actual object.

void makVrv::DtAgent::addDeleteObjectCall ( )
protected

Add a call to delete an object.

unsigned int makVrv::DtAgent::callCount ( ) const
inlineprotected

Get the number of calls.

template<typename C >
void makVrv::DtAgent::queueOperationCall ( unsigned int  state_function,
void(C::*)()  m 
)
inlineprotected
DtAgentManagerInterface::OrderedCallList& makVrv::DtAgent::callList ( )
inlineprotected

Get a pointer to the call list.

Friends And Related Function Documentation

friend class DtAgentManagerInterface
friend

Allow the scene manager interface access the processed functions.

friend class DtAgentManager
friend

Member Data Documentation

DtAgentManagerInterface* makVrv::DtAgent::mySceneInterface
protected
DtUniqueID makVrv::DtAgent::myUniqueId
protected
std::string makVrv::DtAgent::myClassName
protected
bool makVrv::DtAgent::myUpdateFlag
protected
DtAgentManagerInterface::OrderedCallList makVrv::DtAgent::myCalls
protected
bool makVrv::DtAgent::myDistributeObjectFlag
protected
DtThreadId makVrv::DtAgent::myThreadId
protected

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

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)