MAK RTIspy API Documentation for HLA Evolved
 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 | Static Protected Attributes
DtRtiObject Class Reference

The RTI object maintains the internal RTI object state. More...

+ Collaboration diagram for DtRtiObject:

Public Member Functions

virtual ~DtRtiObject ()
 Destructor.
 DtRtiObject (const DtRtiObject &orig)
 Copy constructor Copies object state only!
const DtRtiObjectoperator= (const DtRtiObject &orig)
 assignment operator Assigned object state only!
void initUpdateRates (const MAKRti::DtUpdateRateSetT rates)
 push update rates into each object attribute
virtual const char * objName () const
 Set/Get my name.
virtual void setObjName (const char *name)
virtual DtObjectClassHandle actualClassHandle () const
 Returns class handle of the object.
virtual DtObjectClassHandle knownClassHandle () const
 Returns class handle indicating class by which the federate knows the object.
virtual void setKnownClass (DtObjectClassInfo *classInfo)
 Set the known class.
virtual DtObjectClassInfoknownClass ()
 Returns the known class of the object.
virtual DtObjectClassInfoactualClass ()
 Returns the actual (registered) class of the object.
virtual int owned (DtAttributeHandle handle) const
 Returns 1 if handle is owned by the object, 0 otherwise.
virtual bool ownPriviledgeToDelete ()
 Returns true if the priviledgeToDelete attribute is locally owned, false otherwise.
virtual DtFederateHandle ownerHandle () const
 Set/Get the federate who owns the priviledgeToDelete attribute.
virtual void setOwnerHandle (DtFederateHandle handle)
virtual void setIsKnown (bool isKnownValue)
 Set/Get known status of object This status can not be determined by status of attributes.
virtual bool isKnown () const
DtUpdateType updateType () const
 Return the object's update type.
virtual void setDiscoveredClass (DtFederateHandle remoteFedHandle, DtObjectClassInfo const &classInfo)
 Set the discovery class for the remote federate As a result, the remote federates subscription information is reset with this class and attribute advisory status may change.
virtual void removeDiscoveredClass (DtFederateHandle remoteFedHandle)
 Remove the discovery class for the remote federate As a result, the remote federates subscription information is removed and attribute advisory status may change.
virtual DtObjectClassHandle discoveredClass (DtFederateHandle remoteFedHandle)
 Get the discovery class for the remote federate.
virtual bool isDiscovered (DtFederateHandle remoteFedHandle)
 Return bool: is object discovered by federate?
virtual bool hasBeenUpdated () const
 Returns bool: has object been updated by this federate.
virtual void markAsUpdated ()
 Mark object as having been updated by this federate.
virtual bool hasBeenReflected () const
 Returns bool: has object been reflected by this federate.
virtual void markAsReflected ()
 Mark object as having been reflected by this federate.
virtual int rtiOwned (DtAttributeHandle handle) const
 Returns 1 if handle is owned by the RTI, 0 otherwise.
virtual int lrcManaged (DtAttributeHandle handle) const
 Returns 1 if handle is unowned, and managed by the LRC, 0 otherwise.
virtual void takeFromLrc (const DtAttributeHandleSet &set)
 Transfer ownership from local LRC to local federate.
virtual void giveToLrc (const DtAttributeHandleSet &set)
 Transfer attributes from local federate to local LRC as unowned.
virtual void divestToLrc (const DtAttributeHandleSet &set)
 Transfer attributes from local federate to local LRC as divested.
virtual void giveToRti (const DtAttributeHandleSet &set)
 Transfer ownership to local RTI.
virtual void lrcUnmanage (const DtAttributeHandleSet &set)
 Remove the elements of set from the set of attributes managed by the local LRC.
virtual void addRemoteRequest (const DtAttributeHandleSet &requestSet, DtFederateHandle fed)
 Call to indicate that a remote federate has requested ownership of requestSet.
virtual void removeRemoteRequest (const DtAttributeHandleSet &requestSet, DtFederateHandle fed)
 Call to indicate that the local federate has denied ownership of requestSet.
virtual void addSkipPendingConfirm (const DtAttributeHandleSet &requestSet, DtFederateHandle fed)
virtual void removeSkipPendingConfirm (const DtAttributeHandleSet &requestSet, DtFederateHandle fed)
virtual DtFederateHandle pendingSkipConfirm (DtAttributeHandle hand) const
virtual DtAttributeHandleSet
const & 
pendingSkipConfirmAttributes () const
virtual DtAttributeHandleSet pendingSkipConfirmByFed (DtFederateHandle fed) const
virtual void removePendingSkipConfirm (const DtAttributeHandleSet &set)
virtual void cancelDivest (const DtAttributeHandleSet &set)
 Cancel a divest.
virtual void cancelRemoteRequest (const DtAttributeHandleSet &requestSet, DtFederateHandle fed)
 Cancel the remote request.
virtual void cancelAllRemoteRequests (const DtAttributeHandleSet &requestSet)
 Cancel all remote requests for supplied attributes.
virtual void removeCanceledRequests (DtAttributeHandleSet const &requestSet)
 Get the cancelled request set.
virtual DtAttributeHandleSet canceledRequestSet () const
 Get the cancelled request set.
virtual bool isRequestCanceled (DtAttributeHandle hand)
 Returns boolean: is there a canceled request for the attribute for which the federate has not responded?
virtual int requestCount () const
 Returns the number of request by all federates.
virtual DtAttributeHandleSet
const & 
requestedAttributes () const
 Return the set of requested attributes.
virtual int confirmCount () const
 Returns the number of attributes pending divestiture confirmation.
virtual DtAttributeHandleSet
const & 
pendingConfirmAttributes () const
 Return the set of pedning confirmed attributes.
virtual DtFederateHandle pendingRemoteRequest (DtAttributeHandle hand)
 Returns the handle of the federate that has most recently requested ownership of this attribute.
virtual DtFederateHandle pendingConfirm (DtAttributeHandle hand) const
 Returns the handle of the federate that will get ownership of attribute when confirmed.
virtual DtFederateHandle releaseRequested (const DtAttributeHandleSet &inSet, DtAttributeHandleSet *releasedSet, bool keepForConfirm)
 Calls to this method with the attributes provided in inSet will release and return in releaseSet any matching requested attributes from a single requesting federate, whose handle is the return argument.
