14 #include "vlutil/vlMutex.h"
19 #include <boost/scoped_ptr.hpp>
31 std::vector<std::pair<DtLocation3D, DtLocation3D> >& outPoints);
41 double depthForwardBack,
42 std::list<DtLocation3D>& searchAreaCorners);
69 const std::list<DtLocation3D>& corners,
122 int nPositionPairsToReturn,
123 const std::list<DtLocation3D>& targetAreaCorners,
128 double forwardBackSearchLimit,
129 double sideSideSearchLimit,
130 double maxSlopeDegrees,
131 double positionSpacing,
175 const std::list<DtLocation3D>& targetAreaCorners,
177 double targetHeightMeters,
178 double viewHeightMeters,
179 double hideHeightMeters,
180 double forwardBackSearchLimitMeters,
181 double forwardBackSearchIntervalMeters,
182 double maxSlopeDegrees,
271 const std::list<DtLocation3D>& sourceAreaVertices,
272 unsigned int gridResolutionMeters,
273 double prominenceMeters,
274 unsigned int prominenceRangeMeters,
275 const std::list<DtLocation3D>& targetsAreaVertices,
276 unsigned int targetsAreaSampleCount,
277 double targetsHeightMeters,
278 double viewHeightMeters,
279 double hideHeightMeters,
280 double forwardBackSearchLimitMeters,
281 double sideToSideSearchLimitMeters,
282 double forwardBackSearchIntervalMeters,
283 double maxSlopeDegrees,
284 double sideToSideSearchIntervalMeters,
285 double positionsSpacing,
286 unsigned int positionsCount,
350 const std::list<DtLocation3D>& sourceAreaVertices,
351 const std::list<DtLocation3D>& targetsAreaVertices,
352 unsigned int targetsAreaSampleCount,
353 double targetsHeightMeters,
354 double viewHeightMeters,
355 double hideHeightMeters,
356 double coverRangeMeters,
357 double lateralRangeMeters,
358 double forwardBackRangeMeters,
359 double forwardBackIntervalMeters,
360 double maxSlopeDegrees,
361 double lateralIntervalMeters,
362 double positionsSpacing,
363 unsigned int positionsCount,
virtual task * onExecute()=0
Called to execute a task.
int myNumberPositionPairsToReturn
Definition: terrainReasoningJob.h:146
Find Single Position Query Job.
Definition: terrainReasoningJob.h:160
PositionPairs positions
Definition: terrainReasoningJob.h:216
double myForwardBackSearchLimitMeters
Definition: terrainReasoningJob.h:310
Severity
Definition: algorithmManager.h:29
double scoreViewPctAverage
Definition: terrainReasoningJob.h:217
double mySideSideSearchLimit
Definition: terrainReasoningJob.h:152
double myForwardBackSearchLimitMeters
Definition: terrainReasoningJob.h:385
DtTerrainInterface * pMyTerrainInterface
Definition: terrainReasoningJob.h:299
double mySideSideSearchLimit
Definition: terrainReasoningJob.h:386
double scoreCoverPctAverage
Definition: terrainReasoningJob.h:218
double mySideSideSearchLimit
Definition: terrainReasoningJob.h:311
std::list< DtLocation3D > myTargetAreaCorners
Definition: terrainReasoningJob.h:378
voidpf uLong int origin
Definition: ioapi.h:42
double myShootHeight
Definition: terrainReasoningJob.h:149
double myProminenceMeters
Definition: terrainReasoningJob.h:305
DtTerrainInterface * pMyTerrainInterface
Definition: terrainReasoningJob.h:83
std::list< DtLocation3D > myCorners
Definition: terrainReasoningJob.h:84
unsigned int myTargetsAreaSampleCount
Definition: terrainReasoningJob.h:380
double myForwardBackSearchLimit
Definition: terrainReasoningJob.h:151
bool bMyDebug
Definition: terrainReasoningJob.h:155
void ConvertToLocalVectorList(const std::list< DtLocation3D > &sourceLocations, DtLocalVertexList &resultsList, DtTerrainInterface *pTerrainIf, bool bClamp=true)
Given a list of locations in a local coordinate system, clamp them to terrain height.
void MakeRelativeSearchArea2D(const DtLocation3D &origin, const DtLocation3D &referencePoint, double widthSideSide, double depthForwardBack, std::list< DtLocation3D > &searchAreaCorners)
Given an origin point and a reference point, make an area about the origin facing the reference point...
unsigned int myNumberPositionsPerGroupRequested
Definition: terrainReasoningJob.h:302
Definition: terrainReasoningJob.h:213
DtLocation3D FindAreaCenter2D(const std::list< DtLocation3D > &targetAreaCorners)
Given a list of Location3D objects, return a DtLocation3D representing 2D center. Center is an averag...
Concrete job class which manages a shared pointer to it's job map entry. Using this job does not requ...
Definition: asyncJob.h:106
double myPositionsSpacing
Definition: terrainReasoningJob.h:390
double myHideHeight
Definition: terrainReasoningJob.h:198
bool bMyDebug
Definition: terrainReasoningJob.h:205
double myForwardBackSearchIntervalMeters
Definition: terrainReasoningJob.h:387
double myForwardBackSearchLimit
Definition: terrainReasoningJob.h:201
bool bMyDebug
Definition: terrainReasoningJob.h:86
double myTargetHeight
Definition: terrainReasoningJob.h:200
double myHideHight
Definition: terrainReasoningJob.h:383
Find Position Groups In Area Job.
Definition: terrainReasoningJob.h:235
double myForwardBackSearchInterval
Definition: terrainReasoningJob.h:202
VectorOffset3D is a direction vector that is relative to some direction specified by a Vector3D...
Definition: scriptGeometry.h:424
double mySideSideSearchIntervalMeters
Definition: terrainReasoningJob.h:389
unsigned int myGridResolutionMeters
Definition: terrainReasoningJob.h:304
unsigned int myNumberPositionsPerGroupRequested
Definition: terrainReasoningJob.h:379
double myForwardBackSearchIntervalMeters
Definition: terrainReasoningJob.h:312
int nMyPointsToReturn
Definition: terrainReasoningJob.h:85
The DtPhysicalWorld is the primary interface to and manager of all of the "physical" aspects of the s...
Definition: physicalWorld.h:102
DtLocation3D myOriginPoint
Definition: terrainReasoningJob.h:197
double myMaxSlopeDegrees
Definition: terrainReasoningJob.h:203
DtTerrainInterface * pMyTerrainInterface
Definition: terrainReasoningJob.h:376
std::list< DtLocation3D > mySourceAreaCorners
Definition: terrainReasoningJob.h:377
std::list< DtLocation3D > mySourceAreaCorners
Definition: terrainReasoningJob.h:300
double scoreOverallPctAverage
Definition: terrainReasoningJob.h:219
void ArrangePositionsLeftToRight2D(const std::vector< std::pair< DtLocation3D, DtLocation3D > > &inPoints, const DtLocation3D &originPoint, const DtLocation3D &destinationPoint, std::vector< std::pair< DtLocation3D, DtLocation3D > > &outPoints)
Sort the given points left to right, perpendicular to reference line from origin to destination...
double myCoverRange
Definition: terrainReasoningJob.h:384
DtLocation3D myOriginPoint
Definition: terrainReasoningJob.h:147
double myShootHeight
Definition: terrainReasoningJob.h:308
unsigned int myTargetsAreaSampleCount
Definition: terrainReasoningJob.h:303
double myTargetHeight
Definition: terrainReasoningJob.h:150
DtTerrainInterface allows access to common terrain calls without having to know the terrain implement...
Definition: terrainInterface.h:100
std::list< DtLocation3D > myTargetAreaCorners
Definition: terrainReasoningJob.h:196
double myTargetHeight
Definition: terrainReasoningJob.h:381
Base class for result of job.
Definition: asyncJobServer.h:43
double mySideSideSearchIntervalMeters
Definition: terrainReasoningJob.h:314
virtual void message(Severity, const std::string &) const
Output a messages from within the algorithm.
double myMaxSlopeDegrees
Definition: terrainReasoningJob.h:153
Handle to async job.
Definition: asyncJobMapEntry.h:29
DtVectorOffset3D myHideVolume
Definition: terrainReasoningJob.h:148
double myViewHeight
Definition: terrainReasoningJob.h:199
Vehicle Position Query Job.
Definition: terrainReasoningJob.h:105
#define DT_DLL_terrainReasoning
This file is used to determine how to build.
Definition: terrainReasoningDefines.h:25
struct _Group PositionGroup
Definition: luaTerrainReasoningJob.h:301
Definition: terrainReasoningJob.h:48
double myShootHeight
Definition: terrainReasoningJob.h:382
Definition: terrainReasoningJob.h:90
std::vector< std::pair< DtLocation3D, DtLocation3D > > myPositionPairs
Definition: terrainReasoningJob.h:101
unsigned int myProminenceRangeMeters
Definition: terrainReasoningJob.h:306
std::list< DtLocation3D > myTargetAreaCorners
Definition: terrainReasoningJob.h:301
double myTargetHeight
Definition: terrainReasoningJob.h:307
DtTerrainInterface * pMyTerrainInterface
Definition: terrainReasoningJob.h:144
double myMaxSlopeDegrees
Definition: terrainReasoningJob.h:388
Definition: terrainReasoningJob.h:209
std::list< DtLocation3D > myTargetAreaCorners
Definition: terrainReasoningJob.h:145
bool bMyDebug
Definition: terrainReasoningJob.h:316
Hilltop Query Job.
Definition: terrainReasoningJob.h:64
virtual task * onException()=0
Called when an exception is caught during execution.
double myPositionsSpacing
Definition: terrainReasoningJob.h:315
class DtLocalVertexList:
Definition: localVertexList.h:20
Find Position Groups In Area Using Ridge Algorithm Job.
Definition: terrainReasoningJob.h:321
double myPositionSpacing
Definition: terrainReasoningJob.h:154
std::vector< PositionGroup > groups
Definition: terrainReasoningJob.h:231
bool bMyDebug
Definition: terrainReasoningJob.h:391
std::vector< DtLocation3D > myHighPoints
Definition: terrainReasoningJob.h:59
double myMaxSlopeDegrees
Definition: terrainReasoningJob.h:313
std::vector< std::pair< DtLocation3D, DtLocation3D > > PositionPairs
Definition: terrainReasoningJob.h:212
double myHideHight
Definition: terrainReasoningJob.h:309
DtLocation3D pivotPoint
Definition: terrainReasoningJob.h:215
A location3D is a point in space, i.e. a geocentric coordinate.
Definition: scriptGeometry.h:22
DtTerrainInterface * pMyTerrainInterface
Definition: terrainReasoningJob.h:195