19 #include <luabind/luabind.hpp>
29 typedef std::list<DtLocation3D>
Points;
38 virtual luabind::object
getObject(lua_State* L,
int& index, std::string& message) = 0;
41 virtual luabind::object
getDebugObject(lua_State* L) {
return luabind::newtable(L); };
44 virtual void cancel(lua_State* L) {};
71 Points boundingArea = Points());
77 virtual void taskComplete() = 0;
95 static boost::shared_ptr<DtLuaNavRandomPointJob> Make(
99 double minDistanceFromStart,
100 double maxDistanceFromStart,
103 int numberOfPoints = 1,
104 double minDistanceBetweenPoints = 0.0,
106 bool isStrict =
true,
107 bool tightlyPack =
false,
108 bool needLos =
false,
109 bool groundClamp =
false,
120 virtual luabind::object
getObject(lua_State* L,
int& index, std::string& message);
127 virtual void cancel(lua_State* L);
139 virtual void start();
157 double minDistanceFromStart,
158 double maxDistanceFromStart,
160 Points boundingArea =
Points(),
161 int numberOfPoints = 1,
162 double minDistanceBetweenPoints = 0.0,
164 bool isStrict =
true,
165 bool tightlyPack =
false,
166 bool needLos =
false,
167 bool groundClamp =
false,
168 Points leftOfLine =
Points(),
191 static boost::shared_ptr<DtLuaNavPointOfInterestJob> Make(
205 virtual luabind::object
getObject(lua_State* L,
int& index, std::string& message);
217 virtual void start();
245 static boost::shared_ptr<DtLuaNavCoverPointJob> Make(
251 double distanceFromThreat,
253 unsigned numberOfPoints);
262 virtual luabind::object
getObject(lua_State* L,
int& index, std::string& message);
274 virtual void start();
294 double distanceFromThreat,
296 unsigned numberOfPoints);
312 static boost::shared_ptr<DtLuaNavFindPathJob> Make(
DtSimManager* mgr,
316 bool useAbstractGraphs,
317 const DtLocation3D& avoidLocation,
double avoidanceRadius);
326 virtual luabind::object
getObject(lua_State* L,
int& index, std::string& message);
338 virtual void start();
356 bool useAbstractGraphs,
357 const DtLocation3D& avoidLocation,
double avoidanceRadius);
372 virtual void addJob(boost::shared_ptr<DtLuaNavJob> job);
374 std::list<boost::shared_ptr<DtLuaNavJob> >
myJobs;