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 = nullptr,
42  DtReaderWriterRegistry* parentRegistry = nullptr);
43 
45  virtual ~DtRotaryWingMoveAlongControllerComponent() override;
46 
47 
49  virtual bool init() override;
50 
52  virtual void tick() override;
53 
56  virtual const char* type() const override;
57 
58  static void moveAlongCallback(DtSimMessage* msg, void* usr, DtSimTaskStatePtr taskStatePtr);
59 
60  virtual DtSimTaskStatePtr currentTaskState() const override;
61 
63  virtual void registerTaskMsgCallbacks() override;
64 
66  virtual void processRouteChanged(const DtSimObject* obj);
67 
71  static DtSimComponent * creator(const DtString& name,
72  DtLocalObject* owner,
73  DtSimulationServices* simManager,
74  DtComponentDescriptor* desc = nullptr,
75  DtReaderWriterRegistry* parentRegistry = nullptr);
76 
78  virtual bool setupRoute();
79 
82  virtual bool isMovingToward(const DtVector& ENUpoint);
83 
85  virtual void routeLogic();
86 
89  virtual void desiredVelocityAndPosition();
90 
91 
92 protected:
93 
95  virtual bool createPortGroups() override;
96 
98  virtual bool createPorts() override;
99 
100  virtual void processMoveAlong(const DtTaskMessage& msg, DtSimTaskStatePtr taskStatePtr);
101 
106  const DtRotaryWingMoveAlongControllerComponent& orig) = delete;
107 
110  const DtRotaryWingMoveAlongControllerComponent& orig) = delete;
111 
127  virtual void pilotProperties();
128 
132  virtual void buildLocalRoute();
133 
136  virtual void emptyVertexList();
137 
139  static DtReaderWriter* provideNextRoutePointIndex(void* c);
140 
141  virtual void processEstimatedTotCalculation() override;
142 
143  virtual void clearTask() override;
144 
145 protected:
146 
148 
149  DtBooleanInputPort* myTerrainProximityInputPort;
155 
160 
167 
169 
173 
175 
179 };
180 
#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:172
virtual void registerTaskMsgCallbacks()
DtInputPortGroup * myTerrainProximityPortGroup
Input Port Group Name: terrain-proximity-group Input Port Group Description:
Definition: rotaryWingMoveAlongControllerComponent.h:158
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 const char * type() const override=0
Returns a string identifies the class type of component. Type values are defined in compTypes...
virtual bool init() override
Overridden to initialize myRotaryWingEntityState.
Definition: readerWriterRegistry.h:39
std::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:178
const DtRotaryWingTaskController & operator=(const DtRotaryWingTaskController &orig)
assignment operator; not implemented
Instances of DtVectorOutputPort are output ports through which data producers can send a DtVector...
Definition: vectorIOPort.h:52
File: simMsg.h.
Definition: simMessage.h:35
virtual void clearTask() override
Overridden to deactivate the port group when this controller completes a task.
Contains class declarations for DtBooleanInputPort, DtBooleanOutputPort, and DtBooleanPortData.
Definition: boolIOPort.h:25
virtual void processEstimatedTotCalculation()
calculate estimated tot
virtual bool createPorts() override
Overridden to create the guidance ports.
DtVectorOutputPort * myCurrentVertexLocationOutputPort
Output Port Name: current-vertex-location\n Output Port Description: Specifies the current vertex ...
Definition: rotaryWingMoveAlongControllerComponent.h:166
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:168
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:96
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:89
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:80
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:174
virtual void tick() override
This gives the thread of control to the component. The component is ticked once each simulation from ...
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
virtual bool createPortGroups() override
Overridden to call createGuidancePortGroup()
A locally simulated VRF object.
Definition: localObject.h:98

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)