VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes
DtAggregatePublisher Class Reference

Instances of DtAggregatePublisher are used to take care of the details associated with publishing the state of an aggregate. More...

+ Inheritance diagram for DtAggregatePublisher:
+ Collaboration diagram for DtAggregatePublisher:

Public Types

typedef
DtAggregateStateRepository *(* 
DtStateRepCreator )()
 Function prototype for functions that create DtAggregateStateRepositories.
- Public Types inherited from DtObjectPublisher
typedef DtAttributePdu *(* DtNonCoupledAttributePduCreator )(const DtPduWithAttributeRecordSets *, void *)
 Function prototype for functions that create DtAggregateStateRepositories.

Public Member Functions

 DtAggregatePublisher (DtAggregateStateRepository *stateRepToUse, DtExerciseConn *conn, const DtObjectId &id=DtObjectId::nullId())
 constructor
 DtAggregatePublisher (DtExerciseConn *conn, const DtObjectId &id=DtObjectId::nullId())
 constructor
 DtAggregatePublisher (const DtEntityType &type, DtExerciseConn *conn, const DtObjectId &id=DtObjectId::defaultId())
 constructor The default is = (-1,-1,-1)
 DtAggregatePublisher (const DtEntityType &type, DtExerciseConn *conn, DtDeadReckonTypes algorithm, DtForceType forceId, const DtObjectId &id=DtObjectId::defaultId())
 constructor The default is = (-1,-1,-1)
virtual ~DtAggregatePublisher ()
 destructor
virtual void tick ()
 Tick the publisher.
virtual void forceUpdate ()
 Cause the next tick call to send out the PDU even if its not needed.
virtual
DtAggregateStateRepository
aggregateStateRep ()
 Get the aggregate state repository for this aggregate publisher.
virtual
DtAggregateStateRepository
asr ()
 Get the aggregate state repository for this aggregate publisher.
virtual const DtObjectIdid () const
 Get the entity's identifier.
virtual const DtObjectIdlocalId () const
 Get the entity's localId - same as id for DIS.
virtual const
DtGlobalObjectDesignator
globalId () const
 Get the global object designator - same as id for DIS.
DtTime entityTypeHeartbeat (int type, int domain)
 Return the heartbeat based on entity Type.
- Public Member Functions inherited from DtObjectPublisher
 DtObjectPublisher (DtExerciseConn *conn, DtStateRepository *stateRep, DtStateRepository *asSeenByRemote, bool okToDeleteStateRep=true)
 Constructor takes an DtExerciseConn which must have a lifetime greater than the ObjectPubliser.
virtual ~DtObjectPublisher ()
 Destructor.
virtual DtStateRepositorystateRep ()
 Returns a pointer to the DtStateRepository - through which you can set or inspect current state information.
virtual DtStateRepositorysr ()
 Returns a pointer to the DtStateRepository - through which you can set or inspect current state information.
virtual DtExerciseConnexerciseConn ()
 Get our exercise connection.
virtual void parallelTick ()
 Tick (update) this object in parallel threads.
virtual void setTimeThreshold (DtTime time)
 Set the heartbeat rate for this object.
virtual DtTime timeThreshold () const
 The heartbeat rate for this object.
virtual void setRelLocTimeThreshold (DtTime time)
 Set the heartbeat rate of relative location updates for this object.
virtual DtTime relLocTimeThreshold () const
 The relative location heartbeat rate for this object.
virtual DtStateRepositoryapproximateRemoteStateRep ()
 Returns a pointer to the approximate remote DtStateRepository – This state repository contains the contents of the last sent message.
virtual DtTime lastTimeUpdated () const
 Returns the value of wallclock time at the time an update was last received for the entity.
virtual DtTime lastTimeAttrUpdated () const
virtual DtTime lastSimTimeUpdated () const
 Returns the value of sim time at the time an update was last received for the entity.
virtual void setUseCustomThreshold (bool useCustom)
 Sets whether or not this object will use a custom threshold value, or the default.
virtual bool useCustomThreshold ()
 Returns whether or not this object will use a custom threshold value, or the default.
virtual void setAttributePduStrategy (DtAttributePduStrategy strat)
 Sets/Gets whether to couple the attribute PDU.
virtual DtAttributePduStrategy attributePduStrategy () const
virtual void encodeExtensions (DtStateRepository *stateRep, const DtStateRepository &asSeenByRemote)
 Encode State Repository Extensions. Extensions should be added to stateRep attributeRecords.
