VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
humanFleeController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
9 
12 
13 #pragma once
14 
17 #include <vrfNavigation/navArea.h>
18 
21 class DtScriptedTaskTask;
23 class DtHumanFleePSR;
24 
30 {
31 private:
38 public:
40  DtHumanFleeController(const DtString& name, DtVrfObject* owner,
41  DtSimManager* simManager, DtComponentDescriptor* desc=0, DtReaderWriterRegistry *parentRegistry=0);
42 
44  virtual ~DtHumanFleeController();
45 
47  virtual bool init();
48 
50  virtual const char* type() const;
51 
53  virtual void tick();
54 
59  static void fleeCallback(DtSimMessage * msg, void * usr);
60 
62  static DtSimComponent* creator(const DtString& name, DtVrfObject* owner, DtSimManager* simManager,
63  DtComponentDescriptor* desc=0, DtReaderWriterRegistry* parentRegistry=0);
64 
65 protected:
66  virtual bool usingNavBot() const;
67 
68  virtual void processFleeTask(DtSimMessage * msg);
69 
71  virtual void registerTaskMsgCallbacks();
72 
73  static void navAreaChangedCallback(void* usr);
74  virtual void processNavAreaChanged();
75 
77  virtual DtVector fleeFromPoint(DtScriptedTaskTask*);
78 
79  virtual void clearTask();
80 
84  virtual std::vector<DtVector> searchForFleePoints(double radius, double postSpacing, const DtVector& localFrom,
85  bool stopWhenHidden = false);
86 
89  static DtOnGraphVertexVisitedResult fleePointCheckCallback(const DtVector& localCheck, void* usr);
90  virtual DtOnGraphVertexVisitedResult processFleePoint(const DtVector& localCheck);
91 
93  static void fleeCostPointModificationCallback(const DtVector& localCheck, float* costmod, void* usr);
94  virtual void processFleeCostPointModification(const DtVector& localCheck, float* costmod);
95 
97  static void objectAboutToBeRemoved(DtVrfObject * msg, void * usr);
98  virtual void processObjectAboutToBeRemoved(DtVrfObject * msg);
99 
102  virtual void findBestFleePath(const std::vector<DtVector>& points);
103 
104  virtual void offsetForEntity(DtVector& localPosition) const;
105 
107  virtual void processFleeTask(DtScriptedTaskTask*);
108 
109  virtual void showFleePoint();
110 
111  virtual void preFirstTickInit();
112  virtual bool createPSR();
113 
114  virtual void moveToFleePoint(const DtVector&);
115 
116  virtual bool entityInDestination(const DtVector& dest);
117 
118  static void taskCompleteReportCallback(DtSimMessage* msg, void* usr);
119  virtual void processTaskCompleteReport(DtSimMessage* msg);
120 
121 protected:
127  std::vector<DtUUID> myFleeFrom;
131 
133 
135 
136  std::vector<DtVector> myFleePositions;
137 };

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)