VR-Forces Developer's Guide
 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;
19 class DtRouteState;
20 class DtSimMessage;
21 
22 class DtBooleanInputPort;
23 class DtInputPortGroup;
24 class DtVectorOutputPort;
25 
32 {
33 
34 public:
35 
39  DtLocalObject* owner,
40  DtSimulationServices* 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 DtSimObject* obj, void * usr);
67  virtual void processRouteChanged(const DtSimObject* obj);
68 
72  static DtSimComponent * creator(const DtString& name,
73  DtLocalObject* owner,
74  DtSimulationServices* 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 
176 
180 };
181 
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
DtSimObjectReference myRoute
This is looked up once per tick - assumed unchanging while we have control.
Definition: rotaryWingMoveAlongControllerComponent.h:173
virtual void registerTaskMsgCallbacks()
DtInputPortGroup * myTerrainProximityPortGroup
Input Port Group Name: terrain-proximity-group Input Port Group Description:
Definition: rotaryWingMoveAlongControllerComponent.h:159
The DtSimObjectReference is a shared pointer that can be used amongst many object for access to the u...
Definition: simObjectReference.h:26
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:49
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:179
const DtRotaryWingTaskController & operator=(const DtRotaryWingTaskController &orig)
assignment operator; not implemented
virtual void tick()
This gives the thread of control to the component. The component is ticked once each simulation from ...
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\n Output Port Description: Specifies the current vertex ...
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:31
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:94
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:91
Represents a single simulation object in the exercise. Object may be VRF simulation, or non-VRF simulated, and may be simulated by the local sim engine, or by a remote sim engine. Only public (external) state of the object is available. All data is read-only. All access to data of the object is thread safe within the simulation frame.
Definition: simObject.h:88
virtual bool init()
Overridden to initialize myRotaryWingEntityState.
DtInputPortGroup is a data port group of a data consumer. It may contain any number of DtInputPorts a...
Definition: inputPortGroup.h:35
bool myRouteHasChanged
Definition: rotaryWingMoveAlongControllerComponent.h:175
virtual const char * type() const =0
Returns a string identifies the class type of component. Type values are defined in compTypes...
A DtTaskMsg is a DtRadioMsg with a pointer to a task. The type of the taskMsg is just the type of the...
Definition: taskMessage.h:21
A locally simulated VRF object. Holds all internal and external data for the object, and provides access to both the current frame and next frame state data for the object. All current frame data is read-only, and next-frame data can be written to. No thread safety guarantees are made on this object during the simulation frame and it should only be accessed by the thread that is simulating the object.
Definition: localObject.h:86

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)