![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2010 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 00008 00010 00011 #pragma once 00012 00013 #include "terrainInterface/terrainInterfaceDefines.h" 00014 #include "terrainInterface/terrainImplementation.h" 00015 00022 class DT_DLL_terrainInterface DtTerrainPassThroughLayer : public DtTerrainImplementation 00023 { 00024 private: 00026 00027 DtTerrainPassThroughLayer(); 00028 DtTerrainPassThroughLayer(const DtTerrainPassThroughLayer& orig); 00029 DtTerrainPassThroughLayer& operator=(const DtTerrainPassThroughLayer& orig); 00031 public: 00034 DtTerrainPassThroughLayer(DtTerrainImplementation* terrainImplementation, 00035 DtConsoleCommandManager* cmdMgr); 00036 virtual ~DtTerrainPassThroughLayer(); 00037 00038 virtual bool loadTerrain(const makArchives::DtGenericTerrainRecord& rec, 00039 const std::map<std::string, std::string>& settings = 00040 (std::map<std::string, std::string>())); 00041 00042 virtual const Coordinate_System* coordinateSystem() const ; 00043 00044 virtual void preloadTerrainAreas( 00045 const DtTerrainPagingGeometryList& preloadGeometry); 00046 00049 virtual bool chordIntersect(const DtChord& chord, 00050 DtChordIntersectionRecord& record, 00051 DtIntersectionRecord::DtIntersectionType irtFlag = 00052 DtIntersectionRecord::INT_ALL_DATA, 00053 bool* dataAvailable = 0, bool overrideBlockingAssert = false) const; 00054 00058 virtual bool allIntersectsAlongChord(const DtChord& chord, 00059 DtChordIntersectRecordList& intList, 00060 DtIntersectionRecord::DtIntersectionType irtFlag = 00061 DtIntersectionRecord::INT_ALL_DATA, 00062 bool* dataAvailable = 0, bool overrideBlockingAssert = false) const; 00063 00066 virtual bool sphereIntersect(const DtSphere& sphere, 00067 DtSphereIntersectionRecord& record, 00068 DtIntersectionRecord::DtIntersectionType irtFlag = 00069 DtIntersectionRecord::INT_ALL_DATA, 00070 bool* dataAvailable = 0, bool overrideBlockingAssert = false) const; 00071 00076 virtual bool intersectVectorNetwork(const DtChord& chord, 00077 DtVectorNetworkRecord* vectorRecord, 00078 DtVectorNetworkIntersectionRecord* vectorIntersectionRecord) const; 00079 00080 virtual const DtVectorNetwork* vectorNetwork() const; 00081 00082 virtual const DtTerrainCapabilities* terrainCapabilities() const; 00083 00084 virtual void setIntersectDataLoadExpireTime(const double& expireTime); 00085 00086 virtual void expireDataLoadRequestsBeforeTime(const double& currentTime); 00087 00088 struct DtCreatorParam 00089 { 00090 DtTerrainImplementation* terrainImplementation; 00091 DtConsoleCommandManager* commandManager; 00092 }; 00093 00094 protected: 00095 DtTerrainImplementation* myTerrainImplementation; 00096 }; 00097 00098 typedef DtStringKeyFactoryWithParam<DtTerrainPassThroughLayer, DtTerrainPassThroughLayer::DtCreatorParam> 00099 DtTerrainPassThroughLayerFactory; 00100 typedef DtTerrainPassThroughLayerFactory::DtCreatorFcn DtTerrainPassThroughLayerCreatorFcn;