42 RTI::AttributeHandleSet* mySet;
66 RTI::ObjectInstanceHandle
id,
72 bool reflecting =
false);
81 bool reflecting =
false);
102 virtual inline const RTI::ObjectInstanceHandle& objectId()
const;
108 virtual inline const RTI::AttributeHandleSet& attrHandleSet();
112 virtual inline const RTI::AttributeHandleSet& requestedAttributes();
115 virtual inline RTI::ObjectClassHandle objectClassHandle()
const;
118 virtual inline const char* name()
const;
122 inline int numAttributes()
const;
137 virtual void setupUpdating();
143 virtual void update();
155 virtual void generateUpdate(
156 const RTI::AttributeHandleSet& eligibileAttrs,
157 const RTI::AttributeHandleSet& requiredAttrs,
162 virtual void cleanupFromUpdating();
167 virtual void processProvideUpdate(
168 const RTI::AttributeHandleSet& set );
173 virtual void clearRequestedAttributes();
177 virtual inline const RTI::AttributeHandleSet& ownedAttributes();
185 virtual void forceUpdate();
186 virtual void forceUpdate(
const RTI::AttributeHandleSet& set );
189 virtual void clearForcedAttributes();
195 virtual const RTI::AttributeHandleSet& attributesNeededByFederation();
199 virtual const RTI::AttributeHandleSet& eligibleAttributes();
203 virtual const RTI::AttributeHandleSet& requiredAttributes();
208 bool classNeededByFederation();
213 void setupClassForUpdating();
220 virtual void setupReflecting();
225 virtual void callReflect(
const DtStateMsg& msg );
232 virtual void callReflectLocal(
const DtStateMsg& msg );
237 virtual void reflectLocal(
const DtStateMsg& msg ) = 0;
241 virtual void cleanupFromReflecting();
245 virtual void requestUpdate( RTI::AttributeHandleSet* attrs = 0 );
264 virtual void processRemoveObject();
276 virtual void unconditionalDivest(
const RTI::AttributeHandleSet& attrs );
283 virtual void negotiatedDivest(
const RTI::AttributeHandleSet& attrs );
290 virtual void divestAttributes(
const RTI::AttributeHandleSet& attrs,
291 bool ifAvailable =
false );
298 virtual void divestObject(
bool ifAvailable =
false);
302 virtual void cancelNegotiatedDivest(
const RTI::AttributeHandleSet& attrs );
310 virtual void acquireAttributes(
const RTI::AttributeHandleSet& attrs,
311 bool ifAvailable =
false );
318 virtual void acquireObject(
bool ifAvailable =
false );
324 virtual void cancelAcquireAttributes(
const RTI::AttributeHandleSet& attrs );
328 virtual inline DtTime lastSimTimeUpdateReceived()
const;
330 virtual inline DtTime lastReceivedTimeStamp()
const;
333 virtual inline void setLastSimTimeUpdateReceived(
DtTime tm );
335 virtual inline void setLastReceivedTimeStamp(
DtTime tm );
342 virtual void copyToLocalAndRemote(
const RTI::AttributeHandleValueMap& sourceList,
343 const RTI::AttributeHandleSet& neededByRemote,
const RTI::AttributeHandleSet& neededByLocal,
344 RTI::AttributeHandleValueMap& toRemoteList, RTI::AttributeHandleValueMap& toLocalList);
347 virtual bool handlesMatch(
const RTI::AttributeHandleValueMap& handleValueMap,
348 const RTI::AttributeHandleSet& handleSet)
const;
351 virtual void clearUpdatedAttributes(
const RTI::AttributeHandleValueMap& sourceList);
357 const RTI::AttributeHandleSet& handleSet)
const;
361 const RTI::AttributeHandleSet& neededByRemote,
const RTI::AttributeHandleSet& neededByLocal,
375 bool fullReport =
false )
const;
380 virtual void localSubscriptionChanged();
384 virtual void publicationChanged();
387 #if DtHLA_1516_EVOLVED
388 virtual const DtString& lastProducingFederate()
const;
395 virtual void processRequestAssumption(
396 const RTI::AttributeHandleSet& attrs,
398 const RTI::VariableLengthData &tag
405 virtual void processRequestRelease(
406 const RTI::AttributeHandleSet& attrs,
408 const RTI::VariableLengthData &tag
416 virtual void processAttributeAcquisition(
417 const RTI::AttributeHandleSet& attrs );
421 virtual void processAttributeDivestiture(
422 const RTI::AttributeHandleSet& attrs );
425 virtual void processConfirmAcquisitionCancellation(
426 const RTI::AttributeHandleSet& attrs );
437 virtual void reflect(
const DtStateMsg& msg ) = 0;
441 void wipeRemoveList();
444 virtual void clearRemoveList();
448 void wipeReflectList();
451 virtual void applyPostReflectCallbacks(
const DtStateMsg& msg );
454 virtual void loseOwnership(
const RTI::AttributeHandleSet& attrs) ;
457 virtual void gainOwnership(
const RTI::AttributeHandleSet& attrs,
458 bool notifyOwnershipManagement =
true );
461 virtual void processUpdatesOff(
const RTI::AttributeHandleSet& set );
465 void processUpdatesOn(
const RTI::AttributeHandleSet& set );
471 virtual bool known()
const;
476 virtual void dumpRtiException(
const char *functionName,
477 const RTI::Exception *exc)
const;
482 virtual void computeEligible();
487 virtual void justRegistered();
490 #if DtHLA_1516_EVOLVED
491 virtual void setLastProducingFederate(
const DtString& fedName);
498 virtual void addHandlesToSet(RTI::AttributeHandleSet& destinationSet,
499 const RTI::AttributeHandleSet& sourceSet);
503 static void ownerAcquisitionIfAvailableCb(
void* usr );
504 static void ownerAcquisitionCb(
void* usr );
505 static void negotiatedDivestitureCb(
void* usr );
506 static void unconditionalDivestitureCb(
void* usr );
511 static void reflectAttributeValuesCb(
const DtStateMsg& stateMsg,
515 static void updatesOnCb(
517 RTI::ObjectInstanceHandle handle,
521 const RTI::AttributeHandleSet& attributeSet,
525 static void updatesOffCb(
527 RTI::ObjectInstanceHandle handle,
531 const RTI::AttributeHandleSet& attributeSet,
561 #if DtHLA_1516_EVOLVED
571 RTI::AttributeHandleSet* myEligibleAttrs;
Definition: hlaObject.h:555
virtual const char * name() const
Get the object's name.
Definition: hlaObject.h:636
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:590
Instances of DtExerciseConn are used to provide an application's interface or connection to the netwo...
Definition: exerciseConnHLA.h:58
RTI::AttributeHandleSet * myNeededAttrs
Set of owned attributes for which we have received a turnUpdatesOn more recently than a turnUpdatesOf...
Definition: hlaObject.h:580
virtual const RTI::AttributeHandleSet & ownedAttributes()
Returns the set of attributes of this object that are owned by the local federate.
Definition: hlaObject.h:656
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
RTI::AttributeHandleSet mySet
Definition: hlaObject.h:40
DtOwnershipHandler * myOwnershipHandler
Definition: hlaObject.h:609
DtExerciseConn * myExConn
Definition: hlaObject.h:539
DtTime myLastSimTimeUpdateReceived
Definition: hlaObject.h:546
char * myName
Definition: hlaObject.h:537
SplitUpdateDiscriminant
When remotely needed and locally subscribed are the same, split is not necessary. ...
Definition: hlaObject.h:551
virtual const RTI::AttributeHandleSet & attrHandleSet() const
Get the set of valid attribute handles for this class.
Definition: objClassDesc1516.h:341
virtual void setLastReceivedTimeStamp(DtTime tm)
Definition: hlaObject.h:676
DtList myReflectCbList
Definition: hlaObject.h:543
virtual DtObjClassDesc & classDesc() const
Get the class descriptor for the object's class.
Definition: hlaObject.h:651
An instance of DtObjClassDesc is a "class descriptor" for an HLA Object class.
Definition: objClassDesc1516.h:41
Definition: hlaObject.h:554
DtListItem * myRemoveCbListNextPtr
Definition: hlaObject.h:544
Definition: hlaObject.h:30
RTI::AttributeHandleSet * myEligibleSubscribed
Eligible attributes that are subscribed locally.
Definition: hlaObject.h:604
RTI::AttributeHandleSet * myScratchAttributes
Scratch set to use temporarily saves temporary allocation.
Definition: hlaObject.h:607
bool myUpdateRequiredAttributes
Definition: hlaObject.h:594
virtual const RTI::ObjectInstanceHandle & objectId() const
Get the object's handle.
Definition: hlaObject.h:614
Instances of DtHlaObject are used to represent HLA objects which are communicated across the network...
Definition: hlaObject.h:56
DtList is deprecated, please use std::list<T>.
Definition: vlList.h:71
ObjectInstanceHandle ObjectHandle
Definition: rtiCompatibility.h:192
DtObjClassDesc & myClassDesc
Definition: hlaObject.h:548
RTI::ObjectInstanceHandle myObjectId
Definition: hlaObject.h:567
DtListItem * myReflectCbListNextPtr
Definition: hlaObject.h:545
virtual DtTime lastReceivedTimeStamp() const
Definition: hlaObject.h:671
SplitUpdateDiscriminant mySplitUpdate
Flag to indicate when to split values between update and self reflect.
Definition: hlaObject.h:559
Definition: hlaObject.h:553
virtual DtExerciseConn * exerciseConn() const
Get the exercise connection for this object.
Definition: hlaObject.h:646
virtual RTI::ObjectClassHandle objectClassHandle() const
Get the object's class handle.
Definition: hlaObject.h:631
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:661
virtual const RTI::AttributeHandleSet & requestedAttributes()
Returns the union of all sets of attributes requested since the last call to clearRequestedAttributes...
Definition: hlaObject.h:627
virtual RTI::ObjectClassHandle handle() const
Get the object's class handle.
Definition: objClassDesc1516.h:336
DtList myRemoveCbList
Definition: hlaObject.h:542
RTI::AttributeHandleSet * myRequiredAttributes
Union of forced and requested - not computed until needed.
Definition: hlaObject.h:593
virtual int numAttributes() const
Get the number of attributes associated with this object, including privilege to delete.
Definition: objClassDesc1516.h:356
DtHlaObject * myObj
Definition: hlaObject.h:38
bool myUpdating
Definition: hlaObject.h:541
This is a base class meant to encapsulate user callbacks on ownership management services.
Definition: ownershipHandlerHLA.h:27
class DtHlaObjectManager:
Definition: hlaObjectManager.h:30
Used to provide backwards compatibility for VR-Link Encoders and Decoders who use either AttributeHan...
Definition: rtiCompatibility.h:154
RTI::AttributeHandleSet * myEligibleNeeded
Eligible attributes that are needed remotely.
Definition: hlaObject.h:601
lint -e266
Definition: vlList.h:25
Instances of DtVrlRtiAmbassador are for wrapping the calls to The RTI ambassador so that we may overr...
Definition: vrlRtiAmbassador1516.h:25
RTI::AttributeHandleSet * myOwnedAttributes
Set of attributes owned by the local federate.
Definition: hlaObject.h:584
virtual void setLastSimTimeUpdateReceived(DtTime tm)
Set the time an update was last received or sent.
Definition: hlaObject.h:666
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:622
RTI::AttributeHandleSet * mySelfReflectSplitAttrs
When self reflecting, these attributes are the differences between eligible needed and eligible subsc...
Definition: hlaObject.h:598
DtTime myLastReceivedTimeStamp
Definition: hlaObject.h:547
class DtStateMsg:
Definition: stateMsgHLA.h:32
RTI::AttributeHandleSet * myRequestedAttributes
Requested by other federates.
Definition: hlaObject.h:587
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:641
bool myReflecting
Definition: hlaObject.h:540
void(* DtRemoveObjectCb)(DtHlaObject *obj, void *usr)
Definition: removeObjectCbInfo.h:22