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
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
122
static
DtEmitterSystemRepository
*
create
();
123
125
static
DtBeamStateRepCreator setStateRepCreator(DtBeamStateRepCreator creator);
126
127
128
protected
:
129
virtual
void
purgeBeamList();
130
131
protected
:
132
DtEventId
myEventId
;
133
DtEmissionFunc
myEmitterFunction
;
134
DtEmitterSysName
myEmitterName
;
135
DtU8
myEmitterNumber
;
136
138
DtList
myBeamList
;
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
)