virtual void decodeExtensions (DtPdu *pdu, const DtStateRepository &stateRep)
 Decode State Repository Extensions.
DtNonCoupledAttributePduCreator setNonCoupledAttributePduCreator (DtNonCoupledAttributePduCreator creator)
 Give us a function to be used for creating non-coupled Attribute PDUs.
DtNonCoupledAttributePduCreator nonCoupledAttributePduCreator (void)

Static Public Member Functions

static void setStateRepCreator (DtStateRepCreator creator)
 Give us a function to be used for creating SRs.
static DtStateRepCreator setStateRepCreator (void)
static void setClassDfltTimeThreshold (DtTime threshold)
static void setStationaryDfltTimeThreshold (DtTime threshold)
static void setEntityTypeDfltTimeThreshold (int type, int domain, DtTime threshold)
- Static Public Member Functions inherited from DtObjectPublisher
static void setDfltTimeThreshold (DtTime time)
 Set the default heartbeat rate.
static DtTime dfltTimeThreshold ()
 The default heartbeat rate, see setDfltTimeThreshold().
static void setDfltRelLocTimeThreshold (DtTime time)
 Set the default heartbeat rate for relative location updates.
static DtTime dfltRelLocTimeThreshold ()
 The default heartbeat rate for relative location updates, see setDfltRelLocTimeThreshold()
static
DtNonCoupledAttributePduCreator 
setDefaultNonCoupledAttributePduCreator (DtNonCoupledAttributePduCreator creator)
 Give us a function to be used for creating non-coupled Attribute PDUs.
static
DtNonCoupledAttributePduCreator 
defaultNonCoupledAttributePduCreator (void)

Protected Member Functions

void init (const DtEntityIdentifier &vehId)
 Not virtual since called from constructor.
 DtAggregatePublisher (const DtAggregatePublisher &orig)
 copy constructor – Not Implemented
DtAggregatePublisheroperator= (const DtAggregatePublisher &orig)
 assignment operator – Not Implemented
- Protected Member Functions inherited from DtObjectPublisher
virtual void send (DtPdu *pdu) const
 Puts the PDU on the network and updates timestamps.

Protected Attributes

DtObjectId myId
DtAggregateStateDecodermyAggregateDecoder
DtAggregateStateEncodermyAggregateEncoder
DtRelativeLocationPdu myLastSentRelLocPdu
DtTime myLastSentRelLocPduTime
- Protected Attributes inherited from DtObjectPublisher
DtExerciseConnmyExConn
DtStateRepositorymyStateRep
DtStateRepositorymyAsSeenByRemote
bool myOkToDeleteStateRepFlag
bool myUseCustomThreshold
DtTime myTimeThreshold
 Time threshold for the heartbeat rate.
DtTime myRelLocTimeThreshold
 Time threshold for heartbeat rate of relative location updates (only for embarked/attached entities)
DtTime mySimTimeLastUpdate
 Set in const send() method.
DtTime myRealTimeLastUpdate
 Set in const send() method.
DtTime myRealTimeLastAttrUpdate
DtNonCoupledAttributePduCreator myNonCoupledAttributePduCreator
DtAttributePduStrategy myAttributePduStrategy
std::vector
< DtStateRepositoryExtensionEncoder * > 
myStateRepositoryExtensionEncoderList
std::vector
< DtStateRepositoryExtensionDecoder * > 
myStateRepositoryExtensionDecoderList

Static Protected Attributes

static DtStateRepCreator theStateRepCreator
static DtTime theClassDfltTimeThreshold
static bool theClassDfltIsSetFlag
static DtTime theStationaryDfltTimeThreshold
static bool theStationaryDfltIsSetFlag
static std::map< std::pair
< int, int >, DtTime
theEntityTypeHeartbeat
- Static Protected Attributes inherited from DtObjectPublisher
static
DtNonCoupledAttributePduCreator 
theDefaultNonCoupledAttributePduCreator
static DtTime theDfltTimeThreshold
static DtTime theDfltRelLocTimeThreshold

Detailed Description

Instances of DtAggregatePublisher are used to take care of the details associated with publishing the state of an aggregate.

Member Typedef Documentation

typedef DtAggregateStateRepository*(* DtAggregatePublisher::DtStateRepCreator)()

Function prototype for functions that create DtAggregateStateRepositories.

Constructor & Destructor Documentation

