VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtRotorWashManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2022 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/DtTickable.h>
13 #include <vrvCore/DtUniqueID.h>
15 
16 namespace makVrv
17 {
18  class DtDe;
19  class DtRotorWashSet;
20 
33  {
34  public:
36  static DtRotorWashManager& instance(DtDe& de);
37 
39  virtual ~DtRotorWashManager();
40 
45  virtual void addRotorWash(DtUniqueID helicopterID, DtUniqueID rotorWashID,
46  const std::string& modelDef);
47 
49  virtual void removeRotorWash(DtUniqueID helicopterID, DtUniqueID rotorWashID);
50 
52  virtual bool hasRotorWash(DtUniqueID helicopterID, DtUniqueID rotorWashID);
53 
55  virtual DtRotorWashSet* getRotorWashSet(DtUniqueID helicopterID);
56 
58  virtual void start(DtUniqueID helicopterID, DtUniqueID rotorWashID);
59 
61  virtual void stop(DtUniqueID helicopterID, DtUniqueID rotorWashID);
62 
66  virtual void setRotorDiameter(DtUniqueID helicopterID,
67  DtUniqueID rotorWashID, double rotorDiameter);
68 
71  virtual void setDefaultRotorDiameter(DtUniqueID helicopterID,
72  DtUniqueID rotorWashID, double rotorDiameter);
73 
76  virtual void setRotorWindSpeed(DtUniqueID helicopterID,
77  DtUniqueID rotorWashID, double rotorWindSpeed);
78 
81  virtual void setDefaultRotorWindSpeed(DtUniqueID helicopterID,
82  DtUniqueID rotorWashID, double rotorWindSpeed);
83 
88  virtual void update( DtTime tNow );
89 
92  virtual DtTime lastUpdateTime() const;
93 
95  virtual int numHelicopters();
96 
98  virtual void helicopterIDs(std::vector<DtUniqueID>& heliIDs);
99 
103  virtual DtRotorWashSet* createRotorWashSet();
104 
105  protected:
106  // So the creator can see the protected constructor
108 
112 
113  private:
119  DtRotorWashManager &operator=(const DtRotorWashManager &);
120 
121  protected:
122 
123  typedef std::map<DtUniqueID, DtRotorWashSet* > HeliRotorWashMap;
124 
127 
135  };
136 
137 
141  {
142  public:
145 
147  virtual ~DtRotorWashManagerCreator();
148 
152  static DtRotorWashManagerCreator& instance(DtDe& de);
153 
155  virtual DtRotorWashManager* create(DtDe&);
156  };
157 }
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
std::map< DtUniqueID, DtRotorWashSet * > HeliRotorWashMap
Definition: DtRotorWashManager.h:123
HeliRotorWashMap myHeliToRWMap
Map unique helicopter to multiple model agents Maps like this: DtUniqueID heilID -&gt; DtRotorWashSet -&gt;...
Definition: DtRotorWashManager.h:134
An abstract base class for objects that require updates. This object automatically adds itself to a D...
Definition: DtTickable.h:26
Holds the set of rotorwash effects for a helicopter. Creates a.
Definition: DtRotorWashSet.h:31
Contains makVrv::DtVirtualBaseClass class.
Creator for DtRotorWashManager class.
Definition: DtRotorWashManager.h:140
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Manager for updating the rotorwashes. DtRotorWashManager is managed by.
Definition: DtRotorWashManager.h:32
Contains the declaration for makVrv::DtTickable.
Contains makVrv::DtUniqueID type.
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
DtDe & myDe
The display engine.
Definition: DtRotorWashManager.h:126

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)