VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
rotaryWingTaskController.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 
12 #pragma once
13 
16 
17 class DtString;
18 class DtSimManager;
21 class DtAnalogOutputPort;
22 class DtVectorOutputPort;
23 class DtOutputPortGroup;
25 
31 {
32 public:
36  DtVrfObject* owner,
37  DtSimManager* simManager,
38  DtComponentDescriptor* desc = 0,
39  DtReaderWriterRegistry* parentRegistry = 0);
40 
42  virtual ~DtRotaryWingTaskController();
43 
45  virtual bool init();
46 
47  virtual void tick();
48 
50  virtual const char* type() const = 0;
51 
54  virtual void clearTask();
55 
58 
59  virtual void setDesiredPosition(const DtVector& pos);
60  virtual void setContinueMovement(const bool continueAtEnd);
61  virtual void setDesiredVelocity(const DtVector& vel);
62  virtual void setDesiredAcceleration(const DtVector& accel);
63  virtual void setDesiredHeading(double heading);
64  virtual void setPositionSelector(double sel);
65  virtual void setVelocitySelector(double sel);
66  virtual void setAccelerationSelector(double sel);
67  virtual void setHeadingSelector(double sel);
68  virtual void setAggressiveness(double agg);
69  virtual void setPowerDown(bool powerDown);
71 
73 
74  virtual DtVectorOutputPort *desiredPositionPort();
75  virtual DtVectorOutputPort *desiredVelocityPort();
76  virtual DtVectorOutputPort *desiredAccelerationPort();
77  virtual DtAnalogOutputPort *desiredHeadingPort();
78  virtual DtAnalogOutputPort *positionSelectorPort();
79  virtual DtBooleanOutputPort *continueMovementPort();
80  virtual DtAnalogOutputPort *velocitySelectorPort();
81  virtual DtAnalogOutputPort *accelerationSelectorPort();
82  virtual DtAnalogOutputPort *headingSelectorPort();
83  virtual DtAnalogOutputPort *aggressivenessPort();
84  virtual DtBooleanOutputPort* powerDownPort();
86 
87 protected:
88 
90  virtual bool createPortGroups();
91 
93  virtual bool createPorts();
94 
96 
97  virtual bool createGuidancePortGroup();
98  virtual bool createDesiredPositionPort();
99  virtual bool createDesiredVelocityPort();
100  virtual bool createDesiredAccelerationPort();
101  virtual bool createDesiredHeadingPort();
102  virtual bool createPositionSelectorPort();
103  virtual bool createContinueMovementPort();
104  virtual bool createVelocitySelectorPort();
105  virtual bool createAccelerationSelectorPort();
106  virtual bool createHeadingSelectorPort();
107  virtual bool createAggressivenessPort();
108  virtual bool createPowerDownPort();
110 
118  virtual void lookupAndCacheProcessSR();
119 
122  virtual bool postAddComponentsInit();
123 
125  virtual void processEstimatedTotCalculation();
126 
128  virtual void updateTaskVisualizations();
129 
130 private:
133 
136  orig);
137 
141 
142 
143 protected:
144 
146 
148 
149 
154 
160 
166 
172 
178 
185 
192 
199 
206 
213 
220 
231 
238 
240  const double DtEstimatedTotCalcInterval = 5.0;
241 
250 };
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
virtual bool postAddComponentsInit()
Called after all components have been created, initialized and added to the component manager...
Definition: simComponent.h:146
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
double myEstimatedTotValue
the tot value
Definition: rotaryWingTaskController.h:245
DtVectorOutputPort * myDesiredVelocityPort
Output Port Name: desired-velocity Output Port Description: The desired velocity of the entity Output...
Definition: rotaryWingTaskController.h:165
bool myEstimatedTotCalcEnabled
enabled flag for the tot calculations
Definition: rotaryWingTaskController.h:243
DtBooleanOutputPort * myContinueMovementPort
Input Port Name: continue-movement Input Port Description: Indicates that when flying to a position...
Definition: rotaryWingTaskController.h:191
DtAnalogOutputPort * myHeadingSelectorPort
Output Port Name: heading-selector Output Port Description: Determines whether the desired-heading po...
Definition: rotaryWingTaskController.h:212
Instances of DtBooleanOutputPort are output ports through which data producers can send boolean data...
Definition: boolIOPort.h:45
DtAnalogOutputPort * myVelocitySelectorPort
Output Port Name: velocity-selector Output Port Description: Determines whether the desired-velocity ...
Definition: rotaryWingTaskController.h:198
This class provides a base class for all controllers that are capable of executing a DtSimTask...
Definition: singleTaskControllerComponent.h:20
Definition: rotaryWingFlightPSR.h:29
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:42
DtVector myEstimatedTotTextPos
tot text position
Definition: rotaryWingTaskController.h:249
Definition: readerWriterRegistry.h:39
virtual const char * type() const =0
Returns a string identifies the class type of component.
DtOutputPortGroup is a data port group of a data provider.
Definition: outputPortGroup.h:30
virtual bool init()
Calls setRadio()
DtVectorOutputPort * myDesiredAccelerationPort
Output Port Name: desired-acceleration Output Port Description: The desired acceleration of the entit...
Definition: rotaryWingTaskController.h:171
virtual void clearTask()
If component is currently tasked, calls clearPendingSubtasks(), sets the tasked flag to false...
DtRotaryWingEntityStateRepository * myRotaryWingEntityState
Definition: rotaryWingTaskController.h:145
DtVectorOutputPort * myDesiredPositionPort
Output Port Name: desired-position Output Port Description: The desired position of the entity...
Definition: rotaryWingTaskController.h:159
virtual void updateTaskVisualizations()
Called to update task visualizations after every tick.
Definition: simComponent.h:487
DtOutputPortGroup * myGuidancePortGroup
Output Port Group Name: guidance Output Port Group Description: Group of input ports that define the ...
Definition: rotaryWingTaskController.h:153
Instances of DtAnalogOutputPort are input ports through which data producers can send real numbers...
Definition: analogIOPort.h:45
Instances of DtVectorOutputPort are output ports through which data producers can send a DtVector...
Definition: vectorIOPort.h:52
virtual void tick()
This gives the thread of control to the component.
virtual bool createPorts()
Called by init.
The DtRotaryWingTaskController class creates the rotary-wing-control port group needed to control rot...
Definition: rotaryWingTaskController.h:30
DtAnalogOutputPort * myAccelerationSelectorPort
Output Port Name: acceleration-selector Output Port Description: Determines whether the desired-avvel...
Definition: rotaryWingTaskController.h:205
virtual bool createPortGroups()
Called by init.
DtAnalogOutputPort * myDesiredHeadingPort
Output Port Name: desired-heading Output Port Description: Output Port Range: -1.
Definition: rotaryWingTaskController.h:177
DtRotaryWingFlightPSR * myProcessState
Pointer to a process state repository used to store state data associated with this component...
Definition: rotaryWingTaskController.h:237
const DtTaskControllerComponent & operator=(const DtTaskControllerComponent &orig)
assignment operator
DtBooleanOutputPort * myPowerDownPort
Output Port Name: power-down Output Port Description: Determines whether the control values will all ...
Definition: rotaryWingTaskController.h:229
double myEstimatedTotLastCalcTime
used for tot calculation intervals
Definition: rotaryWingTaskController.h:247
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:103
DtAnalogOutputPort * myPositionSelectorPort
Output Port Name: position-selector Output Port Description: Determines whether the desired-position ...
Definition: rotaryWingTaskController.h:184
DtAnalogOutputPort * myAggressivenessPort
Output Port Name: aggressiveness Output Port Description: How aggressively the autopilot will move th...
Definition: rotaryWingTaskController.h:219

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)