VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
maintainFormationMonitor.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2004 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 
12 #pragma once
13 
15 #include "vrfobjcore/simObject.h"
16 #include <map>
17 #include <matrix/vlVector.h>
18 
20 class DtFormationState;
21 class DtDcm;
22 class DtLocalObject;
23 
31 {
32 public:
33 
35  {
36  DtUndefinedPosition = -1,
39  DtAheadOfPosition
40  };
41 
43  typedef std::map<const DtSimObject*, DtPositionStatus> DtAggregatePositionStatusMap;
44 
46 
48 
50 
51  virtual ~DtMaintainFormationMonitor();
52 
53  virtual void tick();
54 
58  virtual void setCatchupFactor(double catchUpFactor);
59  virtual double catchupFactor() const;
60 
65  virtual void setSlowDownFactor(double slowDownFactor);
66  virtual double slowDownFactor() const;
67 
74  virtual void setInPositionTolerance(double tolerance);
75  virtual double inPositionTolerance() const;
76 
78  virtual bool positionStatusHasChanged(const DtSimObject* subordinate,
79  DtPositionStatus status);
80 
82  virtual DtPositionStatus getPositionStatus(const DtSimObject* subordinate);
83 
87  virtual void setPositionStatus(const DtSimObject* entity,
89 
91  virtual void printPositionStatus();
92 
93 protected:
94 
95  virtual DtPositionStatus positionStatus(const DtVector& geocentricOrigin,
96  const DtDcm& geocentricOrientation,
97  const DtVector& geocentricTestPosition,
98  const DtVector& idealBodyCoordinatesPosition,
99  double inPositionTolerance);
100 
101  virtual void sendSpeedControl(const DtSimObject* entity, DtPositionStatus status);
102 
103  virtual void sendSetSpeedRequest(const DtSimObject& entity, double speed);
104 
105 protected:
106 
110 
114 
116 };
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
Definition: formationState.h:41
double myInPositionTolerance
Definition: maintainFormationMonitor.h:109
double mySlowDownFactor
Definition: maintainFormationMonitor.h:108
double myCatchupFactor
Definition: maintainFormationMonitor.h:107
Definition: maintainFormationMonitor.h:37
DtPositionStatus
Definition: maintainFormationMonitor.h:34
const DtVrfAggregateStateRepository * myAggregateStateRepository
Definition: maintainFormationMonitor.h:112
Definition: maintainFormationMonitor.h:38
const DtFormationState * myFormationState
Definition: maintainFormationMonitor.h:113
DtLocalObject * myEntity
Definition: maintainFormationMonitor.h:111
DtAggregatePositionStatusMap myAggregatePositionStatusMap
Definition: maintainFormationMonitor.h:115
Represents a single simulation object in the exercise. Object may be VRF simulation, or non-VRF simulated, and may be simulated by the local sim engine, or by a remote sim engine. Only public (external) state of the object is available. All data is read-only. All access to data of the object is thread safe within the simulation frame.
Definition: simObject.h:88
class DtMaintainFormationMonitor:
Definition: maintainFormationMonitor.h:30
Definition: vrfAggregateStateRepository.h:21
std::map< const DtSimObject *, DtPositionStatus > DtAggregatePositionStatusMap
Map of subordinate to its position status in an aggregate.
Definition: maintainFormationMonitor.h:43
A locally simulated VRF object. Holds all internal and external data for the object, and provides access to both the current frame and next frame state data for the object. All current frame data is read-only, and next-frame data can be written to. No thread safety guarantees are made on this object during the simulation frame and it should only be accessed by the thread that is simulating the object.
Definition: localObject.h:86

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)