virtual DtFederateHandle releaseConfirm (const DtAttributeHandleSet &inSet, DtAttributeHandleSet *releasedSet)
 Calls to this method with the attributes provided in inSet will release and return in releaseSet any matching pending confirm attributes assigned to a single requesting federate, whose handle is the return argument.
virtual DtAttributeHandleSet requestedByFed (DtFederateHandle fed, bool includePendingConfirm=false)
 Returns the set of attributes most recently requested by fed.
virtual DtAttributeHandleSet pendingConfirmByFed (DtFederateHandle fed) const
 Returns only the current set of attributes that are pending confirm for fed.
virtual DtFederateHandle unavailablePendingRequests (DtAttributeHandleSet *invalidatedSet)
 Get the next federate with requests that have become unavailable and the invalidated attrs.
virtual void releaseAttrs (const DtAttributeHandleSet &releaseSet)
 Release ownership of these attributes.
virtual void takeAttrs (const DtAttributeHandleSet &takeSet)
 Take ownership of these attributes.
virtual bool okToReceive (DtHandle attrHandle, float tolerance)
 Update Rate Reduction receive-side test.
virtual unsigned int computeAttrOffset (DtHandle attrHandle)
 Compute Update Rate Reduction send-side mcast destination address.
virtual const
DtAttributeHandleSet
filterOwned (const DtAttributeHandleSet &inSet) const
 Returns a set that contains those members of inSet that are owned by the federate.
virtual int expectedCount (const DtAhvps &inSet, DtHandle regSetHandle) const
 Returns the number of attributes in inSet that are expected (subscribed) by the federate.
virtual void selectExpected (DtAhvps &outSet, const DtAhvps &inSet, DtHandle regSetHandle) const
 Fills the outSet with the attributes in inSet that are expected (subscribed) by the federate.
virtual void removeUnexpected (DtAhvps &attrSet, DtHandle regSetHandle) const
 Remove those members of attrSet that are not expected (subscribed) by the federate.
virtual int isOfActualClass (DtAttributeHandle handle) const
 Return 1 if the object is of actualclass handle, or is of a class that's a subclass of handle.
virtual int isOfKnownClass (DtAttributeHandle handle) const
 Return 1 if the object is of known class handle, or is of a class that's a subclass of handle.
virtual int expecting (DtAttributeHandle handle, DtHandle regSetHandle) const
 Returns 1 if we are expected (subscribed to) this attribute, else 0.
virtual const
DtAttributeHandleSet
lrcManagedAttrs ()
 Returns the set of unowned attributes managed by our LRC.
virtual const
DtAttributeHandleSet
ownedAttrs ()
 Returns the set of owned attributes managed by our LRC.
virtual const
DtAttributeHandleSet
rtiOwnedAttrs ()
 Returns the set of rti owned attributes managed by our LRC.
virtual const
DtAttributeHandleSet
divestingAttrs ()
 Returns the set of attributes currently being divested.
virtual const
DtAttributeHandleSet
divestedAttrs ()
 Returns the set of attributes unconditionaly divested and managed by LRC.
virtual const
DtAttributeHandleSet
uncondRequestedAttrs ()
 Returns the set of attributes currently being unconditionally requested.
virtual const
DtAttributeHandleSet
ifAvailRequestedAttrs ()
 Returns the set of attributes currently being if available requested.
virtual int inScope (DtAttributeHandle handle) const
 Returns boolean: is attribute in scope?
virtual const
DtAttributeHandleSet
inScopeAttrs ()
 Returns the set of attributes that are in scope.
virtual bool inScope () const
 Returns boolean: is any attribute in scope?
virtual void addToScope (DtAttributeHandle handle)
 Add the attributes to scope.
virtual void addToScope (const DtAttributeHandleSet &attrs)
 Add the attributes to scope.
virtual void removeFromScope (DtAttributeHandle handle)
 Remove the attributes from scope.
virtual void removeFromScope (const DtAttributeHandleSet &attrs)
 Remove the attributes from scope.
virtual void acquireRemoteSubscriptions (const DtAttributeHandleSet &attrs, DtFomClassMgr *fom)
 Collect the remote subscriptions that match these acquired attributes.
virtual void getBaseClassDestinations (DtBitMask &dest, const DtAhvpBase &attrs, DtObjectClassInfo *baseClass) const
 Updates the destinations given with the base class subscriptions This will continue to update until the base class is NULL.
virtual void overrideDestinations (DtBitMask const &mask)
 Override the destinations with this mask.
virtual void setAllDestinations ()
 Adds all destinations to all attributes.
virtual void divestRemoteSubscriptions (const DtAttributeHandleSet &attrs)
 Remove the remote subscription status for each of these divested attrs.
virtual bool isUpdateOn (DtAttributeHandle handle) const
 Returns boolean: is attribute update on?
virtual DtAttributeHandleSet updateOnAttrs () const
 Returns the set of owned attributes that are turned on.
virtual DtAttributeHandleSet updateOffAttrs () const
 Returns the set of owned attributes that are turned off.
virtual bool isUpdateOn () const
 Returns boolean: is any attribute turned on?
virtual MAKRti::DtTransportType attrTransport (DtAttributeHandle theHandle)
 Get attribute transport type from handle.
virtual MAKRti::DtOrderType attrOrder (DtAttributeHandle theHandle)
 Get attribute order from handle.
virtual void setAttrTransport (DtAttributeHandle theHandle, MAKRti::DtTransportType transport)
 Set attribute transport type from handle.
virtual void setAttrOrder (DtAttributeHandle theHandle, MAKRti::DtOrderType order)
 Set attribute order from handle.
virtual bool attrHasDimensions (DtAttributeHandle attrHandle) const
 Return bool: attribute has associated DDM dimensions (where DM default region has all dimensions)?
virtual bool decode (const char *buff, DtFomClassMgr *fom)
 Decode object data for restore Return: data successfully decoded?
void setTimeToUseDestinations (MAKRti::DtTime timeVal)
 Set time to use attribute destinations.
MAKRti::DtTime timeToUseDestinations () const
 Get time to use attribute destinations.
