VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | 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:

Public Types

typedef DtEmitterBeamRepository *(* DtBeamStateRepCreator )()
 Function prototype for functions that create Beam State Repositories. More...
 
- Public Types inherited from DtStateRepository
typedef std::map< DtString,
DtStateRepositoryExtension * > 
DtStateRepositoryExtensionMap
 

Public Member Functions

 DtEmitterSystemRepository ()
 default constructor More...
 
virtual ~DtEmitterSystemRepository ()
 destructor More...
 
 DtEmitterSystemRepository (const DtEmitterSystemRepository &orig)
 copy constructor More...
 
DtEmitterSystemRepositoryoperator= (const DtEmitterSystemRepository &orig)
 assignment operator More...
 
virtual DtStateRepositoryclone (bool copy=false) const
 Return a copy/empty object of the same type as this. More...
 
virtual void setEmitterFunction (DtEmissionFunc function)
 Set/Get the emitter function. More...
 
virtual DtEmissionFunc emitterFunction () const
 
virtual void setEmitterName (DtEmitterSysName name)
 Set/Get the emitter name. More...
 
virtual DtEmitterSysName emitterName () const
 
virtual void setEmitterNumber (DtU8 number)
 Set/Get the emitter number. More...
 
virtual DtU8 emitterNumber () const
 
virtual void setEventId (const DtEventId &id)
 Set/Get Event Id - not used until RPR 0.7. More...
 
virtual const DtEventIdeventId () const
 
virtual void printData () const
 Print data to the DtInfo stream. More...
 
virtual void printDataToStream (std::ostream &stream) const
 Print data to the specified stream. More...
 
virtual DtEmitterBeamRepositorybeamSRById (DtU8 beamId, DtEmitterSysRetCode *retcode=NULL)
 Return a pointer to the first BeamSR with specified beamID. More...
 
virtual DtEmitterBeamRepositoryaddBeam (DtU8 beamId=0, DtBeamType type=DtRegularBeam, DtEmitterSysRetCode *retcode=NULL)
 Add/remove a new emitter beam within this system. More...
 
virtual DtEmitterSysRetCode removeBeam (DtU8 beamId)
 removes an emitter beam, if there are duplicate beams it will remove the first beam with the given beamID. More...
 
virtual int numBeams () const
 Returns number of beams. More...
 
virtual const DtListbeamList () const
 Returns DtList of DtEmitterBeamStateRepositories. More...
 
virtual DtListbeamList ()
 
bool isMember (DtEmitterBeamRepository *bsr) const
 Returns true if the give BSR is in this ESR's list of BSRs. More...
 
virtual void setAttributeRecords (const DtStandardVariableRecordPtrVector &records)
 Get/Set records Note that these methods will actually add/subtract/query into every beam in this Emitter System. More...
 
virtual const
DtStandardVariableRecordPtrVector
attributeRecords () const
 Return the attribute records Any changes to the returned record(s) will modify the records in the recordSet. More...
 
virtual const
DtStandardVariableRecordPtrVector
attributeRecords (unsigned int recordType) const
 Return the attribute records of the given type (all records if type is 0) Any changes to the returned record(s) will modify the records in the recordSet. More...
 
virtual
DtStandardVariableRecordPtrVector
getAttributeRecords (unsigned int recordType, DtStandardVariableRecordPtrVector &vec) const
 Get the attribute records of the given type (all if type is 0) Any changes to the returned record(s) will modify the records in the recordSet. More...
 
virtual void addAttributeRecord (DtStandardVariableRecord *record)
 Add a clone of given record to the attribute record set. More...
 
virtual void clearAttributeRecords ()
 Clear all records. More...
 
- Public Member Functions inherited from DtEmbeddedSystemRepository
 DtEmbeddedSystemRepository ()
 default constructor More...
 
 DtEmbeddedSystemRepository (const DtEmbeddedSystemRepository &orig)
 copy constructor More...
 
virtual ~DtEmbeddedSystemRepository ()
 destructor More...
 
DtEmbeddedSystemRepositoryoperator= (const DtEmbeddedSystemRepository &orig)
 assignment operator More...
 
virtual void setEntityId (const DtEntityIdentifier &id)
 Set the entity identifier. More...
 
virtual const DtEntityIdentifierentityId () const
 Get the entity identifier. More...
 
virtual void setHostId (const DtGlobalObjectDesignator &id)
 Set the host identifier. More...
 
