2 Commits

Author SHA1 Message Date
Hang Si
535f9c41f4 Update changelog for v1.6.0 2025-05-15 22:37:16 +02:00
Hang Si
70f58eb910 TetGen v1.6.0
- Version obtained from www.wias-berlin.de / tetgen.org
2025-05-15 22:35:38 +02:00
7 changed files with 12006 additions and 7757 deletions

View File

@@ -1,4 +1,24 @@
# TetGen: Release Notes
## Version 1.6.0 (August 31, 2020)
- Improved the speed of the Bowyer-Watson point insertion algorithm
for creating Delaunay tetrahedralization.
- Improved the robustness of the boundary recovery algorithm (-p -Y
options) for creating constrained tetrahedralizations. Now the
default algorithm for the \`\`-p\" option (boundary recobvery) is
the constrained tetrahedralization algorithm. It is robust and it
uses less Steiner points than the constrained Delaunay
tetrahedralization (CDT) algorothm uses. The option to use the CDT
algorithm is \`\`-p -D\".
- A new implementation of the constrained Delaunay refinement
algorithm (-q option). It uses new Steiner points insertion schemes
to remove badly-shaped elements.
- Implemented a new set of mesh smoothing and mesh improvement
operations (-O -o) for optimizing the quality of the meshes. The
overall mesh quality has been improved.
- (Change of the -d option) To detect self-intersection in the input
surface mesh is now directly done in the constrained
tetrahedralization algorithm (the -p option).
## Version 1.5.0 (November 4, 2013)

3
README
View File

@@ -1,4 +1,4 @@
This is TetGen version 1.5.1 (released on August, 2018)
This is TetGen version 1.6.0 (released on August 31, 2020)
Please see the documentation of TetGen for compiling and using TetGen.
It is available at the following link:
@@ -13,7 +13,6 @@ For more information on this product, contact :
Mohrenstr. 39
10117 Berlin, Germany
Phone: +49 (0) 30-20372-446 Fax: +49 (0) 30-2044975
EMail: <si@wias-berlin.de>
Web Site: http://www.wias-berlin.de/~si

0
example.poly Normal file → Executable file
View File

0
makefile Normal file → Executable file
View File

View File

@@ -399,7 +399,7 @@ static REAL ispstaticfilter;
// http://www.math.utah.edu/~beebe/software/ieee/
// The original program was "fpinfo2.c".
double fppow2(int n)
static double fppow2(int n)
{
double x, power;
x = (n < 0) ? ((double)1.0/(double)2.0) : (double)2.0;
@@ -412,12 +412,12 @@ double fppow2(int n)
#ifdef SINGLE
float fstore(float x)
static float fstore(float x)
{
return (x);
}
int test_float(int verbose)
static int test_float(int verbose)
{
float x;
int pass = 1;
@@ -467,12 +467,12 @@ int test_float(int verbose)
# else
double dstore(double x)
static double dstore(double x)
{
return (x);
}
int test_double(int verbose)
static int test_double(int verbose)
{
double x;
int pass = 1;
@@ -881,7 +881,7 @@ int expansion_sum_zeroelim2(int elen, REAL *e, int flen, REAL *f, REAL *h)
/* */
/*****************************************************************************/
int fast_expansion_sum(int elen, REAL *e, int flen, REAL *f, REAL *h)
static int fast_expansion_sum(int elen, REAL *e, int flen, REAL *f, REAL *h)
/* h cannot be e or f. */
{
REAL Q;
@@ -953,7 +953,7 @@ int fast_expansion_sum(int elen, REAL *e, int flen, REAL *f, REAL *h)
/* properties. */
/* */
/*****************************************************************************/
static
int fast_expansion_sum_zeroelim(int elen, REAL *e, int flen, REAL *f, REAL *h)
/* h cannot be e or f. */
{
@@ -1165,7 +1165,7 @@ int linear_expansion_sum_zeroelim(int elen, REAL *e, int flen, REAL *f,
/* will h.) */
/* */
/*****************************************************************************/
static
int scale_expansion(int elen, REAL *e, REAL b, REAL *h)
/* e and h cannot be the same. */
{
@@ -1211,7 +1211,7 @@ int scale_expansion(int elen, REAL *e, REAL b, REAL *h)
/* will h.) */
/* */
/*****************************************************************************/
static
int scale_expansion_zeroelim(int elen, REAL *e, REAL b, REAL *h)
/* e and h cannot be the same. */
{
@@ -1263,7 +1263,7 @@ int scale_expansion_zeroelim(int elen, REAL *e, REAL b, REAL *h)
/* nonadjacent expansion. */
/* */
/*****************************************************************************/
static
int compress(int elen, REAL *e, REAL *h)
/* e and h may be the same. */
{
@@ -1306,7 +1306,7 @@ int compress(int elen, REAL *e, REAL *h)
/* See either version of my paper for details. */
/* */
/*****************************************************************************/
static
REAL estimate(int elen, REAL *e)
{
REAL Q;
@@ -1344,7 +1344,7 @@ REAL estimate(int elen, REAL *e)
/* nearly so. */
/* */
/*****************************************************************************/
static
REAL orient2dfast(REAL *pa, REAL *pb, REAL *pc)
{
REAL acx, bcx, acy, bcy;
@@ -1356,6 +1356,7 @@ REAL orient2dfast(REAL *pa, REAL *pb, REAL *pc)
return acx * bcy - acy * bcx;
}
//static
REAL orient2dexact(REAL *pa, REAL *pb, REAL *pc)
{
INEXACT REAL axby1, axcy1, bxcy1, bxay1, cxay1, cxby1;
@@ -4181,7 +4182,7 @@ REAL insphere(REAL *pa, REAL *pb, REAL *pc, REAL *pd, REAL *pe)
/* See my Robust Predicates paper for details. */
/* */
/*****************************************************************************/
//static
REAL orient4dexact(REAL* pa, REAL* pb, REAL* pc, REAL* pd, REAL* pe,
REAL aheight, REAL bheight, REAL cheight, REAL dheight,
REAL eheight)
@@ -4397,6 +4398,7 @@ REAL orient4dexact(REAL* pa, REAL* pb, REAL* pc, REAL* pd, REAL* pe,
return deter[deterlen - 1];
}
static
REAL orient4dadapt(REAL* pa, REAL* pb, REAL* pc, REAL* pd, REAL* pe,
REAL aheight, REAL bheight, REAL cheight, REAL dheight,
REAL eheight, REAL permanent)
@@ -4700,3 +4702,9 @@ REAL orient4d(REAL* pa, REAL* pb, REAL* pc, REAL* pd, REAL* pe,
//==============================================================================

17883
tetgen.cxx

File diff suppressed because it is too large Load Diff

1741
tetgen.h

File diff suppressed because it is too large Load Diff