VR-Forces 4.2 Class Documentation
ellipsoidTerrainImplementation.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
16 
17 class DtCoordinateSystem;
18 namespace makArchives
19 {
20  class DtGenericTerrainRecord;
21 }
22 
28 {
29 public:
32 
33  static DtTerrainImplementation* create(DtConsoleCommandManager* cmdMgr);
34 
35  virtual bool loadTerrain(const makArchives::DtGenericTerrainRecord& record,
37  const TerrainSettings& settings = TerrainSettings());
38 
39  virtual const Coordinate_System* coordinateSystem() const;
40 
43  virtual bool chordIntersect(const DtChord& chord,
44  DtChordIntersectionRecord& record,
45  DtIntersectionRecord::DtIntersectionType irtFlag =
46  DtIntersectionRecord::INT_ALL_DATA,
47  bool* dataAvailable = 0, bool overrideBlockingAssert = false) const;
48 
51  virtual bool allIntersectsAlongChord(const DtChord& chord,
52  DtChordIntersectRecordList& intList,
53  DtIntersectionRecord::DtIntersectionType irtFlag =
54  DtIntersectionRecord::INT_ALL_DATA,
55  bool* dataAvailable = 0, bool overrideBlockingAssert = false) const;
56 
59  virtual bool sphereIntersect(const DtSphere& sphere, DtSphereIntersectionRecord& record,
60  DtIntersectionRecord::DtIntersectionType irtFlag =
61  DtIntersectionRecord::INT_ALL_DATA,
62  bool* dataAvailable = 0, bool overrideBlockingAssert = false) const;
63 
64  virtual const DtTerrainCapabilities* terrainCapabilities() const;
65 
67 
68 protected:
69  void fillHitRecord(DtChordIntersectionRecord& rec, const DtChord& chord, const DtPoint& chordNormal,
70  double intersectTime, DtIntersectionRecord::DtIntersectionType irtFlag) const;
71 
72  bool chordEllipsoidIntersect(const DtChord& chord, DtChordIntersectionRecord& hit1,
73  DtChordIntersectionRecord& hit2, DtIntersectionRecord::DtIntersectionType irtFlag) const;
74 
75 protected:
76  Coordinate_System* myCoordinateSystem;
78 };

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)