21 #include <tbb/spin_rw_mutex.h>
22 #include <tbb/mutex.h>
24 #include <boost/ptr_container/ptr_map.hpp>
48 virtual void process();
58 virtual bool isStopped()
const;
61 virtual bool isRunning()
const;
64 virtual void cancel();
67 virtual bool isCancelled()
const;
70 virtual bool isProcessing()
const;
125 typedef std::pair<std::string, QueryType>
Query;
138 virtual void reset();
141 virtual void addQuery(
const std::string& key,
const std::string& value,
QueryType = QUERY_DEFAULT);
145 virtual std::string addQuery(
const std::string& value,
QueryType = QUERY_DEFAULT);
148 return addQuery(value, AREA_SELECT);
153 return addQuery(value, POINT_SELECT);
157 virtual void removeQuery(
const std::string& key);
160 virtual const Queries& queries()
const;
169 virtual void setSeaLevel(
double);
170 virtual double seaLevel()
const;
185 : geometry(orig.geometry), extent(orig.extent), query(orig.query), retries(orig.retries) {};
209 const std::string& query,
bool& firstTime, AreasCovered::iterator&);
213 const std::vector<MAKVRinTerra::DtFeatureGeometry>&)
const;
219 virtual void createGeometry(
const std::vector<MAKVRinTerra::DtFeatureGeometry>&,
232 virtual std::unique_ptr<MAKVRinTerra::DtFeatureSet> createOrReturnSavedQuery(
const DtTerrainImplementation* fc,
233 std::string query,
bool readDirectly =
false);
243 int retries = 0)
const;
246 virtual void updateLastIntersection(
const DtPoint&,
bool valid,
const DtSurface& surface);
284 typedef boost::ptr_map<std::string, MAKVRinTerra::DtFeatureSet>
SavedQueries;
This is the abstract base class for all terrain implementations. A terrain implementation is used by ...
Definition: terrainImplementation.h:244
bool myCancelled
Definition: featureToGeometryConverter.h:93
tbb::spin_rw_mutex myMutex
Definition: featureToGeometryConverter.h:298
DtCollisionWorld * myCollisionWorld
Definition: featureToGeometryConverter.h:88
QueryType
Definition: featureToGeometryConverter.h:117
bool triangulate
Definition: featureToGeometryConverter.h:100
tbb::spin_rw_mutex myMutex
Definition: featureToGeometryConverter.h:90
std::vector< LandArea > LandAreas
Definition: featureToGeometryConverter.h:269
Queries myQueries
Queries that can be used to perform specified functions. These queries will be used by particluar sub...
Definition: featureToGeometryConverter.h:256
std::string addQueryByAreaSelect(const std::string &value)
Definition: featureToGeometryConverter.h:146
std::vector< MAKVRinTerra::DtFeatureGeometry > myPointFeatures
Definition: featureToGeometryConverter.h:249
bool myStop
Definition: featureToGeometryConverter.h:91
bool myProcessing
Definition: featureToGeometryConverter.h:94
bool myCoverageAreasInitialized
Definition: featureToGeometryConverter.h:294
DtSurface surface
Definition: featureToGeometryConverter.h:277
double mySeaLevel
Definition: featureToGeometryConverter.h:281
MAKVRinTerra::DtFeatureGeometry myIntersectArea
Definition: featureToGeometryConverter.h:290
The DtExtent represents an axis-aligned 3d bounding box.
Definition: extent.h:43
AreasCovered myCoverageAreas
Definition: featureToGeometryConverter.h:288
std::map< std::string, Query > Queries
Definition: featureToGeometryConverter.h:126
Definition: surface.h:181
GeometryArray geometry
Definition: featureToGeometryConverter.h:98
DtCollisionWorld * myCollisionWorld
Definition: featureToGeometryConverter.h:292
DtThreadedTriangulator * myThreadedSurfaceTriangulator
Definition: featureToGeometryConverter.h:297
AreasCovered myAreasCovered
Definition: featureToGeometryConverter.h:287
tbb::spin_rw_mutex myLastLocationMutex
Definition: featureToGeometryConverter.h:299
This class will allow for the addition of features and their geometry for inclusion into the collisio...
Definition: featureToGeometryConverter.h:114
LastIntersection myLastIntersection
Definition: featureToGeometryConverter.h:280
boost::ptr_map< std::string, MAKVRinTerra::DtFeatureSet > SavedQueries
Saved queries.
Definition: featureToGeometryConverter.h:284
Handle< PointType > Point
Definition: featureGeometry.h:70
std::vector< AreaInformation > AreasCovered
Definition: featureToGeometryConverter.h:196
Definition: featureToGeometryConverter.h:96
std::pair< std::string, QueryType > Query
Definition: featureToGeometryConverter.h:125
std::vector< ProcessGeometry > ProcessGeometries
Definition: featureToGeometryConverter.h:103
Represents some coordinate system. The terms "coordinate system", "projection", "spatial reference"...
Definition: proj.h:52
bool myRunning
Definition: featureToGeometryConverter.h:92
Surfaces myNewSurfaces
Definition: featureToGeometryConverter.h:261
Convenience member to return the last intersection if geometries match.
Definition: featureToGeometryConverter.h:273
std::string addQueryByPointSelect(const std::string &value)
Definition: featureToGeometryConverter.h:151
std::shared_ptr< DtProj > Ptr
Definition: proj.h:55
DtPoint location
Definition: featureToGeometryConverter.h:275
LandAreas myLandAreas
Definition: featureToGeometryConverter.h:271
bool result
Definition: featureToGeometryConverter.h:276
std::pair< MAKVRinTerra::DtFeatureGeometry, DtSurface > SurfaceDefinition
Definition: featureToGeometryConverter.h:176
std::vector< SurfaceDefinition > Surfaces
Definition: featureToGeometryConverter.h:177
This class will triangulate the given objects in the queue into the collision world supplied...
Definition: featureToGeometryConverter.h:30
std::vector< MAKVRinTerra::DtFeatureGeometry > GeometryArray
Definition: featureToGeometryConverter.h:33
DtSurface surface
Definition: featureToGeometryConverter.h:99
DtThreadedTriangulator * myThreadedGeometryTriangulator
Definition: featureToGeometryConverter.h:296
std::thread * myThread
Definition: featureToGeometryConverter.h:89
ProcessGeometries myProcessGeometries
Definition: featureToGeometryConverter.h:105
Contains the declaration of the DtExtent class.
#define DT_DLL_vantageTerrainImplementation
This file is used to determine how to build.
Definition: vantageTerrainImplementationDefines.h:28
MAKVRinTerra::DtProj::Ptr myProjection
Definition: featureToGeometryConverter.h:87
bool myUseGeosGeometryForLandAreas
Default is false – use tessellator.
Definition: featureToGeometryConverter.h:302
DtExtent extent
Definition: featureToGeometryConverter.h:265
This class contains a Bullet btCollisionWorld, and also maintains ownership of the collision objects ...
Definition: collisionWorld.h:41
Represents a GIS feature. Features consist of a DtFeatureGeometry (2.5D geometric vector data) and a ...
Definition: feature.h:36
SavedQueries mySavedQueries
Definition: featureToGeometryConverter.h:285
SurfaceDefinition area
Definition: featureToGeometryConverter.h:266
std::vector< std::string > myQueryStringList
Predefine a list of Query string (QUERY1, QUERY2, etc) to speed up convertToGeometry() and addQuery()...
Definition: featureToGeometryConverter.h:259
Represents a feature geometry.
Definition: featureGeometry.h:40
Definition: featureToGeometryConverter.h:263