19 #include <luabind/luabind.hpp>
30 typedef std::list<DtLocation3D>
Points;
39 virtual luabind::object
getObject(lua_State* L,
int& index, std::string& message) = 0;
42 virtual luabind::object
getDebugObject(lua_State* L) {
return luabind::newtable(L); };
45 virtual void cancel(lua_State* L) {};
72 Points boundingArea = Points());
78 virtual void taskComplete() = 0;
96 static boost::shared_ptr<DtLuaNavRandomPointJob> Make(
100 double minDistanceFromStart,
101 double maxDistanceFromStart,
104 int numberOfPoints = 1,
105 double minDistanceBetweenPoints = 0.0,
107 bool isStrict =
true,
108 bool tightlyPack =
false,
109 bool needLos =
false,
110 bool groundClamp =
false,
121 virtual luabind::object
getObject(lua_State* L,
int& index, std::string& message);
128 virtual void cancel(lua_State* L);
140 virtual void start();
158 double minDistanceFromStart,
159 double maxDistanceFromStart,
161 Points boundingArea =
Points(),
162 int numberOfPoints = 1,
163 double minDistanceBetweenPoints = 0.0,
165 bool isStrict =
true,
166 bool tightlyPack =
false,
167 bool needLos =
false,
168 bool groundClamp =
false,
169 Points leftOfLine =
Points(),
193 static boost::shared_ptr<DtLuaNavPointOfInterestJob> Make(
207 virtual luabind::object
getObject(lua_State* L,
int& index, std::string& message);
219 virtual void start();
245 static boost::shared_ptr<DtLuaNavCoverPointJob> Make(
251 double distanceFromThreat,
253 unsigned numberOfPoints,
254 unsigned int queryQueuePriority);
263 virtual luabind::object
getObject(lua_State* L,
int& index, std::string& message);
275 virtual void start();
292 double distanceFromThreat,
294 unsigned numberOfPoints,
295 unsigned int queryQueuePriority);
313 static boost::shared_ptr<DtLuaNavFindPathJob> Make(
DtSimManager* mgr,
317 bool useAbstractGraphs,
318 const DtLocation3D& avoidLocation,
double avoidanceRadius,
328 virtual luabind::object
getObject(lua_State* L,
int& index, std::string& message);
343 virtual void start();
358 bool useAbstractGraphs,
359 const DtLocation3D& avoidLocation,
double avoidanceRadius,
380 virtual void addJob(boost::shared_ptr<DtLuaNavJob> job);
382 std::list<boost::shared_ptr<DtLuaNavJob> >
myJobs;
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
bool myGenerated
Definition: luaNavJob.h:369
const DtString DtLuaNavCoverPointJobType
Definition: asciiSerializable.h:23
const char DtMovementModeFree[]
Definition: movementModes.h:11
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
Points myDebugPoints
Definition: luaNavJob.h:371
int myNavTag
Definition: luaNavJob.h:236
Severity
Definition: algorithmManager.h:29
virtual void addJob(boost::shared_ptr< DtLuaNavJob > job)
Lua object class which represents a feature navigation task.
Definition: luaNavJob.h:190
double myMinDistanceBetweenPoints
Definition: luaNavJob.h:175
bool myRanOnce
Definition: luaNavJob.h:185
DtLocation3D myThreatPoint
Definition: luaNavJob.h:300
std::list< DtLocation3D > Points
Definition: luaNavJob.h:30
Lua object class which finds a path to the specified location.
Definition: luaNavJob.h:310
This is the DtVrfObjectNavInterface subclass for objects which are actively querying the navigation s...
Definition: activeBotNavInterface.h:26
virtual void run(const DtAlgorithmManager &mgr=DtAlgorithmManager())=0
unsigned myQueryQueuePriority
Definition: luaNavJob.h:303
Lua object class which represents a feature navigation task.
Definition: luaNavJob.h:27
bool myIsStrict
Definition: luaNavJob.h:177
virtual luabind::object getObject(lua_State *L, int &index, std::string &message)=0
Retrieve value.
Points myPathPoints
Definition: luaNavJob.h:363
Definition: asciiSerializable.h:33
Interface for getting asynchronously computed data into Lua.
Definition: luaAsyncJob.h:29
virtual bool deserialize(const DtString &)=0
This function should take the string that was serialized via serialize() and fill this object with th...
unsigned myNumberOfPoints
Definition: luaNavJob.h:302
int myNumberOfPoints
Definition: luaNavJob.h:172
virtual DtString objectType() const
Should return the string name of this object.
Definition: luaNavJob.h:137
boost::shared_ptr< DtCoverPointFinder > myPendingCoverPointFinder
Definition: luaNavJob.h:306
std::list< boost::shared_ptr< DtLuaNavJob > > myJobs
Definition: luaNavJob.h:382
virtual void taskComplete()=0
Called by task object whenever it is done.
virtual DtString serialize()=0
The following characters are reserved and cannot be used in serialization: '|', ':'.
const DtVrfObject * myParentObject
Definition: luaNavJob.h:184
double myAvoidanceRadius
Definition: luaNavJob.h:366
double myThreatRadius
Definition: luaNavJob.h:297
virtual void cancel(lua_State *L)
Cancels the job. By default this is a no-op, we let the job finish on its own.
Definition: luaNavJob.h:45
virtual DtString objectType() const
Should return the string name of this object.
Definition: luaNavJob.h:340
DtLocation3D myStartPoint
Definition: luaNavJob.h:82
Points myBoundingArea
Definition: luaNavJob.h:84
std::set< DtCoverPoint > myResultPoints
Definition: luaNavJob.h:301
DtLocation3D myEndPoint
Definition: luaNavJob.h:362
Definition: asyncJobServer.h:37
bool myGenerated
Definition: luaNavJob.h:186
DtLocation3D myAvoidLocation
Definition: luaNavJob.h:365
Lua object class for finding random points within a nav area.
Definition: luaNavJob.h:93
double myMinDistanceFromStart
Definition: luaNavJob.h:173
bool myGenerated
Definition: luaNavJob.h:238
bool myGenerated
Definition: luaNavJob.h:304
bool myUseAbstractGraphs
Definition: luaNavJob.h:364
DtLocation3D myResultPoint
Definition: luaNavJob.h:237
#define DT_DLL_vrfLua
This file is used to determine how to build.
Definition: vrfLuaDefines.h:25
Lua object class which finds a cover point from the specified location.
Definition: luaNavJob.h:242
const DtString DtLuaNavRandomPointJobType
Definition: asciiSerializable.h:22
double myMaxDistanceFromStart
Definition: luaNavJob.h:174
std::string myMessage
Definition: luaNavJob.h:86
DtLocation3D myAccessPoint
Definition: luaNavJob.h:83
boost::shared_ptr< DtNavAreaQuery > Ptr
Definition: navArea.h:59
virtual luabind::object getObject(lua_State *L, int &index, std::string &message)=0
Retrieve current value.
double myRange
Definition: luaNavJob.h:299
Points myResultPoints
Definition: luaNavJob.h:182
virtual DtString objectType() const =0
Should return the string name of this object.
bool myTightlyPack
Definition: luaNavJob.h:178
double myDistanceFromThreat
Definition: luaNavJob.h:298
double myPathCost
Definition: luaNavJob.h:368
bool myNeedLos
Definition: luaNavJob.h:179
bool myGroundClamp
Definition: luaNavJob.h:180
virtual luabind::object getDebugObject(lua_State *L)
Retrieve debug data, if available. Default behavior is an empty table.
Definition: luaNavJob.h:42
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:103
Points myLeftOfLine
Definition: luaNavJob.h:181
DtString myNavigationProfile
Definition: luaNavJob.h:81
virtual DtString objectType() const
Should return the string name of this object.
Definition: luaNavJob.h:272
DtNavAreaQuery::Ptr myQuery
Definition: luaNavJob.h:88
Definition: luaNavJob.h:374
Points myDebugPoints
Definition: luaNavJob.h:183
virtual DtString objectType() const
Should return the string name of this object.
Definition: luaNavJob.h:216
Used to find the best cover point(s) to take cover from attacker at a specified location.
Definition: coverPointFinder.h:36
DtActiveBotNavInterface * myNavIf
Definition: luaNavJob.h:367
General interface which can be passed into an algorithm to control its behavior.
Definition: algorithmManager.h:24
A location3D is a point in space, i.e. a geocentric coordinate.
Definition: scriptGeometry.h:22
DtString myPlacementRestriction
Definition: luaNavJob.h:176