VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
rotaryWingActuatorComponent.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 #pragma once
12 
14 #include <vlpi/disEnums.h>
15 #include <matrix/LibMatrix.h>
16 
17 class DtString;
18 class DtSimManager;
24 class DtPhysicalWorld;
25 class DtTerrainDatabase;
27 
38 {
39 
40 public:
41 
45  DtVrfObject* owner,
46  DtSimManager* simManager,
47  DtComponentDescriptor* desc = 0,
48  DtReaderWriterRegistry* parentRegistry = 0);
49 
54 
57  virtual bool init();
58 
61  virtual const char* type() const;
62 
64  virtual void tick();
65 
69  virtual void useFuel(double fuelUsed);
70  virtual double fuelLeft() const;
71 
73  virtual double calculateFuel() const;
74 
80  virtual void fallFromSky();
81 
85  static DtSimComponent * creator(const DtString& name,
86  DtVrfObject* owner,
87  DtSimManager* simManager,
88  DtComponentDescriptor* desc = 0,
89  DtReaderWriterRegistry* parentRegistry = 0);
90 
91 protected:
92 
94  virtual bool createPortGroups();
95 
97  virtual bool createPorts();
98 
104  virtual bool createPSR();
105 
107  virtual void clampFrameRate();
108 
110  virtual void setLanded(const DtVector& localIntersectionPoint);
111 
113  virtual bool checkFlyingWithoutFuel();
114 
116  virtual void setYawAcceleration();
117  virtual void calculateYawRate();
118 
120  virtual double calculateOneAxisOfOrientation(const int axis, const double angleInit, const double period, const double portValue, const double maxAccel, const double maxRate);
121 #if 0
122 
123  virtual void calculatePitchAcceleration();
124  virtual void calculatePitchRate();
125 
127  virtual void calculateRollAcceleration();
128  virtual void calculateRollRate();
129 #endif
130 
131 
132  virtual void checkAndDetachIfNecessary();
133 
136  virtual void calculateOrientation();
137 
139  virtual void calculateNormalizedBodyVelocity();
140 
142  virtual void calculateLiftAcceleration();
143 
152  virtual double altitudePowerFactor(const double altitude);
153 
156  virtual void calculateResultantAcceleration();
157 
159  virtual void integrate();
160 
162  virtual void updateRepository();
163 
165  virtual void updateDisplay();
166 
186  virtual void checkLandedOrCrashed();
187 
191 
199  virtual bool isCrashedIntoGround(const DtVector& localPosition,
200  DtVector& localIntersectionPoint) const;
201 
204  virtual void sendDetonation(const DtVector& geocentricLocation) const;
205 
211  virtual bool isSubsurface() const;
212 
221  virtual bool componentInitialized() const;
222 
225  virtual bool engineOperational() const;
226 
229  virtual void updateAppearance();
230 
231 private:
232 
235 
238 
241 
242 
243 protected:
244 
247 
250 
254 
261 
268 
275 
282 
284 
288  DtTaitBryan myOrientation;
298  DtReal mySpeed;
304 
308 
312 };
313 

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)