VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ellipsoidTerrainImplementation.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2020 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(
37 
38  virtual const Coordinate_System* coordinateSystem() const;
39 
42  virtual bool chordIntersect(DtTerrainIntersectStatus& status,
43  const DtChord& chord,
45  const DtTerrainIntersectOptions& options) const;
46 
50  const DtChord& chord,
52  const DtTerrainIntersectOptions& options) const;
53 
54  virtual const DtTerrainCapabilities* terrainCapabilities() const;
55 
57 
59 
60 protected:
61  void fillHitRecord(DtVrfChordIntersectionRecord& rec, const DtChord& chord, const DtPoint& chordNormal,
62  double intersectTime, DtIntersectionRecord::DtIntersectionType irtFlag) const;
63 
64  bool chordEllipsoidIntersect(const DtChord& chord, DtVrfChordIntersectionRecord& hit1,
66 
67 protected:
70 };
NOTE: This entire class is deprecated, in favor of Dt3dChord.
Definition: chord.h:40
This is the abstract base class for all terrain implementations. A terrain implementation is used by ...
Definition: terrainImplementation.h:170
DtVrfChordIntersectionRecord represents a list of DtChordIntersectRecords. This is useful for followi...
Definition: vrfChordIntersectRecordList.h:31
DtGenericTerrainRecords allow the VR-Forces terrainInterface library to instantiate and configure the...
Definition: DtGenericTerrainRecord.h:34
virtual void processTrianglesInArea(DtTriangleOutputInterface &, const DtTerrainProcessPolygonsBox &) const =0
virtual bool chordIntersect(DtTerrainIntersectStatus &status, const DtChord &chord, DtVrfChordIntersectionRecord &record, const DtTerrainIntersectOptions &options) const =0
Returns topmost intersection of chord with terrain in record.
This is a class which maintains a list of string command names and the callback functions that are to...
Definition: consoleCommandManager.h:56
virtual bool allIntersectsAlongChord(DtTerrainIntersectStatus &status, const DtChord &chord, DtVrfChordIntersectRecordList &intList, const DtTerrainIntersectOptions &options) const =0
Returns all intersections of chord with terrain.
DtTerrainIntersectOptions Passed to terrain intersect functions to modify how intersect acts...
Definition: terrainIntersectOptions.h:15
Definition: coordSystem.h:54
virtual bool loadTerrain(const makArchives::DtGenericTerrainRecord &rec)=0
Loads a terrain given the terrain record.
#define DT_DLL_terrainInterface
This file is used to determine how to build.
Definition: terrainInterfaceDefines.h:25
Coordinate_System * myCoordinateSystem
Definition: ellipsoidTerrainImplementation.h:68
DtTerrainCapabilities myCapabilities
Definition: ellipsoidTerrainImplementation.h:69
This class holds parameters which define the capabilities of the current terrain. The terrain impleme...
Definition: terrainCapabilities.h:28
This terrain implementation is an algorithmic representation of the world as a bald ellipsoid defined...
Definition: ellipsoidTerrainImplementation.h:26
virtual DtTerrainInformation * terrainInformation()
Return the terrain information pointer of the terrain implementation (null if none exist) this is a d...
Definition: terrainImplementation.h:305
Definition: vrfChordIntersectionRecord.h:19
virtual const Coordinate_System * coordinateSystem() const =0
Interface for getting terrain triangle data out of DtTerrainInterface::trianglesInArea. This object should always be created on the stack.
Definition: terrainProcessPolygonsBox.h:113
TODO Put this in the makTerrainLib.
Definition: terrainInformation.h:17
Definition: point.h:34
DtTerrainIntersectStatus Contains information about result of terrain intersection.
Definition: terrainIntersectStatus.h:16
virtual const DtTerrainCapabilities * terrainCapabilities() const =0
DtIntersectionType
Definition: intersectionRecord.h:41
Represents an area query which can be used to extract triangles from DtTerrainInterface. The box points are in local but the box is always projected against the local topo at the center point of the box.
Definition: terrainProcessPolygonsBox.h:39

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)