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 
112 
113  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 

Document ID: Generated on Mon Jun 22 21:18:40 EDT 2020 from SVN revision 213785
Copyright © 2005-2018 MAK Technologies. All Rights Reserved (www.mak.com)