VR-Link API Documentation for HLA 1.3
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/reflectedEmitterSystemList.h
>
15
#include <
vl/entityPublisher.h
>
16
#include <
vl/emitterSystemPublisher.h
>
17
#include <
vl/topoView.h
>
18
#include <
vl/detonationInteraction.h
>
19
#include <
vl/fireInteraction.h
>
20
21
class
DtEmitterBeamRepository
;
22
25
class
DtVehicleSim
26
{
27
public
:
28
31
DtVehicleSim
(
double
refLat,
double
refLon,
32
DtExerciseConn
* conn,
DtReflectedEntityList
* rel,
33
const
DtEntityIdentifier
&
id
,
const
DtEntityType
& type,
34
const
char
* name,
const
char
* markings,
35
const
DtDeadReckonTypes
alg,
bool
haveArtParts );
36
38
virtual
~DtVehicleSim
();
39
41
virtual
void
init
(
DtConstVector
initPos,
double
initSpeed,
42
double
initHeading,
double
initTRadius,
43
double
initPitch,
bool
autoRoll,
double
initRoll );
44
46
virtual
void
simTick
(
DtTime
dt );
47
49
virtual
void
fireMunition
(
const
DtGlobalObjectDesignator
& tg );
50
virtual
void
fireMunition
();
51
virtual
void
detonateMunition
();
52
virtual
void
munitionTick
();
53
55
virtual
void
processDetonation
(
DtDetonationInteraction
* inter );
56
virtual
int
checkDetonation
(
DtDetonationInteraction
* inter );
57
virtual
void
reactToDamage
();
58
virtual
bool
isDestroyed
();
59
virtual
DtTime
timeDestroyed
();
60
62
virtual
void
toggleEmissions
();
63
virtual
void
enableEmissions
();
64
virtual
void
disableEmissions
();
65
virtual
void
emissionsTick
(
double
dt );
66
67
public
:
68
69
static
void
setLethalDetonationRange
(
double
range );
70
static
void
setMunitionFlightTime
(
DtTime
time );
71
72
protected
:
73
74
virtual
void
moveArtParts
(
DtTime
dt );
75
76
static
void
emitterSystemUpdateCallback
(
DtReflectedEmitterSystem
* obj,
void
* usr );
77
static
void
emitterSystemAdditionCallback
(
DtReflectedEmitterSystem
* obj,
void
* usr );
78
static
void
emitterSystemRemovalCallback
(
DtReflectedEmitterSystem
* obj,
void
* usr );
79
static
bool
emitterSystemDiscoveryCondition
(
DtReflectedObject
* refObj,
void
* usr);
80
81
virtual
void
emitterSystemUpdateCallback
(
DtReflectedEmitterSystem
* obj);
82
virtual
void
emitterSystemAdditionCallback
(
DtReflectedEmitterSystem
* obj);
83
virtual
void
emitterSystemRemovalCallback
(
DtReflectedEmitterSystem
* obj);
84
virtual
bool
emitterSystemDiscoveryCondition
(
DtReflectedEmitterSystem
* refObj);
85
86
protected
:
87
88
static
void
theDetonationCb
(
DtDetonationInteraction
*,
void
* );
89
90
protected
:
91
92
DtExerciseConn
*
myExConn
;
93
DtEntityPublisher
*
myEntityPub
;
94
DtEmitterSystemPublisher
*
mySysPub
;
95
DtEntityStateRepository
*
myESR
;
96
DtTopoView
*
myTopoView
;
97
DtReflectedEntityList
*
myRel
;
98
DtEmitterBeamRepository
*
myBeam
;
99
DtReflectedEmitterSystemList
*
myRefEmitList
;
100
101
float
mySpeed
;
102
float
myTurnRadius
;
103
float
myTurnRate
;
104
float
myScalarAccel
;
105
106
DtTaitBryan
myEuler
;
107
DtVector
myPos
;
108
DtVector32
myVel
;
109
DtVector32
myAccel
;
110
DtVector32
myRotRate
;
111
112
float
myTurretAz
;
113
float
myTurretAzRate
;
114
float
myGunElev
;
115
float
myGunElevRate
;
116
117
DtFireInteraction
*
myFire
;
118
DtTime
myDetonateTime
;
119
DtTime
myTimeDestroyed
;
120
bool
myIsDestroyed
;
121
122
bool
myHaveArtParts
;
123
bool
myEmissionsEnabled
;
124
125
protected
:
126
127
static
double
theLethalDetonationRange
;
128
static
DtTime
theMunitionFlightTime
;
129
130
};
Document ID: Generated on Fri Dec 2 02:42:08 EST 2016 from SVN revision 171416
Copyright © 2005-2016 VT MÄK. All Rights Reserved (
www.mak.com
)