VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Member Functions
makVrf::DtSimLocalEnvironmentalNetInterface Class Referenceabstract
Inheritance diagram for makVrf::DtSimLocalEnvironmentalNetInterface:
Inheritance graph
[legend]

Public Member Functions

 DtSimLocalEnvironmentalNetInterface (DtStateData *vrfObject, DtVrlinkNetworkInterface *mgr, bool publishObject=true)
 
virtual ~DtSimLocalEnvironmentalNetInterface ()
 
virtual bool init (const DtEntityIdentifier &id=DtEntityIdentifier::nullId())
 
virtual DtString type () const =0
 
virtual void forceUpdate ()
 
virtual void onTick ()
 
virtual bool publisherUserSupplied () const
 
virtual void updatePublisher ()=0
 
virtual bool createPublisher (const DtEntityIdentifier &id=DtEntityIdentifier::nullId())
 
virtual bool wantsToCreatePublisher () const
 
virtual void destroyPublisher ()
 
virtual DtObjectPublisherpublisher ()
 
virtual bool setEntityPublisher (DtEnvironmentProcessPublisher *publisher)
 
virtual
DtEnvironmentProcessPublisher
environmentalPublisher () const
 
virtual void setupNetworkRepository ()
 
virtual void updateUuid ()=0
 
virtual bool publishObject () const
 
virtual bool isLocal () const
 
virtual RTI::ObjectClassHandle objectClassHandle () const
 
- Public Member Functions inherited from makVrf::DtSimEnvironmentalNetInterface
 DtSimEnvironmentalNetInterface (DtStateData *simObject, DtVrlinkNetworkInterface *objMgr, bool publishObject=true)
 
virtual ~DtSimEnvironmentalNetInterface ()
 
virtual bool init ()
 
virtual DtControlObjectRepositorycontrolObjectNetworkState () const
 
virtual
DtEnvironmentProcessRepository
environmentalNetworkState () const
 
virtual bool isUnit () const
 
virtual bool isEntity () const
 
virtual bool isEnvironmental () const
 
- Public Member Functions inherited from makVrf::DtSimObjectNetInterface
 DtSimObjectNetInterface (DtStateData *simObject, DtVrlinkNetworkInterface *, bool publishObject=true)
 
virtual ~DtSimObjectNetInterface ()
 
virtual void tick ()
 
virtual int maxNameLength () const
 
virtual void toBeRemoved ()
 
virtual void parallelTick ()
 

Static Public Member Functions

static
DtSimLocalEnvironmentalNetInterface
isLocalEnvironmentalNetInterface (const DtSimObjectNetInterface *objNetInterface)
 
static void setHeartbeatVariance (double variance)
 
static double heartbeatVariance ()
 
- Static Public Member Functions inherited from makVrf::DtSimEnvironmentalNetInterface
static
DtSimEnvironmentalNetInterface
isEnvironmentalNetInterface (const DtSimObjectNetInterface *objNetInterface)
 
- Static Public Member Functions inherited from makVrf::DtSimObjectNetInterface
static void setNonVrfUUIDResolver (DtNonVrfUUIDResolver *)
 
static DtNonVrfUUIDResolvernonVrfUUIDResolver ()
 
static void addSimObjectNetInterfaceCreatorFcn (const DtString &type, DtSimObjectNetIfaceCreatorFcn fcn)
 
static void setFactory (DtSimObjectNetInterfaceFactory *factory)
 
static
DtSimObjectNetInterfaceFactory
factory ()
 
static DtSimObjectNetInterfacecreateNetInterface (const DtString &type, DtStateData *simObject, DtVrlinkNetworkInterface *, bool publishObject=true)
 
static int maxNameLengthForInterfaceType (const DtString &interfaceTypeString)
 
static void setNonVrfObjectsUUIDScheme (const DtString &)
 
static DtString nonVrfObjectsUUIDScheme ()
 

Protected Member Functions

virtual
DtEnvironmentProcessPublisher
_createPublisher (const DtEntityIdentifier &id=DtEntityIdentifier::nullId())
 
virtual
DtEnvironmentProcessRepository
_createSR () const
 
- Protected Member Functions inherited from makVrf::DtSimObjectNetInterface
bool runFullyThreaded () const
 
