VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
rotaryWingPilotController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 1999-2003 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 
15 
16 #pragma once
17 
19 #include <matrix/LibMatrix.h>
20 
21 class DtString;
22 class DtSimManager;
26 class DtOutputPortGroup;
27 class DtInputPortGroup;
28 class DtVectorInputPort;
29 class DtAnalogInputPort;
30 class DtBooleanInputPort;
31 
38 {
39 
40 public:
41 
45  DtVrfObject* owner,
46  DtSimManager* simManager,
47  DtComponentDescriptor* desc = 0,
48  DtReaderWriterRegistry* parentRegistry = 0);
49 
51  virtual ~DtRotaryWingPilotController();
52 
54  virtual bool init();
55 
57  virtual void tick();
58 
61  virtual const char* type() const;
62 
65  virtual bool createGuidancePortGroup();
66  virtual bool createDesiredPositionPort();
67  virtual bool createContinueMovementPort();
68  virtual bool createDesiredVelocityPort();
69  virtual bool createDesiredAccelerationPort();
70  virtual bool createDesiredHeadingPort();
71  virtual bool createPositionSelectorPort();
72  virtual bool createVelocitySelectorPort();
73  virtual bool createAccelerationSelectorPort();
74  virtual bool createHeadingSelectorPort();
75  virtual bool createPowerDownPort();
77 
80  virtual bool createAggressivenessPort();
81  virtual DtAnalogInputPort *aggressivenessPort();
83 
84 
87  virtual DtVectorInputPort *desiredPositionPort();
88  virtual DtBooleanInputPort *continueMovementPort();
89  virtual DtVectorInputPort *desiredVelocityPort();
90  virtual DtVectorInputPort *desiredAccelerationPort();
91  virtual DtAnalogInputPort *desiredHeadingPort();
92  virtual DtAnalogInputPort *positionSelectorPort();
93  virtual DtAnalogInputPort *velocitySelectorPort();
94  virtual DtAnalogInputPort *accelerationSelectorPort();
95  virtual DtAnalogInputPort *headingSelectorPort();
96  virtual DtBooleanInputPort* powerDownPort();
98 
102  virtual bool createRotaryWingControlPortGroup();
103  virtual bool createThrottlePort();
104  virtual bool createCollectivePort();
105  virtual bool createCyclicPort();
106  virtual bool createPedalPort();
108 
109  virtual DtConstrainedAnalogOutputPort * throttlePort();
110  virtual DtConstrainedAnalogOutputPort * collectivePort();
111  virtual DtConstrainedDualAxisAnalogOutputPort * cyclicPort();
112  virtual DtConstrainedAnalogOutputPort * pedalPort();
113 
117  static DtSimComponent * creator(const DtString& name,
118  DtVrfObject* owner,
119  DtSimManager* simManager,
120  DtComponentDescriptor* desc = 0,
121  DtReaderWriterRegistry* parentRegistry = 0);
122 
123 protected:
124 
126  virtual bool createPortGroups();
127 
129  virtual bool createPorts();
130 
132  virtual void setStateFromPorts();
133 
134 protected:
135 
138 
141  orig);
142 
146 
147 
148 protected:
149 
151 
153 
154 
158 
165 
172 
179 
186 
191 
197 
203 
209 
215 
222 
229 
236 
243 
250 
257 
267 
269 
271 };
DtRotaryWingEntityStateRepository * myRotaryWingEntityState
Definition: rotaryWingPilotController.h:150
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
DtConstrainedAnalogOutputPort * myThrottlePort
Output Port Name: throttle Output Port Description: The position of the throttle control.
Definition: rotaryWingPilotController.h:164
DtAnalogInputPort * myDesiredHeadingPort
Input Port Name: desired-heading Input Port Description: Input Port Range: -1.
Definition: rotaryWingPilotController.h:214
DtAnalogInputPort * myHeadingSelectorPort
Input Port Name: heading-selector Input Port Description: Determines whether the desired-heading port...
Definition: rotaryWingPilotController.h:249
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
This repository holds all information that is common to all the forms of local rotary wing entities w...
Definition: rotaryWingEntityStateRepository.h:27
Instances of DtConstrainedDualAxisAnalogOutputPort are output ports through which data producers can ...
Definition: constrainedDualAxisAnalogIOPort.h:61
const DtControllerComponent & operator=(const DtControllerComponent &orig)
assignment operator
DtVectorInputPort * myDesiredPositionPort
Input Port Name: desired-position Input Port Description: The desired position of the entity...
Definition: rotaryWingPilotController.h:196
DtVectorInputPort * myDesiredAccelerationPort
Input Port Name: desired-acceleration Input Port Description: The desired acceleration of the entity ...
Definition: rotaryWingPilotController.h:208
DtAnalogInputPort * myAggressivenessPort
Input Port Name: aggressiveness Input Port Description: How aggressively the autopilot will move the ...
Definition: rotaryWingPilotController.h:256
virtual const char * type() const =0
This returns a string from compTypes.h, and identifies the type of component.
DtConstrainedAnalogOutputPort * myPedalPort
Output Port Name: pedal Output Port Description: The position of the pedal controls.
Definition: rotaryWingPilotController.h:185
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
DtOutputPortGroup is a data port group of a data provider.
Definition: outputPortGroup.h:30
virtual bool init()
Calls setRadio()
DtAnalogInputPort * myPositionSelectorPort
Input Port Name: position-selector Input Port Description: Determines whether the desired-position po...
Definition: rotaryWingPilotController.h:221
DtConstrainedAnalogOutputPort is a version of DtAnalogOutputPort which will constrain any outgoing va...
Definition: constrainedAnalogIOPort.h:54
Contains class declarations for DtVectorInputPort, DtVectorOutputPort, and DtVectorPortData.
Definition: vectorIOPort.h:27
DtConstrainedAnalogOutputPort * myCollectivePort
Output Port Name: collective Output Port Description: The position of the collective control...
Definition: rotaryWingPilotController.h:171
virtual void tick()
This gives the thread of control to the component.
Contains class declarations for DtBooleanInputPort, DtBooleanOutputPort, and DtBooleanPortData.
Definition: boolIOPort.h:25
DtAnalogInputPort * myAccelerationSelectorPort
Input Port Name: acceleration-selector Input Port Description: Determines whether the desired-acceler...
Definition: rotaryWingPilotController.h:242
DtAnalogInputPort * myVelocitySelectorPort
Input Port Name: velocity-selector Input Port Description: Determines whether the desired-velocity po...
Definition: rotaryWingPilotController.h:235
virtual bool createPorts()
Called by init.
End User Description: DtControllerComponent is the base class for all controllers components...
Definition: controllerComponent.h:29
virtual bool createPortGroups()
Called by init.
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:67
DtVector myNormalizedBodyVelocity
Definition: rotaryWingPilotController.h:270
DtBooleanInputPort * myPowerDownPort
Input Port Name: power-down Input Port Description: Determines whether the control values will all be...
Definition: rotaryWingPilotController.h:266
DtInputPortGroup is a data port group of a data consumer.
Definition: inputPortGroup.h:32
Contains class declarations for DtAnalogInputPort, DtAnalogOutputPort, and DtAnalogPortData.
Definition: analogIOPort.h:25
The DtRotaryWingPilotController class creates the rotary-wing-control port group needed to control ro...
Definition: rotaryWingPilotController.h:37
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:103
DtBooleanInputPort * myContinueMovementPort
Input Port Name: continue-movement Input Port Description: Indicates that when flying to a position...
Definition: rotaryWingPilotController.h:228
DtInputPortGroup * myGuidancePortGroup
Input Port Group Name: guidance Input Port Group Description: Group of input ports that define the de...
Definition: rotaryWingPilotController.h:190
DtOutputPortGroup * myRotaryWingControlPortGroup
Output Port Group Name: rotary-wing-control Output Port Group Description:
Definition: rotaryWingPilotController.h:157
DtVectorInputPort * myDesiredVelocityPort
Input Port Name: desired-velocity Input Port Description: The desired velocity of the entity Input Po...
Definition: rotaryWingPilotController.h:202
DtConstrainedDualAxisAnalogOutputPort * myCyclicPort
Output Port Name: cyclic Output Port Description: The position of the collective control in X and Y...
Definition: rotaryWingPilotController.h:178

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)