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,
117 virtual luabind::object
getObject(lua_State* L,
int& index, std::string& message);
124 virtual void cancel(lua_State* L);
136 virtual void start();
154 double minDistanceFromStart,
155 double maxDistanceFromStart,
157 Points boundingArea =
Points(),
158 int numberOfPoints = 1,
159 double minDistanceBetweenPoints = 0.0,
161 bool isStrict =
true,
162 bool tightlyPack =
false,
163 bool needLos =
false,
164 Points leftOfLine =
Points(),
185 static boost::shared_ptr<DtLuaNavPointOfInterestJob> Make(
199 virtual luabind::object
getObject(lua_State* L,
int& index, std::string& message);
211 virtual void start();
241 virtual void addJob(boost::shared_ptr<DtLuaNavJob> job);
243 std::list<boost::shared_ptr<DtLuaNavJob> >
myJobs;