const DtStateDatavrfObject () const
 
DtStateDatanextFrameVrfObject ()
 
virtual const DtStateRepositorynetworkState () const
 

Protected Attributes

bool myPublisherUserSupplied
 
DtEnvironmentProcessPublishermyEnvironmentalPublisher
 
bool myPublishObject
 
- Protected Attributes inherited from makVrf::DtSimObjectNetInterface
DtStateDatamySimObject
 
DtVrlinkNetworkInterfacemyObjectManager
 
DtStateRepositorymyNetworkState
 
bool myNeedsNetworkSetup
 
DtNetInterfaceParallelLock myLock
 

Static Protected Attributes

static double theHeartbeatVariance
 
- Static Protected Attributes inherited from makVrf::DtSimObjectNetInterface
static
DtSimObjectNetInterfaceFactory
theFactory
 
static DtNonVrfUUIDResolvertheNonVrfUUIDResolver
 

Private Member Functions

 DtSimLocalEnvironmentalNetInterface ()
 
 DtSimLocalEnvironmentalNetInterface (const DtSimLocalEnvironmentalNetInterface &orig)
 
const
DtSimLocalEnvironmentalNetInterface
operator= (const DtSimLocalEnvironmentalNetInterface &orig)
 

Additional Inherited Members

- Static Public Attributes inherited from makVrf::DtSimObjectNetInterface
static tbb::spin_rw_mutex thePublisherCreationMutex
 
static tbb::spin_rw_mutex thePublisherTickMutex
 

Constructor & Destructor Documentation

makVrf::DtSimLocalEnvironmentalNetInterface::DtSimLocalEnvironmentalNetInterface ( )
private

default constructor

makVrf::DtSimLocalEnvironmentalNetInterface::DtSimLocalEnvironmentalNetInterface ( const DtSimLocalEnvironmentalNetInterface orig)
private
makVrf::DtSimLocalEnvironmentalNetInterface::DtSimLocalEnvironmentalNetInterface ( DtStateData vrfObject,
DtVrlinkNetworkInterface mgr,
bool  publishObject = true 
)

read/writable constructor

virtual makVrf::DtSimLocalEnvironmentalNetInterface::~DtSimLocalEnvironmentalNetInterface ( )
virtual

destructor; calls destroyPublisher()

Member Function Documentation

const DtSimLocalEnvironmentalNetInterface& makVrf::DtSimLocalEnvironmentalNetInterface::operator= ( const DtSimLocalEnvironmentalNetInterface orig)
private
virtual bool makVrf::DtSimLocalEnvironmentalNetInterface::init ( const DtEntityIdentifier &  id = DtEntityIdentifier::nullId())
virtual
virtual DtString makVrf::DtSimLocalEnvironmentalNetInterface::type ( ) const
pure virtual
virtual void makVrf::DtSimLocalEnvironmentalNetInterface::forceUpdate ( )
virtual

Forces an update of the publisher.

Reimplemented from makVrf::DtSimObjectNetInterface.

Reimplemented in makVrf::DtSimLocalControlObjectNetInterface.

virtual void makVrf::DtSimLocalEnvironmentalNetInterface::onTick ( )
virtual
virtual bool makVrf::DtSimLocalEnvironmentalNetInterface::publisherUserSupplied ( ) const
virtual

A true return indicates that the publisher currently used by the interface was supplied by the user rather than created by init().

virtual void makVrf::DtSimLocalEnvironmentalNetInterface::updatePublisher ( )
pure virtual
virtual bool makVrf::DtSimLocalEnvironmentalNetInterface::createPublisher ( const DtEntityIdentifier &  id = DtEntityIdentifier::nullId())
virtual

Called by init() to create a VR-Link publisher, deriving classes create the type of publisher needed for that entity type.

Reimplemented in makVrf::DtWeatherLocalNetInterface, makVrf::DtSimLocalControlObjectNetInterface, makVrf::DtMetocServiceLocalNetInterface, and makVrf::DtCloudLayerLocalNetInterface.

virtual bool makVrf::DtSimLocalEnvironmentalNetInterface::wantsToCreatePublisher ( ) const
virtual

Returns true if this interface wants to create a publisher. This cannot be done in parallel.

