VR-Link API Documentation for DIS
Home
Namespaces
Classes
Files
Examples
Libraries
File List
File Members
include
vl
directedEnergyFirePublisher.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2013 VT MAK
3
** All rights reserved.
4
*******************************************************************************/
5
6
9
10
#pragma once
11
12
#if DtDIS
13
14
15
#include <
vl/objectPublisherDIS.h
>
16
#include <
vl/pdu.h
>
17
#include <
vl/directedEnergyFireRepository.h
>
18
#include <
vlutil/vlPrint.h
>
19
#include <
vl/directedEnergyFireDecoder.h
>
20
#include <
vl/directedEnergyFireEncoder.h
>
21
22
class
DT_DLL_VL
DtDirectedEnergyFirePublisher
:
public
DtObjectPublisher
23
{
24
public
:
25
27
typedef
DtDirectedEnergyFireRepository
* (*DtStateRepCreator)();
28
29
public
:
30
32
DtDirectedEnergyFirePublisher
(
33
DtDirectedEnergyFireRepository
*stateRepToUse,
34
DtExerciseConn
* conn);
35
37
DtDirectedEnergyFirePublisher
(
DtExerciseConn
* conn);
38
40
virtual
~
DtDirectedEnergyFirePublisher
();
41
42
public
:
46
virtual
void
tick
();
47
50
virtual
void
setPulsedBeamMode(
bool
pulseOnPulseOff);
51
54
virtual
inline
DtDirectedEnergyFireRepository
* directedEnergyFireStateRep();
55
57
virtual
inline
DtDirectedEnergyFireRepository
* defr();
58
61
virtual
inline
DtDirectedEnergyFireDecoder
*
decoder
() {
return
myDecoder; }
62
65
virtual
inline
DtDirectedEnergyFireEncoder
*
encoder
() {
return
myEncoder; }
66
68
virtual
const
DtEventId
& eventId()
const
;
69
72
virtual
inline
void
forceUpdate
();
73
75
virtual
const
DtObjectId
&
localId
()
const
;
77
virtual
const
DtObjectId
&
id
()
const
;
79
virtual
const
DtGlobalObjectDesignator
&
globalId
()
const
;
80
81
public
:
82
84
static
void
setStateRepCreator(DtStateRepCreator creator);
85
static
DtStateRepCreator stateRepCreator(
void
);
86
87
protected
:
88
90
void
init(
const
DtEventId
& =
DtEventId::nullId
());
91
92
virtual
void
startEngagement();
93
96
virtual
void
finishEngagement();
97
99
virtual
void
sendFirePdu();
100
102
virtual
void
sendDetonationPdu();
103
105
DtDirectedEnergyFirePublisher
(
const
DtDirectedEnergyFirePublisher
& );
106
108
DtDirectedEnergyFirePublisher
&
operator=
(
const
DtDirectedEnergyFirePublisher
& );
109
110
protected
:
111
DtDirectedEnergyFireDecoder
*
myDecoder
;
112
DtDirectedEnergyFireEncoder
*
myEncoder
;
113
bool
myPulseBeamMode
;
114
bool
myEngagementInProgress
;
115
bool
myHaveSentFire
;
116
protected
:
117
118
static
DtStateRepCreator
theStateRepCreator
;
119
};
120
121
inline
DtDirectedEnergyFireRepository
*
DtDirectedEnergyFirePublisher::directedEnergyFireStateRep
()
122
{
123
return
defr
();
124
}
125
126
inline
DtDirectedEnergyFireRepository
*
DtDirectedEnergyFirePublisher::defr
()
127
{
128
return
static_cast<
DtDirectedEnergyFireRepository
*
>
(
myStateRep
);
129
}
130
131
inline
void
DtDirectedEnergyFirePublisher::forceUpdate
()
132
{
133
myEncoder
->
setSendNeeded
();
134
}
135
136
#endif
Document ID: Generated on Wed Oct 23 22:25:48 EDT 2013 from SVN revision 132765
Copyright © 2005-2013 VT MÄK. All Rights Reserved (
www.mak.com
)