VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
rotaryWingMoveAlongControllerComponent.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2000 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 
12 #pragma once
13 
16 
17 class DtString;
18 class DtSimManager;
19 class DtRouteState;
20 class DtSimMessage;
21 
22 class DtBooleanInputPort;
23 class DtInputPortGroup;
24 class DtVectorOutputPort;
25 
32 {
33 
34 public:
35 
39  DtVrfObject* owner,
40  DtSimManager* simManager,
41  DtComponentDescriptor* desc = 0,
42  DtReaderWriterRegistry* parentRegistry = 0);
43 
46 
47 
49  virtual bool init();
50 
52  virtual void tick();
53 
56  virtual const char* type() const;
57 
58  static void moveAlongCallback(DtSimMessage* msg, void* usr, DtSimTaskStatePtr taskStatePtr);
59 
60  virtual DtSimTaskStatePtr currentTaskState() const;
61 
63  virtual void registerTaskMsgCallbacks();
64 
66  static void routeChangedCallback(const DtVrfObject* obj, void * usr);
67  virtual void processRouteChanged(const DtVrfObject* obj);
68 
72  static DtSimComponent * creator(const DtString& name,
73  DtVrfObject* owner,
74  DtSimManager* simManager,
75  DtComponentDescriptor* desc = 0,
76  DtReaderWriterRegistry* parentRegistry = 0);
77 
79  virtual bool setupRoute();
80 
83  virtual bool isMovingToward(const DtVector& ENUpoint);
84 
86  virtual void routeLogic();
87 
90  virtual void desiredVelocityAndPosition();
91 
92 
93 protected:
94 
96  virtual bool createPortGroups();
97 
99  virtual bool createPorts();
100 
101  virtual void processMoveAlong(const DtTaskMessage& msg, DtSimTaskStatePtr taskStatePtr);
102 
108 
112 
128  virtual void pilotProperties();
129 
133  virtual void buildLocalRoute();
134 
137  virtual void emptyVertexList();
138 
140  static DtReaderWriter* provideNextRoutePointIndex(void* c);
141 
142  virtual void processEstimatedTotCalculation();
143 
144  virtual void clearTask();
145 
146 protected:
147 
149 
150  DtBooleanInputPort* myTerrainProximityInputPort;
156 
161 
168 
170 
174 
177 
181 };
182 
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
virtual void registerTaskMsgCallbacks()
DtInputPortGroup * myTerrainProximityPortGroup
Input Port Group Name: terrain-proximity-group Input Port Group Description:
Definition: rotaryWingMoveAlongControllerComponent.h:159
Definition: readerWriter.h:85
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:42
virtual void clearTask()
Overridden to deactivate the port group when this controller completes a task.
Definition: readerWriterRegistry.h:39
virtual bool createPorts()
Overridden to create the guidance ports.
DtBoost::shared_ptr< DtSimTaskState > DtSimTaskStatePtr
Definition: taskAndTaskStateDefines.h:18
bool myFinalPointIsCloseToGround
If final point is close to the ground (&lt; 1 body height), then aggressiveness will be set low when mov...
Definition: rotaryWingMoveAlongControllerComponent.h:180
bool myVerticesChangedCallbackRegistered
Definition: rotaryWingMoveAlongControllerComponent.h:176
const DtRotaryWingTaskController & operator=(const DtRotaryWingTaskController &orig)
assignment operator; not implemented
virtual void tick()
This gives the thread of control to the component.
Instances of DtVectorOutputPort are output ports through which data producers can send a DtVector...
Definition: vectorIOPort.h:52
virtual bool createPortGroups()
Overridden to call createGuidancePortGroup()
File: simMsg.h.
Definition: simMessage.h:35
Contains class declarations for DtBooleanInputPort, DtBooleanOutputPort, and DtBooleanPortData.
Definition: boolIOPort.h:25
virtual void processEstimatedTotCalculation()
calculate estimated tot
DtVectorOutputPort * myCurrentVertexLocationOutputPort
Output Port Name: current-vertex-location .
Definition: rotaryWingMoveAlongControllerComponent.h:167
virtual DtSimTaskStatePtr currentTaskState() const
DtRotaryWingMoveAlongControllerComponent is a controller used to model the movement of a helicopter a...
Definition: rotaryWingMoveAlongControllerComponent.h:31
double myDistanceSquared
Definition: rotaryWingMoveAlongControllerComponent.h:169
The DtRotaryWingTaskController class creates the rotary-wing-control port group needed to control rot...
Definition: rotaryWingTaskController.h:30
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:67
virtual bool init()
Overridden to initialize myRotaryWingEntityState.
DtInputPortGroup is a data port group of a data consumer.
Definition: inputPortGroup.h:32
bool myRouteHasChanged
Definition: rotaryWingMoveAlongControllerComponent.h:175
const DtVrfObject * myRoute
This is looked up once per tick - assumed unchanging while we have control.
Definition: rotaryWingMoveAlongControllerComponent.h:173
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:103
virtual const char * type() const =0
Returns a string identifies the class type of component.
A DtTaskMsg is a DtRadioMsg with a pointer to a task.
Definition: taskMessage.h:19

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)