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 | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
makVrf::DtSimRemoteEntityNetInterface Class Referenceabstract
Inheritance diagram for makVrf::DtSimRemoteEntityNetInterface:
Inheritance graph
[legend]

Public Member Functions

 DtSimRemoteEntityNetInterface (DtStateData *simObject, DtVrlinkNetworkInterface *objMgr, bool publishObject=true)
 
virtual ~DtSimRemoteEntityNetInterface ()
 
virtual bool init ()
 
virtual void onTick ()
 
virtual void updateFromReflectedObject ()=0
 
virtual void setupFromNetworkRepository ()
 
virtual void setReflectedObject (DtReflectedObject *reflectedObject)
 
virtual void clearReflectedObject ()
 
virtual void toBeRemoved ()
 
virtual bool isValidReflectedObject (DtReflectedObject *) const
 
virtual const DtReflectedObjectreflectedObject () const
 
virtual DtReflectedObjectreflectedObject ()
 
virtual bool isLocal () const
 
virtual void setUpdateReceived (bool updateReceived)
 
virtual bool updateReceived () const
 
virtual void updateUUIDIfNeeded ()
 
virtual bool wantsToCreatePublisher () const
 
virtual RTI::ObjectClassHandle objectClassHandle () const
 
- Public Member Functions inherited from makVrf::DtSimEntityNetInterface
 DtSimEntityNetInterface (DtStateData *simObject, DtVrlinkNetworkInterface *objMgr, bool publishObject=true)
 
virtual ~DtSimEntityNetInterface ()
 
virtual
DtBaseEntityStateRepository * 
baseEntityNetworkState () const
 
virtual bool isEnvironmental () const
 
- Public Member Functions inherited from makVrf::DtSimObjectNetInterface
DtVrfCallbackQueue::CallbackInterface::Ptr parallelContainer ()
 
 DtSimObjectNetInterface (DtStateData *simObject, DtVrlinkNetworkInterface *, bool publishObject=true)
 
virtual ~DtSimObjectNetInterface ()
 
virtual bool init (const DtEntityIdentifier &id=DtEntityIdentifier())
 
virtual void tick ()
 
virtual bool isUnit () const =0
 
virtual bool isEntity () const =0
 
virtual DtString type () const =0
 
virtual int maxNameLength () const
 
virtual bool publishObject () const
 
virtual void sendFinalPduOnDestruction (bool)
 
bool isValid () const
 
virtual void parallelTick ()
 
virtual void forceUpdate ()
 

Static Public Member Functions

static const
DtSimRemoteEntityNetInterface
isRemoteEntityNetInterface (const DtSimObjectNetInterface *objNetInterface)
 
static
DtSimRemoteEntityNetInterface
isRemoteEntityNetInterface (DtSimObjectNetInterface *objNetInterface)
 
static void reflectedObjectUpdateCallbackFunction (DtReflectedObject *obj, void *userData)
 
- Static Public Member Functions inherited from makVrf::DtSimEntityNetInterface
static DtSimEntityNetInterfaceisEntityNetInterface (const DtSimObjectNetInterface *objNetInterface)
 
- Static Public Member Functions inherited from makVrf::DtSimObjectNetInterface
static void setNonVrfUUIDResolver (DtNonVrfUUIDResolver *)
 
static DtNonVrfUUIDResolvernonVrfUUIDResolver ()
 
static void addSimObjectNetInterfaceCreatorFcn (const DtString &type, DtSimObjectNetIfaceCreatorFcn fcn)
 
static void setFactory (DtSimObjectNetInterfaceFactory *factory)
 
static
DtSimObjectNetInterfaceFactory
factory ()
 
static DtSimObjectNetInterfacecreateNetInterface (const DtString &type, DtStateData *simObject, DtVrlinkNetworkInterface *, bool publishObject=true)
 
static int maxNameLengthForInterfaceType (const DtString &interfaceTypeString)
 
static void setNonVrfObjectsUUIDScheme (const DtString &)
 
static DtString nonVrfObjectsUUIDScheme ()
 

Protected Member Functions

virtual void initializeRemoteStateComponents ()
 
- Protected Member Functions inherited from makVrf::DtSimObjectNetInterface
virtual void stateDataDestroyed ()
 
bool runFullyThreaded () const
 
const DtStateDatavrfObject () const
 
DtStateDatanextFrameVrfObject ()
 
virtual const DtStateRepositorynetworkState () const
 

Protected Attributes

DtReflectedObjectmyReflectedObject
 
bool myUpdateReceived
 
- Protected Attributes inherited from makVrf::DtSimEntityNetInterface
DtDeadReckonTypes myDeadReckoningAlgorithm
 
- Protected Attributes inherited from makVrf::DtSimObjectNetInterface
DtStateDatamySimObject
 
DtVrlinkNetworkInterfacemyObjectManager
 
DtStateRepositorymyNetworkState
 
bool myNeedsNetworkSetup
 
DtNetInterfaceParallelLock myLock
 
boost::signals2::connection mySimObjectRemovalConnection
 
tbb::mutex myDeleteGuardMutex
 
DtVrfCallbackQueue::CallbackInterface::Ptr myParallelContainer
 

Private Member Functions

 DtSimRemoteEntityNetInterface ()
 
 DtSimRemoteEntityNetInterface (const DtSimRemoteEntityNetInterface &orig)
 
const
DtSimRemoteEntityNetInterface
operator= (const DtSimRemoteEntityNetInterface &orig)
 

Additional Inherited Members

- Public Attributes inherited from makVrf::DtSimObjectNetInterface
boost::signals2::signal< void()> signal_networkInterfaceDeleted
 
- Static Public Attributes inherited from makVrf::DtSimObjectNetInterface
static tbb::spin_rw_mutex thePublisherCreationMutex
 
static tbb::spin_rw_mutex thePublisherTickMutex
 
- Static Protected Attributes inherited from makVrf::DtSimObjectNetInterface
static
DtSimObjectNetInterfaceFactory
theFactory
 
static DtNonVrfUUIDResolvertheNonVrfUUIDResolver
 

Constructor & Destructor Documentation

makVrf::DtSimRemoteEntityNetInterface::DtSimRemoteEntityNetInterface ( )
private

default constructor

makVrf::DtSimRemoteEntityNetInterface::DtSimRemoteEntityNetInterface ( const DtSimRemoteEntityNetInterface orig)
private
makVrf::DtSimRemoteEntityNetInterface::DtSimRemoteEntityNetInterface ( DtStateData simObject,
DtVrlinkNetworkInterface objMgr,
bool  publishObject = true 
)

read/writable constructor

virtual makVrf::DtSimRemoteEntityNetInterface::~DtSimRemoteEntityNetInterface ( )
virtual

destructor; calls destroyPublisher()

Member Function Documentation

const DtSimRemoteEntityNetInterface& makVrf::DtSimRemoteEntityNetInterface::operator= ( const DtSimRemoteEntityNetInterface orig)
private

assignment operator; see note on copy constructor above

virtual bool makVrf::DtSimRemoteEntityNetInterface::init ( )
virtual

override of base class init(). Registers for post update callbacks on reflected object.

virtual void makVrf::DtSimRemoteEntityNetInterface::onTick ( )
virtual

override of base class onTick(), calls updateFromReflectedObject()

Implements makVrf::DtSimObjectNetInterface.

virtual void makVrf::DtSimRemoteEntityNetInterface::updateFromReflectedObject ( )
pure virtual
virtual void makVrf::DtSimRemoteEntityNetInterface::setupFromNetworkRepository ( )
virtual

initializes parts of the local repository from the network state rep. This needs to be done after the call to setReflectedObject()

virtual void makVrf::DtSimRemoteEntityNetInterface::setReflectedObject ( DtReflectedObject reflectedObject)
virtual

