29 #include <boost/noncopyable.hpp>
46 class DtGenericTerrainRecord;
49 namespace MAKVRinTerra
56 class DtDynamicTerrainGeometry;
57 class DtDynamicTerrainChange;
58 class DtDynamicTerrainFeature;
59 class DtDynamicTerrainChanges;
73 virtual void removeTerrainChange() = 0;
74 virtual void releaseOwnership() = 0;
86 void removeTerrainChange();
90 void releaseOwnership();
94 boost::shared_ptr<RequestHandleImpl>
myImpl;
108 virtual void removeQuery() = 0;
109 virtual void releaseOwnership() = 0;
123 void releaseOwnership();
127 boost::shared_ptr<QueryHandleImpl>
myImpl;
130 typedef boost::function<void (const makVrv::DtDynamicTerrainFeature&)>
142 virtual bool isDisabled()
const = 0;
146 virtual void disable() = 0;
149 virtual void setAppearance(DtAppearance app) = 0;
152 virtual void setPosition(
const DtPoint& location,
const DtDcm& orientation) = 0;
184 virtual void shutdown(
bool block=
true);
190 virtual double modelHeightDifferencesFromAppearances(
int oldApp,
int newApp)
const;
193 virtual bool createFromExtent(
const Dt3dBoundingVolume&);
197 virtual bool loadModel(
const DtFilename&,
const DtEntityType& t = DtEntityType());
209 virtual bool chordIntersect(
241 virtual void preloadTerrainAreas(
245 virtual bool dataAvailable(
263 virtual void setAssertOnBlockingTerrainCalls(
bool assertBlock);
264 virtual bool assertOnBlockingTerrainCalls()
const;
269 virtual void setWarnOnBlockingTerrainCalls(
bool warnBlock);
270 virtual bool warnOnBlockingTerrainCalls()
const;
289 std::vector<DtChord>& chords);
292 virtual bool hasFeatureContext()
const;
306 typedef boost::function<void (const makVrv::DtDynamicTerrainFeature&)>
315 bool useOriginalGeometry =
false) {
319 virtual void queryCurrentDynamicTerrainFeatures(
322 bool useOriginalGeometry =
false) { };
325 virtual void cacheInformationForTerrainArea(
326 unsigned minLOD,
unsigned maxLOD,
const DtExtent& cacheArea,
327 double& estimatedTime,
double& estimatedSize,
328 std::vector<std::string>& elevationLayers,
329 std::vector<std::string>& modelLayers,
330 std::vector<std::string>& featureLayers)
const;
334 virtual void cacheTerrainArea(
int requestId,
335 unsigned minLOD,
unsigned maxLOD,
const DtExtent& cacheArea,
339 virtual void cancelCacheTerrainArea(
int requestId);
342 virtual void writeTerrainIndex(
const DtString& name);