VR-Forces 4.8 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;
28 
39 {
40 
41 public:
42 
46  DtVrfObject* owner,
47  DtSimManager* simManager,
48  DtComponentDescriptor* desc = 0,
49  DtReaderWriterRegistry* parentRegistry = 0);
50 
55 
58  virtual bool init();
59 
62  virtual const char* type() const;
63 
65  virtual void tick();
66 
70  virtual void useFuel(double fuelUsed);
71  virtual double fuelLeft() const;
72 
74  virtual double calculateFuel() const;
75 
81  virtual void fallFromSky();
82 
86  static DtSimComponent * creator(const DtString& name,
87  DtVrfObject* owner,
88  DtSimManager* simManager,
89  DtComponentDescriptor* desc = 0,
90  DtReaderWriterRegistry* parentRegistry = 0);
91 
92 protected:
93 
95  virtual bool createPortGroups();
96 
98  virtual bool createPorts();
99 
105  virtual bool createPSR();
106 
108  virtual void clampFrameRate();
109 
111  virtual void setLanded(const DtVector& localIntersectionPoint);
112 
114  virtual bool checkFlyingWithoutFuel();
115 
117  virtual void setYawAcceleration();
118  virtual void calculateYawRate();
119 
121  virtual double calculateOneAxisOfOrientation(const int axis, const double angleInit, const double period, const double portValue, const double maxAccel, const double maxRate);
122 #if 0
123  virtual void calculatePitchAcceleration();
125  virtual void calculatePitchRate();
126 
128  virtual void calculateRollAcceleration();
129  virtual void calculateRollRate();
130 #endif
131  virtual void checkAndDetachIfNecessary();
134 
137  virtual void calculateOrientation();
138 
140  virtual void calculateNormalizedBodyVelocity();
141 
143  virtual void calculateLiftAcceleration();
144 
153  virtual double altitudePowerFactor(const double altitude);
154 
157  virtual void calculateResultantAcceleration();
158 
160  virtual void integrate();
161 
163  virtual void updateRepository();
164 
178  virtual void updateAirspeedToRepository();
179 
181  virtual void updateDisplay();
182 
202  virtual void checkLandedOrCrashed();
203 
207 
215  virtual bool isCrashedIntoGround(const DtVector& localPosition,
216  DtVector& localIntersectionPoint) const;
217 
220  virtual void sendDetonation(const DtVector& geocentricLocation) const;
221 
227  virtual bool isSubsurface() const;
228 
237  virtual bool componentInitialized() const;
238 
241  virtual bool engineOperational() const;
242 
245  virtual void updateAppearance();
246 
250  virtual double heightAboveGroundSupport() const;
251 
252 private:
253 
256 
259 
262 
263 
264 protected:
265 
268 
271 
275 
282 
289 
296 
303 
305 
309  DtTaitBryan myOrientation;
319  DtReal mySpeed;
325 
329 
333 
336 
340 
341 };
342 
Contains class declarations for DtConstrainedDualAxisInputPort and DtConstrainedDualAxisOutputPort.
Definition: constrainedDualAxisAnalogIOPort.h:27
DtRotaryWingEntityStateRepository * myRotaryWingEntityState
Definition: rotaryWingActuatorComponent.h:266
#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
DtVector myNormalizedBodyVelocity
Definition: rotaryWingActuatorComponent.h:314
This repository holds all information that is common to all the forms of local rotary wing entities w...
Definition: rotaryWingEntityStateRepository.h:25
DtVector myPreviousGroundClampedPosition
Definition: rotaryWingActuatorComponent.h:323
DtVector myBodyLift
Definition: rotaryWingActuatorComponent.h:315
const DtActuatorComponent & operator=(const DtActuatorComponent &orig)
assignment operator
DtRotaryWingActuatorDescriptor; descriptor for the DtRotaryWingActuatorComponent component.
Definition: rotaryWingActuatorDescriptor.h:27
virtual bool init()
Overridden to cache a pointer to the entity&#39;s radio in this class.
Contains class declarations for DtConstrainedAnalogInputPort and DtConstrainedAnalogOutputPort.
Definition: constrainedAnalogIOPort.h:27
DtUpdateRepositoryOutputPortGroup * myUpdateRepositoryOutputPortGroup
Port group used to set what values should be set into the VRF state repository.
Definition: rotaryWingActuatorComponent.h:332
Definition: rotaryWingFlightPSR.h:29
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:42
Definition: readerWriterRegistry.h:39
DtVector myBodyAcceleration
Definition: rotaryWingActuatorComponent.h:316
DtVector myRelativeAcceleration
Definition: rotaryWingActuatorComponent.h:317
End User Description: DtActuator is the base class for all actuator model components.
Definition: actuatorComponent.h:48
DtRotaryWingFlightPSR * myProcessState
Container for state data associated with this component.
Definition: rotaryWingActuatorComponent.h:328
DtConstrainedAnalogInputPort * myCollectivePort
Input Port Name: collective Input Port Description: Input Port Range: 0.
Definition: rotaryWingActuatorComponent.h:302
DtReal mySpeedRatioSquared
Definition: rotaryWingActuatorComponent.h:312
DtDcm myBodyToLocalMatrix
Definition: rotaryWingActuatorComponent.h:310
DtInputPortGroup * myRotaryWingControlPortGroup
Input Port Group Name: rotary-wing-control Input Port Group Description:
Definition: rotaryWingActuatorComponent.h:274
The DtPhysicalWorld is the primary interface to and manager of all of the &quot;physical&quot; aspects of the s...
Definition: physicalWorld.h:87
DtAirspeedCalculator * pMyAirSpeedCalculator
Air Speed Calculator for updating state properties Created in init()
Definition: rotaryWingActuatorComponent.h:339
bool myPrintedOutOfFuelMessage
Definition: rotaryWingActuatorComponent.h:324
DtVector myBodyVelocity
Definition: rotaryWingActuatorComponent.h:313
DtReal myAltitudeAGL
Definition: rotaryWingActuatorComponent.h:322
double myHeightAboveGroundSupport
Cached value from heightAboveGroundSupport.
Definition: rotaryWingActuatorComponent.h:335
virtual void tick()
This gives the thread of control to the component.
DtVector myBodyRotationRates
Definition: rotaryWingActuatorComponent.h:308
DtDcm myLocalToBodyMatrix
Definition: rotaryWingActuatorComponent.h:311
DtTaitBryan myOrientation
Definition: rotaryWingActuatorComponent.h:309
virtual bool createPorts()
Called by init.
DtConstrainedAnalogInputPort * myThrottlePort
Input Port Name: throttle Input Port Description: Input Port Range: 0.
Definition: rotaryWingActuatorComponent.h:281
DtReal mySpeed
Definition: rotaryWingActuatorComponent.h:319
DtConstrainedDualAxisAnalogInputPort * myCyclicPort
Input Port Name: cyclic Input Port Description: Input Port Range: X: -1.
Definition: rotaryWingActuatorComponent.h:288
class DtAirspeedCalculator:
Definition: airSpeedCalculator.h:20
virtual bool createPortGroups()
Called by init.
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:67
DtReal myMaxDragAcceleration
Definition: rotaryWingActuatorComponent.h:306
DtVector myRelativeVelocity
Definition: rotaryWingActuatorComponent.h:318
DtConstrainedAnalogInputPort * myPedalPort
Input Port Name: pedal Input Port Description: Input Port Range: -1.
Definition: rotaryWingActuatorComponent.h:295
DtVector myLocalPosition
Definition: rotaryWingActuatorComponent.h:320
DtInputPortGroup is a data port group of a data consumer.
Definition: inputPortGroup.h:32
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:102
Definition: terrainDatabase.h:148
DtRotaryWingActuatorComponent is a kinematics-based model of a rotary wing aircraft that converts col...
Definition: rotaryWingActuatorComponent.h:38
DtVector myBodyRotationalAcceleration
Definition: rotaryWingActuatorComponent.h:307
DtVector myLocalOrientation
Definition: rotaryWingActuatorComponent.h:321
DtUpdateRepositoryOutputPortGroup is a data port group of a data consumer that contains methods and p...
Definition: updateRepositoryOutputPortGroup.h:28
DtRotaryWingActuatorDescriptor * myRotaryWingActuatorDescriptor
Definition: rotaryWingActuatorComponent.h:267
virtual const char * type() const =0
Returns a string identifies the class type of component.

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)