VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions
DtVrfEmitterSystem Class Reference

DtVrfEmitterSystem manages a VR-Link emitter system publisher, and sets all the values associated with an emitter system and its beams. This class encapsulates the concept of turning on and off the emitter system. When an emitter system is off, all the beam data is preserved, but is removed from the publisher. When turned back on, the beam data is restored to the publisher and is published once again.

Public Member Functions

 DtVrfEmitterSystem (DtLocalObject *hostEntity)
 
virtual ~DtVrfEmitterSystem ()
 
bool init ()
 
virtual void setOn (bool onOff)
 
virtual bool on () const
 
virtual void setDataFromEmitterSystemEntry (const DtEmitterSystemEntry &entry)
 
virtual void setSystemName (DtEmitterSysName nameEnum)
 
virtual DtEmitterSysName systemName () const
 
virtual void setSystemFunction (DtEmissionFunc functionEnum)
 
virtual DtEmissionFunc systemFunction () const
 
virtual void setMountLocation (const DtVector &location)
 
virtual DtVector mountLocation () const
 
virtual void setUseHighDensityTracking (bool useHdMode)
 
virtual bool useHighDensityTracking () const
 
virtual void setUseHighDensityJamming (bool useHdMode)
 
virtual bool useHighDensityJamming () const
 
virtual void addTrackTarget (const DtUUID &globalId)
 
virtual void removeTrackTarget (const DtUUID &globalId)
 
virtual void addJamTarget (const DtUUID &globalId)
 
virtual void removeJamTarget (const DtUUID &globalId)
 
virtual void clearTrackTargets ()
 
virtual void clearJamTargets ()
 
virtual void clearTrackJamTargets ()
 
virtual
makVrf::DtEmitterSystemBeamStateData
addBeam ()
 
virtual void removeBeam (unsigned char)
 
virtual void removeAllBeams ()
 
virtual
makVrf::DtEmitterSystemBeamStateData
beam (DtU8 id=0)
 
virtual int numBeams () const
 
std::vector
< makVrf::DtEmitterSystemBeamStateData > & 
beamList ()
 
const std::vector
< makVrf::DtEmitterSystemBeamStateData > & 
beamList () const
 
virtual DtString radarMode () const
 
virtual void setEmitterName (const DtString &)
 
virtual const DtStringemitterName () const
 
virtual void setRadarMode (DtString mode, const DtEmitterSystemEntry &entry)
 
virtual const DtList * radarModeList (const DtEmitterSystemEntry &entry)
 
virtual void setVerifyTrackJamTargetCallback (makVrf::DtVerifyTrackJamTargetCallback cb, void *usr)
 
virtual unsigned char systemId () const
 
virtual unsigned char emitterSystemID () const
 
makVrf::DtEmitterSystemStateComponentcomponent ()
 
const
makVrf::DtEmitterSystemStateComponent
component () const
 

Protected Types

typedef std::map< DtUUID,
boost::signals2::connection > 
ObjectRemovedConnections
 

Protected Member Functions

virtual bool initEmitterSystem ()
 
virtual void addTrackJamTarget (const DtUUID &globalId, const bool &isJamTarget)
 
virtual void removeTrackJamTarget (const DtUUID &globalId, const bool &isJamTarget)
 
virtual void clearTrackJamTargets (const bool &clearTracking, const bool &clearJamming)
 
virtual void slot_simObjectRemoved (const DtSimObject *)
 

Protected Attributes

DtLocalObjectmyHostEntity
 
makVrf::DtEmitterSystemStateComponentmyEmitterSystemComponent
 
bool myUseHighDensityTracking
 
bool myUseHighDensityJamming
 
DtString myRadarMode
 
makVrf::DtVerifyTrackJamTargetCallback myVerifyTrackJamTargetCallback
 
void * myVerifyTrackJamTargetCallbackUserData
 
DtString myEmitterName
 
ObjectRemovedConnections myObjectRemovedConnections
 

Private Member Functions

 DtVrfEmitterSystem (const DtVrfEmitterSystem &orig)
 
