VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
groundFollowEntityController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 
12 #pragma once
13 
15 
16 #include <vlutil/vlString.h>
17 #include <matrix/vlVector.h>
18 #include <vlpi/trigonometricSmoother.h>
19 
20 class DtSimManager;
21 class DtSimMessage;
22 class DtStringOutputPort;
24 
35 {
36 
37 public:
38 
42  DtVrfObject* owner,
43  DtSimManager* simManager,
44  DtComponentDescriptor* desc = 0,
45  DtReaderWriterRegistry* parentRegistry = 0);
46 
49 
52  virtual const char* type() const;
53 
54 
58  static void followEntityCallback(DtSimMessage* msg, void* usrData);
59 
60  virtual void processFollowEntityTask(DtSimMessage* msg);
61 
62  virtual DtVector predictedDestination();
63 
68  virtual const DtUUID& entityToFollow();
69  virtual void setEntityToFollow(const DtUUID& entity);
70 
73  virtual const DtVector& offsetVector() const;
74  virtual void setOffsetVector(const DtVector& offsets);
75 
79  static DtSimComponent * creator(const DtString& name,
80  DtVrfObject* owner,
81  DtSimManager* simManager,
82  DtComponentDescriptor* desc = 0,
83  DtReaderWriterRegistry* parentRegistry = 0);
84 
86  virtual void registerTaskMsgCallbacks();
87 
91  virtual bool setupDestination();
92 
95  virtual bool passedDestination();
96 
99  virtual double findDesiredSpeed();
100 
104  virtual double findDesiredHeading();
105 
111  virtual void setupDestinationVector() const;
112 
118 
122  virtual void stop();
123 
125  virtual void tick();
126 
128  virtual bool usingNavBot(){return false;}
129 
131  virtual void updateNavBotDestination();
132 
134  virtual bool needToUpdateNavInterfaceDestination(const DtVector& newLocalDestination);
135 
136 protected:
140 
143  orig);
144 
148 
149  bool createPorts();
150 
151 protected:
152 
154 
157 
159 
160  DtTrigonometricSmoother* myLeaderSmoother;
161 
163 
165 
167 
169 };
170 

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)