VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtRotorWashSet.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2020 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
14 #include <vrvCore/DtUniqueID.h>
15 #include <vlutil/vlTime.h>
16 
17 #include <map>
18 
19 namespace makVrv
20 {
21  class DtRotorWashProcess;
22 
32  {
33  public:
35  DtRotorWashSet(DtDe& de);
36 
38  virtual ~DtRotorWashSet();
39 
41  virtual void addRotorWash(DtUniqueID helicopterId, DtUniqueID rotorWashId,
42  std::string modelDef);
43 
45  virtual void removeRotorWash(DtUniqueID rotorWashId);
46 
48  virtual bool hasRotorWash(DtUniqueID rotorWashId);
49 
51  virtual void start(DtUniqueID rotorWashId);
52 
54  virtual void stop(DtUniqueID rotorWashId);
55 
58  virtual void setRotorDiameter(DtUniqueID rotorWashId, double rotorDiameter);
59 
62  virtual void setDefaultRotorDiameter(DtUniqueID rotorWashId, double rotorDiameter);
63 
65  virtual void setRotorWindSpeed(DtUniqueID rotorWashId, double rotorWindSpeed);
66 
69  virtual void setDefaultRotorWindSpeed(DtUniqueID rotorWashId, double rotorWindSpeed);
70 
74  virtual const DtRotorWashState* findActiveRotorWashState();
75 
78  virtual const DtRotorWashState* findRotorWashState(DtUniqueID rotorWashId);
79 
81  virtual void update(DtTime tNow);
82 
85  virtual int numRotorWashes();
86 
88  virtual void getRotorWashIDs(std::vector<DtUniqueID>& rotorWashIds);
89 
92  virtual DtUniqueID helicopterID();
93 
97  virtual DtUniqueID localWindID();
98 
99  private:
101  DtRotorWashSet();
105  DtRotorWashSet &operator=(const DtRotorWashSet &);
106 
107  protected:
108  // Use the rotorwash ID to get rotorwash data
109  typedef std::map<DtUniqueID, DtRotorWashState> RotorWashIDtoRotorWashStateMap;
110 
112 
113  // Contains the DtRotorWashDistributorAgent + rotorwash info
115 
116  // Only one per helicopter (always?)
118 
119  // Only initialize wind once
120  bool myHasWind;
121 
124 
125  // Which helicopter are we are part of?
127  // What is our wind id (to talk to DtEnvironment, DtLocalWindObjectManager
129  };
130 }
DtRotorWashProcess * myRotorWashProcess
Definition: DtRotorWashSet.h:117
DtUniqueID myHelicopterId
Definition: DtRotorWashSet.h:126
DtRotorWashProcess maintains a model of the rotary wing entity&#39;s rotor wash, such as speed; dead reck...
Definition: DtRotorWashProcess.h:31
Holds the set of rotorwash effects for a helicopter.
Definition: DtRotorWashSet.h:31
DtUniqueID myLocalWindId
Definition: DtRotorWashSet.h:128
bool myHasWind
Definition: DtRotorWashSet.h:120
bool myDefaultDiameterAllowed
Definition: DtRotorWashSet.h:123
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
To hold information about the current state of a rotorwash.
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
std::map< DtUniqueID, DtRotorWashState > RotorWashIDtoRotorWashStateMap
Definition: DtRotorWashSet.h:109
Per rotorwash data used in DtRotorWashSet.
Definition: DtRotorWashState.h:24
Contains makVrv::DtUniqueID type.
DtDe & myDe
Definition: DtRotorWashSet.h:111
RotorWashIDtoRotorWashStateMap myRotorWashIDToRotorWashState
Definition: DtRotorWashSet.h:114
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
bool myDefaultWindSpeedAllowed
Definition: DtRotorWashSet.h:122
Contains DLL export macros.

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)