20 #include <tbb/tbb_thread.h>
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);
146 std::string addQueryByAreaSelect(
const std::string& value)
148 return addQuery(value, AREA_SELECT);
151 std::string addQueryByPointSelect(
const std::string& value)
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>&,
233 std::string query,
bool readDirectly =
false);
243 int retries = 0)
const;
246 virtual void updateLastIntersection(
const DtPoint&,
bool valid,
const DtSurface& surface);
281 typedef boost::ptr_map<std::string, MAKVRinTerra::DtFeatureSet>
SavedQueries;