virtual const
DtGlobalObjectDesignator
hostId () const
 Get the host identifier. More...
 
virtual void setRelativePosition (const DtVector32 &position)
 Set the position of the object relative to the entity. More...
 
virtual const DtVector32relativePosition () const
 Get the position of the object relative to the entity. More...
 
- Public Member Functions inherited from DtStateRepository
 DtStateRepository ()
 default constructor More...
 
 DtStateRepository (const DtStateRepository &orig)
 copy constructor More...
 
virtual ~DtStateRepository ()
 destructor More...
 
DtStateRepositoryoperator= (const DtStateRepository &orig)
 assignment operator More...
 
virtual void setGlobalId (const DtGlobalObjectDesignator &id)
 Get/Set global identifier, or name. More...
 
virtual const
DtGlobalObjectDesignator
globalId () const
 
virtual unsigned int numberOfAttributeRecords () const
 
virtual void setAttributeRecords (const DtAttributeRecordSet &records)
 The following functions are related to the extendability part of DIS 7. More...
 
virtual const
DtAttributeRecordSet
attributeRecordSet () const
 Return the attribute record set. More...
 
virtual DtAttributeRecordSetattributeRecordSet ()
 Return the attribute record set. More...
 
virtual DtStandardVariableRecordattributeRecord (unsigned int recordType) const
 Return the (first) attribute record of the given type (first record if type is 0) Any changes to the returned record will modify the record in the recordSet. More...
 
virtual int removeAttributeRecord (unsigned int recordType, bool removeAll=true)
 Remove and discard the first record of the given record type (if there is one) or all them. More...
 
virtual
DtStandardVariableRecordPtrVector
getAttributeRecords (DtStandardVariableRecordPtrVector &vec) const
 Get the attribute records Any changes to the returned record(s) will modify the records in the recordSet. More...
 
virtual void addAttributeRecord (std::auto_ptr< DtStandardVariableRecord > record)
 Add the given record to the attribute record set. More...
 
virtual
DtStateRepositoryExtension
stateRepositoryExtension (DtString srExtName) const
 Returns pointer to a DtStateRepositoryExtension object with the given name Returns 0 if no extension with given name is found. More...
 
virtual std::vector< DtStringstateRepositoryExtensionNames () const
 Returns a set of the registered state repository extension names. More...
 
virtual void setStateRepositoryExtensions (std::map< DtString, DtStateRepositoryExtension * > extensions)
 Returns pointer to a DtStateRepositoryExtension object with the given name Returns 0 if no extension with given name is found. More...
 
virtual const std::map
< DtString,
DtStateRepositoryExtension * > 
stateRepositoryExtensions () const
 Returns pointer to a DtStateRepositoryExtension object with the given name Returns 0 if no extension with given name is found. More...
 

Static Public Member Functions

static DtEmitterSystemRepositorycreate ()
 
static DtBeamStateRepCreator setStateRepCreator (DtBeamStateRepCreator creator)
 Give us a function to be used for creating Beam SRs. More...
 
- Static Public Member Functions inherited from DtEmbeddedSystemRepository
static DtEmbeddedSystemRepositorycreate ()
 
- Static Public Member Functions inherited from DtStateRepository
static bool addStateRepositoryExtension (DtString srExtName, DtSrExtCreatorFnc fnc)
 The following functions are for extending state repositories through State Repository Extension classes. More...
 

Protected Member Functions

virtual void purgeBeamList ()
 

Protected Attributes

DtEventId myEventId
 
DtEmissionFunc myEmitterFunction
 
DtEmitterSysName myEmitterName
 
DtU8 myEmitterNumber
 
DtList myBeamList
 List of beams in this system. More...
 
DtStandardVariableRecordPtrVector myReturnedRecords
 
- Protected Attributes inherited from DtEmbeddedSystemRepository
DtEntityIdentifier myEntityId
 
DtVector32 myRelativePosition
 

Static Protected Attributes

static DtBeamStateRepCreator theBeamStateRepCreator
 

Additional Inherited Members

- Public Attributes inherited from DtStateRepository
DtGlobalObjectDesignator myGlobalId
 
DtAttributeRecordSet myAttributeRecords
 
DtStandardVariableRecordPtrVector myReturnedRecords
 
DtStateRepositoryExtensionMap myStateRepositoryExtensionMap
 
- Static Public Attributes inherited from DtStateRepository
static std::map< DtString,
DtSrExtCreatorFnc
theStateRepositoryExtensionCreatorMap
 

