VR-Forces 4.1.1 Class Documentation
diGuyController.h
Go to the documentation of this file.
1  /******************************************************************************
2 ** Copyright (c) 2012 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;
32 
34 {
42 };
43 
57 {
58 
59 public:
60 
63  DtDIGuyController(const DtString& name,
64  DtVrfObject* owner,
65  DtSimManager* simManager,
66  DtComponentDescriptor* desc = 0,
67  DtReaderWriterRegistry* parentRegistry = 0);
68 
70  virtual ~DtDIGuyController();
71 
74  virtual DtString type() const;
75 
78  virtual bool init();
79 
85  virtual bool createPSR();
86 
90  virtual void preFirstTickInit();
91 
93  virtual void tick();
94 
98  virtual void taskedTick(DtTime & dT);
99 
102  virtual bool intrinsicOverride();
103 
107  virtual bool intrinsicTick(DtLifeformStaticPosture post,
108  double speed,DtWeaponState weapon, DtString & demeanor);
109 
111  virtual bool tickWhileDestroyed() const;
112 
113  virtual DtBooleanOutputPort * movementDisablePort() const;
114 
115  virtual void setCurrentAnimation(DtDIGuyAnimation * animation);
116 
119  virtual void sendSetPosture(DtLifeformState post);
120 
122  static void setAppearanceCallback(DtSimMessage * msg, void * usr);
123  virtual void processSetCharacterAppearance(DtSimMessage* msg);
124 
125  static void setRestoreCallback(DtSimMessage * msg, void * usrData);
126  virtual void processSetRestore(DtSimMessage * msg);
127 
128  static void animationTaskCallback(DtSimMessage * msg, void * usrData);
129  virtual void processAnimationTask(DtSimMessage * msg);
130 
133  virtual void clearTask();
134  virtual void taskComplete(bool success = true);
135  virtual void reset();
136 
137  virtual void updateAnimationState(DtLifeformStaticPosture post,
138  double speed,DtWeaponState weapon, const DtString & demeanor);
139 
141  virtual DtDIGuyDirectionType directionStringToEnum(const DtString & direction);
142 
146  static DtSimComponent * creator(const DtString& name,
147  DtVrfObject* owner,
148  DtSimManager* simManager,
149  DtComponentDescriptor* desc = 0,
150  DtReaderWriterRegistry* parentRegistry = 0);
151 
152 protected:
153 
155  virtual void registerRadioMessageCallbacks();
157  virtual void registerTaskMsgCallbacks();
158 
159 protected:
162 
164  DtDIGuyController(const DtDIGuyController & orig);
165 
168  orig);
169 
171  virtual bool createPorts();
172 
175  virtual bool createCollisionPort();
176  virtual bool createAimDirectionPort();
177  virtual bool createMovementDisablePort();
178 
179  virtual bool determineDemeanor(DtWeaponState weapon, DtString & demeanor);
180 
181  virtual void determineDirection();
182 
183  virtual void updatePosition(const DtTime & dT,DtTaitBryan & localOrientation);
184 
185 protected:
186 
187  //const DtDiGuyControllerDescriptor* myDiGuyDescriptor;
194  DtTaitBryan myTaskedOrientation;
195 
200 
209 
213 
221 
229 
240 
244 };

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)