VR-Forces 4.0.4 Class Documentation
include/osgEarthTerrainImplementation/osgEarthTerrainImplementation.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright 2010 VT MAK
00003 *******************************************************************************/
00004 
00007 
00009 
00010 #ifndef osgEarthTerrainImplementation_h
00011 #define osgEarthTerrainImplementation_h
00012 
00013 #include <osgEarthTerrainImplementation/osgEarthTerrainImplementationDefines.h>
00014 
00015 #include <terrainInterface/terrainImplementation.h>
00016 #include <terrainInterface/terrainInterface.h>
00017 
00018 #include <osgEarthUtil/ElevationManager>
00019 
00020 namespace makArchives
00021 {
00022    class DtGenericTerrainRecord;
00023 }
00024 
00056 
00057 class DT_DLL_osgEarthTerrainImplementation DtOsgEarthTerrainImplementation : 
00058    public DtTerrainImplementation
00059 {
00060 public:
00061 
00062    DtOsgEarthTerrainImplementation(DtConsoleCommandManager*);
00063 
00064    virtual ~DtOsgEarthTerrainImplementation();
00065 
00066    virtual bool loadTerrain(const makArchives::DtGenericTerrainRecord& record,
00067       const TerrainSettings& settings = TerrainSettings());
00068 
00069    virtual const Coordinate_System* coordinateSystem() const;
00070 
00071    virtual bool chordIntersect(const DtChord& chord,
00072       DtChordIntersectionRecord& record,
00073       DtIntersectionRecord::DtIntersectionType irtFlag = DtIntersectionRecord::INT_ALL_DATA,
00074       bool* dataAvailable = 0, bool overrideBlockingAssert = false) const;
00075 
00076    virtual bool allIntersectsAlongChord(const DtChord& chord,
00077       DtChordIntersectRecordList& intList,
00078       DtIntersectionRecord::DtIntersectionType irtFlag = DtIntersectionRecord::INT_ALL_DATA,
00079       bool* dataAvailable = 0, bool overrideBlockingAssert = false) const;
00080 
00081    virtual bool sphereIntersect(const DtSphere& sphere, DtSphereIntersectionRecord& record,
00082       DtIntersectionRecord::DtIntersectionType irtFlag = DtIntersectionRecord::INT_ALL_DATA,
00083       bool* dataAvailable = 0, bool overrideBlockingAssert = false) const;
00084 
00085    virtual bool intersectVectorNetwork(const DtChord& chord,
00086       DtVectorNetworkRecord* vectorRecord, 
00087       DtVectorNetworkIntersectionRecord* vectorIntersectionRecord) const;
00088 
00091    virtual const DtTerrainCapabilities* terrainCapabilities() const { return 0; };
00092 
00093    virtual bool chordIsVertical(const DtChord& chord) const;
00094 
00095    virtual const DtVectorNetwork* vectorNetwork() const;
00096 
00097    static DtTerrainImplementation* create(DtConsoleCommandManager*);
00098 
00099 protected:
00100 
00101    Coordinate_System* myCoordinateSystem;
00102 
00104    osgEarth::Util::ElevationManager* myElevationManager;
00105 
00106    DtVectorNetwork * myVectorNetwork; 
00107 };
00108 
00110 extern "C" 
00111 {  
00112    DT_DLL_osgEarthTerrainImplementation bool DtRegisterTerrainImplementation(DtTerrainInterface* terrainIf);
00113 }
00114 #endif

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)