18 #include <luabind/luabind.hpp>
27 typedef std::list<DtLocation3D>
Points;
36 virtual luabind::object
getObject(lua_State* L,
int& index, std::string& message) = 0;
39 virtual luabind::object
getDebugObject(lua_State* L) {
return luabind::newtable(L); };
42 virtual void cancel(lua_State* L) {};
69 Points boundingArea = Points());
75 virtual void taskComplete() = 0;
93 static boost::shared_ptr<DtLuaNavRandomPointJob> Make(
97 double minDistanceFromStart,
98 double maxDistanceFromStart,
101 int numberOfPoints = 1,
102 double minDistanceBetweenPoints = 0.0,
104 bool isStrict =
true,
105 bool tightlyPack =
false,
106 bool needLos =
false,
107 bool groundClamp =
false,
118 virtual luabind::object
getObject(lua_State* L,
int& index, std::string& message);
125 virtual void cancel(lua_State* L);
137 virtual void start();
155 double minDistanceFromStart,
156 double maxDistanceFromStart,
158 Points boundingArea =
Points(),
159 int numberOfPoints = 1,
160 double minDistanceBetweenPoints = 0.0,
162 bool isStrict =
true,
163 bool tightlyPack =
false,
164 bool needLos =
false,
165 bool groundClamp =
false,
166 Points leftOfLine =
Points(),
188 static boost::shared_ptr<DtLuaNavPointOfInterestJob> Make(
202 virtual luabind::object
getObject(lua_State* L,
int& index, std::string& message);
214 virtual void start();
244 virtual void addJob(boost::shared_ptr<DtLuaNavJob> job);
246 std::list<boost::shared_ptr<DtLuaNavJob> >
myJobs;