VR-Link API Documentation for HLA 1.3
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes
DtEmitterSystemRepository Class Reference

Instances of DtEmitterSystemRepository are used to store state data for emitter systems in both HLA and DIS environments. More...

+ Inheritance diagram for DtEmitterSystemRepository:
+ Collaboration diagram for DtEmitterSystemRepository:

List of all members.

Public Types

typedef DtEmitterBeamRepository *(* DtBeamStateRepCreator )()
 Function prototype for functions that create Beam State Repositories.

Public Member Functions

 DtEmitterSystemRepository ()
 default constructor
virtual ~DtEmitterSystemRepository ()
 destructor
 DtEmitterSystemRepository (const DtEmitterSystemRepository &orig)
 copy constructor
DtEmitterSystemRepositoryoperator= (const DtEmitterSystemRepository &orig)
 assignment operator
virtual DtStateRepositoryclone (bool copy=false) const
 Return a copy/empty object of the same type as this.
virtual void setEmitterFunction (DtEmissionFunc function)
 Set/Get the emitter function.
virtual DtEmissionFunc emitterFunction () const
virtual void setEmitterName (DtEmitterSysName name)
 Set/Get the emitter name.
virtual DtEmitterSysName emitterName () const
virtual void setEmitterNumber (DtU8 number)
 Set/Get the emitter number.
virtual DtU8 emitterNumber () const
virtual void setEventId (const DtEventId &id)
 Set/Get Event Id - not used until RPR 0.7.
virtual const DtEventIdeventId () const
virtual void printData () const
 Print data to the DtInfo stream.
virtual void printDataToStream (std::ostream &stream) const
 Print data to the specified stream.
virtual DtEmitterBeamRepositorybeamSRById (DtU8 beamId, DtEmitterSysRetCode *retcode=NULL)
 Return a pointer to the first BeamSR with specified beamID.
virtual DtEmitterBeamRepositoryaddBeam (DtU8 beamId=0, DtBeamType type=DtRegularBeam, DtEmitterSysRetCode *retcode=NULL)
 Add/remove a new emitter beam within this system.
virtual DtEmitterSysRetCode removeBeam (DtU8 beamId)
 removes an emitter beam, if there are duplicate beams it will remove the first beam with the given beamID.
virtual DtEmitterSysRetCode removeBeam (const DtGlobalObjectDesignator &id)
virtual int numBeams () const
 Returns number of beams.
virtual const DtListbeamList () const
 Returns DtList of DtEmitterBeamStateRepositories.
virtual DtListbeamList ()
bool isMember (DtEmitterBeamRepository *bsr) const
 Returns true if the give BSR is in this ESR's list of BSRs.

Static Public Member Functions

static DtEmitterSystemRepositorycreate ()
static DtBeamStateRepCreator setStateRepCreator (DtBeamStateRepCreator creator)
 Give us a function to be used for creating Beam SRs.

Protected Member Functions

virtual void purgeBeamList ()

Protected Attributes

DtEventId myEventId
DtEmissionFunc myEmitterFunction
DtEmitterSysName myEmitterName
DtU8 myEmitterNumber
DtList myBeamList
 List of beams in this system.

Static Protected Attributes

static DtBeamStateRepCreator theBeamStateRepCreator

Detailed Description

Instances of DtEmitterSystemRepository are used to store state data for emitter systems in both HLA and DIS environments.


Member Typedef Documentation

Function prototype for functions that create Beam State Repositories.


Constructor & Destructor Documentation

default constructor

destructor

copy constructor


Member Function Documentation

virtual DtEmitterBeamRepository* DtEmitterSystemRepository::addBeam ( DtU8  beamId = 0,
DtBeamType  type = DtRegularBeam,
DtEmitterSysRetCode retcode = NULL 
) [virtual]

Add/remove a new emitter beam within this system.

If you add a beam with duplicate ID, retcode will be set to DtDuplicateBeam, and beamSRById will return the first beamSR with the given ID.

virtual const DtList* DtEmitterSystemRepository::beamList ( ) const [virtual]

Returns DtList of DtEmitterBeamStateRepositories.

virtual DtEmitterBeamRepository* DtEmitterSystemRepository::beamSRById ( DtU8  beamId,
DtEmitterSysRetCode retcode = NULL 
) [virtual]

Return a pointer to the first BeamSR with specified beamID.

virtual DtStateRepository* DtEmitterSystemRepository::clone ( bool  copy = false) const [virtual]

Return a copy/empty object of the same type as this.

Reimplemented from DtEmbeddedSystemRepository.

Reimplemented from DtEmbeddedSystemRepository.

virtual DtU8 DtEmitterSystemRepository::emitterNumber ( ) const [virtual]
virtual const DtEventId& DtEmitterSystemRepository::eventId ( ) const [virtual]

Returns true if the give BSR is in this ESR's list of BSRs.

virtual int DtEmitterSystemRepository::numBeams ( ) const [virtual]

Returns number of beams.

DtEmitterSystemRepository& DtEmitterSystemRepository::operator= ( const DtEmitterSystemRepository orig)

assignment operator

virtual void DtEmitterSystemRepository::printData ( ) const [virtual]

Print data to the DtInfo stream.

Reimplemented from DtEmbeddedSystemRepository.

virtual void DtEmitterSystemRepository::printDataToStream ( std::ostream &  stream) const [virtual]

Print data to the specified stream.

Reimplemented from DtEmbeddedSystemRepository.

virtual void DtEmitterSystemRepository::purgeBeamList ( ) [protected, virtual]

removes an emitter beam, if there are duplicate beams it will remove the first beam with the given beamID.

This can cause crashes in HLA as this may not be the HLA object which was actually removed. It is safer in HLA to call removeBeam which takes a GlobalId

virtual void DtEmitterSystemRepository::setEmitterFunction ( DtEmissionFunc  function) [virtual]

Set/Get the emitter function.

Set/Get the emitter name.

virtual void DtEmitterSystemRepository::setEmitterNumber ( DtU8  number) [virtual]

Set/Get the emitter number.

virtual void DtEmitterSystemRepository::setEventId ( const DtEventId id) [virtual]

Set/Get Event Id - not used until RPR 0.7.

Give us a function to be used for creating Beam SRs.


Member Data Documentation

List of beams in this system.


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

Document ID: Generated on Mon May 14 08:06:18 EDT 2012 from SVN revision 114750
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)