VR-Forces 4.6.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties 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  virtual bool createPorts();
150 
152  static void objectAboutToBeRemovedCallback(DtVrfObject*, void* usr);
153  virtual void processObjectAboutToBeRemoved(DtVrfObject*);
154 
155 protected:
156 
158 
161 
163 
164  DtTrigonometricSmoother* myLeaderSmoother;
165 
167 
169 
171 
174 };
175 

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)