VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
emitterSystemRepository.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 
7 
10 
11 #ifndef DtEmitterSystemRepository_H_
12 #define DtEmitterSystemRepository_H_
13 
15 #include "emitterBeamRepository.h"
16 #include <vlutil/vlList.h>
17 
20 {
24 };
25 
30 {
31 public:
32 
34  typedef DtEmitterBeamRepository* (*DtBeamStateRepCreator)();
35 
36 public:
37 
40 
42  virtual ~DtEmitterSystemRepository();
43 
46 
49 
51  virtual DtStateRepository* clone(bool copy = false) const;
52 
53 
55  virtual void setEmitterFunction(DtEmissionFunc function);
56  virtual DtEmissionFunc emitterFunction() const;
57 
59  virtual void setEmitterName(DtEmitterSysName name);
60  virtual DtEmitterSysName emitterName() const;
61 
63  virtual void setEmitterNumber(DtU8 number);
64  virtual DtU8 emitterNumber() const;
65 
67  virtual void setEventId(const DtEventId& id);
68  virtual const DtEventId& eventId() const;
69 
71  virtual void printData() const;
72 
74  virtual void printDataToStream(std::ostream& stream) const;
75 
77  virtual DtEmitterBeamRepository* beamSRById(
78  DtU8 beamId,
79  DtEmitterSysRetCode* retcode = NULL);
80 
85  virtual DtEmitterBeamRepository* addBeam(
86  DtU8 beamId = 0, DtBeamType type = DtRegularBeam,
87  DtEmitterSysRetCode *retcode = NULL);
88 
94  virtual DtEmitterSysRetCode removeBeam(DtU8 beamId);
95 #if DtHLA
96  virtual DtEmitterSysRetCode removeBeam(const DtGlobalObjectDesignator& id);
97 #endif
98 
100  virtual int numBeams() const;
101 
103  virtual const DtList* beamList() const;
104  virtual DtList* beamList();
105 
107  bool isMember(DtEmitterBeamRepository* bsr) const;
108 
109 
110 #ifdef DtDIS
111  virtual void setAttributeRecords(const DtStandardVariableRecordPtrVector& records);
114  virtual const DtStandardVariableRecordPtrVector& attributeRecords() const;
115  virtual const DtStandardVariableRecordPtrVector& attributeRecords(unsigned int recordType) const;
116  virtual DtStandardVariableRecordPtrVector& getAttributeRecords(unsigned int recordType,
118  virtual void addAttributeRecord( DtStandardVariableRecord* record );
119  virtual void clearAttributeRecords();
120 #endif
121 
122 public:
123 
125 
127  static DtBeamStateRepCreator setStateRepCreator(DtBeamStateRepCreator creator);
128 
129 
130 protected:
131  virtual void purgeBeamList();
132 
133 protected:
138 
141 
142 #ifdef DtDIS
143  mutable DtStandardVariableRecordPtrVector myReturnedRecords;
144 #endif
145 
146 protected:
147 
148  static DtBeamStateRepCreator theBeamStateRepCreator;
149 };
150 
151 #endif //DtEmitterSystemRepository_H_
152 
virtual void printData() const
Print data to the DtInfo stream.
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
This file contains the declaration of DtList and DtListItem.
DtBeamType
Definition: emitterBeamRepository.h:27
DtEmissionFunc myEmitterFunction
Definition: emitterSystemRepository.h:135
static DtEmbeddedSystemRepository * create()
Instances of DtEmbeddedSystemRepository are used to store the state of embedded systems.
Definition: embeddedSystemRepository.h:21
DtList myBeamList
List of beams in this system.
Definition: emitterSystemRepository.h:140
DtEmitterSysRetCode
Error codes for looking up individual beams.
Definition: emitterSystemRepository.h:19
Definition: emitterSystemRepository.h:23
DtEmbeddedSystemRepository & operator=(const DtEmbeddedSystemRepository &orig)
assignment operator
DtList is deprecated, please use std::list&lt;T&gt;.
Definition: vlList.h:71
Contains the DtEmbeddedSystemRepository class declaration.
unsigned char DtU8
An eight bit unsigned integer value.
Definition: vlMachineTypes.h:137
Definition: emitterSystemRepository.h:22
DtU8 myEmitterNumber
Definition: emitterSystemRepository.h:137
class DtEmitterBeamRepository:
Definition: emitterBeamRepository.h:40
Represents Events in the RPR FOM.
Definition: eventId.h:52
static DtBeamStateRepCreator theBeamStateRepCreator
Definition: emitterSystemRepository.h:148
DtEventId myEventId
Definition: emitterSystemRepository.h:134
std::vector< DtStandardVariableRecord * > DtStandardVariableRecordPtrVector
Definition: standardVariableRecord.h:82
DtStateRepository is an abstract base class for maintaining state for an object.
Definition: stateRepository.h:50
DtEmissionFunc
Definition: disEnums.h:596
Instances of DtEmitterSystemRepository are used to store state data for emitter systems in both HLA a...
Definition: emitterSystemRepository.h:29
virtual DtStateRepository * clone(bool copy) const
Return a copy/empty object of the same type as this.
Definition: standardVariableRecord.h:22
Instances of DtString are used to represent strings.
Definition: vlString.h:29
DtEmitterSysName
Definition: disEnums.h:591
virtual void printDataToStream(std::ostream &stream) const
Print state data to the specified stream.
Definition: emitterSystemRepository.h:21
Definition: emitterBeamRepository.h:29
DtEmitterSysName myEmitterName
Definition: emitterSystemRepository.h:136

Document ID: Generated on Tue Feb 2 21:02:17 EST 2021 from SVN revision 223668
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)