![]() |
VR-Forces 4.0.4 Class Documentation
|
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/terrainPassThroughLayer.h" 00015 #include <vlutil/vlPerformanceStats.h> 00016 #include <list> 00017 00018 class DtConsoleCommand; 00019 00022 class DT_DLL_terrainInterface DtIntersectTimerPassThroughLayer : public DtTerrainPassThroughLayer 00023 { 00024 public: 00025 DtIntersectTimerPassThroughLayer(DtTerrainImplementation* implementation, 00026 DtConsoleCommandManager* cmdMgr); 00027 virtual ~DtIntersectTimerPassThroughLayer(); 00028 00030 virtual bool chordIntersect(const DtChord& chord, 00031 DtChordIntersectionRecord& record, 00032 DtIntersectionRecord::DtIntersectionType irtFlag = 00033 DtIntersectionRecord::INT_ALL_DATA, 00034 bool* dataAvailable = 0, bool overrideBlockingAssert = false) const; 00035 00037 virtual bool allIntersectsAlongChord(const DtChord& chord, 00038 DtChordIntersectRecordList& intList, 00039 DtIntersectionRecord::DtIntersectionType irtFlag = DtIntersectionRecord::INT_ALL_DATA, 00040 bool* dataAvailable = 0, bool overrideBlockingAssert = false) const; 00041 00042 virtual void resetStatistics(); 00043 00044 virtual void printStatistics(); 00045 00046 static DtTerrainPassThroughLayer* create(DtCreatorParam createParam); 00047 protected: 00048 virtual void printStatistic(int statId); 00049 protected: 00050 DtConsoleCommandManager* myCommandMgr; 00051 std::list<DtConsoleCommand*> myCommandList; 00052 00053 mutable DtPerformanceStats myDataAvailableIntersectionStats; 00054 mutable DtPerformanceStats myDataUnavailableIntersectionStats; 00055 mutable std::map<unsigned int, unsigned int> myDataAvailableIntersectCount; 00056 mutable std::map<unsigned int, unsigned int> myDataUnavailableIntersectCount; 00057 };