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
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 Tue Mar 1 02:56:17 EST 2016 from SVN revision 162687
Copyright © 2005-2014 VT MÄK. All Rights Reserved (
www.mak.com
)