VR-Link API Documentation for DIS
 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 std::vector<DtStandardVariableRecord*>& records);
114  virtual const std::vector<DtStandardVariableRecord*> attributeRecords(unsigned int recordType = 0) const;
115  virtual void getAttributeRecords(std::vector<DtStandardVariableRecord*>& vec, unsigned int recordType = 0) const;
116  virtual void addAttributeRecord( DtStandardVariableRecord* record );
117  virtual void clearAttributeRecords();
118 #endif
119 
120 public:
121 
123 
125  static DtBeamStateRepCreator setStateRepCreator(DtBeamStateRepCreator creator);
126 
127 
128 protected:
129  virtual void purgeBeamList();
130 
131 protected:
136 
139 
140 protected:
141 
142  static DtBeamStateRepCreator theBeamStateRepCreator;
143 };
144 
145 #endif //DtEmitterSystemRepository_H_
146 

Document ID: Generated on Thu Feb 22 04:26:36 EST 2018 from SVN revision 186468
Copyright © 2005-2016 VT MÄK. All Rights Reserved (www.mak.com)