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 
48  virtual void setTurnRadius(double radius);
49  virtual double turnRadius() const;
50 
52  virtual void fireMunition( const DtGlobalObjectDesignator& tg );
53  virtual void fireMunition();
54  virtual void detonateMunition();
55  virtual void munitionTick();
56 
58  virtual void processDetonation( DtDetonationInteraction* inter );
59  virtual int checkDetonation( DtDetonationInteraction* inter );
60  virtual void reactToDamage();
61  virtual bool isDestroyed();
62  virtual DtTime timeDestroyed();
63 
65  virtual void toggleEmissions();
66  virtual void enableEmissions();
67  virtual void disableEmissions();
68  virtual void emissionsTick( double dt );
69 
70 public:
71 
72  static void setLethalDetonationRange( double range );
73  static void setMunitionFlightTime( DtTime time );
74 
75 protected:
76 
77  virtual void moveArtParts( DtTime dt );
78 
79  static void emitterSystemUpdateCallback(DtReflectedEmitterSystem* obj, void* usr );
80  static void emitterSystemAdditionCallback(DtReflectedEmitterSystem* obj, void* usr );
81  static void emitterSystemRemovalCallback(DtReflectedEmitterSystem* obj, void* usr );
82  static bool emitterSystemDiscoveryCondition(DtReflectedObject* refObj, void* usr);
83 
88 
89 protected:
90 
91  static void theDetonationCb( DtDetonationInteraction*, void* );
92 
93 protected:
94 
103 
104  float mySpeed;
106  float myTurnRate;
108  float myRoll;
110 
116 
117  float myTurretAz;
119  float myGunElev;
121 
126 
129 
130 protected:
131 
134 
135 };
DtVector32 myAccel
in topographic (N, E, down) coordinates
Definition: f18/vehicleSim.h:114
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:118
DtTime myDetonateTime
Definition: f18/vehicleSim.h:123
DtEmitterSystemPublisher * mySysPub
Definition: f18/vehicleSim.h:97
DtEntityStateRepository * myESR
Definition: f18/vehicleSim.h:98
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:112
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:104
bool myAutoRoll
Definition: f18/vehicleSim.h:109
virtual void moveArtParts()
bool myHaveArtParts
Definition: f18/vehicleSim.h:127
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:99
DtEmitterBeamRepository * myBeam
Definition: f18/vehicleSim.h:101
DtTaitBryan myEuler
Definition: f18/vehicleSim.h:111
virtual void setTurnRadius(double radius)
virtual bool isDestroyed()
bool myEmissionsEnabled
Definition: f18/vehicleSim.h:128
static void emitterSystemRemovalCallback(DtReflectedEmitterSystem *obj, void *usr)
float myTurnRate
Definition: f18/vehicleSim.h:106
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:117
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:37
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:122
bool myIsDestroyed
Definition: f18/vehicleSim.h:125
virtual void reactToDamage()
static void theDetonationCb(DtDetonationInteraction *, void *)
DtReflectedEntityList * myRel
Definition: f18/vehicleSim.h:100
Definition: vlVector.h:162
class DtEmitterBeamRepository:
Definition: emitterBeamRepository.h:40
DtVector32 myRotRate
in topographic (N, E, down) coordinates
Definition: f18/vehicleSim.h:115
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:132
float myTurnRadius
Definition: f18/vehicleSim.h:105
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:95
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:102
DtVector32 myVel
in topographic (N, E, down) coordinates
Definition: f18/vehicleSim.h:113
float myGunElev
Definition: f18/vehicleSim.h:119
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 double turnRadius() const
virtual void munitionTick()
virtual int checkDetonation()
virtual void detonateMunition()
float myRoll
Definition: f18/vehicleSim.h:108
float myGunElevRate
Definition: f18/vehicleSim.h:120
static DtTime theMunitionFlightTime
Definition: f18/vehicleSim.h:133
float myScalarAccel
Definition: f18/vehicleSim.h:107
DtDeadReckonTypes
Definition: disEnums.h:993
virtual void fireMunition()
This file provides protocol independence for Detonation Interactions.
DtTime myTimeDestroyed
Definition: f18/vehicleSim.h:124
static void setLethalDetonationRange(double range)
DtEntityPublisher * myEntityPub
Definition: f18/vehicleSim.h:96
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 Mon Apr 25 03:39:01 EDT 2022 from SVN revision 242502
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)