VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
rotaryWingEntityStateRepository.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2019 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
12 #include <vlutil/vlMachineTypes.h>
13 #include <matrix/vlVector.h>
16 
17 #include "vrfutil/rwAirSpeedType.h"
18 
20 
28 {
29 private:
32 
35 public:
36 
38  DtRotaryWingEntityStateRepository (DtLocalObject* vrfObject, const DtString& rwName = DtString::nullString(),
39  DtReaderWriterRegistry* parentRegistry = 0);
40 
43 
44  virtual bool init();
45 
47  virtual DtString type() const;
48 
50  virtual const int vrfMovingObjectStateRepositorySubType() const;
51 
53  virtual const int rotaryWingEntityStateRepositorySubType() const;
54 
55  static DtVrfObjectStateRepository* creator (const DtString& name,
56  DtLocalObject* vrfObject, DtReaderWriterRegistry* parentRegistry);
57 
58  virtual void initializeFromParameters();
59 
60  const DtRotaryWingEntityParameters* rotaryWingEntityParameters() const;
61 
64  virtual DtReal altitude() const;
65  virtual void setAltitude (const DtReal val);
67 
70  virtual bool isCheckingTerrainDistance() const;
71  virtual void setIsCheckingTerrainDistance (const bool val);
72  virtual DtReal maxAltitude() const;
73  virtual void setMaxAltitude (const DtReal val);
75 
78  virtual const DtVector & desiredInertialPos() const;
79  virtual void setDesiredInertialPos(const DtVector & pos);
80 
81  virtual const DtVector & desiredInertialVel() const;
82  virtual void setDesiredInertialVel(const DtVector & vel);
83 
84  virtual const DtVector & desiredInertialAcc() const;
85  virtual void setDesiredInertialAcc(const DtVector & acc);
86 
87  virtual DtReal desiredInertialHead() const;
88  virtual void setDesiredInertialHead(DtReal head);
89 
90  virtual DtReal positionSelector() const;
91  virtual void setPositionSelector(DtReal val);
92 
93  virtual DtReal velocitySelector() const;
94  virtual void setVelocitySelector(DtReal val);
95 
96  virtual DtReal accelerationSelector() const;
97  virtual void setAccelerationSelector(DtReal val);
98 
99  virtual DtReal headingSelector() const;
100  virtual void setHeadingSelector(DtReal val);
101 
102  virtual DtReal aggressiveness() const;
103  virtual void setAggressiveness(DtReal val);
105 
108  virtual bool landed() const;
109  virtual void setLanded(bool value);
111 
114  virtual boost::tribool onTerrainSurface() const;
115 
118  virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths,
119  const DtVariableBindingsList& variableBindings);
120 
122  virtual void setJoystickControl (const bool val);
123  virtual bool joystickControl() const;
124 
132  virtual void land(const DtVector& location, const DtReal heading);
133 
134 
163  virtual void place(const DtVector& location, const DtReal heading,
164  bool clampToGroundFlag = true, bool* dataAvailable = 0,
165  bool requireAllData = false);
166 
180  virtual void placeAtAltitude(const DtVector& desiredLocalPosition,
181  const DtReal newHeading, bool* dataAvailable = 0);
182 
186  virtual const DtGroundInteractionPt* noseSupport() const;
187  virtual DtGroundInteractionPt* noseSupport();
188  virtual void setNoseSupport(const DtVector& noseSupport);
189 
200  virtual void clampToGround (const DtVector& location, const DtReal heading,
201  bool* dataAvailable = 0, bool requireAllData = false);
202 
204  virtual void restoreEntity();
205 
207 
208  virtual double maxClimbRate() const;
209  virtual void setMaxClimbRate(double value);
210 
211  virtual double maxYawRate() const;
212  virtual void setMaxYawRate(double value);
213 
214  virtual double maxPitchRate() const;
215  virtual void setMaxPitchRate(double value);
216 
217  virtual double maxRollRate() const;
218  virtual void setMaxRollRate(double value);
219 
220  virtual double maxYawAcceleration() const;
221  virtual void setMaxYawAcceleration(double value);
222 
223  virtual double maxPitchAcceleration() const;
224  virtual void setMaxPitchAcceleration(double value);
225 
226  virtual double maxRollAcceleration() const;
227  virtual void setMaxRollAcceleration(double value);
228 
229  virtual double zeroCollectiveLiftAcceleration() const;
230  virtual void setZeroCollectiveLiftAcceleration(double value);
231 
232  virtual double fullCollectiveLiftAcceleration() const;
233  virtual void setFullCollectiveLiftAcceleration(double value);
234 
235  virtual DtReal orderedAirSpeed() const;
236  virtual void setOrderedAirSpeed(DtReal orderedAirSpeed);
237 
238  virtual void setOrderedAirSpeedType(const DtAirSpeedType &airSpeedType);
239  virtual DtAirSpeedType orderedAirSpeedType() const;
241 
245  virtual double heightAboveGroundSupport() const;
246 
247 private:
248 
251 
252 protected:
253 
263 
264 
266 
277 
280 
281  DtReal myAltitude;
283 
286 
289 
292 
293 public:
297  {
298  return rep->as<DtRotaryWingEntityStateRepository>();
299  }
301 };
302 
Definition: rwAirSpeedType.h:32
Contains the DtVrfMovingObjectStateRepository class declaration.
virtual bool init()
Our &#39;virtual&#39; constructor. Calls all the create&lt;&gt;() methods.
DtRwReal myFullCollectiveLiftAcceleration
Values copied from parameters.
Definition: rotaryWingEntityStateRepository.h:275
DtRwReal myMaxYawRate
Values copied from parameters.
Definition: rotaryWingEntityStateRepository.h:268
This repository holds all information that is common to all the forms of local rotary wing entities w...
Definition: rotaryWingEntityStateRepository.h:27
Description: This repository holds all information that is common to all the forms of all objects wit...
Definition: vrfMovingObjectStateRepository.h:31
virtual void initializeFromParameters()
virtual void place(const DtVector &location, bool *dataAvailable=0, bool requireAllData=false)
Place entity at &#39;location&#39;, on the ground, keeping its current heading. The dataAvailable flag will b...
DtRwReal myMaxRollRate
Values copied from parameters.
Definition: rotaryWingEntityStateRepository.h:270
DtRwReal myMaxPitchRate
Values copied from parameters.
Definition: rotaryWingEntityStateRepository.h:269
virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)
Override getSelf to handle mapping of old pre-2.0 oob files. Maps the old variables for local and wor...
static DtVrfObjectStateRepository * creator(const DtString &name, DtLocalObject *vrfObject, DtReaderWriterRegistry *parentRegistry)
DtVrfMovingObjectStateRepository & operator=(const DtVrfMovingObjectStateRepository &orig)
Assignment Operator.
Definition: simObjectStateRepository.h:59
DtVector myDesiredInertialAcc
Definition: rotaryWingEntityStateRepository.h:256
Definition: readerWriterRegistry.h:39
virtual void restoreEntity()
Called on a setRestore command, sets destroyed to false and sets resources to initial (parameter file...
DtRwAirSpeedType myOrderedAirSpeedType
Definition: rotaryWingEntityStateRepository.h:291
virtual const int vrfMovingObjectStateRepositorySubType() const
Returns DtVrfMovingObjectStateRepositorySubTypeBase.
Description: This repository is an internal repository accessible only by local objects. It holds all information that is common to all the forms of all entity/aggregate/control objects within VR-Forces.
Definition: vrfObjectStateRepository.h:90
DtReal myMaxAltitude
Initialization.
Definition: rotaryWingEntityStateRepository.h:285
virtual DtString type() const
returns DtSimObjectStateRepositoryType
DtReal myVelocitySelector
Definition: rotaryWingEntityStateRepository.h:259
DtReal myDesiredInertialHead
Definition: rotaryWingEntityStateRepository.h:257
The moving-object-param parameter type is used to configure rotary-wing type of entities. Developer Description: Used to hold parameters for the DtVrfMovingObjectStateRepository class.
Definition: rotaryWingEntityParameters.h:36
DtRwReal myZeroCollectiveLiftAcceleration
Values copied from parameters.
Definition: rotaryWingEntityStateRepository.h:274
DtReal myAggressiveness
Definition: rotaryWingEntityStateRepository.h:262
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
virtual void clampToGround(const DtVector &location, const DtReal heading, bool *dataAvailable=0, bool requireAllData=false)
Place entity on ground at location and heading. Calls clampToGround with gravity of false...
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
DtRwReal myMaxRollAcceleration
Values copied from parameters.
Definition: rotaryWingEntityStateRepository.h:273
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
DtRwReal myMaxClimbRate
Values copied from parameters.
Definition: rotaryWingEntityStateRepository.h:267
DtRwBoolean myLanded
Indicates whether or not this entity is on the ground.
Definition: rotaryWingEntityStateRepository.h:288
DtReal myAltitude
Definition: rotaryWingEntityStateRepository.h:281
bool myIsCheckingTerrainDistance
Definition: rotaryWingEntityStateRepository.h:282
DtRwReal myMaxPitchAcceleration
Values copied from parameters.
Definition: rotaryWingEntityStateRepository.h:272
DtReal myHeadingSelector
Definition: rotaryWingEntityStateRepository.h:261
bool myJoystickControl
Joystick control.
Definition: rotaryWingEntityStateRepository.h:279
DtReal myPositionSelector
Definition: rotaryWingEntityStateRepository.h:258
DtReal myAccelerationSelector
Definition: rotaryWingEntityStateRepository.h:260
DtVector myDesiredInertialPos
Definition: rotaryWingEntityStateRepository.h:254
Description: Readable, Writable DtReal (double)
Definition: rwReal.h:27
DtAirSpeedType
Air Speed Type PDU enums.
Definition: rwAirSpeedType.h:24
Description: Readable, Writable bool.
Definition: rwBoolean.h:26
Class Invariant: The DtGroundInteractionPt class must always have a valid DtAttachedTerrain or DtSimM...
Definition: groundInteractionPt.h:28
DtRwReal myMaxYawAcceleration
Values copied from parameters.
Definition: rotaryWingEntityStateRepository.h:271
DtRwReal myOrderedAirSpeed
Definition: rotaryWingEntityStateRepository.h:290
DtVector myDesiredInertialVel
Definition: rotaryWingEntityStateRepository.h:255
static VRF4API_METHOD DtRotaryWingEntityStateRepository * isRotaryWingEntityStateRepository(DtSimObjectStateRepository *rep)
These are backwards compatible methods that can be used if you define ALLOW_VRF4API in your header fi...
Definition: rotaryWingEntityStateRepository.h:296
const T_SRType * as() const
Convenience function to cast to particular state rep type.
Definition: simObjectStateRepository.h:101
VRF4API_METHOD bool onTerrainSurface() const
Get/Set the activity of the unit. Set in the extended data and in state properties (if exists) ...
virtual void placeAtAltitude(const DtVector &location, const DtReal heading)
Places entity at altitude regardless of terrain.
#define VRF4API_METHOD
Include this header file to allow for the definition/usage of the ability to mark something as deprec...
Definition: vrf4XAPI.h:22
A locally simulated VRF object. Holds all internal and external data for the object, and provides access to both the current frame and next frame state data for the object. All current frame data is read-only, and next-frame data can be written to. No thread safety guarantees are made on this object during the simulation frame and it should only be accessed by the thread that is simulating the object.
Definition: localObject.h:86

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)