DtVrfEmitterSystemoperator= (const DtVrfEmitterSystem &orig)
 
 DtVrfEmitterSystem ()
 

Member Typedef Documentation

typedef std::map<DtUUID, boost::signals2::connection> DtVrfEmitterSystem::ObjectRemovedConnections
protected

Constructor & Destructor Documentation

DtVrfEmitterSystem::DtVrfEmitterSystem ( const DtVrfEmitterSystem orig)
private

Not implemented.

DtVrfEmitterSystem::DtVrfEmitterSystem ( )
private

Not implemented.

DtVrfEmitterSystem::DtVrfEmitterSystem ( DtLocalObject hostEntity)
virtual DtVrfEmitterSystem::~DtVrfEmitterSystem ( )
virtual

Member Function Documentation

DtVrfEmitterSystem& DtVrfEmitterSystem::operator= ( const DtVrfEmitterSystem orig)
private

Not implemented.

bool DtVrfEmitterSystem::init ( )

Calls createPublisher.

virtual void DtVrfEmitterSystem::setOn ( bool  onOff)
virtual

When true, EM Emissions PDUs are published as normal. Otherwise, the emitter system is still published, but without any beams. Any configured beams are stored when the system is off, and restored when the system is turned on again.

virtual bool DtVrfEmitterSystem::on ( ) const
virtual
virtual void DtVrfEmitterSystem::setDataFromEmitterSystemEntry ( const DtEmitterSystemEntry entry)
virtual

sets all emitter system attributes based on the data in the supplied DtEmitterSytemEntry.

virtual void DtVrfEmitterSystem::setSystemName ( DtEmitterSysName  nameEnum)
virtual

Accessors and mutators for properties of the beam and emitter system.

virtual DtEmitterSysName DtVrfEmitterSystem::systemName ( ) const
virtual
virtual void DtVrfEmitterSystem::setSystemFunction ( DtEmissionFunc  functionEnum)
virtual
virtual DtEmissionFunc DtVrfEmitterSystem::systemFunction ( ) const
virtual
virtual void DtVrfEmitterSystem::setMountLocation ( const DtVector location)
virtual
virtual DtVector DtVrfEmitterSystem::mountLocation ( ) const
virtual
virtual void DtVrfEmitterSystem::setUseHighDensityTracking ( bool  useHdMode)
virtual

Note that setting High-Density mode to true will implicitly remove all specific track targets.

virtual bool DtVrfEmitterSystem::useHighDensityTracking ( ) const
virtual
virtual void DtVrfEmitterSystem::setUseHighDensityJamming ( bool  useHdMode)
virtual

Note that setting High-Density mode to true will implicitly remove all specific jam targets.

virtual bool DtVrfEmitterSystem::useHighDensityJamming ( ) const
virtual
virtual void DtVrfEmitterSystem::addTrackTarget ( const DtUUID globalId)
virtual

All beams in the system which are tracking beams will have this entity added to their track/jam lists.

virtual void DtVrfEmitterSystem::removeTrackTarget ( const DtUUID globalId)
virtual

All beams in the system which are tracking beams will have this entity removed from their track/jam lists.

virtual void DtVrfEmitterSystem::addJamTarget ( const DtUUID globalId)
virtual

All beams in the system which are jamming beams will have this entity added to their track/jam lists.

virtual void DtVrfEmitterSystem::removeJamTarget ( const DtUUID globalId)
virtual

All beams in the system which are jamming beams will have this entity removed from their track/jam lists.

virtual void DtVrfEmitterSystem::clearTrackTargets ( )
virtual

Tracking beams will have their track target list emptied.

virtual void DtVrfEmitterSystem::clearJamTargets ( )
virtual

Jamming beams will have their jam target list emptied.

virtual void DtVrfEmitterSystem::clearTrackJamTargets ( )
virtual

All beams will have their track/jam target lists emptied.

virtual makVrf::DtEmitterSystemBeamStateData* DtVrfEmitterSystem::addBeam ( )
virtual

