VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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>
15 #include <vl/entityPublisher.h>
17 #include <vl/topoView.h>
19 #include <vl/fireInteraction.h>
20 
22 
26 {
27 public:
28 
31  DtVehicleSim( double refLat, double refLon,
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 
85 
86 protected:
87 
88  static void theDetonationCb( DtDetonationInteraction*, void* );
89 
90 protected:
91 
100 
101  float mySpeed;
103  float myTurnRate;
105 
111 
112  float myTurretAz;
114  float myGunElev;
116 
121 
124 
125 protected:
126 
129 
130 };
DtVector32 myAccel
in topographic (N, E, down) coordinates
Definition: f18/vehicleSim.h:109
static void emitterSystemAdditionCallback(DtReflectedEmitterSystem *obj, void *usr)
virtual void emissionsTick(double dt)
Instances of DtDetonationInteraction are used to communicate information associated with the impact o...
Definition: detonationInteractionHLA.h:37
Instances of DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnHLA.h:58
virtual void processDetonation(DtDetonationInteraction *inter)
Reaction to detonations.
float myTurretAzRate
Definition: f18/vehicleSim.h:113
DtTime myDetonateTime
Definition: f18/vehicleSim.h:118
DtEmitterSystemPublisher * mySysPub
Definition: f18/vehicleSim.h:94
DtEntityStateRepository * myESR
Definition: f18/vehicleSim.h:95
Part of the F18 example.
Definition: f18/vehicleSim.h:25
DtVector myPos
topographic Euler angles
Definition: f18/vehicleSim.h:107
virtual void simTick(DtTime dt)
Call once per frame to simulate, and make necessary VR-Link calls.
Instances of DtTopoView are used to create a Topographic coordinate view of the geocentric coordinate...
Definition: topoView.h:20
static bool emitterSystemDiscoveryCondition(DtReflectedObject *refObj, void *usr)
This file provides protocol independence for Remote Entity Lists.
static void emitterSystemUpdateCallback(DtReflectedEmitterSystem *obj, void *usr)
float mySpeed
Definition: f18/vehicleSim.h:101
virtual void moveArtParts()
bool myHaveArtParts
Definition: f18/vehicleSim.h:122
virtual ~DtVehicleSim()
Destructor.
DtTaitBryans are used to represent orientation of an object, using a set of three Euler angles...
Definition: vlTaitBryan.h:43
This file provides protocol independence for local emitters.
DtTopoView * myTopoView
Definition: f18/vehicleSim.h:96
DtEmitterBeamRepository * myBeam
Definition: f18/vehicleSim.h:98
DtTaitBryan myEuler
Definition: f18/vehicleSim.h:106
virtual bool isDestroyed()
bool myEmissionsEnabled
Definition: f18/vehicleSim.h:123
static void emitterSystemRemovalCallback(DtReflectedEmitterSystem *obj, void *usr)
float myTurnRate
Definition: f18/vehicleSim.h:103
Instances of DtReflectedEmitterSystemList manage the list of of remote EmitterSystems in the exercise...
Definition: reflectedEmitterSystemListHLA.h:21
virtual void disableEmissions()
float myTurretAz
in body coordinates
Definition: f18/vehicleSim.h:112
Instances of DtEntityPublisher are used for local or source simulations of entities (i...
Definition: entityPublisherHLA.h:28
virtual void toggleEmissions()
Emissions (radar)
Instances of DtEntityStateRepository are used to maintain attributes and state of entity objects in a...
Definition: entityStateRepository.h:36
Definition: vlVector.h:224
virtual void enableEmissions()
This file provides protocol independence for Fire Interactions.
class DtReflectedObject:
Definition: reflectedObjectHLA.h:36
DtFireInteraction * myFire
Definition: f18/vehicleSim.h:117
Instances of DtFireInteraction are used to represent the firing of a weapon.
Definition: fireInteractionHLA.h:35
bool myIsDestroyed
Definition: f18/vehicleSim.h:120
virtual void reactToDamage()
static void theDetonationCb(DtDetonationInteraction *, void *)
DtReflectedEntityList * myRel
Definition: f18/vehicleSim.h:97
Definition: vlVector.h:162
class DtEmitterBeamRepository:
Definition: emitterBeamRepository.h:40
DtVector32 myRotRate
in topographic (N, E, down) coordinates
Definition: f18/vehicleSim.h:110
virtual void init(DtConstVector initPos, double initSpeed, double initHeading, double initTRadius, double initPitch, bool autoRoll, double initRoll)
Set initial values for simulation parameters.
Instances of DtReflectedEntityList are used to manage remote entities from the network.
Definition: reflectedEntityListHLA.h:38
static double theLethalDetonationRange
Definition: f18/vehicleSim.h:127
float myTurnRadius
Definition: f18/vehicleSim.h:102
Instances of DtEntityIdentifier are used as a unique ID for entities in DIS.
Definition: entityIdentifier.h:31
This file provides protocol to independence DtExerciseConn.
DtExerciseConn * myExConn
Definition: f18/vehicleSim.h:92
This class contains the declaration of DtTopoView.
DtReflectedEmitterSystemList * myRefEmitList
Definition: f18/vehicleSim.h:99
DtVector32 myVel
in topographic (N, E, down) coordinates
Definition: f18/vehicleSim.h:108
float myGunElev
Definition: f18/vehicleSim.h:114
virtual DtTime timeDestroyed()
DtVehicleSim(double refLat, double refLon, DtExerciseConn *conn, DtReflectedEntityList *rel, const DtEntityIdentifier &id, const DtEntityType &type, const char *name, const char *markings, const DtDeadReckonTypes alg, bool haveArtParts)
Constructor.
Instances of DtEmitterSystemPublisher are used for local or source simulations of emitter systems...
Definition: emitterSystemPublisherHLA.h:22
static void setMunitionFlightTime(DtTime time)
virtual void munitionTick()
virtual int checkDetonation()
virtual void detonateMunition()
float myGunElevRate
Definition: f18/vehicleSim.h:115
static DtTime theMunitionFlightTime
Definition: f18/vehicleSim.h:128
float myScalarAccel
Definition: f18/vehicleSim.h:104
DtDeadReckonTypes
Definition: disEnums.h:987
virtual void fireMunition()
Instances of DtString are used to represent strings.
Definition: vlString.h:29
This file provides protocol independence for Detonation Interactions.
DtTime myTimeDestroyed
Definition: f18/vehicleSim.h:119
static void setLethalDetonationRange(double range)
DtEntityPublisher * myEntityPub
Definition: f18/vehicleSim.h:93
This file provides protocol independence for DtEntityPublisher.
DtEntityType is used to represent the type an entity object.
Definition: entityType.h:26
Instances of DtReflectedEmitterSystem represent EmitterSystem objects simulated by remote application...
Definition: reflectedEmitterSystemHLA.h:28
This file provides protocol independence for reflected emitter system lists.

Document ID: Generated on Tue Feb 2 21:02:17 EST 2021 from SVN revision 223668
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)