void addAttributeOwner (DtFederateHandle fedHandle, const DtAttributeHandleSet &attrs)
 add Attribute Owners (in response to acquires)
virtual DtBitMaskgetAttributeOwnerDestinationMask (DtBitMask *bitMask=NULL) const
 Get the destination mask for owners of the objects attributes.
virtual void setObjHandle (DtObjectInstanceHandle handle)
 Set/Get my object handle.
virtual DtObjectInstanceHandle objHandle () const
 Set/Get my object handle.
virtual DtObjectInstanceHandle id () const
 Set/Get my object handle.
virtual void addRequest (const DtAttributeHandleSet &requestSet, bool ifAvail)
 Add/Remove these to the set of attributes that we have requested, where the request is pending.
virtual void removeRequest (const DtAttributeHandleSet &set)
 Add/Remove these to the set of attributes that we have requested, where the request is pending.
virtual void addDivesting (const DtAttributeHandleSet &divestSet)
 Add/Remove these to the set of attributes for which a divest is pending.
virtual void removeDivesting (const DtAttributeHandleSet &set)
 Add/Remove these to the set of attributes for which a divest is pending.
virtual void addPendingConfirm (const DtAttributeHandleSet &attrs, DtFederateHandle fed)
 Add/Remove these to the set of attributes for which a confirm divest is pending.
virtual void removePendingConfirm (const DtAttributeHandleSet &requestSet, DtFederateHandle fed)
 Add/Remove these to the set of attributes for which a confirm divest is pending.
virtual void removePendingConfirm (const DtAttributeHandleSet &set)
 Add/Remove these to the set of attributes for which a confirm divest is pending.
virtual bool pendingUncondRequest (DtAttributeHandle hand)
 Returns true if there's already a request pending that we've made for this attribute.
virtual bool pendingRequestIfAvail (DtAttributeHandle hand)
 Returns true if there's already a request pending that we've made for this attribute.
virtual void remoteSubscribe (DtFederateHandle fedHandle, const DtAttributeHandleSet &attrs)
 Add remote DM subscriptions.
virtual void remoteSubscribe (DtFederateHandle fedHandle, DtAttributeHandle attributeHandle)
 Add remote DM subscriptions.
virtual void remotePassiveSubscribe (DtFederateHandle fedHandle, DtAttributeHandle attrHandle)
 Add remote DM passive subscriptions.
virtual void remotePassiveSubscribe (DtFederateHandle fedHandle, const DtAttributeHandleSet &attrs)
 Add remote DM passive subscriptions.
virtual void remoteUnsubscribe (DtFederateHandle fedHandle, DtAttributeHandle attrHandle)
 Remove remote DM subscriptions.
virtual void remoteUnsubscribe (DtFederateHandle fedHandle, const DtAttributeHandleSet &attrs)
 Remove remote DM subscriptions.
virtual void remoteUnsubscribe (DtFederateHandle fedHandle)
 Remove remote DM subscriptions.
virtual DtBitMask getDestinations () const
 Get the list of remote subscribers to the class = update destinations.
virtual DtBitMask getDestinations (const DtAttributeHandleSet &attrs) const
 Get the list of remote subscribers to the class = update destinations.
virtual DtBitMask getDestinations (const DtAhvpBase &attrs) const
 Get the list of remote subscribers to the class = update destinations.
virtual void turnUpdateOn (DtAttributeHandle handle)
 Turn update on for given attribute(s)
virtual void turnUpdateOn (const DtAttributeHandleSet &attrs)
 Turn update on for given attribute(s)
virtual void turnUpdateOff (DtAttributeHandle handle)
 Turn update off for given attribute(s)
virtual void turnUpdateOff (const DtAttributeHandleSet &attrs)
 Turn update off for given attribute(s)
virtual DtHandle regionSetHandle (DtAttributeHandle attrHandle)
virtual unsigned int encodedLength () const
 Encode object for save.
virtual void encode (const char *buff)
 Encode object for save.

Static Public Member Functions

static DtRtiObjectcreateEmptyObject ()
 Creator for Empty Object.
static DtRtiObjectcreateRegisteredObject (DtObjectInstanceHandle id, const char *name, DtObjectClassInfo *classDesc, DtUpdateType updateType=DtUpdateFederateObject)
 Creator for Registered Object.
static DtRtiObjectcreateDiscoveredObject (DtObjectInstanceHandle id, const char *name, DtObjectClassInfo *classDesc, DtObjectClassInfo *discoveredClass, DtUpdateType updateType=DtUpdateFederateObject)
 Creator for Discovered Object.
static void setEmptyCreatorFunction (DtEmptyRtiObjectCreator fn)
 Used to override the default Empty Creator Function.
static void setRegisteredCreatorFunction (DtRegisteredRtiObjectCreator fn)
 Used to override the default Registered Creator Function.
static void setDiscoveredCreatorFunction (DtDiscoveredRtiObjectCreator fn)
 Used to override the deafult Discovered Creator Function.
static void setUseDiscoveredClass (bool yesNo)
 Set to false when not exchanging discovered class information The object will return the known class instead.

Protected Member Functions

 DtRtiObject ()
 Constructors are now protected.
 DtRtiObject (DtObjectInstanceHandle id, const char *name, DtObjectClassInfo *classDesc, DtUpdateType updateType=DtUpdateFederateObject)
 Constructor for registered objects.
 DtRtiObject (DtObjectInstanceHandle id, const char *objName, DtObjectClassInfo *actualClass, DtObjectClassInfo *discoveredClass, DtUpdateType updateType=DtUpdateFederateObject)
 Constructor for discovered objects.
DtRtiObjectself () const
 Casts away const-ness.
virtual void addRemoteSubscribe (DtFederateHandle fedHandle, DtAttributeHandle attrHandle)
 Add the remote subscription of the given attribute by the given federate.
virtual void removeRemoteSubscribe (DtFederateHandle fedHandle, DtAttributeHandle attrHandle)
 Remove the remote subscription of the given attribute by the given federate.

Protected Attributes

DtObjectInstanceHandle myId
 The object instance handle.
DtObjectClassHandle myActualHandle
 The actual object class handle.
DtObjectClassHandle myKnownHandle
 The federate knows the object as this class.
char * myObjName
 The object instance name.
DtAttributeHandleSet myOwnedSet
 The set of attributes owned by this federate.
DtAttributeHandleSet myOutHandleSet
 Temporary set holds owned attributes of a given set.
bool myIsKnown
 Indicates if the federate knows about this object.
DtFederateHandle myOwnerHandle
 The federate who owns the privilege to delete.
bool myHasBeenUpdated
 Indicates if this object has been updated.
bool myHasBeenReflected
 Indicates if this object has been reflected.
DtUpdateType myUpdateType
 Indicates the update type.
DtAttributeHandleSet myLrcManagedSet
 Union of attributes that are not owned by anyone and managed by LRC.
DtAttributeHandleSet myUnownedSet
 Attributes never owned or divested through unpublish and managed by LRC.
DtAttributeHandleSet myDivestedSet
 Attributes unconditionally divested and managed by LRC These attributes must be actively divested by the RTI.
DtAttributeHandleSet myRtiOwnedSet
 Attributes owned by the RTI (MOM attributes)
DtAttributeHandleSet myPendingRequestSet
 Attributes that we've requested, whose requests are pending.
DtAttributeHandleSet myPendingReqIfAvailSet
DtAttributeHandleSet myDivestingSet
 Attributes for which we have initiated a negotiated divestiture.
DtRequestDatabase myRemoteReqDb
 Database of remote request information. These attributes are owned.
DtObjectClassInfomyActualClass
 Actual class info.
DtObjectClassInfomyKnownClass
 Known class info.
DtAttributeHandleSet myInScopeAttrs
 Attribute in scope advisory status.
DtAttributeHandleSet myUpdateOnAttrs
 Attribute update on advisory status.
std::map< DtFederateHandle,
DtObjectClassHandle
myDiscoveredClass
 For each remote federate that discovered this object, contains the discovery class handle.
DtBitMaskmyOverideDestinationsMask
 Create this bit mask to override remote subscrbie destinations.
DtObjectAttrInfomyAttrs
 List of attributes and information about them.
unsigned myNumAttrs
 Number of attributes.
MAKRti::DtTime myTimeToUseDestinations
 Time that smart forwarding destinations should take effect Before this time, RTI is waiting for discovery updates to determine destinations.
DtObjectClassHandleByFederateHandleMap myKnownAttributeOwnersMap
 This contains attribute owner information.
std::map< float,
DtObjectAttrInfo::tuple
myUpdateRateHold
 Helper class for calculating update rate reduction values. Kept here for performance reasons.

Static Protected Attributes

static bool theUseDiscoveredClass
 Indicates if discovered class should be used.
static DtEmptyRtiObjectCreator theEmptyCreator
 Static Creator Method for Empty RTI Objects.
static DtRegisteredRtiObjectCreator theRegisteredCreator
 Static Creator Method for Registered RTI Objects.
static DtDiscoveredRtiObjectCreator theDiscoveredCreator
 Static Creator Method for Discovered RTI Objects.

Detailed Description

The RTI object maintains the internal RTI object state.

The RTI object maintains information about instance handle, instance name, registered/discovered class, attribute ownership/transport/order, advisories, etc.

Constructor & Destructor Documentation

DtRtiObject::DtRtiObject ( )
protected

Constructors are now protected.

New RTI objects will be created through creator functions. Constructor

DtRtiObject::DtRtiObject ( DtObjectInstanceHandle  id,
const char *  name,
DtObjectClassInfo classDesc,
DtUpdateType  updateType = DtUpdateFederateObject 
)
protected

Constructor for registered objects.

Set of owned attributes is initialized to the set of published attributes.

DtRtiObject::DtRtiObject ( DtObjectInstanceHandle  id,
const char *  objName,
DtObjectClassInfo actualClass,
DtObjectClassInfo discoveredClass,
DtUpdateType  updateType = DtUpdateFederateObject 
)
protected

Constructor for discovered objects.

virtual DtRtiObject::~DtRtiObject ( )
virtual

Destructor.

DtRtiObject::DtRtiObject ( const DtRtiObject orig)

Copy constructor Copies object state only!

Member Function Documentation

virtual void DtRtiObject::acquireRemoteSubscriptions ( const DtAttributeHandleSet attrs,
DtFomClassMgr fom 
)
virtual

Collect the remote subscriptions that match these acquired attributes.

virtual DtObjectClassInfo* DtRtiObject::actualClass ( )
virtual

Returns the actual (registered) class of the object.

virtual DtObjectClassHandle DtRtiObject::actualClassHandle ( ) const
virtual

Returns class handle of the object.

void DtRtiObject::addAttributeOwner ( DtFederateHandle  fedHandle,
const DtAttributeHandleSet attrs 
)

add Attribute Owners (in response to acquires)

virtual void DtRtiObject::addDivesting ( const DtAttributeHandleSet divestSet)
virtual

Add/Remove these to the set of attributes for which a divest is pending.

virtual void DtRtiObject::addPendingConfirm ( const DtAttributeHandleSet attrs,
DtFederateHandle  fed 
)
virtual

Add/Remove these to the set of attributes for which a confirm divest is pending.

virtual void DtRtiObject::addRemoteRequest ( const DtAttributeHandleSet requestSet,
DtFederateHandle  fed 
)
virtual

Call to indicate that a remote federate has requested ownership of requestSet.

If an attribute is passed to this function more than once, the more recent request takes precedence. That is, when it's time to divest, we will divest the attribute to the most recent requesting federate.

virtual void DtRtiObject::addRemoteSubscribe ( DtFederateHandle  fedHandle,
DtAttributeHandle  attrHandle 
)
protectedvirtual

Add the remote subscription of the given attribute by the given federate.

virtual void DtRtiObject::addRequest ( const DtAttributeHandleSet requestSet,
bool  ifAvail 
)
virtual

Add/Remove these to the set of attributes that we have requested, where the request is pending.

virtual void DtRtiObject::addSkipPendingConfirm ( const DtAttributeHandleSet requestSet,
DtFederateHandle  fed 
)
virtual
virtual void DtRtiObject::addToScope ( DtAttributeHandle  handle)
virtual

Add the attributes to scope.

virtual void DtRtiObject::addToScope ( const DtAttributeHandleSet attrs)
virtual

