![]() |
VR-Forces Developer's Guide
|
Class Description: DtSimLocalEntityNetInterface Derived from DtSimEntityNetInterface, DtSimLocalEntityNetInterface provides an interface between a local entity and its network (VR-Link) representation. This is an abstract class whose deriving classes will represent different types of entities, such as individual, aggregate, and eventually, environmental.

Public Member Functions | |
| DtSimLocalEntityNetInterface (DtStateData *vrfObject, DtVrlinkNetworkInterface *objMgr, bool publishObject=true) | |
| virtual | ~DtSimLocalEntityNetInterface () override |
| virtual void | onTick () override |
| virtual bool | publishObject () const override |
| virtual bool | init (const DtEntityIdentifier &id=DtEntityIdentifier::nullId()) override |
| virtual bool | init (DtHlaObjectWithStateRep *obj, DtHlaObjectWithStateRep *extendedAttributes=nullptr) override |
| virtual bool | publisherUserSupplied () const |
| virtual void | updatePublisher ()=0 |
| virtual bool | createPublisher (const DtEntityIdentifier &id=DtEntityIdentifier::nullId())=0 |
| virtual bool | createPublisher (DtHlaObjectWithStateRep *obj, DtHlaObjectWithStateRep *extendedAttributes=nullptr) |
| virtual void | destroyPublisher ()=0 |
| virtual DtObjectPublisher * | publisher ()=0 |
| virtual void | updateNet () |
| virtual void | setupNetworkRepository ()=0 |
| virtual void | updateUuid ()=0 |
| virtual bool | isLocal () const override |
| virtual bool | isAggregate () const =0 |
Public Member Functions inherited from makVrf::DtSimEntityNetInterface | |
| DtSimEntityNetInterface (DtStateData *simObject, DtVrlinkNetworkInterface *objMgr, bool publishObject=true) | |
| virtual | ~DtSimEntityNetInterface () override |
| virtual DtBaseEntityStateRepository * | baseEntityNetworkState () const |
| virtual bool | isEnvironmental () const override |
Public Member Functions inherited from makVrf::DtSimObjectNetInterface | |
| DtVrfCallbackQueue::CallbackInterface::Ptr | parallelContainer () |
| DtSimObjectNetInterface (DtStateData *simObject, DtVrlinkNetworkInterface *, bool publishObject=true) | |
| virtual | ~DtSimObjectNetInterface () |
| virtual void | tick () |
| virtual bool | isUnit () const =0 |
| virtual bool | isEntity () const =0 |
| virtual bool | wantsToCreatePublisher () const =0 |
| virtual DtString | type () const =0 |
| virtual int | maxNameLength () const |
| virtual void | toBeRemoved () |
| virtual RTI::ObjectClassHandle | objectClassHandle () const =0 |
| virtual void | sendFinalPduOnDestruction (bool) |
| bool | isValid () const |
| virtual std::vector < DtGlobalObjectDesignator > | associatedGlobalObjectDesignators () const |
| virtual void | parallelTick () |
| virtual void | forceUpdate () |
Static Protected Attributes | |
| static double | theHeartbeatVariance |
Static Protected Attributes inherited from makVrf::DtSimObjectNetInterface | |
| static DtSimObjectNetInterfaceFactory * | theFactory |
| static DtNonVrfUUIDResolver * | theNonVrfUUIDResolver |
Private Member Functions | |
| DtSimLocalEntityNetInterface () | |
| DtSimLocalEntityNetInterface (const DtSimLocalEntityNetInterface &orig) | |
| const DtSimLocalEntityNetInterface & | operator= (const DtSimLocalEntityNetInterface &orig) |
Additional Inherited Members | |
Public Attributes inherited from makVrf::DtSimObjectNetInterface | |
| boost::signals2::signal< void()> | signal_networkInterfaceDeleted |
Static Public Attributes inherited from makVrf::DtSimObjectNetInterface | |
| static tbb::spin_rw_mutex | thePublisherCreationMutex |
| static tbb::spin_rw_mutex | thePublisherTickMutex |
|
private |
Default CTOR.
|
private |
Copy CTOR.
| makVrf::DtSimLocalEntityNetInterface::DtSimLocalEntityNetInterface | ( | DtStateData * | vrfObject, |
| DtVrlinkNetworkInterface * | objMgr, | ||
| bool | publishObject = true |
||
| ) |
read/writable constructor
|
overridevirtual |
destructor; calls destroyPublisher().
|
private |
Assignment operator (see note on copy constructor above).
|
overridevirtual |
Checks if VR-Forces-specific data has changed. If it has, sets the object changed flag.
Implements makVrf::DtSimObjectNetInterface.
Reimplemented in makVrf::DtLocalExtendedPropertiesNetInterface< DtSimIndividualLocalEntityNetInterface, DtExtEntityStateRepository >, makVrf::DtLocalExtendedPropertiesNetInterface< DtSimPseudoAggregateLocalEntityNetInterface, DtExtAggregateStateRepository >, and makVrf::DtLocalExtendedPropertiesNetInterface< DtSimAggregateLocalEntityNetInterface, DtExtAggregateStateRepository >.
|
inlineoverridevirtual |
Reimplemented from makVrf::DtSimObjectNetInterface.
|
overridevirtual |
Derived classes that need to perform virtual construction my override this function as desired.
Reimplemented from makVrf::DtSimObjectNetInterface.
|
overridevirtual |
Reimplemented from makVrf::DtSimObjectNetInterface.
|
virtual |
A true return indicates that the publisher currently used by the interface was supplied by the user rather than created by init().
|
pure virtual |
This will copy from the local state repository to the specific type of publisher created in deriving classes.
Implemented in makVrf::DtLocalExtendedPropertiesNetInterface< DtSimIndividualLocalEntityNetInterface, DtExtEntityStateRepository >, makVrf::DtLocalExtendedPropertiesNetInterface< DtSimPseudoAggregateLocalEntityNetInterface, DtExtAggregateStateRepository >, makVrf::DtLocalExtendedPropertiesNetInterface< DtSimAggregateLocalEntityNetInterface, DtExtAggregateStateRepository >, makVrf::DtSimAggregateLocalEntityNetInterface, makVrf::DtSimIndividualLocalEntityNetInterface, makVrf::DtSimPseudoAggregateLocalEntityNetInterface, and DtIndividualLocalEntityNetInterfaceWithTemperature.
|
pure virtual |
Called by init() to create a VR-Link publisher, deriving classes create the type of publisher needed for that entity type.
Implemented in makVrf::DtSimIndividualLocalEntityNetInterface, and makVrf::DtSimAggregateLocalEntityNetInterface.
|
inlinevirtual |
Reimplemented in makVrf::DtSimIndividualLocalEntityNetInterface.
|
pure virtual |
Called by the destructor (and also by setPublisher() in some cases), deletes a publisher.
Implemented in makVrf::DtSimIndividualLocalEntityNetInterface, and makVrf::DtSimAggregateLocalEntityNetInterface.
|
pure virtual |
Returns the publisher used by this net interface.
Implemented in makVrf::DtSimIndividualLocalEntityNetInterface, and makVrf::DtSimAggregateLocalEntityNetInterface.
|
virtual |
Cause any necessary data to be send to the network. Called by onTick. Base class implementation causes a VrfData message to be sent if necessary.
Reimplemented in makVrf::DtSimIndividualLocalEntityNetInterface, and makVrf::DtSimAggregateLocalEntityNetInterface.
|
pure virtual |
Initializes parts of the network repository created by the publisher This needs to be done after the local state repository has been initialized. Details depend upon which type of publisher (and therefore network state repository) is actually created.
Implemented in makVrf::DtSimIndividualLocalEntityNetInterface, and makVrf::DtSimAggregateLocalEntityNetInterface.
|
pure virtual |
Updates the UUID to be published to the network.
Implemented in makVrf::DtLocalExtendedPropertiesNetInterface< DtSimIndividualLocalEntityNetInterface, DtExtEntityStateRepository >, makVrf::DtLocalExtendedPropertiesNetInterface< DtSimPseudoAggregateLocalEntityNetInterface, DtExtAggregateStateRepository >, makVrf::DtLocalExtendedPropertiesNetInterface< DtSimAggregateLocalEntityNetInterface, DtExtAggregateStateRepository >, makVrf::DtSimIndividualLocalEntityNetInterface, and makVrf::DtSimAggregateLocalEntityNetInterface.
|
static |
Returns true if given global object Id is a VR-Forces encoded global Id and false if it is not. Calls down to DtVrfObjectIdGenerator to make the check.
|
inlineoverridevirtual |
This network interface is for local entities.
Implements makVrf::DtSimObjectNetInterface.
|
pure virtual |
|
static |
This function will return the objNetInterface passed in, cast to a DtSimLocalEntityNetInterface*, provided the objNetInterface is indeed an local entity network interface.
|
static |
Sets the time to update the vrf data message. The message will be sent on this time (default is five seconds) or if the data as seen by remote is different that the current time. If time is set to be -1, it will only be sent if the data is different.
|
static |
Variance to use for setting heartbeat thresholds. The actual threshold used will be heartbeat +/- a random value up to the variance. The default value is 2.5s.
|
static |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protected |
|
protected |
|
staticprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |