EgtGeomKernel :

- correzioni a Zmap per triangoli invertiti ma validi.
This commit is contained in:
Dario Sassi
2019-06-26 18:23:55 +00:00
parent cb9b0ce204
commit 9b7221eb0d
+24 -2
View File
@@ -1993,8 +1993,30 @@ VolZmap::ExtMarchingCubes( int nBlock, VoxelContainer& vVox) const
ptSol += ( dNewU2 + EPS_SMALL * ( dNewU1 - dNewU2)) * vtNullSpace ;
}
}
else
bExtConfirmed = nVertComp[nComp] < 6 ? false : true ;
else {
if ( nVertComp[nComp] == 5) {
double dDotAvarage = 0.;
for (int m = 0; m < nVertComp[nComp] - 1; ++m) {
for (int l = m + 1 ; l < nVertComp[nComp]; ++l) {
dDotAvarage += CompoVert[nComp][m].vtVec * CompoVert[nComp][l].vtVec;
}
}
dDotAvarage /= (( nVertComp[nComp] * ( nVertComp[nComp] - 1)) / 2) ;
int nNumPar = 0 ;
for ( int m = 0 ; m < nVertComp[nComp] - 1 ; ++ m) {
for ( int l = m + 1 ; l < nVertComp[nComp] ; ++ l) {
if ( AreSameVectorExact( CompoVert[nComp][m].vtVec, CompoVert[nComp][l].vtVec))
++ nNumPar ;
}
}
bExtConfirmed = nNumPar == 3 ;
}
else if (nVertComp[nComp] < 5) {
bExtConfirmed = false ;
}
}
}
}
}