Add the attributes to scope.

virtual bool DtRtiObject::attrHasDimensions ( DtAttributeHandle  attrHandle) const
virtual

Return bool: attribute has associated DDM dimensions (where DM default region has all dimensions)?

virtual MAKRti::DtOrderType DtRtiObject::attrOrder ( DtAttributeHandle  theHandle)
virtual

Get attribute order from handle.

virtual MAKRti::DtTransportType DtRtiObject::attrTransport ( DtAttributeHandle  theHandle)
virtual

Get attribute transport type from handle.

virtual void DtRtiObject::cancelAllRemoteRequests ( const DtAttributeHandleSet requestSet)
virtual

Cancel all remote requests for supplied attributes.

virtual void DtRtiObject::cancelDivest ( const DtAttributeHandleSet set)
virtual

Cancel a divest.

virtual DtAttributeHandleSet DtRtiObject::canceledRequestSet ( ) const
virtual

Get the cancelled request set.

virtual void DtRtiObject::cancelRemoteRequest ( const DtAttributeHandleSet requestSet,
DtFederateHandle  fed 
)
virtual

Cancel the remote request.

virtual unsigned int DtRtiObject::computeAttrOffset ( DtHandle  attrHandle)
virtual

Compute Update Rate Reduction send-side mcast destination address.

virtual int DtRtiObject::confirmCount ( ) const
virtual

Returns the number of attributes pending divestiture confirmation.

static DtRtiObject* DtRtiObject::createDiscoveredObject ( DtObjectInstanceHandle  id,
const char *  name,
DtObjectClassInfo classDesc,
DtObjectClassInfo discoveredClass,
DtUpdateType  updateType = DtUpdateFederateObject 
)
static

Creator for Discovered Object.

static DtRtiObject* DtRtiObject::createEmptyObject ( )
static

Creator for Empty Object.

Is used to create empty object for restore, then decode is called on the object.

static DtRtiObject* DtRtiObject::createRegisteredObject ( DtObjectInstanceHandle  id,
const char *  name,
DtObjectClassInfo classDesc,
DtUpdateType  updateType = DtUpdateFederateObject 
)
static

Creator for Registered Object.

virtual bool DtRtiObject::decode ( const char *  buff,
DtFomClassMgr fom 
)
virtual

Decode object data for restore Return: data successfully decoded?

virtual DtObjectClassHandle DtRtiObject::discoveredClass ( DtFederateHandle  remoteFedHandle)
virtual

Get the discovery class for the remote federate.

virtual const DtAttributeHandleSet& DtRtiObject::divestedAttrs ( )
virtual

Returns the set of attributes unconditionaly divested and managed by LRC.

virtual const DtAttributeHandleSet& DtRtiObject::divestingAttrs ( )
virtual

Returns the set of attributes currently being divested.

virtual void DtRtiObject::divestRemoteSubscriptions ( const DtAttributeHandleSet attrs)
virtual

Remove the remote subscription status for each of these divested attrs.

virtual void DtRtiObject::divestToLrc ( const DtAttributeHandleSet set)
virtual

Transfer attributes from local federate to local LRC as divested.

virtual void DtRtiObject::encode ( const char *  buff)
virtual

Encode object for save.

virtual unsigned int DtRtiObject::encodedLength ( ) const
virtual

Encode object for save.

virtual int DtRtiObject::expectedCount ( const DtAhvps &  inSet,
DtHandle  regSetHandle 
) const
virtual

Returns the number of attributes in inSet that are expected (subscribed) by the federate.

virtual int DtRtiObject::expecting ( DtAttributeHandle  handle,
DtHandle  regSetHandle 
) const
virtual

Returns 1 if we are expected (subscribed to) this attribute, else 0.

virtual const DtAttributeHandleSet& DtRtiObject::filterOwned ( const DtAttributeHandleSet inSet) const
virtual

Returns a set that contains those members of inSet that are owned by the federate.

virtual DtBitMask* DtRtiObject::getAttributeOwnerDestinationMask ( DtBitMask bitMask = NULL) const
virtual

Get the destination mask for owners of the objects attributes.

virtual void DtRtiObject::getBaseClassDestinations ( DtBitMask dest,
const DtAhvpBase attrs,
DtObjectClassInfo baseClass 
) const
virtual

Updates the destinations given with the base class subscriptions This will continue to update until the base class is NULL.

virtual DtBitMask DtRtiObject::getDestinations ( ) const
virtual

Get the list of remote subscribers to the class = update destinations.

virtual DtBitMask DtRtiObject::getDestinations ( const DtAttributeHandleSet attrs) const
virtual

Get the list of remote subscribers to the class = update destinations.

virtual DtBitMask DtRtiObject::getDestinations ( const DtAhvpBase attrs) const
virtual

Get the list of remote subscribers to the class = update destinations.

virtual void DtRtiObject::giveToLrc ( const DtAttributeHandleSet set)
virtual

Transfer attributes from local federate to local LRC as unowned.

virtual void DtRtiObject::giveToRti ( const DtAttributeHandleSet set)
virtual

Transfer ownership to local RTI.

virtual bool DtRtiObject::hasBeenReflected ( ) const
virtual

Returns bool: has object been reflected by this federate.

virtual bool DtRtiObject::hasBeenUpdated ( ) const
virtual

Returns bool: has object been updated by this federate.

virtual DtObjectInstanceHandle DtRtiObject::id ( ) const
virtual

Set/Get my object handle.

virtual const DtAttributeHandleSet& DtRtiObject::ifAvailRequestedAttrs ( )
virtual

Returns the set of attributes currently being if available requested.

void DtRtiObject::initUpdateRates ( const MAKRti::DtUpdateRateSetT  rates)

push update rates into each object attribute

virtual int DtRtiObject::inScope ( DtAttributeHandle  handle) const
virtual

Returns boolean: is attribute in scope?

virtual bool DtRtiObject::inScope ( ) const
virtual

Returns boolean: is any attribute in scope?

virtual const DtAttributeHandleSet& DtRtiObject::inScopeAttrs ( )
virtual

Returns the set of attributes that are in scope.

virtual bool DtRtiObject::isDiscovered ( DtFederateHandle  remoteFedHandle)
virtual

