28 #include <boost/noncopyable.hpp>
43 class DtGenericTerrainRecord;
46 namespace MAKVRinTerra
53 class DtDynamicTerrainGeometry;
54 class DtDynamicTerrainChange;
55 class DtDynamicTerrainFeature;
56 class DtDynamicTerrainChanges;
70 virtual void removeTerrainChange() = 0;
71 virtual void releaseOwnership() = 0;
83 void removeTerrainChange();
87 void releaseOwnership();
91 boost::shared_ptr<RequestHandleImpl>
myImpl;
105 virtual void removeQuery() = 0;
106 virtual void releaseOwnership() = 0;
120 void releaseOwnership();
124 boost::shared_ptr<QueryHandleImpl>
myImpl;
127 typedef boost::function<void (const makVrv::DtDynamicTerrainFeature&)>
139 virtual bool isDisabled()
const = 0;
143 virtual void disable() = 0;
146 virtual void setAppearance(DtAppearance app) = 0;
149 virtual void setPosition(
const DtPoint& location,
const DtDcm& orientation) = 0;
181 virtual void shutdown(
bool block=
true);
187 virtual double modelHeightDifferencesFromAppearances(
int oldApp,
int newApp)
const;
190 virtual bool createFromExtent(
const Dt3dBoundingVolume&);
194 virtual bool loadModel(
const DtFilename&,
const DtEntityType& t = DtEntityType());
219 virtual bool chordIntersect(
const DtChord& chord,
223 bool overrideBlockingAssert =
false,
int flags = 0)
const = 0;
245 virtual bool allIntersectsAlongChord(
const DtChord& chord,
249 bool overrideBlockingAssert =
false,
int flags = 0)
const = 0;
265 virtual void preloadTerrainAreas(
285 virtual void setAssertOnBlockingTerrainCalls(
bool assertBlock);
286 virtual bool assertOnBlockingTerrainCalls()
const;
291 virtual void setWarnOnBlockingTerrainCalls(
bool warnBlock);
292 virtual bool warnOnBlockingTerrainCalls()
const;
311 std::vector<DtChord>& chords);
314 virtual bool hasFeatureContext()
const;
328 typedef boost::function<void (const makVrv::DtDynamicTerrainFeature&)>
337 bool useOriginalGeometry =
false) {
341 virtual void queryCurrentDynamicTerrainFeatures(
344 bool useOriginalGeometry =
false) { };
347 virtual void cacheInformationForTerrainArea(
348 unsigned minLOD,
unsigned maxLOD,
const DtExtent& cacheArea,
349 double& estimatedTime,
double& estimatedSize,
350 std::vector<std::string>& elevationLayers,
351 std::vector<std::string>& modelLayers,
352 std::vector<std::string>& featureLayers)
const;
356 virtual void cacheTerrainArea(
int requestId,
357 unsigned minLOD,
unsigned maxLOD,
const DtExtent& cacheArea,
361 virtual void cancelCacheTerrainArea(
int requestId);