42 RTI::AttributeHandleSet mySet;
68 RTI::ObjectInstanceHandle
id,
74 bool reflecting =
false);
83 bool reflecting =
false);
104 virtual inline const RTI::ObjectInstanceHandle& objectId()
const;
106 virtual inline const RTI::ObjectHandle& objectId()
const;
110 virtual inline const RTI::AttributeHandleSet& attrHandleSet();
114 virtual inline const RTI::AttributeHandleSet& requestedAttributes();
117 virtual inline RTI::ObjectClassHandle objectClassHandle()
const;
120 virtual inline const char* name()
const;
124 inline int numAttributes()
const;
139 virtual void setupUpdating();
145 virtual bool update();
157 virtual void generateUpdate(
158 const RTI::AttributeHandleSet& eligibileAttrs,
159 const RTI::AttributeHandleSet& requiredAttrs,
164 virtual void cleanupFromUpdating();
169 virtual void processProvideUpdate(
170 const RTI::AttributeHandleSet& set );
175 virtual void clearRequestedAttributes();
179 virtual inline const RTI::AttributeHandleSet& ownedAttributes();
187 virtual void forceUpdate();
188 virtual void forceUpdate(
const RTI::AttributeHandleSet& set );
191 virtual void clearForcedAttributes();
197 virtual const RTI::AttributeHandleSet& attributesNeededByFederation();
201 virtual const RTI::AttributeHandleSet& eligibleAttributes();
205 virtual const RTI::AttributeHandleSet& requiredAttributes();
210 bool classNeededByFederation();
215 void setupClassForUpdating();
222 virtual void setupReflecting();
227 virtual void callReflect(
const DtStateMsg& msg );
234 virtual void callReflectLocal(
const DtStateMsg& msg );
239 virtual void reflectLocal(
const DtStateMsg& msg ) = 0;
243 virtual void cleanupFromReflecting();
247 virtual void requestUpdate( RTI::AttributeHandleSet* attrs = 0 );
266 virtual void processRemoveObject();
278 virtual void unconditionalDivest(
const RTI::AttributeHandleSet& attrs );
285 virtual void negotiatedDivest(
const RTI::AttributeHandleSet& attrs );
292 virtual void divestAttributes(
const RTI::AttributeHandleSet& attrs,
293 bool ifAvailable =
false );
300 virtual void divestObject(
bool ifAvailable =
false);
304 virtual void cancelNegotiatedDivest(
const RTI::AttributeHandleSet& attrs );
312 virtual void acquireAttributes(
const RTI::AttributeHandleSet& attrs,
313 bool ifAvailable =
false );
320 virtual void acquireObject(
bool ifAvailable =
false );
326 virtual void cancelAcquireAttributes(
const RTI::AttributeHandleSet& attrs );
330 virtual inline DtTime lastSimTimeUpdateReceived()
const;
332 virtual inline DtTime lastReceivedTimeStamp()
const;
335 virtual inline void setLastSimTimeUpdateReceived(
DtTime tm );
337 virtual inline void setLastReceivedTimeStamp(
DtTime tm );
344 virtual void copyToLocalAndRemote(
const RTI::AttributeHandleValueMap& sourceList,
345 const RTI::AttributeHandleSet& neededByRemote,
const RTI::AttributeHandleSet& neededByLocal,
346 RTI::AttributeHandleValueMap& toRemoteList, RTI::AttributeHandleValueMap& toLocalList);
349 virtual bool handlesMatch(
const RTI::AttributeHandleValueMap& handleValueMap,
350 const RTI::AttributeHandleSet& handleSet)
const;
353 virtual void clearUpdatedAttributes(
const RTI::AttributeHandleValueMap& sourceList);
358 virtual bool handlesMatch(
const RTI::AttributeHandleValuePairSet& handleValueSet,
359 const RTI::AttributeHandleSet& handleSet)
const;
362 virtual void copyToLocalAndRemote(
const RTI::AttributeHandleValuePairSet& sourceList,
363 const RTI::AttributeHandleSet& neededByRemote,
const RTI::AttributeHandleSet& neededByLocal,
364 RTI::AttributeHandleValuePairSet& toRemoteList, RTI::AttributeHandleValuePairSet& toLocalList);
367 virtual void clearUpdatedAttributes(
const RTI::AttributeHandleValuePairSet& sourceList);
377 bool fullReport =
false )
const;
382 virtual void localSubscriptionChanged();
386 virtual void publicationChanged();
389 #if DtHLA_1516_EVOLVED
390 virtual const DtString& lastProducingFederate()
const;
397 virtual void processRequestAssumption(
398 const RTI::AttributeHandleSet& attrs,
400 const RTI::VariableLengthData &tag
407 virtual void processRequestRelease(
408 const RTI::AttributeHandleSet& attrs,
410 const RTI::VariableLengthData &tag
418 virtual void processAttributeAcquisition(
419 const RTI::AttributeHandleSet& attrs );
423 virtual void processAttributeDivestiture(
424 const RTI::AttributeHandleSet& attrs );
427 virtual void processConfirmAcquisitionCancellation(
428 const RTI::AttributeHandleSet& attrs );
439 virtual void reflect(
const DtStateMsg& msg ) = 0;
443 void wipeRemoveList();
446 virtual void clearRemoveList();
450 void wipeReflectList();
453 virtual void applyPostReflectCallbacks(
const DtStateMsg& msg );
456 virtual void loseOwnership(
const RTI::AttributeHandleSet& attrs) ;
459 virtual void gainOwnership(
const RTI::AttributeHandleSet& attrs,
460 bool notifyOwnershipManagement =
true );
463 virtual void processUpdatesOff(
const RTI::AttributeHandleSet& set );
467 void processUpdatesOn(
const RTI::AttributeHandleSet& set );
473 virtual bool known()
const;
478 virtual void dumpRtiException(
const char *functionName,
479 const RTI::Exception *exc)
const;
484 virtual void computeEligible();
489 virtual void justRegistered();
492 #if DtHLA_1516_EVOLVED
493 virtual void setLastProducingFederate(
const DtString& fedName);
500 virtual void addHandlesToSet(RTI::AttributeHandleSet& destinationSet,
501 const RTI::AttributeHandleSet& sourceSet);
506 static void ownerAcquisitionIfAvailableCb(
void* usr );
507 static void ownerAcquisitionCb(
void* usr );
508 static void negotiatedDivestitureCb(
void* usr );
509 static void unconditionalDivestitureCb(
void* usr );
514 static void reflectAttributeValuesCb(
const DtStateMsg& stateMsg,
518 static void updatesOnCb(
520 RTI::ObjectInstanceHandle handle,
522 RTI::ObjectHandle handle,
524 const RTI::AttributeHandleSet& attributeSet,
528 static void updatesOffCb(
530 RTI::ObjectInstanceHandle handle,
532 RTI::ObjectHandle handle,
534 const RTI::AttributeHandleSet& attributeSet,
564 #if DtHLA_1516_EVOLVED
570 RTI::ObjectInstanceHandle myObjectId;
574 RTI::AttributeHandleSet* myEligibleAttrs;
Definition: hlaObject.h:558
virtual const char * name() const
Get the object's name.
Definition: hlaObject.h:639
void(* DtObjectReflectAttributeValuesCb)(const DtStateMsg &msg, DtHlaObject *obj, void *usr)
Object reflect attribute values callback signature.
Definition: objectReflectAttributeValuesCbInfo.h:23
RTI::AttributeHandleSet * myForcedAttributes
Requested by a call to setForcedUpdate.
Definition: hlaObject.h:593
Instances of DtExerciseConn are used to provide an application's interface or connection to the netwo...
Definition: exerciseConnHLA.h:61
RTI::AttributeHandleSet * myNeededAttrs
Set of owned attributes for which we have received a turnUpdatesOn more recently than a turnUpdatesOf...
Definition: hlaObject.h:583
virtual const RTI::AttributeHandleSet & ownedAttributes()
Returns the set of attributes of this object that are owned by the local federate.
Definition: hlaObject.h:659
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
DtOwnershipHandler * myOwnershipHandler
Definition: hlaObject.h:612
DtExerciseConn * myExConn
Definition: hlaObject.h:542
RTI::ObjectHandle myObjectId
Definition: hlaObject.h:572
DtTime myLastSimTimeUpdateReceived
Definition: hlaObject.h:549
char * myName
Definition: hlaObject.h:540
SplitUpdateDiscriminant
When remotely needed and locally subscribed are the same, split is not necessary. ...
Definition: hlaObject.h:554
virtual const RTI::AttributeHandleSet & attrHandleSet() const
Get the set of valid attribute handles for this class.
Definition: objClassDesc13.h:326
virtual void setLastReceivedTimeStamp(DtTime tm)
Definition: hlaObject.h:679
DtList myReflectCbList
Definition: hlaObject.h:546
virtual DtObjClassDesc & classDesc() const
Get the class descriptor for the object's class.
Definition: hlaObject.h:654
An instance of DtObjClassDesc is a "class descriptor" for an HLA Object class.
Definition: objClassDesc13.h:41
Definition: hlaObject.h:557
DtListItem * myRemoveCbListNextPtr
Definition: hlaObject.h:547
Definition: hlaObject.h:31
RTI::AttributeHandleSet * myEligibleSubscribed
Eligible attributes that are subscribed locally.
Definition: hlaObject.h:607
RTI::AttributeHandleSet * myScratchAttributes
Scratch set to use temporarily saves temporary allocation.
Definition: hlaObject.h:610
bool myUpdateRequiredAttributes
Definition: hlaObject.h:597
Instances of DtHlaObject are used to represent HLA objects which are communicated across the network...
Definition: hlaObject.h:58
DtList is deprecated, please use std::list<T>.
Definition: vlList.h:71
DtObjClassDesc & myClassDesc
Definition: hlaObject.h:551
DtListItem * myReflectCbListNextPtr
Definition: hlaObject.h:548
virtual DtTime lastReceivedTimeStamp() const
Definition: hlaObject.h:674
SplitUpdateDiscriminant mySplitUpdate
Flag to indicate when to split values between update and self reflect.
Definition: hlaObject.h:562
Definition: hlaObject.h:556
virtual DtExerciseConn * exerciseConn() const
Get the exercise connection for this object.
Definition: hlaObject.h:649
virtual RTI::ObjectClassHandle objectClassHandle() const
Get the object's class handle.
Definition: hlaObject.h:634
virtual DtTime lastSimTimeUpdateReceived() const
Returns the value of VR-Link simulation time at the time the last attribute update was received for t...
Definition: hlaObject.h:664
virtual const RTI::AttributeHandleSet & requestedAttributes()
Returns the union of all sets of attributes requested since the last call to clearRequestedAttributes...
Definition: hlaObject.h:630
virtual RTI::ObjectClassHandle handle() const
Get the object's class handle.
Definition: objClassDesc13.h:321
DtList myRemoveCbList
Definition: hlaObject.h:545
RTI::AttributeHandleSet * myRequiredAttributes
Union of forced and requested - not computed until needed.
Definition: hlaObject.h:596
virtual int numAttributes() const
Get the number of attributes associated with this object, including privilege to delete.
Definition: objClassDesc13.h:351
DtHlaObject * myObj
Definition: hlaObject.h:40
bool myUpdating
Definition: hlaObject.h:544
This is a base class meant to encapsulate user callbacks on ownership management services.
Definition: ownershipHandlerHLA.h:27
class DtHlaObjectManager:
Definition: hlaObjectManager.h:30
RTI::AttributeHandleSet * mySet
Definition: hlaObject.h:44
virtual const RTI::ObjectHandle & objectId() const
Get the object's handle.
Definition: hlaObject.h:619
RTI::AttributeHandleSet * myEligibleNeeded
Eligible attributes that are needed remotely.
Definition: hlaObject.h:604
lint -e266
Definition: vlList.h:25
DtVrlRtiAmbassador is a pure virtual class, designed to provide a foundation for different ways to se...
Definition: vrlRtiAmbassador13.h:25
RTI::AttributeHandleSet * myOwnedAttributes
Set of attributes owned by the local federate.
Definition: hlaObject.h:587
virtual void setLastSimTimeUpdateReceived(DtTime tm)
Set the time an update was last received or sent.
Definition: hlaObject.h:669
Instances of DtString are used to represent strings.
Definition: vlString.h:29
virtual const RTI::AttributeHandleSet & attrHandleSet()
Get the set of attributes associated with this object's FOM class.
Definition: hlaObject.h:625
RTI::AttributeHandleSet * mySelfReflectSplitAttrs
When self reflecting, these attributes are the differences between eligible needed and eligible subsc...
Definition: hlaObject.h:601
DtTime myLastReceivedTimeStamp
Definition: hlaObject.h:550
class DtStateMsg:
Definition: stateMsgHLA.h:32
RTI::AttributeHandleSet * myRequestedAttributes
Requested by other federates.
Definition: hlaObject.h:590
This file contains typedefs for machine dependant types.
int numAttributes() const
Get the number of attributes associated with this object's FOM class.
Definition: hlaObject.h:644
bool myReflecting
Definition: hlaObject.h:543
void(* DtRemoveObjectCb)(DtHlaObject *obj, void *usr)
Definition: removeObjectCbInfo.h:22