VR-Forces 4.0.4 Class Documentation
include/terrainInterface/terrainPassThroughLayer.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2010 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 
00008 
00010 
00011 #pragma once
00012 
00013 #include "terrainInterface/terrainInterfaceDefines.h"
00014 #include "terrainInterface/terrainImplementation.h"
00015 
00022 class DT_DLL_terrainInterface DtTerrainPassThroughLayer : public DtTerrainImplementation
00023 {
00024 private:
00026 
00027    DtTerrainPassThroughLayer();
00028    DtTerrainPassThroughLayer(const DtTerrainPassThroughLayer& orig);
00029    DtTerrainPassThroughLayer& operator=(const DtTerrainPassThroughLayer& orig);
00031 public:
00034    DtTerrainPassThroughLayer(DtTerrainImplementation* terrainImplementation,
00035       DtConsoleCommandManager* cmdMgr);
00036    virtual ~DtTerrainPassThroughLayer();
00037 
00038    virtual bool loadTerrain(const makArchives::DtGenericTerrainRecord& rec,
00039       const std::map<std::string, std::string>& settings =
00040      (std::map<std::string, std::string>()));
00041 
00042    virtual const Coordinate_System* coordinateSystem() const ;
00043 
00044    virtual void preloadTerrainAreas(
00045       const DtTerrainPagingGeometryList& preloadGeometry);
00046 
00049    virtual bool chordIntersect(const DtChord& chord,
00050       DtChordIntersectionRecord& record,
00051       DtIntersectionRecord::DtIntersectionType irtFlag = 
00052       DtIntersectionRecord::INT_ALL_DATA,
00053       bool* dataAvailable = 0, bool overrideBlockingAssert = false) const;
00054 
00058    virtual bool allIntersectsAlongChord(const DtChord& chord,
00059       DtChordIntersectRecordList& intList,
00060       DtIntersectionRecord::DtIntersectionType irtFlag = 
00061       DtIntersectionRecord::INT_ALL_DATA,
00062       bool* dataAvailable = 0, bool overrideBlockingAssert = false) const;
00063 
00066    virtual bool sphereIntersect(const DtSphere& sphere, 
00067       DtSphereIntersectionRecord& record,
00068       DtIntersectionRecord::DtIntersectionType irtFlag = 
00069       DtIntersectionRecord::INT_ALL_DATA,
00070       bool* dataAvailable = 0, bool overrideBlockingAssert = false) const;
00071 
00076    virtual bool intersectVectorNetwork(const DtChord& chord,
00077       DtVectorNetworkRecord* vectorRecord, 
00078       DtVectorNetworkIntersectionRecord* vectorIntersectionRecord) const;
00079 
00080    virtual const DtVectorNetwork* vectorNetwork() const;
00081 
00082    virtual const DtTerrainCapabilities* terrainCapabilities() const;
00083 
00084    virtual void setIntersectDataLoadExpireTime(const double& expireTime);
00085 
00086    virtual void expireDataLoadRequestsBeforeTime(const double& currentTime);
00087 
00088    struct DtCreatorParam
00089    {
00090       DtTerrainImplementation* terrainImplementation;
00091       DtConsoleCommandManager* commandManager;
00092    };
00093 
00094 protected:
00095    DtTerrainImplementation* myTerrainImplementation;
00096 };
00097 
00098 typedef DtStringKeyFactoryWithParam<DtTerrainPassThroughLayer, DtTerrainPassThroughLayer::DtCreatorParam> 
00099    DtTerrainPassThroughLayerFactory;
00100 typedef DtTerrainPassThroughLayerFactory::DtCreatorFcn DtTerrainPassThroughLayerCreatorFcn;

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)