|
|
@@ -14,6 +14,7 @@
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
#include "TetGen/tetgen.h"
|
|
|
+#include <inttypes.h>
|
|
|
|
|
|
//// io_cxx ///////////////////////////////////////////////////////////////////
|
|
|
//// ////
|
|
|
@@ -3194,7 +3195,7 @@ bool tetgenbehavior::parse_commandline(int argc, char **argv)
|
|
|
k++;
|
|
|
}
|
|
|
workstring[k] = '\0';
|
|
|
- hilbert_order = (REAL) strtod(workstring, (char **) NULL);
|
|
|
+ hilbert_order = (int)(REAL) strtod(workstring, (char **) NULL);
|
|
|
}
|
|
|
}
|
|
|
if (brio_threshold == 0) { // -b0
|
|
|
@@ -10829,7 +10830,7 @@ void tetgenmesh::brio_multiscale_sort(point* vertexarray, int arraysize,
|
|
|
middle = 0;
|
|
|
if (arraysize >= threshold) {
|
|
|
(*depth)++;
|
|
|
- middle = arraysize * ratio;
|
|
|
+ middle = (int)(arraysize * ratio);
|
|
|
brio_multiscale_sort(vertexarray, middle, threshold, ratio, depth);
|
|
|
}
|
|
|
// Sort the right-array (rnd-th round) using the Hilbert curve.
|
|
|
@@ -17603,7 +17604,7 @@ bool tetgenmesh::fillregion(arraypool* missingshs, arraypool* missingshbds,
|
|
|
|
|
|
newshs->restart();
|
|
|
|
|
|
- return success;
|
|
|
+ return success > 0 ? true : false;
|
|
|
}
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
@@ -27130,10 +27131,10 @@ int tetgenmesh::checkshells()
|
|
|
while ((nextsh.sh != NULL) && (nextsh.sh != shloop.sh)) {
|
|
|
if (nextsh.sh[3] == NULL) {
|
|
|
printf(" !! !! Wrong subface-subface connection (Dead subface).\n");
|
|
|
- printf(" First: x%lx (%d, %d, %d).\n", (uintptr_t) spinsh.sh,
|
|
|
+ printf(" First: x%" PRIxPTR " (%d, %d, %d).\n", (uintptr_t) spinsh.sh,
|
|
|
pointmark(sorg(spinsh)), pointmark(sdest(spinsh)),
|
|
|
pointmark(sapex(spinsh)));
|
|
|
- printf(" Second: x%lx (DEAD)\n", (uintptr_t) nextsh.sh);
|
|
|
+ printf(" Second: x%" PRIxPTR " (DEAD)\n", (uintptr_t) nextsh.sh);
|
|
|
horrors++;
|
|
|
break;
|
|
|
}
|
|
|
@@ -27141,10 +27142,10 @@ int tetgenmesh::checkshells()
|
|
|
if (!(((sorg(nextsh) == pa) && (sdest(nextsh) == pb)) ||
|
|
|
((sorg(nextsh) == pb) && (sdest(nextsh) == pa)))) {
|
|
|
printf(" !! !! Wrong subface-subface connection.\n");
|
|
|
- printf(" First: x%lx (%d, %d, %d).\n", (uintptr_t) spinsh.sh,
|
|
|
+ printf(" First: x%" PRIxPTR " (%d, %d, %d).\n", (uintptr_t) spinsh.sh,
|
|
|
pointmark(sorg(spinsh)), pointmark(sdest(spinsh)),
|
|
|
pointmark(sapex(spinsh)));
|
|
|
- printf(" Scond: x%lx (%d, %d, %d).\n", (uintptr_t) nextsh.sh,
|
|
|
+ printf(" Scond: x%" PRIxPTR " (%d, %d, %d).\n", (uintptr_t) nextsh.sh,
|
|
|
pointmark(sorg(nextsh)), pointmark(sdest(nextsh)),
|
|
|
pointmark(sapex(nextsh)));
|
|
|
horrors++;
|
|
|
@@ -27153,10 +27154,10 @@ int tetgenmesh::checkshells()
|
|
|
// Check they should not have the same apex.
|
|
|
if (sapex(nextsh) == sapex(spinsh)) {
|
|
|
printf(" !! !! Existing two duplicated subfaces.\n");
|
|
|
- printf(" First: x%lx (%d, %d, %d).\n", (uintptr_t) spinsh.sh,
|
|
|
+ printf(" First: x%" PRIxPTR " (%d, %d, %d).\n", (uintptr_t) spinsh.sh,
|
|
|
pointmark(sorg(spinsh)), pointmark(sdest(spinsh)),
|
|
|
pointmark(sapex(spinsh)));
|
|
|
- printf(" Scond: x%lx (%d, %d, %d).\n", (uintptr_t) nextsh.sh,
|
|
|
+ printf(" Scond: x%" PRIxPTR " (%d, %d, %d).\n", (uintptr_t) nextsh.sh,
|
|
|
pointmark(sorg(nextsh)), pointmark(sdest(nextsh)),
|
|
|
pointmark(sapex(nextsh)));
|
|
|
horrors++;
|
|
|
@@ -27170,19 +27171,19 @@ int tetgenmesh::checkshells()
|
|
|
if (checkseg.sh != NULL) {
|
|
|
if (checkseg.sh[3] == NULL) {
|
|
|
printf(" !! !! Wrong subface-subseg connection (Dead subseg).\n");
|
|
|
- printf(" Sub: x%lx (%d, %d, %d).\n", (uintptr_t) shloop.sh,
|
|
|
+ printf(" Sub: x%" PRIxPTR " (%d, %d, %d).\n", (uintptr_t) shloop.sh,
|
|
|
pointmark(sorg(shloop)), pointmark(sdest(shloop)),
|
|
|
pointmark(sapex(shloop)));
|
|
|
- printf(" Sub: x%lx (Dead)\n", (uintptr_t) checkseg.sh);
|
|
|
+ printf(" Sub: x%" PRIxPTR " (Dead)\n", (uintptr_t) checkseg.sh);
|
|
|
horrors++;
|
|
|
} else {
|
|
|
if (!(((sorg(checkseg) == pa) && (sdest(checkseg) == pb)) ||
|
|
|
((sorg(checkseg) == pb) && (sdest(checkseg) == pa)))) {
|
|
|
printf(" !! !! Wrong subface-subseg connection.\n");
|
|
|
- printf(" Sub: x%lx (%d, %d, %d).\n", (uintptr_t) shloop.sh,
|
|
|
+ printf(" Sub: x%" PRIxPTR " (%d, %d, %d).\n", (uintptr_t) shloop.sh,
|
|
|
pointmark(sorg(shloop)), pointmark(sdest(shloop)),
|
|
|
pointmark(sapex(shloop)));
|
|
|
- printf(" Seg: x%lx (%d, %d).\n", (uintptr_t) checkseg.sh,
|
|
|
+ printf(" Seg: x%" PRIxPTR " (%d, %d).\n", (uintptr_t) checkseg.sh,
|
|
|
pointmark(sorg(checkseg)), pointmark(sdest(checkseg)));
|
|
|
horrors++;
|
|
|
}
|
|
|
@@ -27196,19 +27197,19 @@ int tetgenmesh::checkshells()
|
|
|
if (neightet.tet != NULL) {
|
|
|
if (neightet.tet[4] == NULL) {
|
|
|
printf(" !! !! Wrong sub-to-tet connection (Dead tet)\n");
|
|
|
- printf(" Sub: x%lx (%d, %d, %d).\n", (uintptr_t) shloop.sh,
|
|
|
+ printf(" Sub: x%" PRIxPTR " (%d, %d, %d).\n", (uintptr_t) shloop.sh,
|
|
|
pointmark(sorg(shloop)), pointmark(sdest(shloop)),
|
|
|
pointmark(sapex(shloop)));
|
|
|
- printf(" Tet: x%lx (DEAD)\n", (uintptr_t) neightet.tet);
|
|
|
+ printf(" Tet: x%" PRIxPTR " (DEAD)\n", (uintptr_t) neightet.tet);
|
|
|
horrors++;
|
|
|
} else {
|
|
|
if (!((sorg(shloop) == org(neightet)) &&
|
|
|
(sdest(shloop) == dest(neightet)))) {
|
|
|
printf(" !! !! Wrong sub-to-tet connection\n");
|
|
|
- printf(" Sub: x%lx (%d, %d, %d).\n", (uintptr_t) shloop.sh,
|
|
|
+ printf(" Sub: x%" PRIxPTR " (%d, %d, %d).\n", (uintptr_t) shloop.sh,
|
|
|
pointmark(sorg(shloop)), pointmark(sdest(shloop)),
|
|
|
pointmark(sapex(shloop)));
|
|
|
- printf(" Tet: x%lx (%d, %d, %d, %d).\n",
|
|
|
+ printf(" Tet: x%" PRIxPTR " (%d, %d, %d, %d).\n",
|
|
|
(uintptr_t) neightet.tet, pointmark(org(neightet)),
|
|
|
pointmark(dest(neightet)), pointmark(apex(neightet)),
|
|
|
pointmark(oppo(neightet)));
|
|
|
@@ -27218,10 +27219,10 @@ int tetgenmesh::checkshells()
|
|
|
if (!((sorg(spinsh) == org(neightet)) &&
|
|
|
(sdest(spinsh) == dest(neightet)))) {
|
|
|
printf(" !! !! Wrong tet-sub connection.\n");
|
|
|
- printf(" Sub: x%lx (%d, %d, %d).\n", (uintptr_t) spinsh.sh,
|
|
|
+ printf(" Sub: x%" PRIxPTR " (%d, %d, %d).\n", (uintptr_t) spinsh.sh,
|
|
|
pointmark(sorg(spinsh)), pointmark(sdest(spinsh)),
|
|
|
pointmark(sapex(spinsh)));
|
|
|
- printf(" Tet: x%lx (%d, %d, %d, %d).\n",
|
|
|
+ printf(" Tet: x%" PRIxPTR " (%d, %d, %d, %d).\n",
|
|
|
(uintptr_t) neightet.tet, pointmark(org(neightet)),
|
|
|
pointmark(dest(neightet)), pointmark(apex(neightet)),
|
|
|
pointmark(oppo(neightet)));
|
|
|
@@ -27233,10 +27234,10 @@ int tetgenmesh::checkshells()
|
|
|
if (!((sorg(spinsh) == org(symtet)) &&
|
|
|
(sdest(spinsh) == dest(symtet)))) {
|
|
|
printf(" !! !! Wrong tet-sub connection.\n");
|
|
|
- printf(" Sub: x%lx (%d, %d, %d).\n", (uintptr_t) spinsh.sh,
|
|
|
+ printf(" Sub: x%" PRIxPTR " (%d, %d, %d).\n", (uintptr_t) spinsh.sh,
|
|
|
pointmark(sorg(spinsh)), pointmark(sdest(spinsh)),
|
|
|
pointmark(sapex(spinsh)));
|
|
|
- printf(" Tet: x%lx (%d, %d, %d, %d).\n",
|
|
|
+ printf(" Tet: x%" PRIxPTR " (%d, %d, %d, %d).\n",
|
|
|
(uintptr_t) symtet.tet, pointmark(org(symtet)),
|
|
|
pointmark(dest(symtet)), pointmark(apex(symtet)),
|
|
|
pointmark(oppo(symtet)));
|
|
|
@@ -27318,7 +27319,7 @@ int tetgenmesh::checksegments()
|
|
|
if (!(((org(tetloop) == pa) && (dest(tetloop) == pb)) ||
|
|
|
((org(tetloop) == pb) && (dest(tetloop) == pa)))) {
|
|
|
printf(" !! Wrong tet-seg connection.\n");
|
|
|
- printf(" Tet: x%lx (%d, %d, %d, %d) - Seg: x%lx (%d, %d).\n",
|
|
|
+ printf(" Tet: x%" PRIxPTR " (%d, %d, %d, %d) - Seg: x%" PRIxPTR " (%d, %d).\n",
|
|
|
(uintptr_t) tetloop.tet, pointmark(org(tetloop)),
|
|
|
pointmark(dest(tetloop)), pointmark(apex(tetloop)),
|
|
|
pointmark(oppo(tetloop)), (uintptr_t) sseg.sh,
|
|
|
@@ -27331,12 +27332,12 @@ int tetgenmesh::checksegments()
|
|
|
tsspivot1(neightet, checkseg);
|
|
|
if (checkseg.sh != sseg.sh) {
|
|
|
printf(" !! Wrong tet->seg connection.\n");
|
|
|
- printf(" Tet: x%lx (%d, %d, %d, %d) - ",
|
|
|
+ printf(" Tet: x%" PRIxPTR " (%d, %d, %d, %d) - ",
|
|
|
(uintptr_t) neightet.tet, pointmark(org(neightet)),
|
|
|
pointmark(dest(neightet)), pointmark(apex(neightet)),
|
|
|
pointmark(oppo(neightet)));
|
|
|
if (checkseg.sh != NULL) {
|
|
|
- printf("Seg x%lx (%d, %d).\n", (uintptr_t) checkseg.sh,
|
|
|
+ printf("Seg x%" PRIxPTR " (%d, %d).\n", (uintptr_t) checkseg.sh,
|
|
|
pointmark(sorg(checkseg)),pointmark(sdest(checkseg)));
|
|
|
} else {
|
|
|
printf("Seg: NULL.\n");
|
|
|
@@ -27355,7 +27356,7 @@ int tetgenmesh::checksegments()
|
|
|
if (!(((org(neightet) == pa) && (dest(neightet) == pb)) ||
|
|
|
((org(neightet) == pb) && (dest(neightet) == pa)))) {
|
|
|
printf(" !! Wrong seg->tet connection (Wrong edge).\n");
|
|
|
- printf(" Tet: x%lx (%d, %d, %d, %d) - Seg: x%lx (%d, %d).\n",
|
|
|
+ printf(" Tet: x%" PRIxPTR " (%d, %d, %d, %d) - Seg: x%" PRIxPTR " (%d, %d).\n",
|
|
|
(uintptr_t) neightet.tet, pointmark(org(neightet)),
|
|
|
pointmark(dest(neightet)), pointmark(apex(neightet)),
|
|
|
pointmark(oppo(neightet)), (uintptr_t) sseg.sh,
|
|
|
@@ -27372,7 +27373,7 @@ int tetgenmesh::checksegments()
|
|
|
neightet.ver = edge2ver[i];
|
|
|
if (edgemarked(neightet)) {
|
|
|
// A possible bug. Report it.
|
|
|
- printf(" !! A marked edge: (%d, %d, %d, %d) -- x%lx %d.\n",
|
|
|
+ printf(" !! A marked edge: (%d, %d, %d, %d) -- x%" PRIxPTR " %d.\n",
|
|
|
pointmark(org(neightet)), pointmark(dest(neightet)),
|
|
|
pointmark(apex(neightet)), pointmark(oppo(neightet)),
|
|
|
(uintptr_t) neightet.tet, neightet.ver);
|
|
|
@@ -27381,7 +27382,7 @@ int tetgenmesh::checksegments()
|
|
|
while (1) {
|
|
|
fnextself(spintet);
|
|
|
if (!edgemarked(spintet)) {
|
|
|
- printf(" !! !! An unmarked edge (%d, %d, %d, %d) -- x%lx %d.\n",
|
|
|
+ printf(" !! !! An unmarked edge (%d, %d, %d, %d) -- x%" PRIxPTR " %d.\n",
|
|
|
pointmark(org(spintet)), pointmark(dest(spintet)),
|
|
|
pointmark(apex(spintet)), pointmark(oppo(spintet)),
|
|
|
(uintptr_t) spintet.tet, spintet.ver);
|
|
|
@@ -27427,7 +27428,7 @@ int tetgenmesh::checksegments()
|
|
|
while (1) {
|
|
|
tsspivot1(spintet, checkseg);
|
|
|
if (checkseg.sh == NULL) {
|
|
|
- printf(" !! !! No seg at tet (%d, %d, %d, %d) -- x%lx %d\n",
|
|
|
+ printf(" !! !! No seg at tet (%d, %d, %d, %d) -- x%" PRIxPTR " %d\n",
|
|
|
pointmark(org(spintet)), pointmark(dest(spintet)),
|
|
|
pointmark(apex(spintet)), pointmark(oppo(spintet)),
|
|
|
(uintptr_t) spintet.tet, spintet.ver);
|
|
|
@@ -27447,7 +27448,7 @@ int tetgenmesh::checksegments()
|
|
|
} // while (1)
|
|
|
}
|
|
|
} else {
|
|
|
- printf(" !! Wrong seg-subface (%d, %d, %d) -- x%lx %d connect\n",
|
|
|
+ printf(" !! Wrong seg-subface (%d, %d, %d) -- x%" PRIxPTR " %d connect\n",
|
|
|
pointmark(sorg(spinsh)), pointmark(sdest(spinsh)),
|
|
|
pointmark(sapex(spinsh)), (uintptr_t) spinsh.sh,
|
|
|
spinsh.shver);
|