VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions | 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. More...

Public Member Functions

 DtVrfEmitterSystem (DtVrfObject *hostEntity)
virtual ~DtVrfEmitterSystem ()
virtual void tick ()
 Tick the publisher.
bool init ()
 Calls createPublisher.
virtual void setOn (bool onOff)
 When true, EM Emissions PDUs are published as normal.
virtual bool on () const
virtual void setDataFromEmitterSystemEntry (const DtEmitterSystemEntry &entry)
 sets all emitter system attributes based on the data in the supplied DtEmitterSytemEntry.
virtual void setSystemId (DtU8 id)
 Sets/gets the system ID of the emitter system.
virtual DtU8 systemId () const
virtual void setSystemName (DtEmitterSysName nameEnum)
 Accessors and mutators for properties of the beam and emitter system.
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)
 Note that setting High-Density mode to true will implicitly remove all specific track targets.
virtual bool useHighDensityTracking () const
virtual void setUseHighDensityJamming (bool useHdMode)
 Note that setting High-Density mode to true will implicitly remove all specific jam targets.
virtual bool useHighDensityJamming () const
virtual void addTrackTarget (const DtGlobalObjectDesignator &globalId)
 All beams in the system which are tracking beams will have this entity added to their track/jam lists.
virtual void removeTrackTarget (const DtGlobalObjectDesignator &globalId)
 All beams in the system which are tracking beams will have this entity removed from their track/jam lists.
virtual void addJamTarget (const DtGlobalObjectDesignator &globalId)
 All beams in the system which are jamming beams will have this entity added to their track/jam lists.
virtual void removeJamTarget (const DtGlobalObjectDesignator &globalId)
 All beams in the system which are jamming beams will have this entity removed from their track/jam lists.
virtual void clearTrackTargets ()
 Tracking beams will have their track target list emptied.
virtual void clearJamTargets ()
 Jamming beams will have their jam target list emptied.
virtual void clearTrackJamTargets ()
 All beams will have their track/jam target lists emptied.
virtual DtEmitterBeamRepositoryaddBeam (DtU8 id)
 Adds a new beam if the ID does not already exist and returns a pointer to the beam repository.
virtual void removeBeam (DtU8 id)
 Removes a beam from this system.
virtual void removeAllBeams ()
 Removes all beams from the system.
virtual DtEmitterBeamRepositorybeam (DtU8 id=0)
 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 numBeams () const
 Returns total number of beams in this system.
virtual DtList * beamList ()
 Returns list to the beam repositories.
virtual DtString radarMode () const
virtual void setRadarMode (DtString mode, const DtEmitterSystemEntry &entry)
 Sets the radar mode and also calls setDataFromEmitterSystemEntry() to initialize This method implicitly empties the current track/jam target list.
virtual const DtList * radarModeList (const DtEmitterSystemEntry &entry)

Protected Member Functions

virtual bool createPublisher ()
 Creates a new publisher on the current exercise connection.
virtual bool initEmitterSystem ()
 Initializes the emitter system SR.
virtual void addTrackJamTarget (const DtGlobalObjectDesignator &globalId, const bool &isJamTarget)
 Common code used by the addTrackTarget and addJamTarget.
virtual void removeTrackJamTarget (const DtGlobalObjectDesignator &globalId, const bool &isJamTarget)
 Common code used by the removeTrackTarget and removeJamTarget.
virtual void clearTrackJamTargets (const bool &clearTracking, const bool &clearJamming)
 Common code used by clearTrackTargets, clearJamTargets, and clearTrackJamTargets.
void purgeOffBeamList ()
 removes and deletes all beamSRs from myOffBeamList.

Protected Attributes

DtEmitterSystemPublisher * myEmitterSysPublisher
DtVrfObjectmyHostEntity
bool myOn
bool myUseHighDensityTracking
bool myUseHighDensityJamming
DtString myRadarMode
DtList myOffBeamList
 When the system is off, beamSRs are kept on this list.

Private Member Functions

 DtVrfEmitterSystem (const DtVrfEmitterSystem &orig)
 Not implemented.
DtVrfEmitterSystemoperator= (const DtVrfEmitterSystem &orig)
 Not implemented.
 DtVrfEmitterSystem ()
 Not implemented.

Detailed Description

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.

The emitter system can be initialized from a DtEmitterSystemEntry RW class. tick() must be called periodically to tick the VRL publisher.

Constructor & Destructor Documentation

DtVrfEmitterSystem::DtVrfEmitterSystem ( const DtVrfEmitterSystem orig)
private

Not implemented.

DtVrfEmitterSystem::DtVrfEmitterSystem ( )
private

Not implemented.

DtVrfEmitterSystem::DtVrfEmitterSystem ( DtVrfObject hostEntity)
virtual DtVrfEmitterSystem::~DtVrfEmitterSystem ( )
virtual

Member Function Documentation

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

Not implemented.

virtual void DtVrfEmitterSystem::tick ( )
virtual

Tick the publisher.

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::setSystemId ( DtU8  id)
virtual

Sets/gets the system ID of the emitter system.

Each emitter system on a given entity should have a different ID.

virtual DtU8 DtVrfEmitterSystem::systemId ( ) const
virtual
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 DtGlobalObjectDesignator &  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 DtGlobalObjectDesignator &  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 DtGlobalObjectDesignator &  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 DtGlobalObjectDesignator &  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 DtEmitterBeamRepository* DtVrfEmitterSystem::addBeam ( DtU8  id)
virtual

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

virtual void DtVrfEmitterSystem::removeBeam ( DtU8  id)
virtual

Removes a beam from this system.

virtual void DtVrfEmitterSystem::removeAllBeams ( )
virtual

Removes all beams from the system.

virtual DtEmitterBeamRepository* 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.

virtual DtList* DtVrfEmitterSystem::beamList ( )
virtual

Returns list to the beam repositories.

virtual DtString DtVrfEmitterSystem::radarMode ( ) 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 bool DtVrfEmitterSystem::createPublisher ( )
protectedvirtual

Creates a new publisher on the current exercise connection.

virtual bool DtVrfEmitterSystem::initEmitterSystem ( )
protectedvirtual

Initializes the emitter system SR.

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

Common code used by the addTrackTarget and addJamTarget.

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

Common code used by the removeTrackTarget and removeJamTarget.

virtual void DtVrfEmitterSystem::clearTrackJamTargets ( const bool clearTracking,
const bool clearJamming 
)
protectedvirtual
void DtVrfEmitterSystem::purgeOffBeamList ( )
protected

removes and deletes all beamSRs from myOffBeamList.

Non-virtual because it is called from the destructor.

Member Data Documentation

DtEmitterSystemPublisher* DtVrfEmitterSystem::myEmitterSysPublisher
protected
DtVrfObject* DtVrfEmitterSystem::myHostEntity
protected
bool DtVrfEmitterSystem::myOn
protected
bool DtVrfEmitterSystem::myUseHighDensityTracking
protected
bool DtVrfEmitterSystem::myUseHighDensityJamming
protected
DtString DtVrfEmitterSystem::myRadarMode
protected
DtList DtVrfEmitterSystem::myOffBeamList
protected

When the system is off, beamSRs are kept on this list.

When the system is turned on, the beamSRs are copied to the emitterSystemSR for publishing.


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

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)