VR-Link API Documentation for DIS
 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 DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnDIS.h:61
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
DtDetonationPdu is used to represent the impact or detonation of a munition.
Definition: detonationPdu.h:42
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 this class provide a protocol independent interface to a list of reflected emitters in a...
Definition: reflectedEmitterSystemListDIS.h:28
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.e.
Definition: entityPublisherDIS.h:33
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.
Instances of DtReflectedObject are used to represent a simulation entity reflected across a network (...
Definition: reflectedObjectDIS.h:34
DtFireInteraction * myFire
Definition: f18/vehicleSim.h:117
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 this class provide a protocol independent interface to a list of reflected entities in a...
Definition: reflectedEntityListDIS.h:31
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.
Instances of DtFireInteraction are used to represent the firing of a weapon.
Definition: firePdu.h:34
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 to take care of the details associated with publishing...
Definition: emitterSystemPublisherDIS.h:26
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()
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 object simulated by remote applications...
Definition: reflectedEmitterSystemDIS.h:33
This file provides protocol independence for reflected emitter system lists.

Document ID: Generated on Tue Aug 10 00:12:31 EDT 2021 from SVN revision 232765
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)