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 
97  virtual bool isValidAliveAndMobile(DtSimObjectReference simObjectRef);
98 
99  virtual DtPositionStatus positionStatus(const DtVector& geocentricOrigin,
100  const DtDcm& geocentricOrientation,
101  const DtVector& geocentricTestPosition,
102  const DtVector& idealBodyCoordinatesPosition,
103  double inPositionTolerance);
104 
105  virtual void sendSpeedControl(const DtSimObject* entity, DtPositionStatus status);
106 
107  virtual void sendSetSpeedRequest(const DtSimObject& entity, double speed);
108 
111  virtual DtVector worldPositionFor(DtSimObjectReference simObjectRef);
112 
115  virtual DtDcm worldOrientationMatrixFor(DtSimObjectReference simObjectRef);
116 
117 protected:
118 
122 
126 
128 };
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
Definition: formationState.h:40
double myInPositionTolerance
Definition: maintainFormationMonitor.h:121
double mySlowDownFactor
Definition: maintainFormationMonitor.h:120
double myCatchupFactor
Definition: maintainFormationMonitor.h:119
Definition: maintainFormationMonitor.h:37
DtPositionStatus
Definition: maintainFormationMonitor.h:34
const DtVrfAggregateStateRepository * myAggregateStateRepository
Definition: maintainFormationMonitor.h:124
Definition: maintainFormationMonitor.h:38
const DtFormationState * myFormationState
Definition: maintainFormationMonitor.h:125
DtLocalObject * myEntity
Definition: maintainFormationMonitor.h:123
DtAggregatePositionStatusMap myAggregatePositionStatusMap
Definition: maintainFormationMonitor.h:127
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:80
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.
Definition: localObject.h:98

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)