VR-Link API Documentation for DIS
Home
Namespaces
Classes
Files
Examples
Libraries
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
include
vl
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
14
#include "
embeddedSystemRepository.h
"
15
#include "
emitterBeamRepository.h
"
16
#include <
vlutil/vlList.h
>
17
19
enum
DtEmitterSysRetCode
20
{
21
DtEmitterSuccess
,
22
DtBadBeamId
,
23
DtDuplicateBeamId
24
};
25
29
class
DT_DLL_VL
DtEmitterSystemRepository
:
public
DtEmbeddedSystemRepository
30
{
31
public
:
32
34
typedef
DtEmitterBeamRepository
* (*DtBeamStateRepCreator)();
35
36
public
:
37
39
DtEmitterSystemRepository
();
40
42
virtual
~
DtEmitterSystemRepository
();
43
45
DtEmitterSystemRepository
(
const
DtEmitterSystemRepository
& orig);
46
48
DtEmitterSystemRepository
&
operator=
(
const
DtEmitterSystemRepository
& orig);
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,
117
DtStandardVariableRecordPtrVector
& vec)
const
;
118
virtual
void
addAttributeRecord
(
DtStandardVariableRecord
* record );
119
virtual
void
clearAttributeRecords
();
120
#endif
121
122
public
:
123
124
static
DtEmitterSystemRepository
*
create
();
125
127
static
DtBeamStateRepCreator setStateRepCreator(DtBeamStateRepCreator creator);
128
129
130
protected
:
131
virtual
void
purgeBeamList();
132
133
protected
:
134
DtEventId
myEventId
;
135
DtEmissionFunc
myEmitterFunction
;
136
DtEmitterSysName
myEmitterName
;
137
DtU8
myEmitterNumber
;
138
140
DtList
myBeamList
;
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
)