EgtGeomKernel :
- correzioni a Zmap per triangoli invertiti ma validi.
This commit is contained in:
+24
-2
@@ -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 ;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user