cytriangle 1.0.3__cp311-cp311-macosx_14_0_arm64.whl → 2.0.0__cp311-cp311-macosx_14_0_arm64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of cytriangle might be problematic. Click here for more details.
- cytriangle/cytriangle.c +21 -21
- cytriangle/cytriangle.cpython-311-darwin.so +0 -0
- cytriangle/cytriangleio.c +5 -5
- cytriangle/cytriangleio.cpython-311-darwin.so +0 -0
- {cytriangle-1.0.3.dist-info → cytriangle-2.0.0.dist-info}/METADATA +6 -6
- cytriangle-2.0.0.dist-info/RECORD +13 -0
- {cytriangle-1.0.3.dist-info → cytriangle-2.0.0.dist-info}/WHEEL +1 -1
- cytriangle-1.0.3.dist-info/RECORD +0 -20
- src/c/A.poly +0 -62
- src/c/README +0 -198
- src/c/makefile +0 -116
- src/c/showme.c +0 -3375
- src/c/triangle.c +0 -14913
- src/c/triangle.h +0 -296
- src/c/tricall.c +0 -273
- {cytriangle-1.0.3.dist-info → cytriangle-2.0.0.dist-info}/LICENSE +0 -0
cytriangle/cytriangle.c
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* Generated by Cython 3.0.
|
|
1
|
+
/* Generated by Cython 3.0.12 */
|
|
2
2
|
|
|
3
3
|
/* BEGIN: Cython Metadata
|
|
4
4
|
{
|
|
@@ -61,10 +61,10 @@ END: Cython Metadata */
|
|
|
61
61
|
#else
|
|
62
62
|
#define __PYX_EXTRA_ABI_MODULE_NAME ""
|
|
63
63
|
#endif
|
|
64
|
-
#define CYTHON_ABI "
|
|
64
|
+
#define CYTHON_ABI "3_0_12" __PYX_EXTRA_ABI_MODULE_NAME
|
|
65
65
|
#define __PYX_ABI_MODULE_NAME "_cython_" CYTHON_ABI
|
|
66
66
|
#define __PYX_TYPE_MODULE_PREFIX __PYX_ABI_MODULE_NAME "."
|
|
67
|
-
#define CYTHON_HEX_VERSION
|
|
67
|
+
#define CYTHON_HEX_VERSION 0x03000CF0
|
|
68
68
|
#define CYTHON_FUTURE_DIVISION 1
|
|
69
69
|
#include <stddef.h>
|
|
70
70
|
#ifndef offsetof
|
|
@@ -1850,7 +1850,7 @@ static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args,
|
|
|
1850
1850
|
#if !CYTHON_VECTORCALL
|
|
1851
1851
|
#if PY_VERSION_HEX >= 0x03080000
|
|
1852
1852
|
#include "frameobject.h"
|
|
1853
|
-
#if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API
|
|
1853
|
+
#if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API && !defined(PYPY_VERSION)
|
|
1854
1854
|
#ifndef Py_BUILD_CORE
|
|
1855
1855
|
#define Py_BUILD_CORE 1
|
|
1856
1856
|
#endif
|
|
@@ -2126,22 +2126,22 @@ static int __Pyx_setup_reduce(PyObject* type_obj);
|
|
|
2126
2126
|
#endif
|
|
2127
2127
|
|
|
2128
2128
|
/* TypeImport.proto */
|
|
2129
|
-
#ifndef
|
|
2130
|
-
#define
|
|
2129
|
+
#ifndef __PYX_HAVE_RT_ImportType_proto_3_0_12
|
|
2130
|
+
#define __PYX_HAVE_RT_ImportType_proto_3_0_12
|
|
2131
2131
|
#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
|
|
2132
2132
|
#include <stdalign.h>
|
|
2133
2133
|
#endif
|
|
2134
2134
|
#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || __cplusplus >= 201103L
|
|
2135
|
-
#define
|
|
2135
|
+
#define __PYX_GET_STRUCT_ALIGNMENT_3_0_12(s) alignof(s)
|
|
2136
2136
|
#else
|
|
2137
|
-
#define
|
|
2137
|
+
#define __PYX_GET_STRUCT_ALIGNMENT_3_0_12(s) sizeof(void*)
|
|
2138
2138
|
#endif
|
|
2139
|
-
enum
|
|
2140
|
-
|
|
2141
|
-
|
|
2142
|
-
|
|
2139
|
+
enum __Pyx_ImportType_CheckSize_3_0_12 {
|
|
2140
|
+
__Pyx_ImportType_CheckSize_Error_3_0_12 = 0,
|
|
2141
|
+
__Pyx_ImportType_CheckSize_Warn_3_0_12 = 1,
|
|
2142
|
+
__Pyx_ImportType_CheckSize_Ignore_3_0_12 = 2
|
|
2143
2143
|
};
|
|
2144
|
-
static PyTypeObject *
|
|
2144
|
+
static PyTypeObject *__Pyx_ImportType_3_0_12(PyObject* module, const char *module_name, const char *class_name, size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_3_0_12 check_size);
|
|
2145
2145
|
#endif
|
|
2146
2146
|
|
|
2147
2147
|
/* ImportDottedModule.proto */
|
|
@@ -8068,7 +8068,7 @@ static int __Pyx_modinit_type_import_code(void) {
|
|
|
8068
8068
|
/*--- Type import code ---*/
|
|
8069
8069
|
__pyx_t_1 = PyImport_ImportModule("cytriangle.cytriangleio"); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3, __pyx_L1_error)
|
|
8070
8070
|
__Pyx_GOTREF(__pyx_t_1);
|
|
8071
|
-
__pyx_ptype_10cytriangle_12cytriangleio_TriangleIO =
|
|
8071
|
+
__pyx_ptype_10cytriangle_12cytriangleio_TriangleIO = __Pyx_ImportType_3_0_12(__pyx_t_1, "cytriangle.cytriangleio", "TriangleIO", sizeof(struct __pyx_obj_10cytriangle_12cytriangleio_TriangleIO), __PYX_GET_STRUCT_ALIGNMENT_3_0_12(struct __pyx_obj_10cytriangle_12cytriangleio_TriangleIO),__Pyx_ImportType_CheckSize_Warn_3_0_12); if (!__pyx_ptype_10cytriangle_12cytriangleio_TriangleIO) __PYX_ERR(2, 3, __pyx_L1_error)
|
|
8072
8072
|
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
|
|
8073
8073
|
__Pyx_RefNannyFinishContext();
|
|
8074
8074
|
return 0;
|
|
@@ -10831,10 +10831,10 @@ __PYX_GOOD:
|
|
|
10831
10831
|
#endif
|
|
10832
10832
|
|
|
10833
10833
|
/* TypeImport */
|
|
10834
|
-
#ifndef
|
|
10835
|
-
#define
|
|
10836
|
-
static PyTypeObject *
|
|
10837
|
-
size_t size, size_t alignment, enum
|
|
10834
|
+
#ifndef __PYX_HAVE_RT_ImportType_3_0_12
|
|
10835
|
+
#define __PYX_HAVE_RT_ImportType_3_0_12
|
|
10836
|
+
static PyTypeObject *__Pyx_ImportType_3_0_12(PyObject *module, const char *module_name, const char *class_name,
|
|
10837
|
+
size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_3_0_12 check_size)
|
|
10838
10838
|
{
|
|
10839
10839
|
PyObject *result = 0;
|
|
10840
10840
|
char warning[200];
|
|
@@ -10888,7 +10888,7 @@ static PyTypeObject *__Pyx_ImportType_3_0_11(PyObject *module, const char *modul
|
|
|
10888
10888
|
module_name, class_name, size, basicsize+itemsize);
|
|
10889
10889
|
goto bad;
|
|
10890
10890
|
}
|
|
10891
|
-
if (check_size ==
|
|
10891
|
+
if (check_size == __Pyx_ImportType_CheckSize_Error_3_0_12 &&
|
|
10892
10892
|
((size_t)basicsize > size || (size_t)(basicsize + itemsize) < size)) {
|
|
10893
10893
|
PyErr_Format(PyExc_ValueError,
|
|
10894
10894
|
"%.200s.%.200s size changed, may indicate binary incompatibility. "
|
|
@@ -10896,7 +10896,7 @@ static PyTypeObject *__Pyx_ImportType_3_0_11(PyObject *module, const char *modul
|
|
|
10896
10896
|
module_name, class_name, size, basicsize, basicsize+itemsize);
|
|
10897
10897
|
goto bad;
|
|
10898
10898
|
}
|
|
10899
|
-
else if (check_size ==
|
|
10899
|
+
else if (check_size == __Pyx_ImportType_CheckSize_Warn_3_0_12 && (size_t)basicsize > size) {
|
|
10900
10900
|
PyOS_snprintf(warning, sizeof(warning),
|
|
10901
10901
|
"%s.%s size changed, may indicate binary incompatibility. "
|
|
10902
10902
|
"Expected %zd from C header, got %zd from PyObject",
|
|
@@ -12347,7 +12347,7 @@ static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
|
|
|
12347
12347
|
#include "compile.h"
|
|
12348
12348
|
#include "frameobject.h"
|
|
12349
12349
|
#include "traceback.h"
|
|
12350
|
-
#if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API
|
|
12350
|
+
#if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API && !defined(PYPY_VERSION)
|
|
12351
12351
|
#ifndef Py_BUILD_CORE
|
|
12352
12352
|
#define Py_BUILD_CORE 1
|
|
12353
12353
|
#endif
|
|
Binary file
|
cytriangle/cytriangleio.c
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* Generated by Cython 3.0.
|
|
1
|
+
/* Generated by Cython 3.0.12 */
|
|
2
2
|
|
|
3
3
|
/* BEGIN: Cython Metadata
|
|
4
4
|
{
|
|
@@ -61,10 +61,10 @@ END: Cython Metadata */
|
|
|
61
61
|
#else
|
|
62
62
|
#define __PYX_EXTRA_ABI_MODULE_NAME ""
|
|
63
63
|
#endif
|
|
64
|
-
#define CYTHON_ABI "
|
|
64
|
+
#define CYTHON_ABI "3_0_12" __PYX_EXTRA_ABI_MODULE_NAME
|
|
65
65
|
#define __PYX_ABI_MODULE_NAME "_cython_" CYTHON_ABI
|
|
66
66
|
#define __PYX_TYPE_MODULE_PREFIX __PYX_ABI_MODULE_NAME "."
|
|
67
|
-
#define CYTHON_HEX_VERSION
|
|
67
|
+
#define CYTHON_HEX_VERSION 0x03000CF0
|
|
68
68
|
#define CYTHON_FUTURE_DIVISION 1
|
|
69
69
|
#include <stddef.h>
|
|
70
70
|
#ifndef offsetof
|
|
@@ -1845,7 +1845,7 @@ static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args,
|
|
|
1845
1845
|
#if !CYTHON_VECTORCALL
|
|
1846
1846
|
#if PY_VERSION_HEX >= 0x03080000
|
|
1847
1847
|
#include "frameobject.h"
|
|
1848
|
-
#if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API
|
|
1848
|
+
#if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API && !defined(PYPY_VERSION)
|
|
1849
1849
|
#ifndef Py_BUILD_CORE
|
|
1850
1850
|
#define Py_BUILD_CORE 1
|
|
1851
1851
|
#endif
|
|
@@ -19451,7 +19451,7 @@ static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
|
|
|
19451
19451
|
#include "compile.h"
|
|
19452
19452
|
#include "frameobject.h"
|
|
19453
19453
|
#include "traceback.h"
|
|
19454
|
-
#if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API
|
|
19454
|
+
#if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API && !defined(PYPY_VERSION)
|
|
19455
19455
|
#ifndef Py_BUILD_CORE
|
|
19456
19456
|
#define Py_BUILD_CORE 1
|
|
19457
19457
|
#endif
|
|
Binary file
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
2
|
Name: cytriangle
|
|
3
|
-
Version:
|
|
3
|
+
Version: 2.0.0
|
|
4
4
|
Summary: Object-oriented Cython wrapper of Shewchuk's Triangle Library
|
|
5
|
-
Home-page: https://github.com/m-clare/cytriangle
|
|
6
5
|
License: LGPL 3.0
|
|
7
6
|
Keywords: finite-element-analysis,triangular-meshing,mesh,FEA,triangle
|
|
8
7
|
Author: Maryanne Wachter
|
|
9
8
|
Author-email: mclare@utsv.net
|
|
10
9
|
Maintainer: Maryanne Wachter
|
|
11
10
|
Maintainer-email: mclare@utsv.net
|
|
12
|
-
Requires-Python: >=3.
|
|
11
|
+
Requires-Python: >=3.10
|
|
13
12
|
Classifier: Development Status :: 4 - Beta
|
|
14
13
|
Classifier: Environment :: Console
|
|
15
14
|
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
|
|
16
15
|
Classifier: License :: Other/Proprietary License
|
|
17
16
|
Classifier: Natural Language :: English
|
|
18
17
|
Classifier: Programming Language :: Python :: 3
|
|
19
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
20
18
|
Classifier: Programming Language :: Python :: 3.10
|
|
21
19
|
Classifier: Programming Language :: Python :: 3.11
|
|
22
20
|
Classifier: Programming Language :: Python :: 3.12
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
23
22
|
Classifier: Topic :: Scientific/Engineering
|
|
24
|
-
Requires-Dist: numpy (>=1.
|
|
23
|
+
Requires-Dist: numpy (>=2.1.2)
|
|
24
|
+
Project-URL: Homepage, https://github.com/m-clare/cytriangle
|
|
25
25
|
Project-URL: Repository, https://github.com/m-clare/cytriangle
|
|
26
26
|
Description-Content-Type: text/markdown
|
|
27
27
|
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
cytriangle/__init__.py,sha256=kEwfRnZoTHQyXpzGRGT2qSmCNuaFBLOSLXbSoSfTc6I,138
|
|
2
|
+
cytriangle/ctriangle.pxd,sha256=YJL_UQqC-O6tccoYEz6uO02V7U3aqtv0B68K43g9Z9o,877
|
|
3
|
+
cytriangle/cytriangle.c,sha256=u7MBwGax3hHuBrdq8ZnsZU1JUv6eWQwujYTPUnlagb4,565428
|
|
4
|
+
cytriangle/cytriangle.pyx,sha256=gOumyTTJe8z-oMhCuPgDp0V2Yy9MootqnJ-HNvMjTWg,9019
|
|
5
|
+
cytriangle/cytriangleio.c,sha256=P6N3msKQu64M_tbPo5FBe3Fmv3_pe0z0H3lH9N5wngo,905645
|
|
6
|
+
cytriangle/cytriangleio.pxd,sha256=0i9ovT56F-4X6p9WnZTOCmtNAD6Jfr3Yw9PnUYbAl_0,100
|
|
7
|
+
cytriangle/cytriangleio.pyx,sha256=mLSi4psbq5fEXjkbVHx6ru3ES3LbQywpu9D-hQ6d01E,22302
|
|
8
|
+
cytriangle/cytriangle.cpython-311-darwin.so,sha256=MaZrYTjNEm_62ErAu6cQQiMsMLCvYXlEqTi_f4s0abM,551600
|
|
9
|
+
cytriangle/cytriangleio.cpython-311-darwin.so,sha256=PEn7KdvwQrl95b40P54qdTyusbWsZOdl-W7cW8xnJvA,684160
|
|
10
|
+
cytriangle-2.0.0.dist-info/LICENSE,sha256=46mU2C5kSwOnkqkw9XQAJlhBL2JAf1_uCD8lVcXyMRg,7652
|
|
11
|
+
cytriangle-2.0.0.dist-info/METADATA,sha256=fEADuw071dA8pxlISmLvwkfw9pJDJMivzyMolDhKSnY,2006
|
|
12
|
+
cytriangle-2.0.0.dist-info/WHEEL,sha256=tj0L_EF0LbbA89KCcgvEc8ovwaYfdrZt2sKP_LddKlE,106
|
|
13
|
+
cytriangle-2.0.0.dist-info/RECORD,,
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
src/c/A.poly,sha256=fUAoFVmSX7cHUhBVYmheU06ihaULEwe-RLiikypjJQg,1045
|
|
2
|
-
src/c/README,sha256=ikdcdYAxJ0yn92hpgMDNYqqpnIbx2NN0RRwOrJ-k-20,8727
|
|
3
|
-
src/c/makefile,sha256=-rpGAONyNvjf5ycTO7K-TsIRKgWKe0qkHZA_6WmPEXo,4805
|
|
4
|
-
src/c/showme.c,sha256=lKJ2jrhU9xh5C-cgEdn13oCMjsHGENR5BzV7SamKh5E,108795
|
|
5
|
-
src/c/triangle.c,sha256=NrJs0FShDlaITvlqU1kbfGs2knPtZslNneaayE9p13s,625111
|
|
6
|
-
src/c/triangle.h,sha256=RQZ-CSiV5KTmRUhlgHpftXy26nEmEW2_AX7namNtvgI,21909
|
|
7
|
-
src/c/tricall.c,sha256=hr46XKoIgsd1_VT0JQ8k30Z1yZ7Pg8TWXgJ_BLWhGdU,10300
|
|
8
|
-
cytriangle/__init__.py,sha256=kEwfRnZoTHQyXpzGRGT2qSmCNuaFBLOSLXbSoSfTc6I,138
|
|
9
|
-
cytriangle/ctriangle.pxd,sha256=YJL_UQqC-O6tccoYEz6uO02V7U3aqtv0B68K43g9Z9o,877
|
|
10
|
-
cytriangle/cytriangle.c,sha256=oQnUioiSqVJ7h1ftvmeIoyjm-MkSy5D07fSLjR4nhpQ,565376
|
|
11
|
-
cytriangle/cytriangle.pyx,sha256=gOumyTTJe8z-oMhCuPgDp0V2Yy9MootqnJ-HNvMjTWg,9019
|
|
12
|
-
cytriangle/cytriangleio.c,sha256=FZWUvN1xsqq_i6kVxAcsRMBu-wZU1yTgcJ0d2O0P7IM,905593
|
|
13
|
-
cytriangle/cytriangleio.pxd,sha256=0i9ovT56F-4X6p9WnZTOCmtNAD6Jfr3Yw9PnUYbAl_0,100
|
|
14
|
-
cytriangle/cytriangleio.pyx,sha256=mLSi4psbq5fEXjkbVHx6ru3ES3LbQywpu9D-hQ6d01E,22302
|
|
15
|
-
cytriangle/cytriangle.cpython-311-darwin.so,sha256=d4ela41BnPplIyQqUfYhaABH4PwaP_g35hH9IgEDx-k,551600
|
|
16
|
-
cytriangle/cytriangleio.cpython-311-darwin.so,sha256=v8NVe4qhNFR9aVEqGhXMICWH1sDNZYqRdbYhRlEaJJ8,684160
|
|
17
|
-
cytriangle-1.0.3.dist-info/LICENSE,sha256=46mU2C5kSwOnkqkw9XQAJlhBL2JAf1_uCD8lVcXyMRg,7652
|
|
18
|
-
cytriangle-1.0.3.dist-info/METADATA,sha256=vrh8uniYM-KsBEoIa2RrOSpRFkkIaHtk8uDvSYBUxjo,1993
|
|
19
|
-
cytriangle-1.0.3.dist-info/WHEEL,sha256=h9XAMipeFIBqDUT_aBB0JdEY0xFkdkjrW2Vy94TWs4I,106
|
|
20
|
-
cytriangle-1.0.3.dist-info/RECORD,,
|
src/c/A.poly
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
29 2 1 0
|
|
2
|
-
1 0.200000 -0.776400 -0.57
|
|
3
|
-
2 0.220000 -0.773200 -0.55
|
|
4
|
-
3 0.245600 -0.756400 -0.51
|
|
5
|
-
4 0.277600 -0.702000 -0.53
|
|
6
|
-
5 0.488800 -0.207600 0.28
|
|
7
|
-
6 0.504800 -0.207600 0.30
|
|
8
|
-
7 0.740800 -0.739600 0
|
|
9
|
-
8 0.756000 -0.761200 -0.01
|
|
10
|
-
9 0.774400 -0.772400 0
|
|
11
|
-
10 0.800000 -0.776400 0.02
|
|
12
|
-
11 0.800000 -0.792400 0.01
|
|
13
|
-
12 0.579200 -0.792400 -0.21
|
|
14
|
-
13 0.579200 -0.776400 -0.2
|
|
15
|
-
14 0.621600 -0.771600 -0.15
|
|
16
|
-
15 0.633600 -0.762800 -0.13
|
|
17
|
-
16 0.639200 -0.744400 -0.1
|
|
18
|
-
17 0.620800 -0.684400 -0.06
|
|
19
|
-
18 0.587200 -0.604400 -0.01
|
|
20
|
-
19 0.360800 -0.604400 -0.24
|
|
21
|
-
20 0.319200 -0.706800 -0.39
|
|
22
|
-
21 0.312000 -0.739600 -0.43
|
|
23
|
-
22 0.318400 -0.761200 -0.44
|
|
24
|
-
23 0.334400 -0.771600 -0.44
|
|
25
|
-
24 0.371200 -0.776400 -0.41
|
|
26
|
-
25 0.371200 -0.792400 -0.42
|
|
27
|
-
26 0.374400 -0.570000 -0.2
|
|
28
|
-
27 0.574400 -0.570000 0
|
|
29
|
-
28 0.473600 -0.330800 0.14
|
|
30
|
-
29 0.200000 -0.792400 -0.59
|
|
31
|
-
29 0
|
|
32
|
-
1 29 1
|
|
33
|
-
2 1 2
|
|
34
|
-
3 2 3
|
|
35
|
-
4 3 4
|
|
36
|
-
5 4 5
|
|
37
|
-
6 5 6
|
|
38
|
-
7 6 7
|
|
39
|
-
8 7 8
|
|
40
|
-
9 8 9
|
|
41
|
-
10 9 10
|
|
42
|
-
11 10 11
|
|
43
|
-
12 11 12
|
|
44
|
-
13 12 13
|
|
45
|
-
14 13 14
|
|
46
|
-
15 14 15
|
|
47
|
-
16 15 16
|
|
48
|
-
17 16 17
|
|
49
|
-
18 17 18
|
|
50
|
-
19 18 19
|
|
51
|
-
20 19 20
|
|
52
|
-
21 20 21
|
|
53
|
-
22 21 22
|
|
54
|
-
23 22 23
|
|
55
|
-
24 23 24
|
|
56
|
-
25 24 25
|
|
57
|
-
26 25 29
|
|
58
|
-
27 26 27
|
|
59
|
-
28 27 28
|
|
60
|
-
29 28 26
|
|
61
|
-
1
|
|
62
|
-
1 0.47 -0.5
|
src/c/README
DELETED
|
@@ -1,198 +0,0 @@
|
|
|
1
|
-
Triangle
|
|
2
|
-
A Two-Dimensional Quality Mesh Generator and Delaunay Triangulator.
|
|
3
|
-
Version 1.6
|
|
4
|
-
|
|
5
|
-
Show Me
|
|
6
|
-
A Display Program for Meshes and More.
|
|
7
|
-
Version 1.6
|
|
8
|
-
|
|
9
|
-
Copyright 1993, 1995, 1997, 1998, 2002, 2005 Jonathan Richard Shewchuk
|
|
10
|
-
2360 Woolsey #H
|
|
11
|
-
Berkeley, California 94705-1927
|
|
12
|
-
Please send bugs and comments to jrs@cs.berkeley.edu
|
|
13
|
-
|
|
14
|
-
Created as part of the Quake project (tools for earthquake simulation).
|
|
15
|
-
Supported in part by NSF Grant CMS-9318163 and an NSERC 1967 Scholarship.
|
|
16
|
-
There is no warranty whatsoever. Use at your own risk.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
Triangle generates exact Delaunay triangulations, constrained Delaunay
|
|
20
|
-
triangulations, conforming Delaunay triangulations, Voronoi diagrams, and
|
|
21
|
-
high-quality triangular meshes. The latter can be generated with no small
|
|
22
|
-
or large angles, and are thus suitable for finite element analysis.
|
|
23
|
-
Show Me graphically displays the contents of the geometric files used by
|
|
24
|
-
Triangle. Show Me can also write images in PostScript form.
|
|
25
|
-
|
|
26
|
-
Information on the algorithms used by Triangle, including complete
|
|
27
|
-
references, can be found in the comments at the beginning of the triangle.c
|
|
28
|
-
source file. Another listing of these references, with PostScript copies
|
|
29
|
-
of some of the papers, is available from the Web page
|
|
30
|
-
|
|
31
|
-
http://www.cs.cmu.edu/~quake/triangle.research.html
|
|
32
|
-
|
|
33
|
-
------------------------------------------------------------------------------
|
|
34
|
-
|
|
35
|
-
These programs may be freely redistributed under the condition that the
|
|
36
|
-
copyright notices (including the copy of this notice in the code comments
|
|
37
|
-
and the copyright notice printed when the `-h' switch is selected) are
|
|
38
|
-
not removed, and no compensation is received. Private, research, and
|
|
39
|
-
institutional use is free. You may distribute modified versions of this
|
|
40
|
-
code UNDER THE CONDITION THAT THIS CODE AND ANY MODIFICATIONS MADE TO IT
|
|
41
|
-
IN THE SAME FILE REMAIN UNDER COPYRIGHT OF THE ORIGINAL AUTHOR, BOTH
|
|
42
|
-
SOURCE AND OBJECT CODE ARE MADE FREELY AVAILABLE WITHOUT CHARGE, AND
|
|
43
|
-
CLEAR NOTICE IS GIVEN OF THE MODIFICATIONS. Distribution of this code as
|
|
44
|
-
part of a commercial system is permissible ONLY BY DIRECT ARRANGEMENT
|
|
45
|
-
WITH THE AUTHOR. (If you are not directly supplying this code to a
|
|
46
|
-
customer, and you are instead telling them how they can obtain it for
|
|
47
|
-
free, then you are not required to make any arrangement with me.)
|
|
48
|
-
|
|
49
|
-
------------------------------------------------------------------------------
|
|
50
|
-
|
|
51
|
-
The files included in this distribution are:
|
|
52
|
-
|
|
53
|
-
README The file you're reading now.
|
|
54
|
-
triangle.c Complete C source code for Triangle.
|
|
55
|
-
showme.c Complete C source code for Show Me.
|
|
56
|
-
triangle.h Include file for calling Triangle from another program.
|
|
57
|
-
tricall.c Sample program that calls Triangle.
|
|
58
|
-
makefile Makefile for compiling Triangle and Show Me.
|
|
59
|
-
A.poly A sample input file.
|
|
60
|
-
|
|
61
|
-
Each of Triangle and Show Me is a single portable C file. The easiest way
|
|
62
|
-
to compile them is to edit and use the included makefile. Before
|
|
63
|
-
compiling, read the makefile, which describes your options, and edit it
|
|
64
|
-
accordingly. You should specify:
|
|
65
|
-
|
|
66
|
-
The source and binary directories.
|
|
67
|
-
|
|
68
|
-
The C compiler and level of optimization.
|
|
69
|
-
|
|
70
|
-
The "correct" directories for include files (especially X include files),
|
|
71
|
-
if necessary.
|
|
72
|
-
|
|
73
|
-
Do you want single precision or double? (The default is double.) Do you
|
|
74
|
-
want to leave out some of Triangle's features to reduce the size of the
|
|
75
|
-
executable file? Investigate the SINGLE, REDUCED, and CDT_ONLY symbols.
|
|
76
|
-
|
|
77
|
-
If yours is not a Unix system, define the NO_TIMER symbol to remove the
|
|
78
|
-
Unix-specific timing code. Also, don't try to compile Show Me; it only
|
|
79
|
-
works with X Windows.
|
|
80
|
-
|
|
81
|
-
If you are compiling on an Intel x86 CPU and using gcc w/Linux or
|
|
82
|
-
Microsoft C, be sure to define the LINUX or CPU86 (for Microsoft) symbol
|
|
83
|
-
during compilation so that the exact arithmetic works right.
|
|
84
|
-
|
|
85
|
-
Once you've done this, type "make" to compile the programs. Alternatively,
|
|
86
|
-
the files are usually easy to compile without a makefile:
|
|
87
|
-
|
|
88
|
-
cc -O -o triangle triangle.c -lm
|
|
89
|
-
cc -O -o showme showme.c -lX11
|
|
90
|
-
|
|
91
|
-
On some systems, the C compiler won't be able to find the X include files
|
|
92
|
-
or libraries, and you'll need to specify an include path or library path:
|
|
93
|
-
|
|
94
|
-
cc -O -I/usr/local/include -o showme showme.c -L/usr/local/lib -lX11
|
|
95
|
-
|
|
96
|
-
Some processors, including Intel x86 family and possibly Motorola 68xxx
|
|
97
|
-
family chips, are IEEE conformant but have extended length internal
|
|
98
|
-
floating-point registers that may defeat Triangle's exact arithmetic
|
|
99
|
-
routines by failing to cause enough roundoff error! Typically, there is a
|
|
100
|
-
way to set these internal registers so that they are rounded off to IEEE
|
|
101
|
-
single or double precision format. I believe (but I'm not certain) that
|
|
102
|
-
Triangle has the right incantations for x86 chips, if you have gcc running
|
|
103
|
-
under Linux (define the LINUX compiler symbol) or Microsoft C (define the
|
|
104
|
-
CPU86 compiler symbol).
|
|
105
|
-
|
|
106
|
-
If you have a different processor or operating system, or if I got the
|
|
107
|
-
incantations wrong, you should check your C compiler or system manuals to
|
|
108
|
-
find out how to configure these internal registers to the precision you are
|
|
109
|
-
using. Otherwise, the exact arithmetic routines won't be exact at all.
|
|
110
|
-
See http://www.cs.cmu.edu/~quake/robust.pc.html for details. Triangle's
|
|
111
|
-
exact arithmetic hasn't a hope of working on machines like the Cray C90 or
|
|
112
|
-
Y-MP, which are not IEEE conformant and have inaccurate rounding.
|
|
113
|
-
|
|
114
|
-
Triangle and Show Me have both text and HTML documentation. The latter is
|
|
115
|
-
illustrated. Find it on the Web at
|
|
116
|
-
|
|
117
|
-
http://www.cs.cmu.edu/~quake/triangle.html
|
|
118
|
-
http://www.cs.cmu.edu/~quake/showme.html
|
|
119
|
-
|
|
120
|
-
Complete text instructions are printed by invoking each program with the
|
|
121
|
-
`-h' switch:
|
|
122
|
-
|
|
123
|
-
triangle -h
|
|
124
|
-
showme -h
|
|
125
|
-
|
|
126
|
-
The instructions are long; you'll probably want to pipe the output to
|
|
127
|
-
`more' or `lpr' or redirect it to a file.
|
|
128
|
-
|
|
129
|
-
Both programs give a short list of command line options if they are invoked
|
|
130
|
-
without arguments (that is, just type `triangle' or `showme').
|
|
131
|
-
|
|
132
|
-
Try out Triangle on the enclosed sample file, A.poly:
|
|
133
|
-
|
|
134
|
-
triangle -p A
|
|
135
|
-
showme A.poly &
|
|
136
|
-
|
|
137
|
-
Triangle will read the Planar Straight Line Graph defined by A.poly, and
|
|
138
|
-
write its constrained Delaunay triangulation to A.1.node and A.1.ele.
|
|
139
|
-
Show Me will display the figure defined by A.poly. There are two buttons
|
|
140
|
-
marked "ele" in the Show Me window; click on the top one. This will cause
|
|
141
|
-
Show Me to load and display the triangulation.
|
|
142
|
-
|
|
143
|
-
For contrast, try running
|
|
144
|
-
|
|
145
|
-
triangle -pq A
|
|
146
|
-
|
|
147
|
-
Now, click on the same "ele" button. A new triangulation will be loaded;
|
|
148
|
-
this one having no angles smaller than 20 degrees.
|
|
149
|
-
|
|
150
|
-
To see a Voronoi diagram, try this:
|
|
151
|
-
|
|
152
|
-
cp A.poly A.node
|
|
153
|
-
triangle -v A
|
|
154
|
-
|
|
155
|
-
Click the "ele" button again. You will see the Delaunay triangulation of
|
|
156
|
-
the points in A.poly, without the segments. Now click the top "voro" button.
|
|
157
|
-
You will see the Voronoi diagram corresponding to that Delaunay triangulation.
|
|
158
|
-
Click the "Reset" button to see the full extent of the diagram.
|
|
159
|
-
|
|
160
|
-
------------------------------------------------------------------------------
|
|
161
|
-
|
|
162
|
-
If you wish to call Triangle from another program, instructions for doing
|
|
163
|
-
so are contained in the file `triangle.h' (but read Triangle's regular
|
|
164
|
-
instructions first!). Also look at `tricall.c', which provides an example
|
|
165
|
-
of how to call Triangle.
|
|
166
|
-
|
|
167
|
-
Type "make trilibrary" to create triangle.o, a callable object file.
|
|
168
|
-
Alternatively, the object file is usually easy to compile without a
|
|
169
|
-
makefile:
|
|
170
|
-
|
|
171
|
-
cc -DTRILIBRARY -O -c triangle.c
|
|
172
|
-
|
|
173
|
-
Type "make distclean" to remove all the object and executable files created
|
|
174
|
-
by make.
|
|
175
|
-
|
|
176
|
-
------------------------------------------------------------------------------
|
|
177
|
-
|
|
178
|
-
If you use Triangle, and especially if you use it to accomplish real work,
|
|
179
|
-
I would like very much to hear from you. A short letter or email (to
|
|
180
|
-
jrs@cs.berkeley.edu) describing how you use Triangle will mean a lot to me.
|
|
181
|
-
The more people I know are using this program, the more easily I can
|
|
182
|
-
justify spending time on improvements and on the three-dimensional
|
|
183
|
-
successor to Triangle, which in turn will benefit you. Also, I can put you
|
|
184
|
-
on a list to receive email whenever a new version of Triangle is available.
|
|
185
|
-
|
|
186
|
-
If you use a mesh generated by Triangle or plotted by Show Me in a
|
|
187
|
-
publication, please include an acknowledgment as well. And please spell
|
|
188
|
-
Triangle with a capital `T'! If you want to include a citation, use
|
|
189
|
-
`Jonathan Richard Shewchuk, ``Triangle: Engineering a 2D Quality Mesh
|
|
190
|
-
Generator and Delaunay Triangulator,'' in Applied Computational Geometry:
|
|
191
|
-
Towards Geometric Engineering (Ming C. Lin and Dinesh Manocha, editors),
|
|
192
|
-
volume 1148 of Lecture Notes in Computer Science, pages 203-222,
|
|
193
|
-
Springer-Verlag, Berlin, May 1996. (From the First ACM Workshop on Applied
|
|
194
|
-
Computational Geometry.)'
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
Jonathan Richard Shewchuk
|
|
198
|
-
July 27, 2005
|
src/c/makefile
DELETED
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
# makefile for Triangle and Show Me
|
|
2
|
-
#
|
|
3
|
-
# Type "make" to compile Triangle and Show Me.
|
|
4
|
-
#
|
|
5
|
-
# After compiling, type "triangle -h" and "showme -h" to read instructions
|
|
6
|
-
# for using each of these programs.
|
|
7
|
-
#
|
|
8
|
-
# Type "make trilibrary" to compile Triangle as an object file (triangle.o).
|
|
9
|
-
#
|
|
10
|
-
# Type "make distclean" to delete all object and executable files.
|
|
11
|
-
|
|
12
|
-
# SRC is the directory in which the C source files are, and BIN is the
|
|
13
|
-
# directory where you want to put the executable programs. By default,
|
|
14
|
-
# both are the current directory.
|
|
15
|
-
|
|
16
|
-
SRC = ./
|
|
17
|
-
BIN = ./
|
|
18
|
-
|
|
19
|
-
# CC should be set to the name of your favorite C compiler.
|
|
20
|
-
|
|
21
|
-
CC = cc
|
|
22
|
-
|
|
23
|
-
# CSWITCHES is a list of all switches passed to the C compiler. I strongly
|
|
24
|
-
# recommend using the best level of optimization. I also strongly
|
|
25
|
-
# recommend timing each level of optimization to see which is the
|
|
26
|
-
# best. For instance, when I had a DEC Alpha using DEC's optimizing
|
|
27
|
-
# compiler, the -O2 switch generated a notably faster version of Triangle
|
|
28
|
-
# than the -O3 switch. Go figure.
|
|
29
|
-
#
|
|
30
|
-
# By default, Triangle and Show Me use double precision floating point
|
|
31
|
-
# numbers. If you prefer single precision, use the -DSINGLE switch.
|
|
32
|
-
# Double precision uses more memory, but improves the resolution of
|
|
33
|
-
# the meshes you can generate with Triangle. It also reduces the
|
|
34
|
-
# likelihood of a floating exception due to overflow. Also, it is
|
|
35
|
-
# much faster than single precision on many architectures. I recommend
|
|
36
|
-
# double precision unless you want to generate a mesh for which you do
|
|
37
|
-
# not have enough memory to use double precision.
|
|
38
|
-
#
|
|
39
|
-
# If yours is not a Unix system, use the -DNO_TIMER switch to eliminate the
|
|
40
|
-
# Unix-specific timer code. Also, don't try to compile Show Me; it only
|
|
41
|
-
# works with X Windows.
|
|
42
|
-
#
|
|
43
|
-
# To get the exact arithmetic to work right on an Intel processor, use the
|
|
44
|
-
# -DCPU86 switch with Microsoft C, or the -DLINUX switch with gcc running
|
|
45
|
-
# on Linux. The floating-point arithmetic might not be robust otherwise.
|
|
46
|
-
# Please see http://www.cs.cmu.edu/~quake/robust.pc.html for details.
|
|
47
|
-
#
|
|
48
|
-
# If you are modifying Triangle, I recommend using the -DSELF_CHECK switch
|
|
49
|
-
# while you are debugging. Defining the SELF_CHECK symbol causes
|
|
50
|
-
# Triangle to include self-checking code. Triangle will execute more
|
|
51
|
-
# slowly, however, so be sure to remove this switch before compiling a
|
|
52
|
-
# production version.
|
|
53
|
-
#
|
|
54
|
-
# If the size of the Triangle binary is important to you, you may wish to
|
|
55
|
-
# generate a reduced version of Triangle. The -DREDUCED switch gets rid
|
|
56
|
-
# of all features that are primarily of research interest. Specifically,
|
|
57
|
-
# defining the REDUCED symbol eliminates the -i, -F, -s, and -C switches.
|
|
58
|
-
# The -DCDT_ONLY switch gets rid of all meshing algorithms above and beyond
|
|
59
|
-
# constrained Delaunay triangulation. Specifically, defining the CDT_ONLY
|
|
60
|
-
# symbol eliminates the -r, -q, -a, -u, -D, -S, and -s switches. The
|
|
61
|
-
# REDUCED and CDT_ONLY symbols may be particularly attractive when Triangle
|
|
62
|
-
# is called by another program that does not need all of Triangle's
|
|
63
|
-
# features; in this case, these switches should appear as part of
|
|
64
|
-
# "TRILIBDEFS" below.
|
|
65
|
-
#
|
|
66
|
-
# On some systems, you may need to include -I/usr/local/include and/or
|
|
67
|
-
# -L/usr/local/lib in the compiler options to ensure that the X include
|
|
68
|
-
# files and libraries that Show Me needs are found. If you get errors
|
|
69
|
-
# like "Can't find include file X11/Xlib.h", you need the former switch.
|
|
70
|
-
# Try compiling without them first; add them if that fails.
|
|
71
|
-
#
|
|
72
|
-
# An example CSWITCHES line is:
|
|
73
|
-
#
|
|
74
|
-
# CSWITCHES = -O -DNO_TIMER -DLINUX -I/usr/X11R6/include -L/usr/X11R6/lib
|
|
75
|
-
|
|
76
|
-
CSWITCHES = -O -DLINUX -I/usr/X11R6/include -L/usr/X11R6/lib
|
|
77
|
-
|
|
78
|
-
# TRILIBDEFS is a list of definitions used to compile an object code version
|
|
79
|
-
# of Triangle (triangle.o) to be called by another program. The file
|
|
80
|
-
# "triangle.h" contains detailed information on how to call triangle.o.
|
|
81
|
-
#
|
|
82
|
-
# The -DTRILIBRARY should always be used when compiling Triangle into an
|
|
83
|
-
# object file.
|
|
84
|
-
#
|
|
85
|
-
# An example TRILIBDEFS line is:
|
|
86
|
-
#
|
|
87
|
-
# TRILIBDEFS = -DTRILIBRARY -DREDUCED -DCDT_ONLY
|
|
88
|
-
|
|
89
|
-
TRILIBDEFS = -DTRILIBRARY
|
|
90
|
-
|
|
91
|
-
# RM should be set to the name of your favorite rm (file deletion program).
|
|
92
|
-
|
|
93
|
-
RM = /bin/rm
|
|
94
|
-
|
|
95
|
-
# The action starts here.
|
|
96
|
-
|
|
97
|
-
all: $(BIN)triangle $(BIN)showme
|
|
98
|
-
|
|
99
|
-
trilibrary: $(BIN)triangle.o $(BIN)tricall
|
|
100
|
-
|
|
101
|
-
$(BIN)triangle: $(SRC)triangle.c
|
|
102
|
-
$(CC) $(CSWITCHES) -o $(BIN)triangle $(SRC)triangle.c -lm
|
|
103
|
-
|
|
104
|
-
$(BIN)tricall: $(BIN)tricall.c $(BIN)triangle.o
|
|
105
|
-
$(CC) $(CSWITCHES) -o $(BIN)tricall $(SRC)tricall.c \
|
|
106
|
-
$(BIN)triangle.o -lm
|
|
107
|
-
|
|
108
|
-
$(BIN)triangle.o: $(SRC)triangle.c $(SRC)triangle.h
|
|
109
|
-
$(CC) $(CSWITCHES) $(TRILIBDEFS) -c -o $(BIN)triangle.o \
|
|
110
|
-
$(SRC)triangle.c
|
|
111
|
-
|
|
112
|
-
$(BIN)showme: $(SRC)showme.c
|
|
113
|
-
$(CC) $(CSWITCHES) -o $(BIN)showme $(SRC)showme.c -lX11
|
|
114
|
-
|
|
115
|
-
distclean:
|
|
116
|
-
$(RM) $(BIN)triangle $(BIN)triangle.o $(BIN)tricall $(BIN)showme
|