TetGen version 1.4.3

- Most recent variant of 1.4.3 version from www.wias-berlin.de
- Also found as upstream version for Ubunto distribution:
  https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/tetgen/1.4.3-1/tetgen_1.4.3.orig.tar.gz
This commit is contained in:
Hang Si
2011-04-15 23:35:00 +02:00
committed by Juergen Fuhrmann
commit 8731e9d633
7 changed files with 42829 additions and 0 deletions

66
LICENSE Normal file
View File

@@ -0,0 +1,66 @@
TetGen License
--------------
The software (TetGen) is licensed under the terms of the MIT license
with the following exceptions:
Distribution of modified versions of this code is permissible UNDER
THE CONDITION THAT THIS CODE AND ANY MODIFICATIONS MADE TO IT IN THE
SAME SOURCE FILES tetgen.h AND tetgen.cxx REMAIN UNDER COPYRIGHT OF
THE ORIGINAL AUTHOR, BOTH SOURCE AND OBJECT CODE ARE MADE FREELY
AVAILABLE WITHOUT CHARGE, AND CLEAR NOTICE IS GIVEN OF THE
MODIFICATIONS.
Distribution of this code for any commercial purpose is permissible
ONLY BY DIRECT ARRANGEMENT WITH THE COPYRIGHT OWNER.
The full license text is reproduced below.
This means that TetGen is no free software, but for private, research,
and educational purposes it can be used at absolutely no cost and
without further arrangements.
For details, see http://tetgen.berlios.de
==============================================================================
TetGen
A Quality Tetrahedral Mesh Generator and 3D Delaunay Triangulator
Version 1.4 (Released on January 14, 2006).
Copyright 2002, 2004, 2005, 2006
Hang Si
Rathausstr. 9, 10178 Berlin, Germany
si@wias-berlin.de
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
Distribution of modified versions of this code is permissible UNDER
THE CONDITION THAT THIS CODE AND ANY MODIFICATIONS MADE TO IT IN THE
SAME SOURCE FILES tetgen.h AND tetgen.cxx REMAIN UNDER COPYRIGHT OF
THE ORIGINAL AUTHOR, BOTH SOURCE AND OBJECT CODE ARE MADE FREELY
AVAILABLE WITHOUT CHARGE, AND CLEAR NOTICE IS GIVEN OF THE
MODIFICATIONS.
Distribution of this code for any commercial purpose is permissible
ONLY BY DIRECT ARRANGEMENT WITH THE COPYRIGHT OWNER.
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
==============================================================================

16
README Normal file
View File

@@ -0,0 +1,16 @@
This is TetGen version 1.4.3 (released on September 6, 2009, updated on December 13, 2010, updated on January 19, 2011, updated on April 15, 2011)
Please see the documentation of TetGen for compiling and using TetGen.
It is available at the following link:
http://tetgen.berlios.de/index.html
TetGen may be freely copied, modified, and redistributed under the
copyright notices stated in the file LICENSE.
Please send bugs/comments to Hang Si <si@wias-berlin.de>
Thank you and enjoy!
Hang Si
January 19, 2011

132
example.poly Normal file
View File

