VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
rotaryWingLandingController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2005 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
12 
13 #pragma once
14 
15 
17 
18 class DtString;
19 class DtSimManager;
20 class DtSimMessage;
21 
35 {
36 public:
37 
41  DtVrfObject* owner,
42  DtSimManager* simManager,
43  DtComponentDescriptor* desc = 0,
44  DtReaderWriterRegistry* parentRegistry = 0);
45 
48 
50  virtual bool init();
51 
54  virtual void tick();
55 
58  virtual const char* type() const;
59 
60  virtual void clearTask();
61 
65  static DtSimComponent * creator(const DtString& name,
66  DtVrfObject* owner,
67  DtSimManager* simManager,
68  DtComponentDescriptor* desc = 0,
69  DtReaderWriterRegistry* parentRegistry = 0);
70 
71 protected:
73  virtual void registerTaskMsgCallbacks();
74 
76  static void landingTaskCallback(DtSimMessage* msg, void* usr);
77 
79  virtual void processLandingTask(DtSimMessage* msg);
80 
82  static void taskCompleteReportCallback(DtSimMessage* msg, void* usr);
83 
85  virtual void processTaskCompleteReport(DtSimMessage* msg);
86 
89  virtual bool startMovingToLandingPosition();
90 
97  virtual bool sendMoveSubtask(const DtUUID& destination);
98 
102  virtual void settle();
103 
105  virtual void doLanding();
106 
110  virtual bool landingPosition(DtVector& localPosition);
111 
113  virtual bool landingPointValid(const DtUUID&) const;
114 
118  virtual DtVector getApproachPosFromControlPoint(const DtVector& point);
119 
126  virtual void pilotProperties();
127 
128  static void objectAboutToBeRemovedCallback(const DtVrfObject* object, void* usr);
129  virtual void processObjectAboutToBeRemoved(const DtVrfObject* object);
130 
134  virtual double heightAboveGroundSupport() const;
135 
136 private:
141  const DtRotaryWingLandingController & orig);
145 
146 protected:
148 
151 };
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
#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()
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
const DtRotaryWingTaskController & operator=(const DtRotaryWingTaskController &orig)
assignment operator; not implemented
virtual void tick()
This gives the thread of control to the component.
DtRotaryWingLandingController models landing behavior for rotary-wing entities.
Definition: rotaryWingLandingController.h:34
File: simMsg.h.
Definition: simMessage.h:35
The DtRotaryWingTaskController class creates the rotary-wing-control port group needed to control rot...
Definition: rotaryWingTaskController.h:30
double myHeightAboveGroundSupport
Cached value from heightAboveGroundSupport.
Definition: rotaryWingLandingController.h:150
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.
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.
const DtVrfObject * myLandingPoint
Definition: rotaryWingLandingController.h:147

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)