VR-Forces 4.10 Class Documentation
 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) 1999 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
11 #include <vlutil/vlMachineTypes.h>
12 #include <matrix/vlVector.h>
15 
16 #include "vrfutil/rwAirSpeedType.h"
17 
19 
28 {
29 public:
30 
33  const DtObjectType& objectType,
34  DtVrfObjectParameters* parameters,
35  const DtString& rwName = DtString::nullString(),
36  DtReaderWriterRegistry* parentRegistry = 0);
37 
40  const DtString& rwName = DtString::nullString(),
41  DtReaderWriterRegistry* parentRegistry = 0);
42 
45 
48 
50  (const DtString& rwName = DtString::nullString(),
51  DtReaderWriterRegistry* parentRegistry = 0) const;
52 
53  virtual bool init();
54 
56  virtual DtString type() const;
57 
59  virtual const int vrfMovingObjectStateRepositorySubType() const;
60 
62  virtual const int rotaryWingEntityStateRepositorySubType() const;
63 
64  static DtVrfObjectStateRepository* creator (const DtString& name,
65  DtVrfObject* vrfObject,
66  const DtObjectType& objectType,
67  DtVrfObjectParameters* parameters,
68  DtReaderWriterRegistry* parentRegistry);
69 
72  static DtRotaryWingEntityStateRepository* isRotaryWingEntityStateRepository(
73  DtSimObjectStateRepository* repository);
74 
75  static const DtRotaryWingEntityStateRepository* isRotaryWingEntityStateRepository
76  (const DtSimObjectStateRepository* repository);
77 
78  virtual bool createParameters();
79 
80  virtual void initializeFromParameters();
81 
82  virtual const DtRotaryWingEntityParameters* rotaryWingEntityParameters() const;
83 
86  virtual DtReal altitude() const;
87  virtual void setAltitude (const DtReal val);
89 
92  virtual bool isCheckingTerrainDistance() const;
93  virtual void setIsCheckingTerrainDistance (const bool val);
94  virtual DtReal maxAltitude() const;
95  virtual void setMaxAltitude (const DtReal val);
97 
100  virtual const DtVector & desiredInertialPos() const;
101  virtual void setDesiredInertialPos(const DtVector & pos);
102 
103  virtual const DtVector & desiredInertialVel() const;
104  virtual void setDesiredInertialVel(const DtVector & vel);
105 
106  virtual const DtVector & desiredInertialAcc() const;
107  virtual void setDesiredInertialAcc(const DtVector & acc);
108 
109  virtual DtReal desiredInertialHead() const;
110  virtual void setDesiredInertialHead(DtReal head);
111 
112  virtual DtReal positionSelector() const;
113  virtual void setPositionSelector(DtReal val);
114 
115  virtual DtReal velocitySelector() const;
116  virtual void setVelocitySelector(DtReal val);
117 
118  virtual DtReal accelerationSelector() const;
119  virtual void setAccelerationSelector(DtReal val);
120 
121  virtual DtReal headingSelector() const;
122  virtual void setHeadingSelector(DtReal val);
123 
124  virtual DtReal aggressiveness() const;
125  virtual void setAggressiveness(DtReal val);
127 
130  virtual bool landed() const;
131  virtual void setLanded(bool value);
133 
136  virtual boost::tribool onTerrainSurface() const;
137 
140  virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths,
141  const DtVariableBindingsList& variableBindings);
142 
144  virtual void setJoystickControl (const bool val);
145  virtual bool joystickControl() const;
146 
154  virtual void land(const DtVector& location, const DtReal heading);
155 
156 
185  virtual void place(const DtVector& location, const DtReal heading,
186  bool clampToGroundFlag = true, bool* dataAvailable = 0,
187  bool requireAllData = false);
188 
202  virtual void placeAtAltitude(const DtVector& desiredLocalPosition,
203  const DtReal newHeading, bool* dataAvailable = 0);
204 
208  virtual const DtGroundInteractionPt* noseSupport() const;
209  virtual DtGroundInteractionPt* noseSupport();
210  virtual void setNoseSupport(const DtVector& noseSupport);
211 
222  virtual void clampToGround (const DtVector& location, const DtReal heading,
223  bool* dataAvailable = 0, bool requireAllData = false);
224 
226  virtual void restoreEntity();
227 
229 
230  virtual double maxClimbRate() const;
231  virtual void setMaxClimbRate(double value);
232 
233  virtual double maxYawRate() const;
234  virtual void setMaxYawRate(double value);
235 
236  virtual double maxPitchRate() const;
237  virtual void setMaxPitchRate(double value);
238 
239  virtual double maxRollRate() const;
240  virtual void setMaxRollRate(double value);
241 
242  virtual double maxYawAcceleration() const;
243  virtual void setMaxYawAcceleration(double value);
244 
245  virtual double maxPitchAcceleration() const;
246  virtual void setMaxPitchAcceleration(double value);
247 
248  virtual double maxRollAcceleration() const;
249  virtual void setMaxRollAcceleration(double value);
250 
251  virtual double zeroCollectiveLiftAcceleration() const;
252  virtual void setZeroCollectiveLiftAcceleration(double value);
253 
254  virtual double fullCollectiveLiftAcceleration() const;
255  virtual void setFullCollectiveLiftAcceleration(double value);
256 
257  virtual DtReal orderedAirSpeed() const;
258  virtual void setOrderedAirSpeed(DtReal orderedAirSpeed);
259 
260  virtual void setOrderedAirSpeedType(const DtAirSpeedType &airSpeedType);
261  virtual DtAirSpeedType orderedAirSpeedType() const;
263 
264 private:
265 
268 
269 protected:
270 
280 
281 
283 
294 
297 
298  DtReal myAltitude;
300 
303 
306 
309 };
310 
Definition: rwAirSpeedType.h:32
Instances of DtVrfObjectParameters are the readable/writeable objects that contain the information ne...
Definition: vrfObjectParameters.h:59
Contains the DtVrfMovingObjectStateRepository class declaration.
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
virtual bool init()
Our &#39;virtual&#39; constructor. Calls all the create&lt;&gt;() methods.
DtRwReal myFullCollectiveLiftAcceleration
Definition: rotaryWingEntityStateRepository.h:292
DtRwReal myMaxYawRate
Definition: rotaryWingEntityStateRepository.h:285
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:29
virtual boost::tribool onTerrainSurface() const
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.
DtRwReal myMaxRollRate
Definition: rotaryWingEntityStateRepository.h:287
DtRwReal myMaxPitchRate
Definition: rotaryWingEntityStateRepository.h:286
*virtual const DtObjectType & objectType() const
DtVrfMovingObjectStateRepository & operator=(const DtVrfMovingObjectStateRepository &orig)
Assignment Operator.
The DtSimObjectStateRepository is an abstract base class (ABC) for all state repositories.
Definition: simObjectStateRepository.h:46
DtVector myDesiredInertialAcc
Definition: rotaryWingEntityStateRepository.h:273
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:308
virtual const int vrfMovingObjectStateRepositorySubType() const
Returns DtVrfMovingObjectStateRepositorySubTypeBase.
Description: This repository holds all information that is common to all the forms of all entity/aggr...
Definition: vrfObjectStateRepository.h:87
DtReal myMaxAltitude
Initialization.
Definition: rotaryWingEntityStateRepository.h:302
virtual DtString type() const
returns DtSimObjectStateRepositoryType
virtual DtSimObjectStateRepository * clone(const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) const
Clone method.
DtReal myVelocitySelector
Definition: rotaryWingEntityStateRepository.h:276
Definition: objectType.h:27
DtReal myDesiredInertialHead
Definition: rotaryWingEntityStateRepository.h:274
The moving-object-param parameter type is used to configure rotary-wing type of entities.
Definition: rotaryWingEntityParameters.h:36
DtRwReal myZeroCollectiveLiftAcceleration
Definition: rotaryWingEntityStateRepository.h:291
virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)
Override getSelf to handle mapping of old pre-2.0 oob files.
DtReal myAggressiveness
Definition: rotaryWingEntityStateRepository.h:279
#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.
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
DtRwReal myMaxRollAcceleration
Definition: rotaryWingEntityStateRepository.h:290
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
DtRwReal myMaxClimbRate
Values copied from parameters.
Definition: rotaryWingEntityStateRepository.h:284
DtRwBoolean myLanded
Indicates whether or not this entity is on the ground.
Definition: rotaryWingEntityStateRepository.h:305
DtReal myAltitude
Definition: rotaryWingEntityStateRepository.h:298
bool myIsCheckingTerrainDistance
Definition: rotaryWingEntityStateRepository.h:299
DtRwReal myMaxPitchAcceleration
Definition: rotaryWingEntityStateRepository.h:289
DtReal myHeadingSelector
Definition: rotaryWingEntityStateRepository.h:278
bool myJoystickControl
Joystick control.
Definition: rotaryWingEntityStateRepository.h:296
DtReal myPositionSelector
Definition: rotaryWingEntityStateRepository.h:275
DtReal myAccelerationSelector
Definition: rotaryWingEntityStateRepository.h:277
DtVector myDesiredInertialPos
Definition: rotaryWingEntityStateRepository.h:271
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
Definition: rotaryWingEntityStateRepository.h:288
DtRwReal myOrderedAirSpeed
Definition: rotaryWingEntityStateRepository.h:307
DtVector myDesiredInertialVel
Definition: rotaryWingEntityStateRepository.h:272
static DtVrfObjectStateRepository * creator(const DtString &name, DtVrfObject *vrfObject, const DtObjectType &objectType, DtVrfObjectParameters *parameters, DtReaderWriterRegistry *parentRegistry)
Creator method.
virtual void placeAtAltitude(const DtVector &location, const DtReal heading)
Places entity at altitude regardless of terrain.

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)