Return bool: is object discovered by federate?

virtual bool DtRtiObject::isKnown ( ) const
virtual
virtual int DtRtiObject::isOfActualClass ( DtAttributeHandle  handle) const
virtual

Return 1 if the object is of actualclass handle, or is of a class that's a subclass of handle.

virtual int DtRtiObject::isOfKnownClass ( DtAttributeHandle  handle) const
virtual

Return 1 if the object is of known class handle, or is of a class that's a subclass of handle.

virtual bool DtRtiObject::isRequestCanceled ( DtAttributeHandle  hand)
virtual

Returns boolean: is there a canceled request for the attribute for which the federate has not responded?

virtual bool DtRtiObject::isUpdateOn ( DtAttributeHandle  handle) const
virtual

Returns boolean: is attribute update on?

virtual bool DtRtiObject::isUpdateOn ( ) const
virtual

Returns boolean: is any attribute turned on?

virtual DtObjectClassInfo* DtRtiObject::knownClass ( )
virtual

Returns the known class of the object.

virtual DtObjectClassHandle DtRtiObject::knownClassHandle ( ) const
virtual

Returns class handle indicating class by which the federate knows the object.

virtual int DtRtiObject::lrcManaged ( DtAttributeHandle  handle) const
virtual

Returns 1 if handle is unowned, and managed by the LRC, 0 otherwise.

virtual const DtAttributeHandleSet& DtRtiObject::lrcManagedAttrs ( )
virtual

Returns the set of unowned attributes managed by our LRC.

virtual void DtRtiObject::lrcUnmanage ( const DtAttributeHandleSet set)
virtual

Remove the elements of set from the set of attributes managed by the local LRC.

virtual void DtRtiObject::markAsReflected ( )
virtual

Mark object as having been reflected by this federate.

virtual void DtRtiObject::markAsUpdated ( )
virtual

Mark object as having been updated by this federate.

virtual DtObjectInstanceHandle DtRtiObject::objHandle ( ) const
virtual

Set/Get my object handle.

virtual const char* DtRtiObject::objName ( ) const
virtual

Set/Get my name.

virtual bool DtRtiObject::okToReceive ( DtHandle  attrHandle,
float  tolerance 
)
virtual

Update Rate Reduction receive-side test.

const DtRtiObject& DtRtiObject::operator= ( const DtRtiObject orig)

assignment operator Assigned object state only!

virtual void DtRtiObject::overrideDestinations ( DtBitMask const &  mask)
virtual

Override the destinations with this mask.

virtual int DtRtiObject::owned ( DtAttributeHandle  handle) const
virtual

Returns 1 if handle is owned by the object, 0 otherwise.

virtual const DtAttributeHandleSet& DtRtiObject::ownedAttrs ( )
virtual

Returns the set of owned attributes managed by our LRC.

virtual DtFederateHandle DtRtiObject::ownerHandle ( ) const
virtual

Set/Get the federate who owns the priviledgeToDelete attribute.

virtual bool DtRtiObject::ownPriviledgeToDelete ( )
virtual

Returns true if the priviledgeToDelete attribute is locally owned, false otherwise.

virtual DtFederateHandle DtRtiObject::pendingConfirm ( DtAttributeHandle  hand) const
virtual

Returns the handle of the federate that will get ownership of attribute when confirmed.

virtual DtAttributeHandleSet const& DtRtiObject::pendingConfirmAttributes ( ) const
virtual

Return the set of pedning confirmed attributes.

virtual DtAttributeHandleSet DtRtiObject::pendingConfirmByFed ( DtFederateHandle  fed) const
virtual

Returns only the current set of attributes that are pending confirm for fed.

virtual DtFederateHandle DtRtiObject::pendingRemoteRequest ( DtAttributeHandle  hand)
virtual

Returns the handle of the federate that has most recently requested ownership of this attribute.

virtual bool DtRtiObject::pendingRequestIfAvail ( DtAttributeHandle  hand)
virtual

Returns true if there's already a request pending that we've made for this attribute.

virtual DtFederateHandle DtRtiObject::pendingSkipConfirm ( DtAttributeHandle  hand) const
virtual
virtual DtAttributeHandleSet const& DtRtiObject::pendingSkipConfirmAttributes ( ) const
virtual
virtual DtAttributeHandleSet DtRtiObject::pendingSkipConfirmByFed ( DtFederateHandle  fed) const
virtual
virtual bool DtRtiObject::pendingUncondRequest ( DtAttributeHandle  hand)
virtual

Returns true if there's already a request pending that we've made for this attribute.

virtual DtHandle DtRtiObject::regionSetHandle ( DtAttributeHandle  attrHandle)
virtual
virtual void DtRtiObject::releaseAttrs ( const DtAttributeHandleSet releaseSet)
virtual

Release ownership of these attributes.

virtual DtFederateHandle DtRtiObject::releaseConfirm ( const DtAttributeHandleSet inSet,
DtAttributeHandleSet releasedSet 
)
virtual

Calls to this method with the attributes provided in inSet will release and return in releaseSet any matching pending confirm attributes assigned to a single requesting federate, whose handle is the return argument.

The method should be called repeatedly until it returns 0 to release all the matching attributes. Not all the attributes may match a pending confirm.

virtual DtFederateHandle DtRtiObject::releaseRequested ( const DtAttributeHandleSet inSet,
DtAttributeHandleSet releasedSet,
bool  keepForConfirm 
)
virtual

Calls to this method with the attributes provided in inSet will release and return in releaseSet any matching requested attributes from a single requesting federate, whose handle is the return argument.

The method should be called repeatedly until it returns 0 to release all the matching attributes. In 1516 negotiated divest, these attributes are not fully released. Set the bool value to move them to a pending confirm status (see releaseConfirm below). Not all the attributes may match a request.

virtual void DtRtiObject::remotePassiveSubscribe ( DtFederateHandle  fedHandle,
DtAttributeHandle  attrHandle 
)
virtual

Add remote DM passive subscriptions.

virtual void DtRtiObject::remotePassiveSubscribe ( DtFederateHandle  fedHandle,
const DtAttributeHandleSet attrs 
)
virtual

Add remote DM passive subscriptions.

