VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
humanPatrolController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2004 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
12 
13 #pragma once
14 
17 
18 class DtFormationState;
19 class DtHumanPatrolPSR;
20 class DtVrfObjectManager;
21 
33 {
34 public:
35 
37  {
38  DtMovingAlongRoute = 0,
39  DtReversingDirection = 1
40  };
41 
44  DtHumanPatrolController(const DtString& name,
45  DtVrfObject* owner,
46  DtSimManager* simManager,
47  DtComponentDescriptor* desc = 0,
48  DtReaderWriterRegistry* parentRegistry = 0);
49 
51  virtual ~DtHumanPatrolController();
52 
55  virtual DtString type() const;
56 
59  virtual bool init();
60 
62  virtual void registerTaskMsgCallbacks();
63 
64  static void patrolCallback(DtSimMessage* msg, void* usr, DtSimTaskStatePtr taskStatePtr);
65 
66  virtual DtSimTaskStatePtr currentTaskState() const;
67 
72  static void taskCompleteReportCallback(DtSimMessage * msg, void * usr);
73 
77  static DtSimComponent * creator(const DtString& name,
78  DtVrfObject* owner,
79  DtSimManager* simManager,
80  DtComponentDescriptor* desc = 0,
81  DtReaderWriterRegistry* parentRegistry = 0);
82 
83 protected:
84  virtual void processPatrol(const DtTaskMessage& msg, DtSimTaskStatePtr taskStatePtr);
85 
90  virtual bool processPatrolTwoPointsTask(DtSimTask* task, DtSimTaskStatePtr taskStatePtr);
91 
95  virtual bool processPatrolAlongTask(DtSimTask* task, DtSimTaskStatePtr taskStatePtr);
96 
104  virtual void onTaskComplete(DtSimMessage * msg);
105 
113  virtual bool moveTo(const DtString& controlPointName);
114 
120  virtual bool createPSR();
121 
129  virtual DtIteratorDirection initialTraversalDirection(
130  const DtString& routeName, const DtVector& initialWorldPosition) const;
131 
140  virtual void sendMoveAlongToSelf(const DtString& routeName,
141  enum DtIteratorDirection traversalDirection, bool startAtClosestPoint);
142 
143 private:
144 
147 
150 
151 protected:
152 
156 };

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)