Detailed Description

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

Member Typedef Documentation

typedef DtEmitterBeamRepository*(* DtEmitterSystemRepository::DtBeamStateRepCreator)()

Function prototype for functions that create Beam State Repositories.

Constructor & Destructor Documentation

DtEmitterSystemRepository::DtEmitterSystemRepository ( )

default constructor

virtual DtEmitterSystemRepository::~DtEmitterSystemRepository ( )
virtual

destructor

DtEmitterSystemRepository::DtEmitterSystemRepository ( const DtEmitterSystemRepository orig)

copy constructor

Member Function Documentation

virtual void DtEmitterSystemRepository::addAttributeRecord ( DtStandardVariableRecord record)
virtual

Add a clone of given record to the attribute record set.

Reimplemented from DtStateRepository.

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 DtStandardVariableRecordPtrVector& DtEmitterSystemRepository::attributeRecords ( ) const
virtual

Return the attribute records Any changes to the returned record(s) will modify the records in the recordSet.

Reimplemented from DtStateRepository.

virtual const DtStandardVariableRecordPtrVector& DtEmitterSystemRepository::attributeRecords ( unsigned int  recordType) const
virtual

Return the attribute records of the given type (all records if type is 0) Any changes to the returned record(s) will modify the records in the recordSet.

Reimplemented from DtStateRepository.

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

Returns DtList of DtEmitterBeamStateRepositories.

virtual DtList* DtEmitterSystemRepository::beamList ( )
virtual
virtual DtEmitterBeamRepository* DtEmitterSystemRepository::beamSRById ( DtU8  beamId,
DtEmitterSysRetCode retcode = NULL 
)
virtual

Return a pointer to the first BeamSR with specified beamID.

virtual void DtEmitterSystemRepository::clearAttributeRecords ( )
virtual

Clear all records.

Reimplemented from DtStateRepository.

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

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

Reimplemented from DtEmbeddedSystemRepository.

static DtEmitterSystemRepository* DtEmitterSystemRepository::create ( )
static
virtual DtEmissionFunc DtEmitterSystemRepository::emitterFunction ( ) const
virtual
virtual DtEmitterSysName DtEmitterSystemRepository::emitterName ( ) const
virtual
virtual DtU8 DtEmitterSystemRepository::emitterNumber ( ) const
virtual
virtual const DtEventId& DtEmitterSystemRepository::eventId ( ) const
virtual
virtual DtStandardVariableRecordPtrVector& DtEmitterSystemRepository::getAttributeRecords ( unsigned int  recordType,
DtStandardVariableRecordPtrVector vec 
) const
virtual

Get the attribute records of the given type (all if type is 0) Any changes to the returned record(s) will modify the records in the recordSet.

Reimplemented from DtStateRepository.

bool DtEmitterSystemRepository::isMember ( DtEmitterBeamRepository bsr) const

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 ( )
protectedvirtual
virtual DtEmitterSysRetCode DtEmitterSystemRepository::removeBeam ( DtU8  beamId)
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::setAttributeRecords ( const DtStandardVariableRecordPtrVector records)
virtual

Get/Set records Note that these methods will actually add/subtract/query into every beam in this Emitter System.

Reimplemented from DtStateRepository.

virtual void DtEmitterSystemRepository::setEmitterFunction ( DtEmissionFunc  function)
virtual

Set/Get the emitter function.

virtual void DtEmitterSystemRepository::setEmitterName ( DtEmitterSysName  name)
virtual

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.

static DtBeamStateRepCreator DtEmitterSystemRepository::setStateRepCreator ( DtBeamStateRepCreator  creator)
static

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

Member Data Documentation

DtList DtEmitterSystemRepository::myBeamList
protected

List of beams in this system.

DtEmissionFunc DtEmitterSystemRepository::myEmitterFunction
protected
DtEmitterSysName DtEmitterSystemRepository::myEmitterName
protected
DtU8 DtEmitterSystemRepository::myEmitterNumber
protected
DtEventId DtEmitterSystemRepository::myEventId
protected
DtStandardVariableRecordPtrVector DtEmitterSystemRepository::myReturnedRecords
mutableprotected
DtBeamStateRepCreator DtEmitterSystemRepository::theBeamStateRepCreator
staticprotected

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

Document ID: Generated on Thu Sep 19 02:12:35 EDT 2024 from SVN revision 269601
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)