VR-Forces 4.8 Class Documentation
 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 
14 #include "map"
15 #include <matrix/vlVector.h>
16 
17 class DtVrfObject;
19 class DtFormationState;
20 class DtDcm;
21 
30 {
31 public:
32 
34  {
35  DtUndefinedPosition = -1,
38  DtAheadOfPosition
39  };
40 
42  typedef std::map<const DtVrfObject*, DtPositionStatus> DtAggregatePositionStatusMap;
43 
45 
47 
49 
50  virtual ~DtMaintainFormationMonitor();
51 
52  virtual void tick();
53 
57  virtual void setCatchupFactor(double catchUpFactor);
58  virtual double catchupFactor() const;
59 
64  virtual void setSlowDownFactor(double slowDownFactor);
65  virtual double slowDownFactor() const;
66 
73  virtual void setInPositionTolerance(double tolerance);
74  virtual double inPositionTolerance() const;
75 
77  virtual bool positionStatusHasChanged(const DtVrfObject* subordinate,
78  DtPositionStatus status);
79 
81  virtual DtPositionStatus getPositionStatus(const DtVrfObject* subordinate);
82 
86  virtual void setPositionStatus(const DtVrfObject* entity,
88 
90  virtual void printPositionStatus();
91 
92 protected:
93 
94  virtual DtPositionStatus positionStatus(const DtVector& geocentricOrigin,
95  const DtDcm& geocentricOrientation,
96  const DtVector& geocentricTestPosition,
97  const DtVector& idealBodyCoordinatesPosition,
98  double inPositionTolerance);
99 
100  virtual void sendSpeedControl(const DtVrfObject* entity, DtPositionStatus status);
101 
102  virtual void sendSetSpeedRequest(const DtVrfObject& entity, double speed);
103 
104 protected:
105 
109 
113 
115 };
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
Definition: formationState.h:38
double myInPositionTolerance
Definition: maintainFormationMonitor.h:108
std::map< const DtVrfObject *, DtPositionStatus > DtAggregatePositionStatusMap
Map of subordinate to its position status in an aggregate.
Definition: maintainFormationMonitor.h:42
double mySlowDownFactor
Definition: maintainFormationMonitor.h:107
double myCatchupFactor
Definition: maintainFormationMonitor.h:106
Definition: maintainFormationMonitor.h:36
DtPositionStatus
Definition: maintainFormationMonitor.h:33
const DtVrfAggregateStateRepository * myAggregateStateRepository
Definition: maintainFormationMonitor.h:111
Definition: maintainFormationMonitor.h:37
const DtFormationState * myFormationState
Definition: maintainFormationMonitor.h:112
const DtVrfObject * myEntity
Definition: maintainFormationMonitor.h:110
DtAggregatePositionStatusMap myAggregatePositionStatusMap
Definition: maintainFormationMonitor.h:114
class DtMaintainFormationMonitor:
Definition: maintainFormationMonitor.h:29
Definition: vrfAggregateStateRepository.h:22

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)