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-2025 MAK Technologies, Inc
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 
110  virtual bool isDirty() const;
111  virtual void clearIsDirtyFlag();
112 
113 
114 #ifdef DtDIS
115  virtual void setAttributeRecords(const DtStandardVariableRecordPtrVector& records);
118  virtual const DtStandardVariableRecordPtrVector& attributeRecords() const;
119  virtual const DtStandardVariableRecordPtrVector& attributeRecords(unsigned int recordType) const;
120  virtual DtStandardVariableRecordPtrVector& getAttributeRecords(unsigned int recordType,
122  virtual void addAttributeRecord( DtStandardVariableRecord* record );
123  virtual void clearAttributeRecords();
124 #endif
125 
126 public:
127 
129 
131  static DtBeamStateRepCreator setStateRepCreator(DtBeamStateRepCreator creator);
132 
133 
134 protected:
135  virtual void purgeBeamList();
136 
137 protected:
142 
143  // To keep track of any updates being made
144  bool myIsDirty;
145 
148 
149 #ifdef DtDIS
150  mutable DtStandardVariableRecordPtrVector myReturnedRecords;
151 #endif
152 
153 protected:
154 
155  static DtBeamStateRepCreator theBeamStateRepCreator;
156 };
157 
158 #endif //DtEmitterSystemRepository_H_
159 
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:31
DtEmissionFunc myEmitterFunction
Definition: emitterSystemRepository.h:139
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:147
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.
bool myIsDirty
Definition: emitterSystemRepository.h:144
unsigned char DtU8
An eight bit unsigned integer value.
Definition: vlMachineTypes.h:137
Definition: emitterSystemRepository.h:22
DtU8 myEmitterNumber
Definition: emitterSystemRepository.h:141
class DtEmitterBeamRepository:
Definition: emitterBeamRepository.h:44
Represents Events in the RPR FOM.
Definition: eventId.h:52
static DtBeamStateRepCreator theBeamStateRepCreator
Definition: emitterSystemRepository.h:155
DtEventId myEventId
Definition: emitterSystemRepository.h:138
std::vector< DtStandardVariableRecord * > DtStandardVariableRecordPtrVector
Definition: standardVariableRecord.h:83
DtStateRepository is an abstract base class for maintaining state for an object.
Definition: stateRepository.h:50
DtEmissionFunc
Definition: disEnums.h:616
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:23
Instances of DtString are used to represent strings.
Definition: vlString.h:36
DtEmitterSysName
Definition: disEnums.h:611
virtual void printDataToStream(std::ostream &stream) const
Print state data to the specified stream.
Definition: emitterSystemRepository.h:21
Definition: emitterBeamRepository.h:33
DtEmitterSysName myEmitterName
Definition: emitterSystemRepository.h:140

Document ID: Generated on Thu Oct 16 00:12:25 EDT 2025 from SVN revision 280738
Copyright © 1992-2025 MAK Technologies. All Rights Reserved (www.mak.com)