DtAggregatePublisher::DtAggregatePublisher ( DtAggregateStateRepository stateRepToUse,
DtExerciseConn conn,
const DtObjectId id = DtObjectId::nullId() 
)

constructor

DtAggregatePublisher::DtAggregatePublisher ( DtExerciseConn conn,
const DtObjectId id = DtObjectId::nullId() 
)

constructor

DtAggregatePublisher::DtAggregatePublisher ( const DtEntityType type,
DtExerciseConn conn,
const DtObjectId id = DtObjectId::defaultId() 
)

constructor The default is = (-1,-1,-1)

DtAggregatePublisher::DtAggregatePublisher ( const DtEntityType type,
DtExerciseConn conn,
DtDeadReckonTypes  algorithm,
DtForceType  forceId,
const DtObjectId id = DtObjectId::defaultId() 
)

constructor The default is = (-1,-1,-1)

virtual DtAggregatePublisher::~DtAggregatePublisher ( )
virtual

destructor

DtAggregatePublisher::DtAggregatePublisher ( const DtAggregatePublisher orig)
protected

copy constructor – Not Implemented

Member Function Documentation

virtual DtAggregateStateRepository* DtAggregatePublisher::aggregateStateRep ( )
virtual

Get the aggregate state repository for this aggregate publisher.

DtAggregateStateRepository * DtAggregatePublisher::asr ( )
inlinevirtual

Get the aggregate state repository for this aggregate publisher.

References DtObjectPublisher::myStateRep.

DtTime DtAggregatePublisher::entityTypeHeartbeat ( int  type,
int  domain 
)

Return the heartbeat based on entity Type.

virtual void DtAggregatePublisher::forceUpdate ( )
virtual

Cause the next tick call to send out the PDU even if its not needed.

Implements DtObjectPublisher.

virtual const DtGlobalObjectDesignator& DtAggregatePublisher::globalId ( ) const
virtual

Get the global object designator - same as id for DIS.

Implements DtObjectPublisher.

virtual const DtObjectId& DtAggregatePublisher::id ( ) const
virtual

Get the entity's identifier.

Implements DtObjectPublisher.

Referenced by localId().

void DtAggregatePublisher::init ( const DtEntityIdentifier vehId)
protected

Not virtual since called from constructor.

const DtObjectId & DtAggregatePublisher::localId ( ) const
inlinevirtual

Get the entity's localId - same as id for DIS.

Implements DtObjectPublisher.

References id().

DtAggregatePublisher& DtAggregatePublisher::operator= ( const DtAggregatePublisher orig)
protected

assignment operator – Not Implemented

static void DtAggregatePublisher::setClassDfltTimeThreshold ( DtTime  threshold)
static
static void DtAggregatePublisher::setEntityTypeDfltTimeThreshold ( int  type,
int  domain,
DtTime  threshold 
)
static
static void DtAggregatePublisher::setStateRepCreator ( DtStateRepCreator  creator)
static

Give us a function to be used for creating SRs.

static DtStateRepCreator DtAggregatePublisher::setStateRepCreator ( void  )
static
static void DtAggregatePublisher::setStationaryDfltTimeThreshold ( DtTime  threshold)
static
virtual void DtAggregatePublisher::tick ( )
virtual

Tick the publisher.

Implements DtObjectPublisher.

Member Data Documentation

DtAggregateStateDecoder* DtAggregatePublisher::myAggregateDecoder
protected
DtAggregateStateEncoder* DtAggregatePublisher::myAggregateEncoder
protected
DtObjectId DtAggregatePublisher::myId
protected
DtRelativeLocationPdu DtAggregatePublisher::myLastSentRelLocPdu
protected
DtTime DtAggregatePublisher::myLastSentRelLocPduTime
protected
bool DtAggregatePublisher::theClassDfltIsSetFlag
staticprotected
DtTime DtAggregatePublisher::theClassDfltTimeThreshold
staticprotected
std::map<std::pair<int,int>,DtTime> DtAggregatePublisher::theEntityTypeHeartbeat
staticprotected
DtStateRepCreator DtAggregatePublisher::theStateRepCreator
staticprotected
bool DtAggregatePublisher::theStationaryDfltIsSetFlag
staticprotected
DtTime DtAggregatePublisher::theStationaryDfltTimeThreshold
staticprotected

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

Document ID: Generated on Mon Jun 22 21:18:40 EDT 2020 from SVN revision 213785
Copyright © 2005-2018 MAK Technologies. All Rights Reserved (www.mak.com)