VR-Forces 4.0.4 Class Documentation
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...

List of all members.

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 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 clearTrackTargets ()
 All beams will have their track/jam 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.
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.
void purgeOffBeamList ()
 removes and deletes all beamSRs from myOffBeamList.

Protected Attributes

DtEmitterSystemPublisher * myEmitterSysPublisher
DtVrfObjectmyHostEntity
bool myOn
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

Not implemented.

Not implemented.


Member Function Documentation

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

Not implemented.

virtual void DtVrfEmitterSystem::tick ( ) [virtual]

Tick the publisher.

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]

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::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::clearTrackTargets ( ) [virtual]

All beams will have their track/jam 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.

virtual const DtList* DtVrfEmitterSystem::radarModeList ( const DtEmitterSystemEntry entry) [virtual]
virtual bool DtVrfEmitterSystem::createPublisher ( ) [protected, virtual]

Creates a new publisher on the current exercise connection.

virtual bool DtVrfEmitterSystem::initEmitterSystem ( ) [protected, virtual]

Initializes the emitter system SR.

removes and deletes all beamSRs from myOffBeamList.

Non-virtual because it is called from the destructor.


Member Data Documentation

DtEmitterSystemPublisher* DtVrfEmitterSystem::myEmitterSysPublisher [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 Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)