VR-Forces 5.0.1 Developer's Guide
 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  const 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  protected:
101  virtual void updateAgent(DtRotorWashDistributorAgent* rwAgent);
102 
104  virtual void updateWind();
105 
106  private:
108  DtRotorWashSet();
112  DtRotorWashSet &operator=(const DtRotorWashSet &);
113 
114  protected:
115  // Use the rotorwash ID to get rotorwash data
116  typedef std::map<DtUniqueID, DtRotorWashState> RotorWashIDtoRotorWashStateMap;
117 
119 
120  // Contains the DtRotorWashDistributorAgent + rotorwash info
122 
123  // Only one per helicopter (always?)
125 
126  // Only initialize wind once
127  bool myHasWind;
128 
131 
132  // Which helicopter are we are part of?
134  // What is our wind id (to talk to DtEnvironment, DtLocalWindObjectManager
136  };
137 }
DtRotorWashProcess * myRotorWashProcess
Definition: DtRotorWashSet.h:124
DtUniqueID myHelicopterId
Definition: DtRotorWashSet.h:133
DtRotorWashProcess maintains a model of the rotary wing entity&#39;s rotor wash, such as speed; dead reck...
Definition: DtRotorWashProcess.h:47
Holds the set of rotorwash effects for a helicopter. Creates a.
Definition: DtRotorWashSet.h:31
DtUniqueID myLocalWindId
Definition: DtRotorWashSet.h:135
bool myHasWind
Definition: DtRotorWashSet.h:127
bool myDefaultDiameterAllowed
Definition: DtRotorWashSet.h:130
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
To hold information about the current state of a rotorwash.
std::map< DtUniqueID, DtRotorWashState > RotorWashIDtoRotorWashStateMap
Definition: DtRotorWashSet.h:116
Per rotorwash data used in DtRotorWashSet.
Definition: DtRotorWashState.h:24
Contains makVrv::DtUniqueID type.
DtDe & myDe
Definition: DtRotorWashSet.h:118
RotorWashIDtoRotorWashStateMap myRotorWashIDToRotorWashState
Definition: DtRotorWashSet.h:121
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
bool myDefaultWindSpeedAllowed
Definition: DtRotorWashSet.h:129
Contains DLL export macros.

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)