28 #include <vlpi/appearance.h>
31 #include <boost/noncopyable.hpp>
50 class DtGenericTerrainRecord;
53 namespace MAKVRinTerra
60 class DtDynamicTerrainGeometry;
61 class DtDynamicTerrainChange;
62 class DtDynamicTerrainFeature;
63 class DtDynamicTerrainChanges;
77 virtual void removeTerrainChange() = 0;
78 virtual void releaseOwnership() = 0;
90 void removeTerrainChange();
94 void releaseOwnership();
98 boost::shared_ptr<RequestHandleImpl>
myImpl;
112 virtual void removeQuery() = 0;
113 virtual void releaseOwnership() = 0;
127 void releaseOwnership();
131 boost::shared_ptr<QueryHandleImpl>
myImpl;
134 typedef boost::function<void (const makVrv::DtDynamicTerrainFeature&)>
146 virtual bool isDisabled()
const = 0;
150 virtual void disable() = 0;
153 virtual void setAppearance(DtAppearance app) = 0;
156 virtual void setPosition(
const DtPoint& location,
const DtDcm& orientation) = 0;
188 virtual void shutdown(
bool block=
true);
194 virtual double modelHeightDifferencesFromAppearances(
int oldApp,
int newApp)
const;
197 virtual bool createFromExtent(
const Dt3dBoundingVolume&);
201 virtual bool loadModel(
const DtFilename&,
const DtEntityType& t = DtEntityType());
213 virtual bool chordIntersect(
267 virtual void setAssertOnBlockingTerrainCalls(
bool assertBlock);
268 virtual bool assertOnBlockingTerrainCalls()
const;
273 virtual void setWarnOnBlockingTerrainCalls(
bool warnBlock);
274 virtual bool warnOnBlockingTerrainCalls()
const;
297 std::vector<DtChord>& chords);
300 virtual bool hasFeatureContext()
const;
320 typedef boost::function<void (const makVrv::DtDynamicTerrainFeature&)>
339 bool useOriginalGeometry =
false) {
346 bool useOriginalGeometry =
false) { };
350 virtual void cacheTerrainArea(
int requestId,
351 unsigned minLOD,
unsigned maxLOD,
const DtExtent& cacheArea,
355 virtual void cancelCacheTerrainArea(
int requestId);
358 virtual void writeTerrainIndex(
const DtString& name);
boost::scoped_ptr< MAKVRinTerra::DtFeatureDatabase > myFeatureDatabase
Definition: terrainImplementation.h:369
boost::function< void(const makVrv::DtDynamicTerrainFeature &)> DtDynamicTerrainQueryCallback
Definition: terrainImplementation.h:135
NOTE: This entire class is deprecated, in favor of Dt3dChord.
Definition: chord.h:40
Definition: stringKeyFactory.h:80
Class DtTerrainInterfaceConfig is a readable-writable class holding terrain interface configuration o...
Definition: terrainInterfaceConfig.h:32
This is the abstract base class for all terrain implementations.
Definition: terrainImplementation.h:162
boost::function< void(const makVrv::DtDynamicTerrainFeature &)> DtDynamicTerrainQueryCallback
Definition: terrainImplementation.h:321
Definition: terrainIntersectOptions.h:78
DtVrfChordIntersectionRecord represents a list of DtChordIntersectRecords.
Definition: vrfChordIntersectRecordList.h:31
virtual DtTerrainGeometryHandle * createEntityGeometry(const DtFilename &file)
Create geometry in the terrain which represents the entity.
Definition: terrainImplementation.h:303
virtual void queryCurrentDynamicTerrainFeatures(const DtDynamicTerrainQueryCallback &callback, makVrv::DtDynamicTerrainGeometry *geometry=0, bool useOriginalGeometry=false)
Definition: terrainImplementation.h:343
DtGenericTerrainRecords allow the VR-Forces terrainInterface library to instantiate and configure the...
Definition: DtGenericTerrainRecord.h:34
DtTerrainImplementation *(* DtCreatorFcn)(DtConsoleCommandManager *)
Definition: stringKeyFactory.h:84
std::list< std::pair< DtPagingMetaDataPtr, DtTerrainPagingGeometryPtr > > DtTerrainPagingGeometryList
Definition: terrainPagingGeometry.h:92
Represents (possibly infinite) area of space.
Definition: DtDynamicTerrainGeometry.h:19
class DtScenarioExplorer:
Definition: scenarioExplorer.h:26
Allows manipulating a terrain object.
Definition: terrainImplementation.h:139
bool myAssertOnBlockingTerrainCalls
Determines if an exception should be thrown if a blocking terrain call is made.
Definition: terrainImplementation.h:366
DtTerrainInterfaceConfig myConfig
Definition: terrainImplementation.h:361
Definition: terrainImplementation.h:73
This is a class which maintains a list of string command names and the callback functions that are to...
Definition: consoleCommandManager.h:48
The DtExtent represents an axis-aligned 3d bounding box.
Definition: extent.h:43
boost::shared_ptr< RequestHandleImpl > myImpl
Definition: terrainImplementation.h:98
bool myWarnOnBlockingTerrainCalls
Definition: terrainImplementation.h:367
DtTerrainIntersectOptions Passed to terrain intersect functions to modify how intersect acts...
Definition: terrainIntersectOptions.h:15
virtual bool dataAvailable(const DtTerrainPagingGeometryList &geometry, DtTerrainIntersectOptions::Fidelity=DtTerrainIntersectOptions::MAX_FIDELITY)
Returns true if all of the terrain which intersects the geometry list is paged in.
Definition: terrainImplementation.h:249
Definition: coordSystem.h:54
Represents some coordinate system.
Definition: proj.h:44
#define DT_DLL_terrainInterface
This file is used to determine how to build.
Definition: terrainInterfaceDefines.h:25
Factory templates DtStringKeyFactory and DtStringKeyFactoryWithParam.
virtual DtTerrainGeometryHandle * createEntityGeometry(const DtEntityType &file)
Create geometry in the terrain which represents the entity by the given type, looking up visuals...
Definition: terrainImplementation.h:306
This class holds parameters which define the capabilities of the current terrain. ...
Definition: terrainCapabilities.h:25
virtual void preloadTerrainAreas(const DtTerrainPagingGeometryList &preloadGeometry)
Specifies a list of terrain areas that should be preloaded by the terrain implementation, in the case of a paging or streaming terrain source.
Definition: terrainImplementation.h:245
RequestHandleImpl()
Definition: terrainImplementation.h:76
Definition: featureContext.h:51
DtTerrainImplementationFactory::DtCreatorFcn DtTerrainImplementationCreatorFcn
Definition: terrainImplementation.h:376
virtual DtTerrainInformation * terrainInformation()
Return the terrain information pointer of the terrain implementation (null if none exist) this is a d...
Definition: terrainImplementation.h:294
virtual DtDynamicTerrainRequestHandle addDynamicTerrainChangeRequest(double time, makVrv::DtDynamicTerrainChange *command)
Add a dynamic terrain change request to the system.
Definition: terrainImplementation.h:316
Definition: terrainImplementation.h:108
boost::shared_ptr< QueryHandleImpl > myImpl
Definition: terrainImplementation.h:131
Definition: vrfChordIntersectionRecord.h:19
virtual void loadVisuals(const DtScenarioExplorer &)
Tells the terrain implementation (if it cares) to load visuals to support terrain/model usage...
Definition: terrainImplementation.h:309
A DtChord is a finite line segment in 3-space, represented by two points.
Fidelity
Allows the system to use differently fidelity data for intersecting against.
Definition: terrainIntersectOptions.h:76
virtual void setIntersectDataLoadExpireTime(const double &expireTime)
No-op.
Definition: terrainImplementation.h:282
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
DtStringKeyFactoryWithParam< DtTerrainImplementation, DtConsoleCommandManager * > DtTerrainImplementationFactory
Definition: terrainImplementation.h:374
Command which can be given to the dynamic terrain system to perform some change.
Definition: DtDynamicTerrainChange.h:42
void(* DtCacheProgressCallbackFunction)(int requestId, int current, bool completed, double elapsedTime, void *usr)
Callback for terrain caching.
Definition: terrainImplementation.h:46
Resource handle for a query which has been added to the system.
Definition: terrainImplementation.h:104
Interface for getting terrain triangle data out of DtTerrainInterface::trianglesInArea.
Definition: terrainProcessPolygonsBox.h:113
Definition: featureContext.h:223
Resource handle for a dynamic terrain change request which has been added to the system.
Definition: terrainImplementation.h:69
boost::scoped_ptr< MAKVRinTerra::DtFeatureContext > myFeatureContext
Definition: terrainImplementation.h:370
virtual DtDynamicTerrainQueryHandle queryDynamicTerrainFeatures(const DtDynamicTerrainQueryCallback &callback, makVrv::DtDynamicTerrainGeometry *geometry=0, bool useOriginalGeometry=false)
Install a query which will call the supplied callback on matching dynamic terrain features as they ar...
Definition: terrainImplementation.h:336
virtual void expireDataLoadRequestsBeforeTime(const double ¤tTime)
No-op.
Definition: terrainImplementation.h:288
DtTerrainIntersectStatus Contains information about result of terrain intersection.
Definition: terrainIntersectStatus.h:16
QueryHandleImpl()
Definition: terrainImplementation.h:111
Represents an area query which can be used to extract triangles from DtTerrainInterface.
Definition: terrainProcessPolygonsBox.h:39