VR-Forces 4.1 Class Documentation
terrainImplementation.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2010 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
15 #include <geometry/chord.h>
16 #include <gdb/vecNetwrkRecord.h>
17 #include <gdb/vecNwrkIntRec.h>
18 #include <geometry/intRecLst.h>
22 #include "features/feature.h"
23 #include "features/featureSet.h"
25 
26 #include <string>
27 
30 class DtString;
31 class Coordinate_System;
34 
35 namespace makArchives
36 {
37  class DtGenericTerrainRecord;
38 }
39 
40 namespace MAKVRinTerra
41 {
42  class DtProj;
43 }
44 
49 {
50 public:
51  typedef std::map<std::string, std::string> TerrainSettings;
52 
53 private:
55 
58  DtTerrainImplementation& operator=(const DtTerrainImplementation& orig);
60 public:
62  virtual ~DtTerrainImplementation();
63 
66  virtual bool loadTerrain(const makArchives::DtGenericTerrainRecord& rec,
67  MAKVRinTerra::DtFeatureLoader& featureLoader,
68  const TerrainSettings& settings = TerrainSettings()) = 0;
69 
70  virtual const Coordinate_System* coordinateSystem() const = 0;
71 
91  virtual bool chordIntersect(const DtChord& chord,
94  DtIntersectionRecord::INT_ALL_DATA, bool* dataAvailable = 0,
95  bool overrideBlockingAssert = false) const = 0;
96 
116  virtual bool allIntersectsAlongChord(const DtChord& chord,
119  DtIntersectionRecord::INT_ALL_DATA, bool* dataAvailable = 0,
120  bool overrideBlockingAssert = false) const = 0;
121 
141  virtual bool sphereIntersect(const DtSphere& sphere,
144  DtIntersectionRecord::INT_ALL_DATA, bool* dataAvailable = 0,
145  bool overrideBlockingAssert = false) const = 0;
146 
161  virtual void preloadTerrainAreas(
162  const DtTerrainPagingGeometryList& preloadGeometry) {};
163 
166  virtual const DtTerrainCapabilities* terrainCapabilities() const = 0;
167 
178  virtual void setAssertOnBlockingTerrainCalls(bool assertBlock);
179  virtual bool assertOnBlockingTerrainCalls() const;
181 
187  virtual void setIntersectDataLoadExpireTime(const double& expireTime) {};
188 
193  virtual void expireDataLoadRequestsBeforeTime(const double& currentTime) {};
194 
195  virtual void processTrianglesInArea(DtTriangleCallbackFcn func, DtTriangleCallbackFinalizeFcn finalize, DtTerrainProcessPolygonsBox& box, void* usr) const;
196 
197  virtual void breakUpChords(const MAKVRinTerra::DtProj&, const DtChord& chord,
198  std::vector<DtChord>& chords);
199 
200 protected:
205 
208 };
209 

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)