virtual void DtRtiObject::remoteSubscribe ( DtFederateHandle  fedHandle,
const DtAttributeHandleSet attrs 
)
virtual

Add remote DM subscriptions.

virtual void DtRtiObject::remoteSubscribe ( DtFederateHandle  fedHandle,
DtAttributeHandle  attributeHandle 
)
virtual

Add remote DM subscriptions.

virtual void DtRtiObject::remoteUnsubscribe ( DtFederateHandle  fedHandle,
DtAttributeHandle  attrHandle 
)
virtual

Remove remote DM subscriptions.

virtual void DtRtiObject::remoteUnsubscribe ( DtFederateHandle  fedHandle,
const DtAttributeHandleSet attrs 
)
virtual

Remove remote DM subscriptions.

virtual void DtRtiObject::remoteUnsubscribe ( DtFederateHandle  fedHandle)
virtual

Remove remote DM subscriptions.

virtual void DtRtiObject::removeCanceledRequests ( DtAttributeHandleSet const &  requestSet)
virtual

Get the cancelled request set.

virtual void DtRtiObject::removeDiscoveredClass ( DtFederateHandle  remoteFedHandle)
virtual

Remove the discovery class for the remote federate As a result, the remote federates subscription information is removed and attribute advisory status may change.

virtual void DtRtiObject::removeDivesting ( const DtAttributeHandleSet set)
virtual

Add/Remove these to the set of attributes for which a divest is pending.

virtual void DtRtiObject::removeFromScope ( DtAttributeHandle  handle)
virtual

Remove the attributes from scope.

virtual void DtRtiObject::removeFromScope ( const DtAttributeHandleSet attrs)
virtual

Remove the attributes from scope.

virtual void DtRtiObject::removePendingConfirm ( const DtAttributeHandleSet requestSet,
DtFederateHandle  fed 
)
virtual

Add/Remove these to the set of attributes for which a confirm divest is pending.

virtual void DtRtiObject::removePendingConfirm ( const DtAttributeHandleSet set)
virtual

Add/Remove these to the set of attributes for which a confirm divest is pending.

virtual void DtRtiObject::removePendingSkipConfirm ( const DtAttributeHandleSet set)
virtual
virtual void DtRtiObject::removeRemoteRequest ( const DtAttributeHandleSet requestSet,
DtFederateHandle  fed 
)
virtual

Call to indicate that the local federate has denied ownership of requestSet.

This should only be called in response to attribute ownership release denied service call.

virtual void DtRtiObject::removeRemoteSubscribe ( DtFederateHandle  fedHandle,
DtAttributeHandle  attrHandle 
)
protectedvirtual

Remove the remote subscription of the given attribute by the given federate.

virtual void DtRtiObject::removeRequest ( const DtAttributeHandleSet set)
virtual

Add/Remove these to the set of attributes that we have requested, where the request is pending.

virtual void DtRtiObject::removeSkipPendingConfirm ( const DtAttributeHandleSet requestSet,
DtFederateHandle  fed 
)
virtual
virtual void DtRtiObject::removeUnexpected ( DtAhvps &  attrSet,
DtHandle  regSetHandle 
) const
virtual

Remove those members of attrSet that are not expected (subscribed) by the federate.

virtual int DtRtiObject::requestCount ( ) const
virtual

Returns the number of request by all federates.

virtual DtAttributeHandleSet const& DtRtiObject::requestedAttributes ( ) const
virtual

Return the set of requested attributes.

virtual DtAttributeHandleSet DtRtiObject::requestedByFed ( DtFederateHandle  fed,
bool  includePendingConfirm = false 
)
virtual

Returns the set of attributes most recently requested by fed.

virtual int DtRtiObject::rtiOwned ( DtAttributeHandle  handle) const
virtual

Returns 1 if handle is owned by the RTI, 0 otherwise.

virtual const DtAttributeHandleSet& DtRtiObject::rtiOwnedAttrs ( )
virtual

Returns the set of rti owned attributes managed by our LRC.

virtual void DtRtiObject::selectExpected ( DtAhvps &  outSet,
const DtAhvps &  inSet,
DtHandle  regSetHandle 
) const
virtual

Fills the outSet with the attributes in inSet that are expected (subscribed) by the federate.

DtRtiObject* DtRtiObject::self ( ) const
inlineprotected

Casts away const-ness.

virtual void DtRtiObject::setAllDestinations ( )
virtual

Adds all destinations to all attributes.

virtual void DtRtiObject::setAttrOrder ( DtAttributeHandle  theHandle,
MAKRti::DtOrderType  order 
)
virtual

Set attribute order from handle.

virtual void DtRtiObject::setAttrTransport ( DtAttributeHandle  theHandle,
MAKRti::DtTransportType  transport 
)
virtual

Set attribute transport type from handle.

virtual void DtRtiObject::setDiscoveredClass ( DtFederateHandle  remoteFedHandle,
DtObjectClassInfo const &  classInfo 
)
virtual

Set the discovery class for the remote federate As a result, the remote federates subscription information is reset with this class and attribute advisory status may change.

static void DtRtiObject::setDiscoveredCreatorFunction ( DtDiscoveredRtiObjectCreator  fn)
static

Used to override the deafult Discovered Creator Function.

static void DtRtiObject::setEmptyCreatorFunction ( DtEmptyRtiObjectCreator  fn)
static

Used to override the default Empty Creator Function.

virtual void DtRtiObject::setIsKnown ( bool  isKnownValue)
virtual

Set/Get known status of object This status can not be determined by status of attributes.

virtual void DtRtiObject::setKnownClass ( DtObjectClassInfo classInfo)
virtual

Set the known class.

virtual void DtRtiObject::setObjHandle ( DtObjectInstanceHandle  handle)
virtual

Set/Get my object handle.

virtual void DtRtiObject::setObjName ( const char *  name)
virtual
virtual void DtRtiObject::setOwnerHandle ( DtFederateHandle  handle)
virtual
static void DtRtiObject::setRegisteredCreatorFunction ( DtRegisteredRtiObjectCreator  fn)
static

Used to override the default Registered Creator Function.

void DtRtiObject::setTimeToUseDestinations ( MAKRti::DtTime  timeVal)

Set time to use attribute destinations.