Adds a new beam if the ID does not already exist and returns a pointer to the beam repository.

virtual void DtVrfEmitterSystem::removeBeam ( unsigned  char)
virtual

Removes a beam from this system.

virtual void DtVrfEmitterSystem::removeAllBeams ( )
virtual

Removes all beams from the system.

virtual makVrf::DtEmitterSystemBeamStateData* DtVrfEmitterSystem::beam ( DtU8  id = 0)
virtual

Returns a pointer to the beam repository of this beam, of NULL if there is no beam of this id in the system.

virtual int DtVrfEmitterSystem::numBeams ( ) const
virtual

Returns total number of beams in this system.

std::vector<makVrf::DtEmitterSystemBeamStateData>& DtVrfEmitterSystem::beamList ( )

Returns list to the beam repositories.

const std::vector<makVrf::DtEmitterSystemBeamStateData>& DtVrfEmitterSystem::beamList ( ) const
virtual DtString DtVrfEmitterSystem::radarMode ( ) const
virtual
virtual void DtVrfEmitterSystem::setEmitterName ( const DtString )
virtual

The name of this emitter (descriptive)

virtual const DtString& DtVrfEmitterSystem::emitterName ( ) const
virtual
virtual void DtVrfEmitterSystem::setRadarMode ( DtString  mode,
const DtEmitterSystemEntry entry 
)
virtual

Sets the radar mode and also calls setDataFromEmitterSystemEntry() to initialize This method implicitly empties the current track/jam target list.

virtual const DtList* DtVrfEmitterSystem::radarModeList ( const DtEmitterSystemEntry entry)
virtual
virtual void DtVrfEmitterSystem::setVerifyTrackJamTargetCallback ( makVrf::DtVerifyTrackJamTargetCallback  cb,
void *  usr 
)
virtual

Set a callback function which will be called before adding track/jam targets into each beam. If the function returns false, the target is not added, otherwise it is. If null, targets will always be added.

virtual unsigned char DtVrfEmitterSystem::systemId ( ) const
virtual
virtual unsigned char DtVrfEmitterSystem::emitterSystemID ( ) const
virtual
makVrf::DtEmitterSystemStateComponent* DtVrfEmitterSystem::component ( )
inline
const makVrf::DtEmitterSystemStateComponent* DtVrfEmitterSystem::component ( ) const
inline
virtual bool DtVrfEmitterSystem::initEmitterSystem ( )
protectedvirtual

Initializes the emitter system SR.

virtual void DtVrfEmitterSystem::addTrackJamTarget ( const DtUUID globalId,
const bool isJamTarget 
)
protectedvirtual

Common code used by the addTrackTarget and addJamTarget.

virtual void DtVrfEmitterSystem::removeTrackJamTarget ( const DtUUID globalId,
const bool isJamTarget 
)
protectedvirtual

Common code used by the removeTrackTarget and removeJamTarget.

virtual void DtVrfEmitterSystem::clearTrackJamTargets ( const bool clearTracking,
const bool clearJamming 
)
protectedvirtual
virtual void DtVrfEmitterSystem::slot_simObjectRemoved ( const DtSimObject )
protectedvirtual

Member Data Documentation

DtLocalObject* DtVrfEmitterSystem::myHostEntity
protected
makVrf::DtEmitterSystemStateComponent* DtVrfEmitterSystem::myEmitterSystemComponent
protected
bool DtVrfEmitterSystem::myUseHighDensityTracking
protected
bool DtVrfEmitterSystem::myUseHighDensityJamming
protected
DtString DtVrfEmitterSystem::myRadarMode
protected
makVrf::DtVerifyTrackJamTargetCallback DtVrfEmitterSystem::myVerifyTrackJamTargetCallback
protected
void* DtVrfEmitterSystem::myVerifyTrackJamTargetCallbackUserData
protected
DtString DtVrfEmitterSystem::myEmitterName
protected
ObjectRemovedConnections DtVrfEmitterSystem::myObjectRemovedConnections
protected

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

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)