VR-Forces 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 
42  virtual ~DtRotaryWingEntityStateRepository() override;
43 
44  virtual bool init() override;
45 
47  virtual DtString type() const override;
48 
50  virtual const int vrfMovingObjectStateRepositorySubType() const override;
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() override;
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) override;
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) override;
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) override;
202 
204  virtual void restoreEntity() override;
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 
248  bool hasLightingComponent() const;
249 
250 private:
251 
254 
255 protected:
256  virtual void createLegacyRWData() override;
257  virtual void setToLegacyRWData() override;
258  virtual void restoreFromLegacyRWData() override;
259 
260 protected:
261 
271 
272 
274 
285 
288 
289  DtReal myAltitude;
291 
294 
297 
300 
301 public:
305  {
306  return rep->as<DtRotaryWingEntityStateRepository>();
307  }
309 };
310 
Definition: rwAirSpeedType.h:31
Contains the DtVrfMovingObjectStateRepository class declaration.
DtRwReal myFullCollectiveLiftAcceleration
Values copied from parameters.
Definition: rotaryWingEntityStateRepository.h:283
virtual bool init() override
Our &#39;virtual&#39; constructor. Calls all the create&lt;&gt;() methods.
DtRwReal myMaxYawRate
Values copied from parameters.
Definition: rotaryWingEntityStateRepository.h:276
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
DtRwReal myMaxRollRate
Values copied from parameters.
Definition: rotaryWingEntityStateRepository.h:278
DtRwReal myMaxPitchRate
Values copied from parameters.
Definition: rotaryWingEntityStateRepository.h:277
virtual void place(const DtVector &location, bool *dataAvailable=0, bool requireAllData=false) override
Place entity at &#39;location&#39;, on the ground, keeping its current heading. The dataAvailable flag will b...
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:264
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:299
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:91
DtReal myMaxAltitude
Initialization.
Definition: rotaryWingEntityStateRepository.h:293
virtual void setToLegacyRWData() override
DtReal myVelocitySelector
Definition: rotaryWingEntityStateRepository.h:267
DtReal myDesiredInertialHead
Definition: rotaryWingEntityStateRepository.h:265
virtual void restoreFromLegacyRWData() override
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:282
DtReal myAggressiveness
Definition: rotaryWingEntityStateRepository.h:270
#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:281
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
DtRwReal myMaxClimbRate
Values copied from parameters.
Definition: rotaryWingEntityStateRepository.h:275
DtRwBoolean myLanded
Indicates whether or not this entity is on the ground.
Definition: rotaryWingEntityStateRepository.h:296
virtual void createLegacyRWData() override
Creates the legacy data used for any pre/put operation. Override this to create your legacy data atta...
DtReal myAltitude
Definition: rotaryWingEntityStateRepository.h:289
virtual void initializeFromParameters() override
bool myIsCheckingTerrainDistance
Definition: rotaryWingEntityStateRepository.h:290
DtRwReal myMaxPitchAcceleration
Values copied from parameters.
Definition: rotaryWingEntityStateRepository.h:280
DtReal myHeadingSelector
Definition: rotaryWingEntityStateRepository.h:269
virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings) override
Override getSelf to handle mapping of old pre-2.0 oob files. Maps the old variables for local and wor...
bool myJoystickControl
Joystick control.
Definition: rotaryWingEntityStateRepository.h:287
DtReal myPositionSelector
Definition: rotaryWingEntityStateRepository.h:266
DtReal myAccelerationSelector
Definition: rotaryWingEntityStateRepository.h:268
DtVector myDesiredInertialPos
Definition: rotaryWingEntityStateRepository.h:262
Description: Readable, Writable DtReal (double)
Definition: rwReal.h:27
DtAirSpeedType
Air Speed Type PDU enums.
Definition: rwAirSpeedType.h:23
Description: Readable, Writable bool.
Definition: rwBoolean.h:26
virtual DtString type() const override
returns DtSimObjectStateRepositoryType
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:279
DtRwReal myOrderedAirSpeed
Definition: rotaryWingEntityStateRepository.h:298
DtVector myDesiredInertialVel
Definition: rotaryWingEntityStateRepository.h:263
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:304
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:23
A locally simulated VRF object.
Definition: localObject.h:98

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)