For local entities, a publisher can be created or supplied via a set<>Publisher call. For remote entities a reflected object is used instead, and must always be supplied (there is no create equivalent to the local entity network interface). This function also sets the network state repository pointer (myBaseNetworkState) to the repository created by this reflected object.

virtual void makVrf::DtSimRemoteEntityNetInterface::clearReflectedObject ( )
virtual
virtual void makVrf::DtSimRemoteEntityNetInterface::toBeRemoved ( )
virtual

Called when this object is removed.

Reimplemented from makVrf::DtSimObjectNetInterface.

virtual bool makVrf::DtSimRemoteEntityNetInterface::isValidReflectedObject ( DtReflectedObject ) const
virtual

This method will return false if the reflected object type is not of DtReflectedEntity. Make sure to check the return value of this method as this is an invalid initialization if that occurs.

Reimplemented in makVrf::DtSimAggregateRemoteEntityNetInterface.

virtual const DtReflectedObject* makVrf::DtSimRemoteEntityNetInterface::reflectedObject ( ) const
virtual
Returns
The pointer to the VR-Link reflected object being used to represent this remote entity
virtual DtReflectedObject* makVrf::DtSimRemoteEntityNetInterface::reflectedObject ( )
virtual
virtual bool makVrf::DtSimRemoteEntityNetInterface::isLocal ( ) const
inlinevirtual

This network interface is for local entities.

Implements makVrf::DtSimObjectNetInterface.

virtual void makVrf::DtSimRemoteEntityNetInterface::setUpdateReceived ( bool  updateReceived)
virtual

Setting update received to true will cause updateFromRemoteObject() to be called on the next tick.

virtual bool makVrf::DtSimRemoteEntityNetInterface::updateReceived ( ) const
virtual

Check to see if an update has been received from the network.

static const DtSimRemoteEntityNetInterface* makVrf::DtSimRemoteEntityNetInterface::isRemoteEntityNetInterface ( const DtSimObjectNetInterface objNetInterface)
static

This function will return the objNetInterface passed in, cast to a DtSimRemoteEntityNetInterface*, provided the objNetInterface is indeed an remote entity network interface.

static DtSimRemoteEntityNetInterface* makVrf::DtSimRemoteEntityNetInterface::isRemoteEntityNetInterface ( DtSimObjectNetInterface objNetInterface)
static
static void makVrf::DtSimRemoteEntityNetInterface::reflectedObjectUpdateCallbackFunction ( DtReflectedObject obj,
void *  userData 
)
static
virtual void makVrf::DtSimRemoteEntityNetInterface::updateUUIDIfNeeded ( )
virtual

Upon setting of reflected object see if UUID needs to be updated.

Reimplemented in makVrf::DtSimIndividualRemoteEntityNetInterface, and makVrf::DtSimAggregateRemoteEntityNetInterface.

virtual bool makVrf::DtSimRemoteEntityNetInterface::wantsToCreatePublisher ( ) const
inlinevirtual

Returns true if this interface wants to create a publisher. This cannot be done in parallel.

Implements makVrf::DtSimObjectNetInterface.

virtual RTI::ObjectClassHandle makVrf::DtSimRemoteEntityNetInterface::objectClassHandle ( ) const
virtual

Returns the HLA object class handle of the reflected object.

Implements makVrf::DtSimObjectNetInterface.

virtual void makVrf::DtSimRemoteEntityNetInterface::initializeRemoteStateComponents ( )
protectedvirtual

Member Data Documentation

DtReflectedObject* makVrf::DtSimRemoteEntityNetInterface::myReflectedObject
protected

Pointer to the VR-Link Reflected Object (may be a DtReflectedEntity, DtReflectedExtAggregate, etc. ).

bool makVrf::DtSimRemoteEntityNetInterface::myUpdateReceived
protected

Set to true by post-update callback; set to false after update has been processed.


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

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)