VR-Forces 4.6.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
humanCoverPointController.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;
27 class DtVectorOutputPort;
28 
34 {
35 private:
42 
43 public:
46  DtSimManager* simManager, DtComponentDescriptor* desc=0, DtReaderWriterRegistry *parentRegistry=0);
47 
49  virtual ~DtHumanCoverPointController();
50 
52  virtual bool init();
53 
55  virtual const char* type() const;
56 
58  virtual void tick();
59 
64  static void coverPointCallback(DtSimMessage * msg, void * usr);
65 
67  static DtSimComponent* creator(const DtString& name, DtVrfObject* owner, DtSimManager* simManager,
68  DtComponentDescriptor* desc=0, DtReaderWriterRegistry* parentRegistry=0);
69 
70 protected:
71  virtual bool usingNavBot() const;
72 
73  virtual void processCoverPointTask(DtSimMessage * msg);
74 
76  virtual void registerTaskMsgCallbacks();
77 
78  static void navAreaChangedCallback(void* usr);
79  virtual void processNavAreaChanged();
80 
82  virtual DtVector findCoverFromPoint(DtScriptedTaskTask*);
83 
84  virtual void clearTask();
85 
88  virtual bool findCoverPoint(DtVector&);
89 
92  static DtOnGraphVertexVisitedResult coverPointCheckCallback(const DtVector& localCheck, void* usr);
93  virtual DtOnGraphVertexVisitedResult processCoverPoint(const DtVector& localCheck);
94 
96  static void coverPointCostPointModificationCallback(const DtVector& localCheck, float* costmod, void* usr);
97  virtual void processCoverPointCostPointModification(const DtVector& localCheck, float* costmod);
98 
100  static void objectAboutToBeRemoved(DtVrfObject * msg, void * usr);
101  virtual void processObjectAboutToBeRemoved(DtVrfObject * msg);
102 
103  virtual void offsetForEntity(DtVector& localPosition) const;
104 
105  virtual void useNavBotData();
106 
107  virtual bool createPortGroups();
108  virtual bool createPorts();
109  virtual void stop(bool success);
110  virtual void moveToDestination();
111 
113  virtual void processCoverPointTask(DtScriptedTaskTask*);
114 
115  virtual void showCoverPoint();
116 
117  virtual void preFirstTickInit();
118  virtual bool createPSR();
119 
121  virtual bool destinationIsInsideObstruction(const DtVector& localDestination);
122 
123  virtual void setupPathFollowing();
124 
126  virtual DtVector targetPoint(const DtVector& from, double heading, double distance) const;
127 
129  virtual bool hasLosTo(const DtVector& origin, double headingOffOfOrigin, double offsetFromOrigin,
130  double headingToTargetPoint, double distanceToTargetPoint);
131 
132  virtual bool entityInDestination(const DtVector& dest);
133 
134  static void navigationInterfaceChanged(DtVrfObject*, void* usr);
135  virtual void processNavigationInterfaceChanged(DtVrfObject*);
136 
137 protected:
141  std::vector<DtUUID> myFindCoverFrom;
144 
152 
156 
159 
166 
173 
175 
178  int myOnPass;
184  boost::unordered_set<std::string> myCheckedPoints;
185 
187 };

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)