This class will wrap a VR-Link DtEntityPublisher to allow for easier creation of a publisher that is compatible with VR-Forces.
More...
Public Member Functions |
| | DtVrfEntityPublisher (const DtEntityType &type, DtExerciseConn *conn, const DtGlobalObjectDesignator &glId=DtGlobalObjectDesignator::nullId(), const DtEntityIdentifier &entId=DtEntityIdentifier::nullId(), DtRwProperties *stateProps=0, DtRwProperties *paramProps=0) |
| | Create a new instance of the VRF entity publisher which will, in turn, create the VR-Link entity publisher, given a object id (DIS) or name (HLA).
|
| | DtVrfEntityPublisher (const DtEntityType &type, DtExerciseConn *conn, const DtGlobalObjectDesignator &glId=DtGlobalObjectDesignator::nullId(), const DtEntityIdentifier &entId=DtEntityIdentifier::nullId(), const DtRwProperties &stateProps=DtRwProperties::emptyProperties(), const DtRwProperties ¶mProps=DtRwProperties::emptyProperties()) |
| | Create a new instance of the VRF entity publisher which will, in turn, create the VR-Link entity publisher, given a object id (DIS) or name (HLA).
|
| virtual | ~DtVrfEntityPublisher () |
| | Destructor. Also destroys publisher.
|
| virtual void | tick () |
| | Class method taken from publisher class for entities at VR-Link level.
|
| virtual DtEntPublisherDecoder * | decoder () |
| | Returns a pointer to the Decoder being used to decode PDUs/updates that we send back into the asSeenByRemote state rep.
|
| virtual DtEntPublisherEncoder * | encoder () |
| | Returns a pointer to the Encoder being used to encode current state into a PDU/update.
|
| virtual void | setPublishesDiGuyInfo (bool has) |
| | Indicates that DI-Guy data should be published.
|
| virtual bool | publishesDiGuyInfo () |
| | Whether or not DI-Guy data will be published.
|
| DtStateRepository * | sr () |
| | VRL support for common functions.
|
| const DtString & | name () const |
| virtual const DtObjectId & | id () const |
| | Get the entity's identifier.
|
| virtual const DtObjectId & | localId () 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.
|
| virtual void | forceUpdate () |
| | Force a state update to be sent during the next call to tick, even if nothing would normally cause a send.
|
| virtual bool | sendVrfObjectData () |
| | Sends vrf object data update from the ensr() to the network.
|
| virtual DtEntityPublisher * | entityPublisher () |
| | Returns a pointer to myPublisher (the VR-Link DtEntityPublisher)
|
| virtual void | setSendVrfObjectDataRecord (bool shouldSend) |
| | Sets whether a separate VrfObjectData message should be sent to convey additional VRF object information.
|
| virtual void | processDataInteraction (DtDataInteraction *i) |
| | Used internally. Should not be directly called.
|
|
virtual
DtExtEntityStateRepository * | entityProcessStateRep () |
virtual
DtExtEntityStateRepository * | entityStateRep () |
virtual
DtExtEntityStateRepository * | ensr () |
Protected Member Functions |
| | DtVrfEntityPublisher () |
| | Alternate constructor that performs no initialization.
|
| void | initialize (const DtEntityType &type, DtExerciseConn *conn, const DtGlobalObjectDesignator &glId, const DtEntityIdentifier &entId) |
| | Called by the constructor to initialize the publisher.
|
| virtual bool | sendVrfDataUpdate () |
| | Sends out a vrf data update message if needed.
|
| virtual bool | needsVrfObjectDataUpdate () |
| | Return true if the vrf object data message needs to be updated from a heartbeat or if the object data has changed.
|
| virtual void | processSendVrfObjectDataMessage (DtDataInteraction *interaction) |
| | Send message if interaction is requesting the entity id we are publishing.
|
|
Fill out the addressing and bookkeeping data, create interaction, and send (Calls set content and send below) Returns true if content could be set (and message sent); otherwise, false
|
| virtual bool | sendMessage (const DtSimulationAddress &receiver, DtSimInterfaceContent *message) |
| | Fill out the payload data.
|
| virtual bool | setContentForNet (DtDataInteraction *dataInter, DtSimInterfaceContent *content) const |
| | Fill out the payload data.
|
| virtual void | sendMessageInteraction (const DtSimulationAddress &receiver, DtDataInteraction &data) |
| | Send the message interaction.
|
This class will wrap a VR-Link DtEntityPublisher to allow for easier creation of a publisher that is compatible with VR-Forces.
If you want to create and publish entity objects that can be used by VR-Forces, you can use a publisher of this class to facilitate in that creation.
The way in which entities are considered compliant with VR-Forces is via the publication of the DtIfVrfDataObject message. In addition to publishing the PDU for the entity, every n seconds (default 5), a DtIfVrfDataObject message will also be sent. You can change this by setting the heartbeat values for the data object. Note that a value of < 0 will mean to not send a heartbeat
Additional note: this class is also responsible for setting up extended DI-Guy encoders, which allow the contents of DI-Guy related packets to be controlled from VrfVrlExt, so that modifications don't need to be made to code in VR-Link.
| DtVrfEntityPublisher::DtVrfEntityPublisher |
( |
const DtEntityType & |
type, |
|
|
DtExerciseConn * |
conn, |
|
|
const DtGlobalObjectDesignator & |
glId = DtGlobalObjectDesignator::nullId(), |
|
|
const DtEntityIdentifier & |
entId = DtEntityIdentifier::nullId(), |
|
|
DtRwProperties * |
stateProps = 0, |
|
|
DtRwProperties * |
paramProps = 0 |
|
) |
| |
Create a new instance of the VRF entity publisher which will, in turn, create the VR-Link entity publisher, given a object id (DIS) or name (HLA).
This class will use the default factory as supplied in the DtVrfObjectIdGenerator class
The state repository will initially be set to the DtExtEntityStateRepository class. You can change it in the global DtVrfEntityPublisher class before calling this creator
If supplied, initializes the state repository to publish extended attributes from the supplied state properties.
| DtVrfEntityPublisher::DtVrfEntityPublisher |
( |
const DtEntityType & |
type, |
|
|
DtExerciseConn * |
conn, |
|
|
const DtGlobalObjectDesignator & |
glId = DtGlobalObjectDesignator::nullId(), |
|
|
const DtEntityIdentifier & |
entId = DtEntityIdentifier::nullId(), |
|
|
const DtRwProperties & |
stateProps = DtRwProperties::emptyProperties(), |
|
|
const DtRwProperties & |
paramProps = DtRwProperties::emptyProperties() |
|
) |
| |
Create a new instance of the VRF entity publisher which will, in turn, create the VR-Link entity publisher, given a object id (DIS) or name (HLA).
This class will use the default factory as supplied in the DtVrfObjectIdGenerator class
The state repository will initially be set to the DtExtEntityStateRepository class. You can change it in the global DtVrfEntityPublisher class before calling this creator
If supplied, initializes the state repository with the provided state properties.