@@ -0,0 +1,132 @@
#
# example.poly - Sample file of TetGen.
#
# A .poly file describes a piecewise linear complex (PLC)
# This file represents a compensated magic tee junction.
#
# The source file is from: Vali Catina <catina@uni-bremen.de>
#
# Part 1 - node list
54 3 0 0
1 -13.716000000000001 -5.0800000000000001 0
2 -13.716000000000001 5.0800000000000001 0
3 -11.43 5.0800000000000001 0
4 11.43 -5.0800000000000001 0
5 11.43 7.3659999999999997 0
6 -11.43 7.3659999999999997 0
7 0.95105651629515364 -0.37999999999999989 0
8 -0.95105651629515364 -0.37999999999999989 0
9 -0.95105651629515364 4.6200000000000001 0
10 0.95105651629515364 4.6200000000000001 0
11 -0.95105651629515353 4.6200000000000001 -0.30901699437494756
12 -0.58778525229247303 4.6200000000000001 -0.80901699437494756
13 1.2246063538223773e-16 4.6200000000000001 -1
14 0.58778525229247325 4.6200000000000001 -0.80901699437494734
15 0.95105651629515364 4.6200000000000001 -0.30901699437494734
16 -0.95105651629515353 -0.37999999999999989 -0.30901699437494756
17 -0.58778525229247303 -0.37999999999999989 -0.80901699437494756
18 1.2246063538223773e-16 -0.37999999999999989 -1
19 0.58778525229247325 -0.37999999999999989 -0.80901699437494734
20 0.95105651629515364 -0.37999999999999989 -0.30901699437494734
21 -1.5874999999999999 -0.37999999999999989 -2.9160938800395356e-16
22 -1.5098022196185561 -0.37999999999999989 -0.49056447857022928
23 -1.2843144785702287 -0.37999999999999989 -0.93310908801430126
24 -0.93310908801430081 -0.37999999999999989 -1.2843144785702292
25 -0.49056447857022878 -0.37999999999999989 -1.5098022196185563
26 1.9440625866930238e-16 -0.37999999999999989 -1.5874999999999999
27 0.49056447857022917 -0.37999999999999989 -1.5098022196185561
28 0.93310908801430115 -0.37999999999999989 -1.284314478570229
29 1.284314478570229 -0.37999999999999989 -0.93310908801430092
30 1.5098022196185563 -0.37999999999999989 -0.49056447857022889
31 1.5874999999999999 -0.37999999999999989 9.7203129334651192e-17
32 -1.5874999999999999 -5.0800000000000001 -2.9160938800395356e-16
33 -1.5098022196185561 -5.0800000000000001 -0.49056447857022928
34 -1.2843144785702287 -5.0800000000000001 -0.93310908801430126
35 -0.93310908801430081 -5.0800000000000001 -1.2843144785702292
36 -0.49056447857022878 -5.0800000000000001 -1.5098022196185563
37 1.9440625866930238e-16 -5.0800000000000001 -1.5874999999999999
38 0.49056447857022917 -5.0800000000000001 -1.5098022196185561
39 0.93310908801430115 -5.0800000000000001 -1.284314478570229
40 1.284314478570229 -5.0800000000000001 -0.93310908801430092
41 1.5098022196185563 -5.0800000000000001 -0.49056447857022889
42 1.5874999999999999 -5.0800000000000001 9.7203129334651192e-17
43 -11.43 7.3659999999999997 -5.0800000000000001
44 11.43 7.3659999999999997 -5.0800000000000001
45 -11.43 5.0800000000000001 -5.0800000000000001
46 11.43 5.0800000000000001 -5.0800000000000001
47 -13.716000000000001 5.0800000000000001 -11.43
48 -13.716000000000001 -5.0800000000000001 -11.43
49 -11.43 -5.0800000000000001 -11.43
50 -11.43 5.0800000000000001 -11.43
51 -11.43 -5.0800000000000001 -13.715999999999999
52 11.43 -5.0800000000000001 -13.715999999999999
53 11.43 5.0800000000000001 -13.715999999999999
54 -11.43 5.0800000000000001 -13.715999999999999
# Part 2 - facet list
29 1
1 0 1
14 1 2 3 6 5 4 42 31 7 10 9 8 21 32
1 0 1
7 9 10 15 14 13 12 11
1 0 1
4 8 9 11 16
1 0 1
4 11 12 17 16
1 0 1
4 12 13 18 17
1 0 1
4 13 14 19 18
1 0 1
4 14 15 20 19
1 0 1
4 10 7 20 15
1 0 1
18 7 31 30 29 28 27 26 25 24 23 22 21 8 16 17 18 19 20
1 0 1
4 21 22 33 32
1 0 1
4 22 23 34 33
1 0 1
4 23 24 35 34
1 0 1
4 24 25 36 35
1 0 1
4 25 26 37 36
1 0 1
4 26 27 38 37
1 0 1
4 27 28 39 38
1 0 1
4 28 29 40 39
1 0 1
4 29 30 41 40
1 0 1
4 30 31 42 41
1 0 1
4 43 45 46 44
1 0 1
4 5 6 43 44
1 0 1
6 4 5 44 46 53 52
1 0 1
4 6 3 45 43
1 0 1
4 47 48 49 50
1 0 1
8 3 2 47 50 54 53 46 45
1 0 1
17 42 4 52 51 49 48 1 32 33 34 35 36 37 38 39 40 41
1 0 1
4 2 1 48 47
1 0 1
4 50 49 51 54
1 0 1
4 54 51 52 53
# Part 3 - hole list
0
# Part 4 - region list
0

71
makefile Normal file
View File

@@ -0,0 +1,71 @@
###############################################################################
# #
# makefile for TetGen #
# #
# Type "make" to compile TetGen into an executable program (tetgen). #
# Type "make tetlib" to compile TetGen into a library (libtet.a). #
# Type "make distclean" to delete all object (*.o) files. #
# #
###############################################################################
# CXX should be set to the name of your favorite C++ compiler.
# ===========================================================
CXX = g++
#CXX = icpc
#CXX = CC
# CXXFLAGS is the level of optimiztion, default is -O. One should try
# -O2, -O3 ... to find the best optimization level.
# ===================================================================
CXXFLAGS = -g
# PREDCXXFLAGS is for compiling J. Shewchuk's predicates. It should
# always be equal to -O0 (no optimization). Otherwise, TetGen may not
# work properly.
PREDCXXFLAGS = -O0
# SWITCHES is a list of switches to compile TetGen.
# =================================================
#
# By default, TetGen uses double precision floating point numbers. If you
# prefer single precision, use the -DSINGLE switch.
#
# The source code of TetGen includes a lot of assertions, which are mainly
# used for catching bugs at that places. These assertions somewhat slow
# down the speed of TetGen. They can be skipped by define the -DNDEBUG
# switch.
SWITCHES = -Wall -DSELF_CHECK
# SWITCHES = -Wall -Wabi -Wctor-dtor-privacy \
# -Woverloaded-virtual -Wno-pmf-conversions -Wsign-promo \
# -Wsynth -Wchar-subscripts -Wconversion -Wsign-compare \
# -Wcomment -Wimplicit -Wmissing-braces -Wparentheses \
# -Wreturn-type -Wswitch -Wswitch-default \
# -Wswitch-enum -Wtrigraphs -W -DSELF_CHECK
# RM should be set to the name of your favorite rm (file deletion program).
RM = /bin/rm
# The action starts here.
tetgen: tetgen.cxx predicates.o
$(CXX) $(CXXFLAGS) $(SWITCHES) -o tetgen tetgen.cxx predicates.o -lm
tetlib: tetgen.cxx predicates.o
$(CXX) $(CXXFLAGS) $(SWITCHES) -DTETLIBRARY -c tetgen.cxx
ar r libtet.a tetgen.o predicates.o
predicates.o: predicates.cxx
$(CXX) $(PREDCXXFLAGS) -c predicates.cxx
clean:
$(RM) *.o *.a tetgen *~

4187
predicates.cxx Normal file

File diff suppressed because it is too large Load Diff

34926
tetgen.cxx Normal file

File diff suppressed because it is too large Load Diff

3431
tetgen.h Normal file

File diff suppressed because it is too large Load Diff