28 #include <boost/noncopyable.hpp>
42 class DtGenericTerrainRecord;
45 namespace MAKVRinTerra
52 class DtDynamicTerrainGeometry;
53 class DtDynamicTerrainChange;
54 class DtDynamicTerrainFeature;
55 class DtDynamicTerrainChanges;
69 virtual void removeTerrainChange() = 0;
70 virtual void releaseOwnership() = 0;
82 void removeTerrainChange();
86 void releaseOwnership();
90 boost::shared_ptr<RequestHandleImpl>
myImpl;
104 virtual void removeQuery() = 0;
105 virtual void releaseOwnership() = 0;
119 void releaseOwnership();
123 boost::shared_ptr<QueryHandleImpl>
myImpl;
126 typedef boost::function<void (const makVrv::DtDynamicTerrainFeature&)>
158 virtual void shutdown(
bool block=
true);
164 virtual double modelHeightDifferencesFromAppearances(
int oldApp,
int newApp)
const;
167 virtual bool createFromExtent(
const Dt3dBoundingVolume&);
171 virtual bool loadModel(
const DtFilename&,
const DtEntityType& t = DtEntityType());
196 virtual bool chordIntersect(
const DtChord& chord,
200 bool overrideBlockingAssert =
false,
int flags = 0)
const = 0;
222 virtual bool allIntersectsAlongChord(
const DtChord& chord,
226 bool overrideBlockingAssert =
false,
int flags = 0)
const = 0;
242 virtual void preloadTerrainAreas(
259 virtual void setAssertOnBlockingTerrainCalls(
bool assertBlock);
260 virtual bool assertOnBlockingTerrainCalls()
const;
265 virtual void setWarnOnBlockingTerrainCalls(
bool warnBlock);
266 virtual bool warnOnBlockingTerrainCalls()
const;
285 std::vector<DtChord>& chords);
288 virtual bool hasFeatureContext()
const;
299 typedef boost::function<void (const makVrv::DtDynamicTerrainFeature&)>
309 virtual void queryCurrentDynamicTerrainFeatures(
314 virtual void cacheInformationForTerrainArea(
int requestId,
int lowestLOD,
int highestLOD,
const DtExtent& cacheArea,
315 double& estimatedTime,
double& estimatedSize, std::vector<std::string>& elevationLayers, std::vector<std::string>& modelLayers)
const = 0;
322 virtual void cancelCacheTerrainArea(
int requestId) = 0;