VR-Link API Documentation for HLA 1.3
 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 DtEmitterSysRetCode removeBeam (const DtGlobalObjectDesignator &id)
 
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...
 
- 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 DtString &id)
 Get/Set global identifier, or name. More...
 
virtual const DtStringglobalId () const
 
virtual void setLocalId (const DtObjectId &id)
 Get/Set local identifier, or handle. More...
 
virtual const DtObjectIdlocalId () const
 
virtual bool publishesAttribute (const RTI::AttributeHandle &val) const
 Returns true if the attribute is published. More...
 
virtual void setAttributeByHandle (const RTI::AttributeHandle &attrHdl, const char *attrValue, unsigned size)
 Set the attribute with the given handle. More...
 
virtual const char * getAttributeByHandle (const RTI::AttributeHandle &attrHdl, unsigned &size) const
 Get a pointer to attribute value for the attribute with the given handle. More...
 
virtual void setAttributeByName (const DtString &attrName, const char *attrValue, unsigned size, DtHlaObject *hlaObj)
 Set the attribute with the given name. Note that in order to do this you must provide a DtHlaObject. More...
 
virtual const char * getAttributeByName (const DtString &attrName, unsigned &size, DtHlaObject *hlaObj) const
 Get a pointer to attribute value for the attribute with the given name. More...
 
virtual const char * getAttributeByHandleIfUpdated (const RTI::AttributeHandle &attrHdl, unsigned &size) const
 Get a pointer to attribute value for the attribute with the given handle, but only if it's been updated since the last time we read it. 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...
 
- Protected Attributes inherited from DtEmbeddedSystemRepository
DtEntityIdentifier myEntityId
 
DtGlobalObjectDesignator myHostId
 
DtVector32 myRelativePosition
 

Static Protected Attributes

static DtBeamStateRepCreator theBeamStateRepCreator
 

Additional Inherited Members

- Public Attributes inherited from DtStateRepository
DtString myGlobalId
 
DtObjectId myLocalId
 
std::map< RTI::AttributeHandle,
DtGenericAttributeInfo * > 
myAttributesByHandle
 Attributes by handle. More...
 
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 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 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 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
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 DtEmitterSysRetCode DtEmitterSystemRepository::removeBeam ( const DtGlobalObjectDesignator id)
virtual
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
DtBeamStateRepCreator DtEmitterSystemRepository::theBeamStateRepCreator
staticprotected

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

Document ID: Generated on Wed Mar 27 02:04:30 EDT 2024 from SVN revision 264570
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)