VR-Forces 4.2 Class Documentation
diGuyController.h
Go to the documentation of this file.
1  /******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 
12 #pragma once
13 
15 #include "vrfutil/vlClock.h"
16 #include <vl/hostStructs.h>
17 #include "vrfobjcore/boolIOPort.h"
18 
20 
21 class DtSimManager;
22 class DtSimMessage;
24 class DtDIGuyAnimation;
29 class DtInputPortGroup;
30 class DtAnalogInputPort;
31 class DtBooleanInputPort;
33 
35 {
43 };
44 
58 {
59 
60 public:
61 
64  DtDIGuyController(const DtString& name,
65  DtVrfObject* owner,
66  DtSimManager* simManager,
67  DtComponentDescriptor* desc = 0,
68  DtReaderWriterRegistry* parentRegistry = 0);
69 
71  virtual ~DtDIGuyController();
72 
75  virtual DtString type() const;
76 
79  virtual bool init();
80 
86  virtual bool createPSR();
87 
91  virtual void preFirstTickInit();
92 
94  virtual void tick();
95 
99  virtual void taskedTick(DtTime & dT);
100 
103  virtual bool intrinsicOverride();
104 
108  virtual bool intrinsicTick(DtLifeformStaticPosture post,
109  double speed,DtWeaponState weapon, DtString & demeanor);
110 
112  virtual bool tickWhileDestroyed() const;
113 
114  virtual void setCurrentAnimation(DtDIGuyAnimation * animation);
115 
118  virtual void sendSetPosture(DtLifeformState post);
119 
121  static void setAppearanceCallback(DtSimMessage * msg, void * usr);
122  virtual void processSetCharacterAppearance(DtSimMessage* msg);
123 
124  static void setRestoreCallback(DtSimMessage * msg, void * usrData);
125  virtual void processSetRestore(DtSimMessage * msg);
126 
127  static void animationTaskCallback(DtSimMessage * msg, void * usrData);
128  virtual void processAnimationTask(DtSimMessage * msg);
129 
132  virtual void clearTask();
133  virtual void taskComplete(bool success = true);
134  virtual void reset();
135 
136  virtual void updateAnimationState(DtLifeformStaticPosture post,
137  double speed,DtWeaponState weapon, const DtString & demeanor);
138 
140  virtual DtDIGuyDirectionType directionStringToEnum(const DtString & direction);
141 
145  static DtSimComponent * creator(const DtString& name,
146  DtVrfObject* owner,
147  DtSimManager* simManager,
148  DtComponentDescriptor* desc = 0,
149  DtReaderWriterRegistry* parentRegistry = 0);
150 
151 protected:
152 
154  virtual void registerRadioMessageCallbacks();
156  virtual void registerTaskMsgCallbacks();
157 
158  virtual DtVector groundClamp(double heading, const DtVector& location) const;
159 
160 protected:
163 
165  DtDIGuyController(const DtDIGuyController & orig);
166 
169  orig);
170 
172  virtual bool createPortGroups();
173 
175  virtual bool createPorts();
176 
179  virtual bool createCollisionPort();
180  virtual bool createAimDirectionPort();
181 
182  virtual bool determineDemeanor(DtWeaponState weapon, DtString & demeanor);
183 
184  virtual void determineDirection();
185 
186  virtual void updatePosition(const DtTime & dT,DtTaitBryan & localOrientation);
187 
188 protected:
189 
190  //const DtDiGuyControllerDescriptor* myDiGuyDescriptor;
197  DtTaitBryan myTaskedOrientation;
198 
203 
212 
216 
224 
232 
237 
240 };

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)