VR-Forces 4.8 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 
17 
26 {
27 public:
28 
31  const DtObjectType& objectType,
32  DtVrfObjectParameters* parameters,
33  const DtString& rwName = DtString::nullString(),
34  DtReaderWriterRegistry* parentRegistry = 0);
35 
38  const DtString& rwName = DtString::nullString(),
39  DtReaderWriterRegistry* parentRegistry = 0);
40 
43 
46 
48  (const DtString& rwName = DtString::nullString(),
49  DtReaderWriterRegistry* parentRegistry = 0) const;
50 
51  virtual bool init();
52 
54  virtual DtString type() const;
55 
57  virtual const int vrfMovingObjectStateRepositorySubType() const;
58 
60  virtual const int rotaryWingEntityStateRepositorySubType() const;
61 
62  static DtVrfObjectStateRepository* creator (const DtString& name,
63  DtVrfObject* vrfObject,
64  const DtObjectType& objectType,
65  DtVrfObjectParameters* parameters,
66  DtReaderWriterRegistry* parentRegistry);
67 
70  static DtRotaryWingEntityStateRepository* isRotaryWingEntityStateRepository(
71  DtSimObjectStateRepository* repository);
72 
73  static const DtRotaryWingEntityStateRepository* isRotaryWingEntityStateRepository
74  (const DtSimObjectStateRepository* repository);
75 
76  virtual bool createParameters();
77 
78  virtual void initializeFromParameters();
79 
80  virtual const DtRotaryWingEntityParameters* rotaryWingEntityParameters() const;
81 
84  virtual DtReal altitude() const;
85  virtual void setAltitude (const DtReal val);
87 
90  virtual bool isCheckingTerrainDistance() const;
91  virtual void setIsCheckingTerrainDistance (const bool val);
92  virtual DtReal maxAltitude() const;
93  virtual void setMaxAltitude (const DtReal val);
95 
98  virtual const DtVector & desiredInertialPos() const;
99  virtual void setDesiredInertialPos(const DtVector & pos);
100 
101  virtual const DtVector & desiredInertialVel() const;
102  virtual void setDesiredInertialVel(const DtVector & vel);
103 
104  virtual const DtVector & desiredInertialAcc() const;
105  virtual void setDesiredInertialAcc(const DtVector & acc);
106 
107  virtual DtReal desiredInertialHead() const;
108  virtual void setDesiredInertialHead(DtReal head);
109 
110  virtual DtReal positionSelector() const;
111  virtual void setPositionSelector(DtReal val);
112 
113  virtual DtReal velocitySelector() const;
114  virtual void setVelocitySelector(DtReal val);
115 
116  virtual DtReal accelerationSelector() const;
117  virtual void setAccelerationSelector(DtReal val);
118 
119  virtual DtReal headingSelector() const;
120  virtual void setHeadingSelector(DtReal val);
121 
122  virtual DtReal aggressiveness() const;
123  virtual void setAggressiveness(DtReal val);
125 
128  virtual bool landed() const;
129  virtual void setLanded(bool value);
131 
134  virtual boost::tribool onTerrainSurface() const;
135 
138  virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths,
139  const DtVariableBindingsList& variableBindings);
140 
142  virtual void setJoystickControl (const bool val);
143  virtual bool joystickControl() const;
144 
152  virtual void land(const DtVector& location, const DtReal heading);
153 
154 
183  virtual void place(const DtVector& location, const DtReal heading,
184  bool clampToGroundFlag = true, bool* dataAvailable = 0,
185  bool requireAllData = false);
186 
200  virtual void placeAtAltitude(const DtVector& desiredLocalPosition,
201  const DtReal newHeading, bool* dataAvailable = 0);
202 
206  virtual const DtGroundInteractionPt* noseSupport() const;
207  virtual DtGroundInteractionPt* noseSupport();
208  virtual void setNoseSupport(const DtVector& noseSupport);
209 
220  virtual void clampToGround (const DtVector& location, const DtReal heading,
221  bool* dataAvailable = 0, bool requireAllData = false);
222 
224  virtual void restoreEntity();
225 
227 
228  virtual double maxClimbRate() const;
229  virtual void setMaxClimbRate(double value);
230 
231  virtual double maxYawRate() const;
232  virtual void setMaxYawRate(double value);
233 
234  virtual double maxPitchRate() const;
235  virtual void setMaxPitchRate(double value);
236 
237  virtual double maxRollRate() const;
238  virtual void setMaxRollRate(double value);
239 
240  virtual double maxYawAcceleration() const;
241  virtual void setMaxYawAcceleration(double value);
242 
243  virtual double maxPitchAcceleration() const;
244  virtual void setMaxPitchAcceleration(double value);
245 
246  virtual double maxRollAcceleration() const;
247  virtual void setMaxRollAcceleration(double value);
248 
249  virtual double zeroCollectiveLiftAcceleration() const;
250  virtual void setZeroCollectiveLiftAcceleration(double value);
251 
252  virtual double fullCollectiveLiftAcceleration() const;
253  virtual void setFullCollectiveLiftAcceleration(double value);
255 
256 private:
257 
260 
261 protected:
262 
272 
273 
275 
286 
289 
290  DtReal myAltitude;
292 
295 
298 };
299 
Instances of DtVrfObjectParameters are the readable/writeable objects that contain the information ne...
Definition: vrfObjectParameters.h:59
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:284
DtRwReal myMaxYawRate
Definition: rotaryWingEntityStateRepository.h:277
This repository holds all information that is common to all the forms of local rotary wing entities w...
Definition: rotaryWingEntityStateRepository.h:25
Description: This repository holds all information that is common to all the forms of all objects wit...
Definition: vrfMovingObjectStateRepository.h:26
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:279
DtRwReal myMaxPitchRate
Definition: rotaryWingEntityStateRepository.h:278
*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:265
Definition: readerWriterRegistry.h:39
virtual void restoreEntity()
Called on a setRestore command, sets destroyed to false and sets resources to initial (parameter file...
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:294
virtual DtString type() const
returns DtSimObjectStateRepositoryType
virtual DtSimObjectStateRepository * clone(const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) const
Clone.
DtReal myVelocitySelector
Definition: rotaryWingEntityStateRepository.h:268
Definition: objectType.h:27
DtReal myDesiredInertialHead
Definition: rotaryWingEntityStateRepository.h:266
The moving-object-param parameter type is used to configure rotary-wing type of entities.
Definition: rotaryWingEntityParameters.h:34
DtRwReal myZeroCollectiveLiftAcceleration
Definition: rotaryWingEntityStateRepository.h:283
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:271
#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:282
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
DtRwReal myMaxClimbRate
Values copied from parameters.
Definition: rotaryWingEntityStateRepository.h:276
DtRwBoolean myLanded
Indicates whether or not this entity is on the ground.
Definition: rotaryWingEntityStateRepository.h:297
DtReal myAltitude
Definition: rotaryWingEntityStateRepository.h:290
bool myIsCheckingTerrainDistance
Definition: rotaryWingEntityStateRepository.h:291
DtRwReal myMaxPitchAcceleration
Definition: rotaryWingEntityStateRepository.h:281
DtReal myHeadingSelector
Definition: rotaryWingEntityStateRepository.h:270
bool myJoystickControl
Joystick control.
Definition: rotaryWingEntityStateRepository.h:288
DtReal myPositionSelector
Definition: rotaryWingEntityStateRepository.h:267
DtReal myAccelerationSelector
Definition: rotaryWingEntityStateRepository.h:269
DtVector myDesiredInertialPos
Definition: rotaryWingEntityStateRepository.h:263
Description: Readable, Writable DtReal (double)
Definition: rwReal.h:27
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:280
DtVector myDesiredInertialVel
Definition: rotaryWingEntityStateRepository.h:264
static DtVrfObjectStateRepository * creator(const DtString &name, DtVrfObject *vrfObject, const DtObjectType &objectType, DtVrfObjectParameters *parameters, DtReaderWriterRegistry *parentRegistry)
virtual void placeAtAltitude(const DtVector &location, const DtReal heading)
Places entity at altitude regardless of terrain.

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)