20 #include <luabind/luabind.hpp>
30 typedef std::list<DtLocation3D>
Points;
39 virtual luabind::object
getObject(lua_State* L,
int& index, std::string& message)
override = 0;
42 virtual luabind::object
getDebugObject(lua_State* L)
override {
return luabind::newtable(L); };
45 virtual void cancel(lua_State* L)
override {};
78 virtual void taskComplete() = 0;
87 bool myStarted =
false;
97 static std::shared_ptr<DtLuaNavRandomPointJob> Make(
101 double minDistanceFromStart,
102 double maxDistanceFromStart,
105 int numberOfPoints = 1,
106 double minDistanceBetweenPoints = 0.0,
108 bool isStrict =
true,
109 bool tightlyPack =
false,
110 bool needLos =
false,
111 bool groundClamp =
false,
122 virtual luabind::object
getObject(lua_State* L,
int& index, std::string& message)
override;
129 virtual void cancel(lua_State* L)
override;
141 virtual void start()
override;
148 virtual bool beginPointGeneration();
163 double minDistanceFromStart,
164 double maxDistanceFromStart,
167 int numberOfPoints = 1,
168 double minDistanceBetweenPoints = 0.0,
170 bool isStrict =
true,
171 bool tightlyPack =
false,
172 bool needLos =
false,
173 bool groundClamp =
false,
203 static std::shared_ptr<DtLuaNavPointOfInterestJob> Make(
217 virtual luabind::object
getObject(lua_State* L,
int& index, std::string& message)
override;
229 virtual void start()
override;
255 static std::shared_ptr<DtLuaNavCoverPointJob> Make(
261 double distanceFromThreat,
263 unsigned numberOfPoints,
264 unsigned int queryQueuePriority);
273 virtual luabind::object
getObject(lua_State* L,
int& index, std::string& message)
override;
285 virtual void start()
override;
302 double distanceFromThreat,
304 unsigned numberOfPoints,
305 unsigned int queryQueuePriority);
347 virtual luabind::object
getObject(lua_State* L,
int& index, std::string& message)
override;
362 virtual void start()
override;
397 static std::shared_ptr<DtLuaNavPlaceFormationJob> Make(
400 std::vector<DtLocation3D> formationPoints,
410 virtual luabind::object
getObject(lua_State* L,
int& index, std::string& message)
override;
422 virtual void start()
override;
436 std::vector<DtLocation3D> formationPoints,
451 virtual void addJob(std::shared_ptr<DtLuaNavJob> job);
453 std::list<std::shared_ptr<DtLuaNavJob> >
myJobs;
double channelRadius
Definition: luaNavJob.h:323
UUID is a unique ID wrapper class.
Definition: uuid.h:59
bool myGenerated
Definition: luaNavJob.h:388
std::shared_ptr< DtCoverPointFinder > myPendingCoverPointFinder
Definition: luaNavJob.h:316
virtual luabind::object getObject(lua_State *L, int &index, std::string &message) override=0
Retrieve value.
const DtString DtLuaNavCoverPointJobType
Definition: asciiSerializable.h:24
const char DtMovementModeFree[]
Definition: movementModes.h:11
Points myDebugPoints
Definition: luaNavJob.h:390
int myNavTag
Definition: luaNavJob.h:246
double avoidanceRadius
Definition: luaNavJob.h:325
Severity
Definition: algorithmManager.h:29
const DtString DtLuaNavFindPathJobType
Definition: asciiSerializable.h:25
virtual DtString objectType() const override
Should return the string name of this object. The object name should not be part of the serialization...
Definition: luaNavJob.h:282
Lua object class which represents a feature navigation task.
Definition: luaNavJob.h:200
double myMinDistanceBetweenPoints
Definition: luaNavJob.h:180
bool myRanOnce
Definition: luaNavJob.h:190
DtLocation3D avoidLocation
Definition: luaNavJob.h:324
DtLocation3D myThreatPoint
Definition: luaNavJob.h:310
std::list< DtLocation3D > Points
Definition: luaNavJob.h:30
Lua object class which finds a path to the specified location.
Definition: luaNavJob.h:332
This is the DtVrfObjectNavInterface subclass for objects which are actively querying the navigation s...
Definition: activeBotNavInterface.h:27
virtual void run(const DtAlgorithmManager &mgr=DtAlgorithmManager())=0
unsigned myQueryQueuePriority
Definition: luaNavJob.h:313
Lua object class which represents a feature navigation task.
Definition: luaNavJob.h:27
bool myIsStrict
Definition: luaNavJob.h:182
Points myPathPoints
Definition: luaNavJob.h:379
Definition: asciiSerializable.h:40
Interface for getting asynchronously computed data into Lua.
Definition: luaAsyncJob.h:27
virtual bool deserialize(const DtString &)=0
This function should take the string that was serialized via serialize() and fill this object with th...
Definition: luaNavJob.h:319
unsigned myNumberOfPoints
Definition: luaNavJob.h:312
int myNumberOfPoints
Definition: luaNavJob.h:177
virtual void cancel(lua_State *L) override
Cancels the job. By default this is a no-op, we let the job finish on its own.
Definition: luaNavJob.h:45
DtNavPathEvalFunction evalFcn
Definition: luaNavJob.h:328
Contains the DtUUID class declaration.
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: '|', ':'.
double myAvoidanceRadius
Definition: luaNavJob.h:384
virtual DtString objectType() const override
Should return the string name of this object. The object name should not be part of the serialization...
Definition: luaNavJob.h:226
double myThreatRadius
Definition: luaNavJob.h:307
virtual DtString objectType() const override
Should return the string name of this object. The object name should not be part of the serialization...
Definition: luaNavJob.h:138
DtLocation3D myStartPoint
Definition: luaNavJob.h:82
std::list< DtLocation3D > Points
Definition: luaTerrainReasoningJob.h:290
virtual luabind::object getDebugObject(lua_State *L) override
Retrieve debug data, if available. Default behavior is an empty table.
Definition: luaNavJob.h:42
Points myBoundingArea
Definition: luaNavJob.h:84
std::set< DtCoverPoint > myResultPoints
Definition: luaNavJob.h:311
DtLocation3D myEndPoint
Definition: luaNavJob.h:378
const DtSimObject * myParentObject
Definition: luaNavJob.h:189
Definition: asyncJobServer.h:37
bool myGenerated
Definition: luaNavJob.h:191
DtLocation3D myAvoidLocation
Definition: luaNavJob.h:383
double myChannelRadius
Definition: luaNavJob.h:382
Lua object class for finding random points within a nav area.
Definition: luaNavJob.h:94
double myMinDistanceFromStart
Definition: luaNavJob.h:178
bool useAbstractGraphs
Definition: luaNavJob.h:321
bool myNoNavArea
Definition: luaNavJob.h:193
bool myGenerated
Definition: luaNavJob.h:248
bool myGenerated
Definition: luaNavJob.h:314
bool myUseAbstractGraphs
Definition: luaNavJob.h:380
DtLocation3D myResultPoint
Definition: luaNavJob.h:247
DtLocalVertexList myBoundary
Definition: luaNavJob.h:195
#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:252
const DtString DtLuaNavRandomPointJobType
Definition: asciiSerializable.h:23
double myMaxDistanceFromStart
Definition: luaNavJob.h:179
std::string myMessage
Definition: luaNavJob.h:86
DtLocation3D myAccessPoint
Definition: luaNavJob.h:83
virtual DtString objectType() const override
Should return the string name of this object. The object name should not be part of the serialization...
Definition: luaNavJob.h:359
virtual luabind::object getObject(lua_State *L, int &index, std::string &message)=0
Retrieve current value.
DtLocalVertexList myLeftOfLineVertices
Definition: luaNavJob.h:196
double myRange
Definition: luaNavJob.h:309
Points myResultPoints
Definition: luaNavJob.h:187
virtual DtString objectType() const =0
Should return the string name of this object. The object name should not be part of the serialization...
bool myTightlyPack
Definition: luaNavJob.h:183
std::shared_ptr< DtNavAreaQuery > Ptr
Definition: navArea.h:59
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:96
double myDistanceFromThreat
Definition: luaNavJob.h:308
Represents a single simulation object in the exercise. Object may be VRF simulation, or non-VRF simulated, and may be simulated by the local sim engine, or by a remote sim engine. Only public (external) state of the object is available. All data is read-only. All access to data of the object is thread safe within the simulation frame.
Definition: simObject.h:80
double myPathCost
Definition: luaNavJob.h:387
bool myNeedLos
Definition: luaNavJob.h:184
bool myGroundClamp
Definition: luaNavJob.h:185
DtActiveBotNavInterface * activeNavIf
Definition: luaNavJob.h:327
Points myLeftOfLine
Definition: luaNavJob.h:186
Definition: navInterfaceManager.h:20
DtString myNavigationProfile
Definition: luaNavJob.h:81
class DtLocalVertexList:
Definition: localVertexList.h:20
DtNavPathEvalFunction myPathEval
Definition: luaNavJob.h:386
DtNavAreaQuery::Ptr myQuery
Definition: luaNavJob.h:89
Definition: luaNavJob.h:445
Points myDebugPoints
Definition: luaNavJob.h:188
bool myDataAvailable
Definition: luaNavJob.h:192
Used to find the best cover point(s) to take cover from attacker at a specified location. If myBestCoverPoint is not DtVector::zero(), it will be the cover point to use.
Definition: coverPointFinder.h:36
DtVector myLocalAccessPoint
Definition: luaNavJob.h:194
DtActiveBotNavInterface * myNavIf
Definition: luaNavJob.h:385
bool useChannels
Definition: luaNavJob.h:322
General interface which can be passed into an algorithm to control its behavior.
Definition: algorithmManager.h:24
const DtString DtLuaNavPlaceFormationJobType
Definition: asciiSerializable.h:28
virtual void addJob(std::shared_ptr< DtLuaNavJob > job)
bool myUseChannels
Definition: luaNavJob.h:381
std::list< std::shared_ptr< DtLuaNavJob > > myJobs
Definition: luaNavJob.h:453
DtString navigationProfile
Definition: luaNavJob.h:326
A location3D is a point in space, i.e. a geocentric coordinate.
Definition: scriptGeometry.h:22
DtString myPlacementRestriction
Definition: luaNavJob.h:181