VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
parallel/vehicleSim.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 1992-2012 VT MAK
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
11 #include <vl/exerciseConn.h>
12 #include <vl/reflectedEntityList.h>
13 #include <vl/entityPublisher.h>
15 #include <vl/topoView.h>
17 #include <vl/fireInteraction.h>
18 #include <vl/publisherContainer.h>
19 
21 
24 class DtVehicleSim
25 {
26 public:
27 
30  DtVehicleSim( double refLat, double refLon,
32  const DtEntityIdentifier& id, const DtEntityType& type,
33  const char* name, const char* markings,
34  const DtDeadReckonTypes alg, bool haveArtParts,
35  DtObjectPublisherContainer &pubContainer,
36  DtTime timeSpacing);
37 
39  virtual ~DtVehicleSim();
40 
42  virtual void init( DtConstVector initPos, double initSpeed,
43  double initHeading, double initTRadius,
44  double initPitch, bool autoRoll, double initRoll, int num );
45 
47  virtual void simulate();
48 
50  virtual void fireMunition( const DtGlobalObjectDesignator& tg );
51  virtual void fireMunition();
52  virtual void detonateMunition();
53  virtual void munitionUpdate();
54 
56  virtual void reactToDetonation();
57  virtual int checkDetonation();
58  virtual void reactToDamage();
59  virtual bool isDestroyed();
60  virtual DtTime timeDestroyed();
61 
63  virtual void toggleEmissions();
64  virtual void enableEmissions();
65  virtual void disableEmissions();
66  virtual void emissionsUpdate();
67 
68 public:
69 
70  // Set the current detonation for reaction.
72 
73  static void setLethalDetonationRange( double range );
74  static void setMunitionFlightTime( DtTime time );
75 
76  // set the delta time for next simTick update
77  static void setSimDeltaTime(DtTime theDt) { myDt = theDt; }
78 
79 protected:
80 
81  // delta time for next simTick update
82  static DtTime myDt;
83 
84  // Current detonation, if any.
86 
87 protected:
88 
89  virtual void moveArtParts();
90 
91 protected:
92 
101 
102  float mySpeed;
103  float myTurnRadius;
104  float myTurnRate;
105  float myScalarAccel;
106  double myBeamTime;
107 
109  DtVector myPos;
110  DtVector32 myVel;
113 
114  float myTurretAz;
115  float myTurretAzRate;
116  float myGunElev;
117  float myGunElevRate;
118 
122  bool myIsDestroyed;
123 
124  bool myHaveArtParts;
125  bool myEmissionsEnabled;
126 
128 
129 protected:
130  static double theLethalDetonationRange;
132 };
133 
134 
DtVector32 myAccel
in topographic (N, E, down) coordinates
Definition: f18/vehicleSim.h:114
Instances of DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnDIS.h:61
virtual void simulate()
Call once per frame to simulate.
virtual void munitionUpdate()
float myTurretAzRate
Definition: f18/vehicleSim.h:118
DtTime myDetonateTime
Definition: f18/vehicleSim.h:123
DtEmitterSystemPublisher * mySysPub
Definition: f18/vehicleSim.h:97
virtual void emissionsUpdate()
DtEntityStateRepository * myESR
Definition: f18/vehicleSim.h:98
double myBeamTime
Definition: parallel/vehicleSim.h:106
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
DtTime myTimeSpacing
Definition: parallel/vehicleSim.h:127
Instances of DtTopoView are used to create a Topographic coordinate view of the geocentric coordinate...
Definition: topoView.h:20
This file provides protocol independence for Remote Entity Lists.
float mySpeed
Definition: f18/vehicleSim.h:104
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 bool isDestroyed()
bool myEmissionsEnabled
Definition: f18/vehicleSim.h:128
float myTurnRate
Definition: f18/vehicleSim.h:106
virtual void disableEmissions()
float myTurretAz
in body coordinates
Definition: f18/vehicleSim.h:117
static DtTime myDt
Definition: parallel/vehicleSim.h:82
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
static void setSimDeltaTime(DtTime theDt)
Definition: parallel/vehicleSim.h:77
virtual void enableEmissions()
This file provides protocol independence for Fire Interactions.
DtFireInteraction * myFire
Definition: f18/vehicleSim.h:122
bool myIsDestroyed
Definition: f18/vehicleSim.h:125
virtual void reactToDamage()
virtual void reactToDetonation()
Reaction to detonations.
DtReflectedEntityList * myRel
Definition: f18/vehicleSim.h:100
Definition: vlVector.h:162
class DtEmitterBeamRepository:
Definition: emitterBeamRepository.h:40
DtObjectPublisherContainer is an ObjectPublisher container which will execute a method on all contain...
Definition: publisherContainer.h:43
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.
DtObjectPublisherContainer & myPublishedObjects
Definition: parallel/vehicleSim.h:100
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
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 setDetonation(const DtDetonationInteraction *theDetonation)
static void setMunitionFlightTime(DtTime time)
static const DtDetonationInteraction * theDetonation
Definition: parallel/vehicleSim.h:85
virtual int checkDetonation()
virtual void detonateMunition()
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

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)