VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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/simClock.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 
125  static void setHandItemCallback(DtSimMessage * msg, void * usr);
126  virtual void processSetCharacterHandItem(DtSimMessage* msg);
127 
128  static void setRestoreCallback(DtSimMessage * msg, void * usrData);
129  virtual void processSetRestore(DtSimMessage * msg);
130 
131  static void animationTaskCallback(DtSimMessage * msg, void * usrData);
132  virtual void processAnimationTask(DtSimMessage * msg);
133 
136  virtual void clearTask();
137  virtual void taskComplete(bool success = true);
138  virtual void reset();
139 
140  virtual void updateAnimationState(DtLifeformStaticPosture post,
141  double speed,DtWeaponState weapon, const DtString & demeanor);
142 
144  virtual DtDiGuyDirectionType directionStringToEnum(const DtString & direction);
145 
149  static DtSimComponent * creator(const DtString& name,
150  DtVrfObject* owner,
151  DtSimManager* simManager,
152  DtComponentDescriptor* desc = 0,
153  DtReaderWriterRegistry* parentRegistry = 0);
154 
155 protected:
156 
158  virtual void registerRadioMessageCallbacks();
160  virtual void registerTaskMsgCallbacks();
161 
164  virtual void determineInitialHandItem();
165 
166  virtual DtVector groundClamp(double heading, const DtVector& location) const;
167 
168 protected:
171 
173  DtDiGuyController(const DtDiGuyController & orig);
174 
177  orig);
178 
180  virtual bool createPortGroups();
181 
183  virtual bool createPorts();
184 
187  virtual bool createCollisionPort();
188  virtual bool createAimDirectionPort();
189 
190  virtual bool determineDemeanor(DtWeaponState weapon, DtString & demeanor);
191 
192  virtual void determineDirection();
193 
194  virtual void updatePosition(const DtTime & dT,DtTaitBryan & localOrientation);
195 
196 protected:
197 
198  //const DtDiGuyControllerDescriptor* myDiGuyDescriptor;
205  DtTaitBryan myTaskedOrientation;
206 
211 
220 
224 
232 
240 
245 
248 
250 };

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)