![]() |
VR-Forces Developer's Guide
|
Class Description: DtSimObjectNetInterface.
DtSimObjectNetInterface is an abstract base class that represents the interface between a simulation object's local representation in VR-Forces and its network (VR-Link) representation

Classes | |
| class | ParallelContainer |
Public Member Functions | |
| DtVrfCallbackQueue::CallbackInterface::Ptr | parallelContainer () |
| DtSimObjectNetInterface (DtStateData *simObject, DtVrlinkNetworkInterface *, bool publishObject=true) | |
| virtual | ~DtSimObjectNetInterface () |
| virtual bool | init (const DtEntityIdentifier &id=DtEntityIdentifier()) |
| virtual void | tick () |
| virtual void | onTick ()=0 |
| virtual bool | isUnit () const =0 |
| virtual bool | isEntity () const =0 |
| virtual bool | isEnvironmental () const =0 |
| virtual bool | wantsToCreatePublisher () const =0 |
| virtual bool | isLocal () const =0 |
| virtual DtString | type () const =0 |
| virtual int | maxNameLength () const |
| virtual void | toBeRemoved () |
| virtual bool | publishObject () const |
| virtual RTI::ObjectClassHandle | objectClassHandle () const =0 |
| virtual void | sendFinalPduOnDestruction (bool) |
| bool | isValid () const |
| virtual void | parallelTick () |
| virtual void | forceUpdate () |
Static Public Member Functions | |
| static void | setNonVrfUUIDResolver (DtNonVrfUUIDResolver *) |
| static DtNonVrfUUIDResolver * | nonVrfUUIDResolver () |
| static void | addSimObjectNetInterfaceCreatorFcn (const DtString &type, DtSimObjectNetIfaceCreatorFcn fcn) |
| static void | setFactory (DtSimObjectNetInterfaceFactory *factory) |
| static DtSimObjectNetInterfaceFactory * | factory () |
| static DtSimObjectNetInterface * | createNetInterface (const DtString &type, DtStateData *simObject, DtVrlinkNetworkInterface *, bool publishObject=true) |
| static int | maxNameLengthForInterfaceType (const DtString &interfaceTypeString) |
| static void | setNonVrfObjectsUUIDScheme (const DtString &) |
| static DtString | nonVrfObjectsUUIDScheme () |
Public Attributes | |
| boost::signals2::signal< void()> | signal_networkInterfaceDeleted |
Static Public Attributes | |
| static tbb::spin_rw_mutex | thePublisherCreationMutex |
| static tbb::spin_rw_mutex | thePublisherTickMutex |
Protected Member Functions | |
| virtual void | stateDataDestroyed () |
| bool | runFullyThreaded () const |
| const DtStateData * | vrfObject () const |
| DtStateData * | nextFrameVrfObject () |
| virtual const DtStateRepository * | networkState () const |
Protected Attributes | |
| DtStateData * | mySimObject |
| DtVrlinkNetworkInterface * | myObjectManager |
| DtStateRepository * | myNetworkState |
| bool | myNeedsNetworkSetup |
| DtNetInterfaceParallelLock | myLock |
| boost::signals2::connection | mySimObjectRemovalConnection |
| tbb::mutex | myDeleteGuardMutex |
| DtVrfCallbackQueue::CallbackInterface::Ptr | myParallelContainer |
Static Protected Attributes | |
| static DtSimObjectNetInterfaceFactory * | theFactory |
| static DtNonVrfUUIDResolver * | theNonVrfUUIDResolver |
Private Member Functions | |
| DtSimObjectNetInterface () | |
| DtSimObjectNetInterface (const DtSimObjectNetInterface &orig) | |
| const DtSimObjectNetInterface & | operator= (const DtSimObjectNetInterface &orig) |
Friends | |
| class | DtVrlinkNetworkInterface |
| class | DtPrintObjectStatusCommand |
| class | DtPrintOrgViewCommand |
|
private |
default constructor
|
private |
copy constructor
| makVrf::DtSimObjectNetInterface::DtSimObjectNetInterface | ( | DtStateData * | simObject, |
| DtVrlinkNetworkInterface * | , | ||
| bool | publishObject = true |
||
| ) |
read/writable constructor Publish object flag indicate whether or not locally simulated objects should actually publish the object on the network. If flag is false, no PDUs/RPR interactions should be sent over the network for the object.
|
virtual |
destructor
|
private |
assignment operator
|
inline |
|
inlinevirtual |
Derived classes that need to perform virtual construction my override this function as desired.
Reimplemented in makVrf::DtWeatherLocalNetInterface, makVrf::DtSimLocalEntityNetInterface, makVrf::DtAerodromeLocalNetInterface, and makVrf::DtSimLocalEnvironmentalNetInterface.
|
virtual |
Clears the changed flag for the tick, then calls onTick(). Derived classes override onTick() to perform the work of updating or retrieving data in the network state repository. If overridden, make sure to call down to this base class version first, to ensure that the object changed flag is cleared before any other functions are called.
Reimplemented in makVrf::DtStateComponentNetInterface.
|
pure virtual |
Depending on the whether or not the entity is local or remote, this will cause the VR-Link network repository info to be copied to the local state repository or vice versa.
Implemented in makVrf::DtWeatherLocalNetInterface, makVrf::DtLocalExtendedPropertiesNetInterface< DtSimIndividualLocalEntityNetInterface, DtExtEntityStateRepository >, makVrf::DtLocalExtendedPropertiesNetInterface< DtSimPseudoAggregateLocalEntityNetInterface, DtExtAggregateStateRepository >, makVrf::DtLocalExtendedPropertiesNetInterface< DtSimLocalControlObjectNetInterface, DtWeatherObjectRepository >, makVrf::DtLocalExtendedPropertiesNetInterface< DtSimAggregateLocalEntityNetInterface, DtExtAggregateStateRepository >, makVrf::DtLocalExtendedPropertiesNetInterface< DtSimLocalControlObjectNetInterface, DtControlObjectRepository >, makVrf::DtMetocServiceLocalNetInterface, makVrf::DtAerodromeLocalNetInterface, makVrf::DtEnvironmentConditionRemoteNetInterface, makVrf::DtSimLocalEnvironmentalNetInterface, makVrf::DtSimLocalEntityNetInterface, makVrf::DtSimRemoteEnvironmentalNetInterface, makVrf::DtTimeAndDateRemoteNetInterface, makVrf::DtAerodromeRemoteNetInterface, makVrf::DtSimLocalControlObjectNetInterface, makVrf::DtSimRemoteEntityNetInterface, makVrf::DtRemoteStateComponentNetInterface, and makVrf::DtLocalStateComponentNetInterface.
|
pure virtual |
Is this network interface for a local (true) or remote (false) object? Deriving network interfaces should implement this function to return the appropriate value.
Implemented in makVrf::DtSimAggregateRemoteEntityNetInterface, makVrf::DtSimIndividualRemoteEntityNetInterface, makVrf::DtAerodromeRemoteNetInterface, makVrf::DtSimIndividualLocalEntityNetInterface, makVrf::DtSimEnvironmentalNetInterface, makVrf::DtStateComponentNetInterface, makVrf::DtAerodromeLocalNetInterface, makVrf::DtSimAggregateLocalEntityNetInterface, makVrf::DtRemoteStateComponentNetInterface, and makVrf::DtLocalStateComponentNetInterface.
|
pure virtual |
Implemented in makVrf::DtSimAggregateRemoteEntityNetInterface, makVrf::DtSimIndividualRemoteEntityNetInterface, makVrf::DtAerodromeRemoteNetInterface, makVrf::DtSimIndividualLocalEntityNetInterface, makVrf::DtSimEnvironmentalNetInterface, makVrf::DtStateComponentNetInterface, makVrf::DtAerodromeLocalNetInterface, makVrf::DtSimAggregateLocalEntityNetInterface, makVrf::DtRemoteStateComponentNetInterface, and makVrf::DtLocalStateComponentNetInterface.
|
pure virtual |
Implemented in makVrf::DtAerodromeRemoteNetInterface, makVrf::DtSimIndividualLocalEntityNetInterface, makVrf::DtSimEnvironmentalNetInterface, makVrf::DtStateComponentNetInterface, makVrf::DtAerodromeLocalNetInterface, makVrf::DtSimAggregateLocalEntityNetInterface, makVrf::DtSimEntityNetInterface, makVrf::DtRemoteStateComponentNetInterface, and makVrf::DtLocalStateComponentNetInterface.
|
pure virtual |
Returns true if this interface wants to create a publisher. This cannot be done in parallel.
Implemented in makVrf::DtSimLocalControlObjectNetInterface, makVrf::DtSimRemoteEnvironmentalNetInterface, makVrf::DtTaskVisualizationLocalNetInterface, makVrf::DtSimRemoteEntityNetInterface, makVrf::DtSimLocalEnvironmentalNetInterface, makVrf::DtAerodromeLocalNetInterface, makVrf::DtActiveSonarLocalNetInterface, makVrf::DtSimIndividualLocalEntityNetInterface, makVrf::DtIffLocalNetInterface, makVrf::DtWindCorridorLocalNetInterface, makVrf::DtEmitterSystemLocalNetInterface, makVrf::DtTimeAndDateLocalNetInterface, makVrf::DtUnderwaterAcousticsLocalNetInterface, makVrf::DtRadioTransmitterLocalNetInterface, makVrf::DtSensorFieldOfViewLocalNetInterface, makVrf::DtLaserDesignatorLocalNetInterface, makVrf::DtRemoteStateComponentNetInterface, makVrf::DtAerodromeRemoteNetInterface, makVrf::DtSimAggregateLocalEntityNetInterface, makVrf::DtDynamicTerrainLocalNetInterface, makVrf::DtRadioReceiverLocalNetInterface, and makVrf::DtNavAidRadioTransmitterLocalNetInterface.
|
pure virtual |
Is this network interface for a local (true) or remote (false) object? Local network interfaces should implement this function to return true. Remote network interfaces should implement this to return true.
Implemented in makVrf::DtSimLocalEnvironmentalNetInterface, makVrf::DtSimLocalEntityNetInterface, makVrf::DtTaskVisualizationLocalNetInterface, makVrf::DtSimRemoteEnvironmentalNetInterface, makVrf::DtSimRemoteEntityNetInterface, makVrf::DtAerodromeRemoteNetInterface, makVrf::DtActiveSonarLocalNetInterface, makVrf::DtAerodromeLocalNetInterface, makVrf::DtIffLocalNetInterface, makVrf::DtWindCorridorLocalNetInterface, makVrf::DtEmitterSystemLocalNetInterface, makVrf::DtTimeAndDateLocalNetInterface, makVrf::DtDynamicTerrainLocalNetInterface, makVrf::DtRadioReceiverLocalNetInterface, makVrf::DtUnderwaterAcousticsLocalNetInterface, makVrf::DtRadioTransmitterLocalNetInterface, makVrf::DtSensorFieldOfViewLocalNetInterface, makVrf::DtLaserDesignatorLocalNetInterface, makVrf::DtRemoteStateComponentNetInterface, and makVrf::DtLocalStateComponentNetInterface.
|
pure virtual |
Returns the type of net interface object. Strings are defined in netIfTypes.h.
Implemented in makVrf::DtSimAggregateLocalEntityNetInterface, makVrf::DtSimIndividualLocalEntityNetInterface, makVrf::DtSimLocalControlObjectNetInterface, makVrf::DtTaskVisualizationLocalNetInterface, makVrf::DtSimRemoteEnvironmentalNetInterface, makVrf::DtWeatherLocalNetInterface, makVrf::DtSimAggregateRemoteEntityNetInterface, makVrf::DtEnvironmentConditionRemoteNetInterface, makVrf::DtSimIndividualRemoteEntityNetInterface, makVrf::DtSimLocalEnvironmentalNetInterface, makVrf::DtRemoteTacticalSmokeNetInterface, makVrf::DtActiveSonarLocalNetInterface, makVrf::DtMetocServiceLocalNetInterface, makVrf::DtSimLocalTacticalSmokeNetInterface, makVrf::DtSimPseudoAggregateLocalEntityNetInterface, makVrf::DtIffLocalNetInterface, makVrf::DtWindCorridorLocalNetInterface, makVrf::DtEmitterSystemLocalNetInterface, makVrf::DtTimeAndDateLocalNetInterface, makVrf::DtAerodromeRemoteNetInterface, makVrf::DtTimeAndDateRemoteNetInterface, makVrf::DtUnderwaterAcousticsLocalNetInterface, makVrf::DtWindCorridorRemoteNetInterface, makVrf::DtAerodromeLocalNetInterface, makVrf::DtDynamicTerrainLocalNetInterface, makVrf::DtRadioTransmitterLocalNetInterface, makVrf::DtIffRemoteNetInterface, makVrf::DtRadioReceiverLocalNetInterface, makVrf::DtRadioReceiverRemoteNetInterface, makVrf::DtRadioTransmitterRemoteNetInterface, makVrf::DtSensorFieldOfViewLocalNetInterface, makVrf::DtActiveSonarRemoteNetInterface, makVrf::DtEmitterSystemRemoteNetInterface, makVrf::DtLaserDesignatorLocalNetInterface, makVrf::DtSimPseudoAggregateLocalEntityWithPropertiesNetInterface, makVrf::DtVrfAggregateRemoteEntityWithPropertiesNetInterface, makVrf::DtVrfIndividualRemoteEntityWithPropertiesNetInterface, makVrf::DtDynamicTerrainRemoteNetInterface, makVrf::DtLocalEngineeringObjectNetInterface, makVrf::DtSimLocalControlObjectWithPropertiesNetInterface, makVrf::DtVrfRemoteEnvironmentalWithPropertiesNetInterface, makVrf::DtLaserDesignatorRemoteNetInterface, makVrf::DtRemoteEngineeringObjectNetInterface, makVrf::DtSimAggregateLocalEntityWithPropertiesNetInterface, makVrf::DtSimIndividualLocalEntityWithPropertiesNetInterface, makVrf::DtUnderwaterAcousticsRemoteNetInterface, makVrf::DtVrfIndividualRemoteEntityNetInterface, makVrf::DtNavAidRadioTransmitterLocalNetInterface, makVrf::DtVrfRemoteEnvironmentalNetInterface, makVrf::DtNavAidRadioTransmitterRemoteNetInterface, makVrf::DtVrfAggregateRemoteEntityNetInterface, DtIndividualLocalEntityNetInterfaceWithTemperature, and DtIndividualRemoteEntityNetInterfaceWithTemperature.
|
virtual |
|
virtual |
Called when this object is removed.
Reimplemented in makVrf::DtSimRemoteEnvironmentalNetInterface, makVrf::DtAerodromeRemoteNetInterface, and makVrf::DtSimRemoteEntityNetInterface.
|
inlinevirtual |
|
pure virtual |
Returns the HLA object class handle of the published or reflected object.
Implemented in makVrf::DtSimAggregateLocalEntityNetInterface, makVrf::DtSimLocalEnvironmentalNetInterface, makVrf::DtSimRemoteEntityNetInterface, makVrf::DtSimIndividualLocalEntityNetInterface, makVrf::DtSimRemoteEnvironmentalNetInterface, makVrf::DtAerodromeRemoteNetInterface, makVrf::DtAerodromeLocalNetInterface, makVrf::DtEnvironmentConditionRemoteNetInterface, makVrf::DtStateComponentNetInterface, and makVrf::DtMetocServiceLocalNetInterface.
|
static |
Sets the UUID scheme for non vrf objects. The default is entity-identifier. Options are: entity-identifier global-identifier marking-text.
|
static |
Sets the UUID scheme for non vrf objects. The default is entity-identifier. Options are: entity-identifier global-identifier marking-text.
|
static |
Sets the resolver that is to be used when resolving non-VR-Forces uuids. If one exists, and is owned by VRF, it will be deleted. The current scheme will not be applied to the newly set resolver.
|
static |
|
static |
Adds a net interface creator function to the net interface factory. Strings are defined in netIfTypes.h.
|
static |
|
static |
|
static |
Creates a new net interface object using the factory.
|
static |
| interfaceTypeString | must be of a type specified in vrfNetIfTypes.h |
|
virtual |
Part of the parallel VRL interface, calls this to update in a parallel way.
|
virtual |
Part of the parallel VRL interface, calls this to update in a parallel way.
Reimplemented in makVrf::DtSimLocalControlObjectNetInterface, makVrf::DtSimLocalEnvironmentalNetInterface, makVrf::DtSimAggregateLocalEntityNetInterface, and makVrf::DtSimIndividualLocalEntityNetInterface.
|
virtual |
Whether or not to send the final PDU on destruction of this interface. Default is true.
Reimplemented in makVrf::DtSimIndividualLocalEntityNetInterface.
|
protectedvirtual |
|
protected |
|
inlineprotected |
|
inlineprotected |
|
protectedvirtual |
this is a pointer to the VR-Link network state repository create by either the contained publisher or reflected object
|
inline |
|
friend |
|
friend |
|
friend |
| boost::signals2::signal<void ()> makVrf::DtSimObjectNetInterface::signal_networkInterfaceDeleted |
|
static |
|
static |
|
protected |
|
protected |
|
protected |
|
staticprotected |
|
staticprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |