VR-Forces 4.0.4 Class Documentation
include/terrainInterface/gdbTerrainImplementation.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2009 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 
00008 
00010 
00011 #ifndef gdbTerrainImplementation_h
00012 #define gdbTerrainImplementation_h
00013 
00014 #include "terrainInterface/terrainInterfaceDefines.h"
00015 #include "terrainInterface/terrainImplementation.h"
00016 #include <geometry/intersectionRecord.h>
00017 #include "terrainInterface/terrainCapabilities.h"
00018 #include "geometry/surface.h"
00019 #include "gdb/gdbNode.h"
00020 #include "gdb/group.h"
00021 #include "gdb/triInd.h"
00022 
00023 class DtTdbManager;
00024 class DtTerrainImplementationDescriptor;
00025 class DtVectorNetwork;
00026 namespace makArchives
00027 {
00028    class DtGenericTerrainRecord;
00029 }
00030 
00034 class DT_DLL_terrainInterface DtGdbTerrainImplementation : 
00035    public DtTerrainImplementation
00036 {
00037 public:
00038    DtGdbTerrainImplementation(DtConsoleCommandManager* cmdMgr);
00039    
00040    virtual ~DtGdbTerrainImplementation();
00041 
00042    static DtTerrainImplementation* create(DtConsoleCommandManager* cmdMgr);
00043 
00044    virtual bool loadTerrain(const makArchives::DtGenericTerrainRecord& record,
00045       const TerrainSettings& settings = TerrainSettings());
00046 
00047    virtual const Coordinate_System* coordinateSystem() const;
00048 
00051    virtual bool chordIntersect(const DtChord& chord,
00052       DtChordIntersectionRecord& record,
00053       DtIntersectionRecord::DtIntersectionType irtFlag = DtIntersectionRecord::INT_ALL_DATA,
00054       bool* dataAvailable = 0, bool overrideBlockingAssert = false) const;
00055 
00058    virtual bool allIntersectsAlongChord(const DtChord& chord,
00059       DtChordIntersectRecordList& intList,
00060       DtIntersectionRecord::DtIntersectionType irtFlag = DtIntersectionRecord::INT_ALL_DATA,
00061       bool* dataAvailable = 0, bool overrideBlockingAssert = false) const;
00062 
00065    virtual bool sphereIntersect(const DtSphere& sphere, DtSphereIntersectionRecord& record,
00066       DtIntersectionRecord::DtIntersectionType irtFlag = DtIntersectionRecord::INT_ALL_DATA,
00067        bool* dataAvailable = 0, bool overrideBlockingAssert = false) const;
00068 
00069    virtual const DtVectorNetwork* vectorNetwork() const;
00070 
00075    virtual bool intersectVectorNetwork(const DtChord& chord,
00076       DtVectorNetworkRecord* vectorRecord, 
00077       DtVectorNetworkIntersectionRecord* vectorIntersectionRecord) const;
00078 
00079    virtual const DtTerrainCapabilities* terrainCapabilities() const;
00080 
00081    virtual void processTrianglesInArea(DtTriangleCallbackFcn func, DtTriangleCallbackFinalizeFcn finalize, DtTerrainProcessPolygonsBox& box, void* usr) const;
00082    virtual void convertNodeToTriangle(DtGdbNode* gdbNode, DtTerrainTriangleStruct& triangle) const;
00083 protected:
00084    DtTdbManager* myTdbManager;
00085    DtTerrainCapabilities myCapabilities;
00086 };
00087 
00088 #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)