Implements makVrf::DtSimObjectNetInterface.

Reimplemented in makVrf::DtSimLocalControlObjectNetInterface, and makVrf::DtCloudLayerLocalNetInterface.

virtual void makVrf::DtSimLocalEnvironmentalNetInterface::destroyPublisher ( )
virtual

Called by the destructor (and also by setPublisher() in some cases, deletes a publisher.

Reimplemented in makVrf::DtWeatherLocalNetInterface, makVrf::DtSimLocalControlObjectNetInterface, makVrf::DtMetocServiceLocalNetInterface, and makVrf::DtCloudLayerLocalNetInterface.

virtual DtObjectPublisher* makVrf::DtSimLocalEnvironmentalNetInterface::publisher ( )
virtual

Returns the publisher used by this net interface.

Reimplemented in makVrf::DtMetocServiceLocalNetInterface, and makVrf::DtSimLocalControlObjectNetInterface.

virtual bool makVrf::DtSimLocalEnvironmentalNetInterface::setEntityPublisher ( DtEnvironmentProcessPublisher publisher)
virtual

If the user needs to supply a publisher other than the one created by the network interface, this call call be used. If the myPublisher pointer is not null and it myPublisherUserSupplied flag is false then the interface will first destroy the current publisher; otherwise a warning is generated and false is returned. The interface's destructor will not destroy a user supplied publisher - that is the responsibility of the publisher's creator. If you need to change a user-supplied publisher to a different one, first call setPublisher with a value of 0 (Null). This will set the myPublisherUserSupplied flag to false.

virtual DtEnvironmentProcessPublisher* makVrf::DtSimLocalEnvironmentalNetInterface::environmentalPublisher ( ) const
virtual
virtual void makVrf::DtSimLocalEnvironmentalNetInterface::setupNetworkRepository ( )
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.

virtual void makVrf::DtSimLocalEnvironmentalNetInterface::updateUuid ( )
pure virtual
virtual bool makVrf::DtSimLocalEnvironmentalNetInterface::publishObject ( ) const
inlinevirtual

Reimplemented from makVrf::DtSimObjectNetInterface.

virtual bool makVrf::DtSimLocalEnvironmentalNetInterface::isLocal ( ) const
inlinevirtual

This network interface is for local entities.

Implements makVrf::DtSimObjectNetInterface.

virtual RTI::ObjectClassHandle makVrf::DtSimLocalEnvironmentalNetInterface::objectClassHandle ( ) const
virtual

Returns the HLA object class handle of the published object.

Implements makVrf::DtSimObjectNetInterface.

Reimplemented in makVrf::DtMetocServiceLocalNetInterface.

static DtSimLocalEnvironmentalNetInterface* makVrf::DtSimLocalEnvironmentalNetInterface::isLocalEnvironmentalNetInterface ( const DtSimObjectNetInterface objNetInterface)
static

This function will return the objNetInterface passed in, cast to a DtSimLocalEntityNetInterface*, provided the objNetInterface is indeed an local entity network interface.

static void makVrf::DtSimLocalEnvironmentalNetInterface::setHeartbeatVariance ( double  variance)
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 double makVrf::DtSimLocalEnvironmentalNetInterface::heartbeatVariance ( )
static
virtual DtEnvironmentProcessPublisher* makVrf::DtSimLocalEnvironmentalNetInterface::_createPublisher ( const DtEntityIdentifier &  id = DtEntityIdentifier::nullId())
protectedvirtual
virtual DtEnvironmentProcessRepository* makVrf::DtSimLocalEnvironmentalNetInterface::_createSR ( ) const
protectedvirtual

Override this functions to use a subclass of DtEnvironmentProcessStateRepository.

Reimplemented in makVrf::DtSimLocalControlObjectNetInterface.

Member Data Documentation

bool makVrf::DtSimLocalEnvironmentalNetInterface::myPublisherUserSupplied
protected
DtEnvironmentProcessPublisher* makVrf::DtSimLocalEnvironmentalNetInterface::myEnvironmentalPublisher
protected
bool makVrf::DtSimLocalEnvironmentalNetInterface::myPublishObject
protected
double makVrf::DtSimLocalEnvironmentalNetInterface::theHeartbeatVariance
staticprotected

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

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)