Debuggin Euler characteristic

This commit is contained in:
James E McClure 2015-08-26 16:42:55 -04:00
parent eafbc44e2b
commit e083d1ec8c

View File

@ -589,13 +589,13 @@ void TwoPhase::ComponentAverages()
for (int p=0; p<n_nw_pts; p++){ for (int p=0; p<n_nw_pts; p++){
Point PT = nw_pts(p); Point PT = nw_pts(p);
// Check that this point is not on a previously computed face // Check that this point is not on a previously computed face
if (PT.x < 1e-12 && PT.y < 1e-12 && PT.z < 1e-12) if (PT.x - double(i) < 1e-12 && PT.y - double(j) < 1e-12 && PT.z - double(k) < 1e-12)
nvert-=1; nvert-=1;
} }
for (int p=0; p<n_ns_pts; p++){ for (int p=0; p<n_ns_pts; p++){
Point PT = ns_pts(p); Point PT = ns_pts(p);
// Check that this point is not on a previously computed face // Check that this point is not on a previously computed face
if (PT.x < 1e-12 && PT.y < 1e-12 && PT.z < 1e-12) if (PT.x - double(i) < 1e-12 && PT.y - double(j) < 1e-12 && PT.z - double(k) < 1e-12)
nvert-=1; nvert-=1;
} }
for (int p=0; p<n_nw_tris; p++){ for (int p=0; p<n_nw_tris; p++){
@ -607,24 +607,25 @@ void TwoPhase::ComponentAverages()
// Check side A-B // Check side A-B
bool newside = true; bool newside = true;
if (A.x < 1e-12 && B.x < 1e-12) newside=false; if (A.x - double(i) < 1e-12 && B.x - double(i) < 1e-12) newside=false;
if (A.y < 1e-12 && B.y < 1e-12) newside=false; if (A.y - double(j) < 1e-12 && B.y - double(j) < 1e-12) newside=false;
if (A.z < 1e-12 && B.z < 1e-12) newside=false; if (A.z - double(k) < 1e-12 && B.z - double(k) < 1e-12) newside=false;
if (!newside) nside-=1; if (!newside) nside-=1;
// Check side A-C // Check side A-C
newside = true; newside = true;
if (A.x < 1e-12 && C.x < 1e-12) newside=false; if (A.x - double(i)< 1e-12 && C.x - double(i) < 1e-12) newside=false;
if (A.y < 1e-12 && C.y < 1e-12) newside=false; if (A.y - double(j)< 1e-12 && C.y - double(j)< 1e-12) newside=false;
if (A.z < 1e-12 && C.z < 1e-12) newside=false; if (A.z - double(k)< 1e-12 && C.z - double(k)< 1e-12) newside=false;
if (!newside) nside-=1; if (!newside) nside-=1;
// Check side B-C // Check side B-C
newside = true; newside = true;
if (B.x < 1e-12 && C.x < 1e-12) newside=false; if (B.x - double(i) < 1e-12 && C.x - double(i) < 1e-12) newside=false;
if (B.y < 1e-12 && C.y < 1e-12) newside=false; if (B.y - double(j) < 1e-12 && C.y - double(j) < 1e-12) newside=false;
if (B.z < 1e-12 && C.z < 1e-12) newside=false; if (B.z - double(k) < 1e-12 && C.z - double(k) < 1e-12) newside=false;
if (!newside) nside-=1; if (!newside) nside-=1;
} }
for (int p=0; p<n_ns_tris; p++){ for (int p=0; p<n_ns_tris; p++){
@ -636,23 +637,23 @@ void TwoPhase::ComponentAverages()
// Check side A-B // Check side A-B
bool newside = true; bool newside = true;
if (A.x < 1e-12 && B.x < 1e-12) newside=false; if (A.x - double(i) < 1e-12 && B.x - double(i) < 1e-12) newside=false;
if (A.y < 1e-12 && B.y < 1e-12) newside=false; if (A.y - double(j) < 1e-12 && B.y - double(j) < 1e-12) newside=false;
if (A.z < 1e-12 && B.z < 1e-12) newside=false; if (A.z - double(k) < 1e-12 && B.z - double(k) < 1e-12) newside=false;
if (!newside) nside-=1; if (!newside) nside-=1;
// Check side A-C // Check side A-C
newside = true; newside = true;
if (A.x < 1e-12 && C.x < 1e-12) newside=false; if (A.x - double(i)< 1e-12 && C.x - double(i) < 1e-12) newside=false;
if (A.y < 1e-12 && C.y < 1e-12) newside=false; if (A.y - double(j)< 1e-12 && C.y - double(j)< 1e-12) newside=false;
if (A.z < 1e-12 && C.z < 1e-12) newside=false; if (A.z - double(k)< 1e-12 && C.z - double(k)< 1e-12) newside=false;
if (!newside) nside-=1; if (!newside) nside-=1;
// Check side B-C // Check side B-C
newside = true; newside = true;
if (B.x < 1e-12 && C.x < 1e-12) newside=false; if (B.x - double(i) < 1e-12 && C.x - double(i) < 1e-12) newside=false;
if (B.y < 1e-12 && C.y < 1e-12) newside=false; if (B.y - double(j) < 1e-12 && C.y - double(j) < 1e-12) newside=false;
if (B.z < 1e-12 && C.z < 1e-12) newside=false; if (B.z - double(k) < 1e-12 && C.z - double(k) < 1e-12) newside=false;
if (!newside) nside-=1; if (!newside) nside-=1;
} }