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
examples
f18
f18/vehicleSim.h
Go to the documentation of this file.
1
/****************************************************************************
2
* Copyright (c) 2014 VT MAK
3
* All rights reserved.
4
****************************************************************************/
5
9
10
#pragma once
11
12
#include <
vl/exerciseConn.h
>
13
#include <
vl/reflectedEntityList.h
>
14
#include <
vl/entityPublisher.h
>
15
#include <
vl/emitterSystemPublisher.h
>
16
#include <
vl/topoView.h
>
17
#include <
vl/detonationInteraction.h
>
18
#include <
vl/fireInteraction.h
>
19
20
class
DtEmitterBeamRepository
;
21
24
class
DtVehicleSim
25
{
26
public
:
27
30
DtVehicleSim
(
double
refLat,
double
refLon,
31
DtExerciseConn
* conn,
DtReflectedEntityList
* rel,
32
const
DtEntityIdentifier
&
id
,
const
DtEntityType
& type,
33
const
char
* name,
const
char
* markings,
34
const
DtDeadReckonTypes
alg,
bool
haveArtParts );
35
37
virtual
~DtVehicleSim
();
38
40
virtual
void
init
(
DtConstVector
initPos,
double
initSpeed,
41
double
initHeading,
double
initTRadius,
42
double
initPitch,
bool
autoRoll,
double
initRoll );
43
45
virtual
void
simTick
(
DtTime
dt );
46
48
virtual
void
fireMunition
(
const
DtGlobalObjectDesignator
& tg );
49
virtual
void
fireMunition
();
50
virtual
void
detonateMunition
();
51
virtual
void
munitionTick
();
52
54
virtual
void
processDetonation
(
DtDetonationInteraction
* inter );
55
virtual
int
checkDetonation
(
DtDetonationInteraction
* inter );
56
virtual
void
reactToDamage
();
57
virtual
bool
isDestroyed
();
58
virtual
DtTime
timeDestroyed
();
59
61
virtual
void
toggleEmissions
();
62
virtual
void
enableEmissions
();
63
virtual
void
disableEmissions
();
64
virtual
void
emissionsTick
(
double
dt );
65
66
public
:
67
68
static
void
setLethalDetonationRange
(
double
range );
69
static
void
setMunitionFlightTime
(
DtTime
time );
70
71
protected
:
72
73
virtual
void
moveArtParts
(
DtTime
dt );
74
75
protected
:
76
77
static
void
theDetonationCb
(
DtDetonationInteraction
*,
void
* );
78
79
protected
:
80
81
DtExerciseConn
*
myExConn
;
82
DtEntityPublisher
*
myEntityPub
;
83
DtEmitterSystemPublisher
*
mySysPub
;
84
DtEntityStateRepository
*
myESR
;
85
DtTopoView
*
myTopoView
;
86
DtReflectedEntityList
*
myRel
;
87
DtEmitterBeamRepository
*
myBeam
;
88
89
double
mySpeed
;
90
double
myTurnRadius
;
91
double
myTurnRate
;
92
double
myScalarAccel
;
93
double
myBeamTime
;
94
95
DtTaitBryan
myEuler
;
96
DtVector
myPos
;
97
DtVector
myVel
;
98
DtVector
myAccel
;
99
DtVector
myRotRate
;
100
101
float
myTurretAz
;
102
float
myTurretAzRate
;
103
float
myGunElev
;
104
float
myGunElevRate
;
105
106
DtFireInteraction
*
myFire
;
107
DtTime
myDetonateTime
;
108
DtTime
myTimeDestroyed
;
109
bool
myIsDestroyed
;
110
111
bool
myHaveArtParts
;
112
bool
myEmissionsEnabled
;
113
114
protected
:
115
116
static
double
theLethalDetonationRange
;
117
static
DtTime
theMunitionFlightTime
;
118
119
};
Document ID: Generated on Fri May 15 06:36:13 EDT 2015 from SVN revision 153263
Copyright © 2005-2014 VT MÄK. All Rights Reserved (
www.mak.com
)