![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2006 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: terrainIntersectionProfile.h,v $ $Revision: 1.4 $ $State: Exp $ 00007 *******************************************************************************/ 00008 #ifndef terrainIntersectionProfile_H_ 00009 #define terrainIntersectionProfile_H_ 00010 00011 #include "gdb/gdbDefines.h" 00012 00017 00018 class DT_DLL_gdb DtElementIntersectionTestData 00019 { 00020 public: 00021 DtElementIntersectionTestData(); 00022 00023 bool wasSuccessful() const { return myWasSuccessful; } 00024 void setWasSuccessful(bool yesOrNo) { myWasSuccessful = yesOrNo; } 00025 00026 private: 00027 bool myWasSuccessful; 00028 }; 00029 inline DtElementIntersectionTestData::DtElementIntersectionTestData() 00030 : myWasSuccessful(false) 00031 { 00032 } 00033 00034 00040 00041 class DT_DLL_gdb DtTerrainIntersectionTestData 00042 { 00043 public: 00044 DtTerrainIntersectionTestData(bool successful, unsigned int numTests, 00045 unsigned int numSuccessfulTests); 00046 00047 bool wasSuccessful() const { return myWasSuccessful; } 00048 00049 void setWasSuccessful(bool yesOrNo) { myWasSuccessful = yesOrNo; } 00050 00051 unsigned int numElementTests() const { return myNumElementTests; } 00052 00053 unsigned int numSuccessfulElementTests() const { return myNumSuccessfulElementTests; } 00054 00055 void setNumElementTests(unsigned int newNumTests) { myNumElementTests = newNumTests; } 00056 00057 private: 00058 bool myWasSuccessful; 00059 unsigned int myNumElementTests; 00060 unsigned int myNumSuccessfulElementTests; 00061 }; 00062 00063 inline DtTerrainIntersectionTestData::DtTerrainIntersectionTestData(bool successful, 00064 unsigned int numTests, unsigned int numSuccessfulTests) 00065 : myWasSuccessful(successful) 00066 , myNumElementTests(numTests) 00067 , myNumSuccessfulElementTests(numSuccessfulTests) 00068 { 00069 } 00070 00071 00077 00078 class DT_DLL_gdb DtTerrainIntersectionProfile 00079 { 00080 public: 00081 DtTerrainIntersectionProfile(); 00082 00083 public: 00084 00085 inline void addTestSamplePoint(const DtTerrainIntersectionTestData& newTest); 00086 00087 void reset() 00088 { 00089 myNumTerrainTests = 0; 00090 myNumSuccessfulTerrainTests = 0; 00091 myNumIndividualElementTests = 0; 00092 myNumSuccessfulIndividualElementTests = 0; 00093 } 00094 00095 unsigned int numTotalTests() const { return myNumTerrainTests; } 00096 unsigned int numSuccessfulTests() const { return myNumSuccessfulTerrainTests; } 00097 unsigned int numUnsuccessfulTests() const { return myNumTerrainTests - myNumSuccessfulTerrainTests; } 00098 00099 unsigned int numIndividualTests() const { return myNumIndividualElementTests; } 00100 unsigned int numSuccessfulIndividualTests() const { return myNumSuccessfulIndividualElementTests; } 00101 unsigned int numUnsuccessfulIndividualTests() const { return myNumIndividualElementTests - myNumSuccessfulIndividualElementTests; } 00102 00103 private: 00104 unsigned int myNumTerrainTests; 00105 00106 unsigned int myNumSuccessfulTerrainTests; 00107 00108 unsigned int myNumIndividualElementTests; 00109 00110 unsigned int myNumSuccessfulIndividualElementTests; 00111 }; 00112 00113 inline DtTerrainIntersectionProfile::DtTerrainIntersectionProfile() 00114 : myNumTerrainTests(0) 00115 , myNumSuccessfulTerrainTests(0) 00116 , myNumIndividualElementTests(0) 00117 , myNumSuccessfulIndividualElementTests(0) 00118 { 00119 } 00120 00121 inline void DtTerrainIntersectionProfile::addTestSamplePoint(const DtTerrainIntersectionTestData& newTest) 00122 { 00123 ++myNumTerrainTests; 00124 if (newTest.wasSuccessful()) 00125 { 00126 ++myNumSuccessfulTerrainTests; 00127 } 00128 00129 myNumIndividualElementTests += newTest.numElementTests(); 00130 myNumSuccessfulIndividualElementTests += newTest.numSuccessfulElementTests(); 00131 } 00132 00133 00134 #endif