static void DtRtiObject::setUseDiscoveredClass ( bool  yesNo)
static

Set to false when not exchanging discovered class information The object will return the known class instead.

virtual void DtRtiObject::takeAttrs ( const DtAttributeHandleSet takeSet)
virtual

Take ownership of these attributes.

virtual void DtRtiObject::takeFromLrc ( const DtAttributeHandleSet set)
virtual

Transfer ownership from local LRC to local federate.

MAKRti::DtTime DtRtiObject::timeToUseDestinations ( ) const

Get time to use attribute destinations.

virtual void DtRtiObject::turnUpdateOff ( DtAttributeHandle  handle)
virtual

Turn update off for given attribute(s)

virtual void DtRtiObject::turnUpdateOff ( const DtAttributeHandleSet attrs)
virtual

Turn update off for given attribute(s)

virtual void DtRtiObject::turnUpdateOn ( DtAttributeHandle  handle)
virtual

Turn update on for given attribute(s)

virtual void DtRtiObject::turnUpdateOn ( const DtAttributeHandleSet attrs)
virtual

Turn update on for given attribute(s)

virtual DtFederateHandle DtRtiObject::unavailablePendingRequests ( DtAttributeHandleSet invalidatedSet)
virtual

Get the next federate with requests that have become unavailable and the invalidated attrs.

virtual const DtAttributeHandleSet& DtRtiObject::uncondRequestedAttrs ( )
virtual

Returns the set of attributes currently being unconditionally requested.

virtual DtAttributeHandleSet DtRtiObject::updateOffAttrs ( ) const
virtual

Returns the set of owned attributes that are turned off.

virtual DtAttributeHandleSet DtRtiObject::updateOnAttrs ( ) const
virtual

Returns the set of owned attributes that are turned on.

DtUpdateType DtRtiObject::updateType ( ) const

Return the object's update type.

Member Data Documentation

DtObjectClassInfo* DtRtiObject::myActualClass
protected

Actual class info.

DtObjectClassHandle DtRtiObject::myActualHandle
protected

The actual object class handle.

DtObjectAttrInfo* DtRtiObject::myAttrs
protected

List of attributes and information about them.

std::map<DtFederateHandle, DtObjectClassHandle> DtRtiObject::myDiscoveredClass
protected

For each remote federate that discovered this object, contains the discovery class handle.

DtAttributeHandleSet DtRtiObject::myDivestedSet
protected

Attributes unconditionally divested and managed by LRC These attributes must be actively divested by the RTI.

DtAttributeHandleSet DtRtiObject::myDivestingSet
protected

Attributes for which we have initiated a negotiated divestiture.

These attributes are still owned, though.

bool DtRtiObject::myHasBeenReflected
protected

Indicates if this object has been reflected.

bool DtRtiObject::myHasBeenUpdated
protected

Indicates if this object has been updated.

DtObjectInstanceHandle DtRtiObject::myId
protected

The object instance handle.

DtAttributeHandleSet DtRtiObject::myInScopeAttrs
protected

Attribute in scope advisory status.

bool DtRtiObject::myIsKnown
protected

Indicates if the federate knows about this object.

DtObjectClassHandleByFederateHandleMap DtRtiObject::myKnownAttributeOwnersMap
protected

This contains attribute owner information.

Note that any attribute that is not a key in the map means that it shares the same owner as the myOwnerHandle

DtObjectClassInfo* DtRtiObject::myKnownClass
protected

Known class info.

DtObjectClassHandle DtRtiObject::myKnownHandle
protected

The federate knows the object as this class.

DtAttributeHandleSet DtRtiObject::myLrcManagedSet
protected

Union of attributes that are not owned by anyone and managed by LRC.

unsigned DtRtiObject::myNumAttrs
protected

Number of attributes.

char* DtRtiObject::myObjName
protected

The object instance name.

DtAttributeHandleSet DtRtiObject::myOutHandleSet
protected

Temporary set holds owned attributes of a given set.

DtBitMask* DtRtiObject::myOverideDestinationsMask
protected

Create this bit mask to override remote subscrbie destinations.

DtAttributeHandleSet DtRtiObject::myOwnedSet
protected

The set of attributes owned by this federate.

DtFederateHandle DtRtiObject::myOwnerHandle
protected

The federate who owns the privilege to delete.

DtAttributeHandleSet DtRtiObject::myPendingReqIfAvailSet
protected
DtAttributeHandleSet DtRtiObject::myPendingRequestSet
protected

Attributes that we've requested, whose requests are pending.

All members are unowned.

DtRequestDatabase DtRtiObject::myRemoteReqDb
protected

Database of remote request information. These attributes are owned.

DtAttributeHandleSet DtRtiObject::myRtiOwnedSet
protected

Attributes owned by the RTI (MOM attributes)

MAKRti::DtTime DtRtiObject::myTimeToUseDestinations
protected

Time that smart forwarding destinations should take effect Before this time, RTI is waiting for discovery updates to determine destinations.

DtAttributeHandleSet DtRtiObject::myUnownedSet
protected

Attributes never owned or divested through unpublish and managed by LRC.

DtAttributeHandleSet DtRtiObject::myUpdateOnAttrs
protected

Attribute update on advisory status.

std::map<float,DtObjectAttrInfo::tuple> DtRtiObject::myUpdateRateHold
protected

Helper class for calculating update rate reduction values. Kept here for performance reasons.

DtUpdateType DtRtiObject::myUpdateType
protected

Indicates the update type.

DtDiscoveredRtiObjectCreator DtRtiObject::theDiscoveredCreator
staticprotected

Static Creator Method for Discovered RTI Objects.

DtEmptyRtiObjectCreator DtRtiObject::theEmptyCreator
staticprotected

Static Creator Method for Empty RTI Objects.

DtRegisteredRtiObjectCreator DtRtiObject::theRegisteredCreator
staticprotected

Static Creator Method for Registered RTI Objects.

bool DtRtiObject::theUseDiscoveredClass
staticprotected

Indicates if discovered class should be used.


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

Document ID: Generated on Mon Mar 21 09:41:37 EDT 2016 from SVN revision 163228
Copyright © 2005-2015 VT MÄK Inc. All Rights Reserved (www.mak.com)