From: <rha...@us...> - 2012-01-24 13:27:58
|
Revision: 389 http://mevislabmodules.svn.sourceforge.net/mevislabmodules/?rev=389&view=rev Author: rhameeteman Date: 2012-01-24 13:27:49 +0000 (Tue, 24 Jan 2012) Log Message: ----------- KH. * Added the average values of the minimum, mean and maximum CSO distances. Modified Paths: -------------- trunk/Community/General/Modules/ML/MLCSOCommunityModules/MLCSOCommunityModules.def trunk/Community/General/Sources/ML/MLCSOCommunityModules/CSODistance/CSODistance.cpp trunk/Community/General/Sources/ML/MLCSOCommunityModules/CSODistance/CSODistance.h Modified: trunk/Community/General/Modules/ML/MLCSOCommunityModules/MLCSOCommunityModules.def =================================================================== --- trunk/Community/General/Modules/ML/MLCSOCommunityModules/MLCSOCommunityModules.def 2011-12-16 16:31:05 UTC (rev 388) +++ trunk/Community/General/Modules/ML/MLCSOCommunityModules/MLCSOCommunityModules.def 2012-01-24 13:27:49 UTC (rev 389) @@ -21,6 +21,9 @@ Window { Category Totals { Field minimumDistance { edit = NO minLength = 10 } + Field averageMinimumDistance { edit = NO minLength = 10 } + Field averageMeanDistance { edit = NO minLength = 10 } + Field averageMaximumDistance { edit = NO minLength = 10 } Separator { direction = Horizontal } Field minimumDistancePoint1 { minLength = 10 } Field minimumDistancePoint2 { minLength = 10 } @@ -50,6 +53,7 @@ ListView distances { expandY = Yes columnSeparator = "," + //sortByColumn = 0 } } } Modified: trunk/Community/General/Sources/ML/MLCSOCommunityModules/CSODistance/CSODistance.cpp =================================================================== --- trunk/Community/General/Sources/ML/MLCSOCommunityModules/CSODistance/CSODistance.cpp 2011-12-16 16:31:05 UTC (rev 388) +++ trunk/Community/General/Sources/ML/MLCSOCommunityModules/CSODistance/CSODistance.cpp 2012-01-24 13:27:49 UTC (rev 389) @@ -41,6 +41,10 @@ (_minimumDistancePoint2Fld = fieldC->addVec3f("minimumDistancePoint2"))->setVec3fValue(vec3(0.0,0.0,0.0)); _distancesFld = addString("distances",_tableHeader ); + _AverageMinimumDistanceFld = addFloat("averageMinimumDistance", 0.0f ); + _AverageMeanDistanceFld = addFloat("averageMeanDistance", 0.0f ); + _AverageMaxDistanceFld = addFloat("averageMaximumDistance", 0.0f ); + ////////////////////////////////////////////////////////////////////////// _tolleranceFld = addDouble("tollerance", 0.0001 ); @@ -248,6 +252,9 @@ double minDist = ML_DOUBLE_MAX; vec3 point1; vec3 point2; + float averageMinDistance = 0.0f; + float averageMeanDistance = 0.0f; + float averageMaxDistance = 0.0f; for ( int iCSO = 0; iCSO<nCSOs; ++iCSO ){ CSO* currentCSO = _csoList0->getCSOAt( iCSO ); CSO* matchingCSO = _findMatchingCSO(iCSO); @@ -264,6 +271,10 @@ minDistance,maxDistance,avgDistance,stdDevDistance, minPoint1,minPoint2,maxPoint1,maxPoint2); + averageMinDistance += minDistance; + averageMeanDistance += avgDistance; + averageMaxDistance += maxDistance; + distances << currentCSO->getId() << "," << matchingCSO->getId() << "," << minDistance << "," @@ -299,6 +310,10 @@ break; } } // iCSO + averageMinDistance /= (nCSOs != 0 ? nCSOs : 1.0); + averageMeanDistance /= (nCSOs != 0 ? nCSOs : 1.0); + averageMaxDistance /= (nCSOs != 0 ? nCSOs : 1.0); + outputCurve->setY( nCSOs, yValues); delete[] yValues; _outputCurveList->getCurveList().push_back( outputCurve ); @@ -306,6 +321,13 @@ _minimumDistancePoint1Fld->setVec3fValue(point1); _minimumDistancePoint2Fld->setVec3fValue(point2); _minimumDistanceFld->setFloatValue( static_cast<float>(minDistance) ); + + _AverageMinimumDistanceFld->setFloatValue( averageMinDistance ); + _AverageMeanDistanceFld->setFloatValue( averageMeanDistance ); + _AverageMaxDistanceFld->setFloatValue( averageMaxDistance ); + + + break; } default: Modified: trunk/Community/General/Sources/ML/MLCSOCommunityModules/CSODistance/CSODistance.h =================================================================== --- trunk/Community/General/Sources/ML/MLCSOCommunityModules/CSODistance/CSODistance.h 2011-12-16 16:31:05 UTC (rev 388) +++ trunk/Community/General/Sources/ML/MLCSOCommunityModules/CSODistance/CSODistance.h 2012-01-24 13:27:49 UTC (rev 389) @@ -69,6 +69,10 @@ //! Field for holding the distances per cso StringField* _distancesFld; + FloatField* _AverageMinimumDistanceFld; + FloatField* _AverageMeanDistanceFld; + FloatField* _AverageMaxDistanceFld; + //! Apply field NotifyField* _applyFld; //! Auto apply field This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |