pytetwild 0.2.0__tar.gz → 0.2.2__tar.gz
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.
- {pytetwild-0.2.0 → pytetwild-0.2.2}/.github/workflows/build-and-deploy.yml +1 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/PKG-INFO +2 -2
- {pytetwild-0.2.0 → pytetwild-0.2.2}/pyproject.toml +6 -6
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/FTetWildWrapper.cpp +15 -19
- {pytetwild-0.2.0 → pytetwild-0.2.2}/tests/test_pytetwild.py +1 -1
- {pytetwild-0.2.0 → pytetwild-0.2.2}/.clang-format +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/.gitignore +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/.gitmodules +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/.pre-commit-config.yaml +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/CMakeLists.txt +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/CONTRIBUTING.md +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/LICENSE +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/README.rst +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/exploded-sphere.png +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/array_support.h +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/.clang-format +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/.github/workflows/continuous.yml +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/.gitignore +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/.travis.yml +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/CMakeLists.txt +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/LICENSE.MPL2 +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/README.md +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/cmake/DownloadProject.CMakeLists.cmake.in +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/cmake/DownloadProject.cmake +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/cmake/FindGMPfTetWild.cmake +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/cmake/FindMPFR.cmake +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/cmake/FloatTetwildDependencies.cmake +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/cmake/FloatTetwildUtils.cmake +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/cmake/PrependCurrentPath.cmake +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/cmake/UseColors.cmake +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/cmake/Warnings.cmake +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/cmake/geogram.cmake +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/figs/1k.jpg +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/python/generate-table-code.py +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/python/plot-tet.py +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/python/save_all_confs.py +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/replicability_instructions.htm +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/AABBWrapper.cpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/AABBWrapper.h +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/CMakeLists.txt +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/CSGTreeParser.cpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/CSGTreeParser.hpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/CutMesh.cpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/CutMesh.h +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/EdgeCollapsing.cpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/EdgeCollapsing.h +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/EdgeSplitting.cpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/EdgeSplitting.h +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/EdgeSwapping.cpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/EdgeSwapping.h +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/FloatTetDelaunay.cpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/FloatTetDelaunay.h +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/FloatTetwild.cpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/FloatTetwild.h +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/LocalOperations.cpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/LocalOperations.h +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/Logger.cpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/Logger.hpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/Mesh.cpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/Mesh.hpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/MeshIO.cpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/MeshIO.hpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/MeshImprovement.cpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/MeshImprovement.h +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/Parameters.h +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/Simplification.cpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/Simplification.h +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/Statistics.h +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/TriangleInsertion.cpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/TriangleInsertion.h +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/Types.hpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/VertexSmoothing.cpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/VertexSmoothing.h +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/auto_table.cpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/auto_table.hpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/external/CMakeLists.txt +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/external/Exception.h +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/external/MshLoader.cpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/external/MshLoader.h +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/external/MshSaver.cpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/external/MshSaver.h +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/external/Predicates.cpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/external/Predicates.hpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/external/Rational.h +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/external/bfs_orient.cpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/external/bfs_orient.h +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/external/getRSS.c +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/external/get_mem.cpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/external/get_mem.h +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/external/mesh_AABB.cpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/external/mesh_AABB.h +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/external/predicates.c +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/external/triangle_triangle_intersection.cpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/external/triangle_triangle_intersection_old.cpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/intersections.cpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/intersections.h +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/main.cpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/tests/CMakeLists.txt +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/tests/bunny.off +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/tests/main.cpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/tests/test_predicates.cpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/tests/test_subdivision.cpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/tests/test_table.cpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/tests/test_tree.cpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/tests/tests.cpp +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/pytetwild/PyfTetWildWrapper.pyi +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/pytetwild/__init__.py +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/pytetwild/_version.py +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/pytetwild/py.typed +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/src/pytetwild/pytetwild.py +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/tests/test_data/box.stl +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/tests/test_data/sphere.stl +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/tests/test_data/test_surf.ply +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/tests/test_data/test_tets.msh +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/tools/audit_wheel.sh +0 -0
- {pytetwild-0.2.0 → pytetwild-0.2.2}/tools/extract-deps.py +0 -0
|
@@ -142,6 +142,7 @@ jobs:
|
|
|
142
142
|
url: https://pypi.org/p/pytetwild
|
|
143
143
|
permissions:
|
|
144
144
|
id-token: write # this permission is mandatory for trusted publishing
|
|
145
|
+
contents: write # required to create a release
|
|
145
146
|
steps:
|
|
146
147
|
- uses: actions/download-artifact@v7
|
|
147
148
|
- name: Flatten directory structure
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: pytetwild
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.2
|
|
4
4
|
Summary: Python wrapper of fTetWild
|
|
5
5
|
Author-Email: Alex Kaszynski <akascap@gmail.com>
|
|
6
6
|
Classifier: Development Status :: 3 - Alpha
|
|
@@ -22,7 +22,7 @@ Requires-Dist: pyvista; extra == "all"
|
|
|
22
22
|
Provides-Extra: tests
|
|
23
23
|
Requires-Dist: pytest; extra == "tests"
|
|
24
24
|
Requires-Dist: pyvista; extra == "tests"
|
|
25
|
-
Requires-Dist: scipy; extra == "tests"
|
|
25
|
+
Requires-Dist: scipy<1.17.0; extra == "tests"
|
|
26
26
|
Requires-Dist: meshio; extra == "tests"
|
|
27
27
|
Provides-Extra: dev
|
|
28
28
|
Requires-Dist: pre-commit; extra == "dev"
|
|
@@ -4,7 +4,7 @@ requires = ["scikit-build-core >=0.4.3", "nanobind >=1.3.2"]
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "pytetwild"
|
|
7
|
-
version = "0.2.
|
|
7
|
+
version = "0.2.2"
|
|
8
8
|
description = "Python wrapper of fTetWild"
|
|
9
9
|
readme = { file = "README.rst", content-type = "text/x-rst" }
|
|
10
10
|
authors = [{ name = "Alex Kaszynski", email = "akascap@gmail.com" }]
|
|
@@ -34,7 +34,7 @@ pytetwild = ["py.typed"]
|
|
|
34
34
|
|
|
35
35
|
[project.optional-dependencies]
|
|
36
36
|
all = ['pyvista']
|
|
37
|
-
tests = ["pytest", "pyvista", "scipy", "meshio"]
|
|
37
|
+
tests = ["pytest", "pyvista", "scipy<1.17.0", "meshio"]
|
|
38
38
|
dev = ["pre-commit"]
|
|
39
39
|
|
|
40
40
|
[tool.scikit-build]
|
|
@@ -57,13 +57,13 @@ archs = ["auto64"] # 64-bit only
|
|
|
57
57
|
before-build = "pip install abi3audit"
|
|
58
58
|
build = "cp310-* cp311-* cp312-*" # 3.12+ are abi3 wheels
|
|
59
59
|
skip = ["*musllinux*"] # disable musl-based wheels
|
|
60
|
-
test-
|
|
60
|
+
test-extras = ["tests"]
|
|
61
61
|
test-command = "pytest {project}/tests -v"
|
|
62
62
|
|
|
63
63
|
[tool.cibuildwheel.linux]
|
|
64
|
-
manylinux-x86_64-image = "
|
|
65
|
-
before-all = "
|
|
66
|
-
before-build = "pip install abi3audit cmake
|
|
64
|
+
manylinux-x86_64-image = "manylinux2014"
|
|
65
|
+
before-all = "yum install -y gmp-devel"
|
|
66
|
+
before-build = "pip install abi3audit cmake"
|
|
67
67
|
repair-wheel-command = [
|
|
68
68
|
"auditwheel repair -w {dest_dir} {wheel}",
|
|
69
69
|
"bash tools/audit_wheel.sh {wheel}"
|
|
@@ -41,6 +41,20 @@ using floatTetWild::json;
|
|
|
41
41
|
using floatTetWild::Vector3;
|
|
42
42
|
using floatTetWild::Vector3i;
|
|
43
43
|
|
|
44
|
+
struct CoutRedirect {
|
|
45
|
+
std::streambuf *old = nullptr;
|
|
46
|
+
explicit CoutRedirect(bool enable) {
|
|
47
|
+
if (enable) {
|
|
48
|
+
old = std::cout.rdbuf();
|
|
49
|
+
std::cout.rdbuf(nullptr);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
~CoutRedirect() {
|
|
53
|
+
if (old)
|
|
54
|
+
std::cout.rdbuf(old);
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
|
|
44
58
|
// Convert a tetwild mesh to numpy vertex and int arrays
|
|
45
59
|
nb::tuple extractMeshDataNumpy(const floatTetWild::Mesh &mesh, bool vtk_ordering) {
|
|
46
60
|
std::map<int, int> old2new;
|
|
@@ -107,13 +121,6 @@ template <typename T> GEO::vector<T> array_to_geo_vector(NDArray<T, 2> array) {
|
|
|
107
121
|
// numpy arrays are contiguous
|
|
108
122
|
std::memcpy(geo_vec.data(), array.data(), sz * sizeof(T));
|
|
109
123
|
|
|
110
|
-
// if above unstable, simply loop
|
|
111
|
-
// T *data = array.data();
|
|
112
|
-
// // Populate the GEO::vector<T> with elements from the array.
|
|
113
|
-
// for (size_t i = 0; i < sz; ++i) {
|
|
114
|
-
// geo_vec.data()[i] = data[i];
|
|
115
|
-
// }
|
|
116
|
-
|
|
117
124
|
return geo_vec;
|
|
118
125
|
}
|
|
119
126
|
|
|
@@ -135,13 +142,7 @@ nb::tuple Tetrahedralize(
|
|
|
135
142
|
using namespace floatTetWild;
|
|
136
143
|
using namespace Eigen;
|
|
137
144
|
GEO::initialize();
|
|
138
|
-
|
|
139
|
-
// There's some std::cout used in floatTetWild that needs to be redirected
|
|
140
|
-
std::streambuf *orig_cout_buf;
|
|
141
|
-
if (quiet) {
|
|
142
|
-
orig_cout_buf = std::cout.rdbuf();
|
|
143
|
-
std::cout.rdbuf(NULL);
|
|
144
|
-
}
|
|
145
|
+
CoutRedirect cout_guard(quiet);
|
|
145
146
|
|
|
146
147
|
if (!quiet) {
|
|
147
148
|
std::cout << "Starting tetrahedralization..." << std::endl;
|
|
@@ -284,11 +285,6 @@ nb::tuple Tetrahedralize(
|
|
|
284
285
|
std::cout << "Tetrahedralization completed. Extracting mesh data..." << std::endl;
|
|
285
286
|
}
|
|
286
287
|
|
|
287
|
-
// return stdout
|
|
288
|
-
if (orig_cout_buf) {
|
|
289
|
-
std::cout.rdbuf(orig_cout_buf);
|
|
290
|
-
}
|
|
291
|
-
|
|
292
288
|
return extractMeshDataNumpy(mesh, vtk_ordering);
|
|
293
289
|
}
|
|
294
290
|
|
|
@@ -48,7 +48,7 @@ def test_tetrahedralize_abs_edge_len() -> None:
|
|
|
48
48
|
def test_tetrahedralize_edge_length_fac() -> None:
|
|
49
49
|
mesh = pv.Cube().triangulate()
|
|
50
50
|
result = tetrahedralize_pv(mesh, num_opt_iter=5) # default is 0.05
|
|
51
|
-
result_very_coarse = tetrahedralize_pv(mesh, edge_length_fac=0.1, num_opt_iter=5)
|
|
51
|
+
result_very_coarse = tetrahedralize_pv(mesh, edge_length_fac=0.1, num_opt_iter=5, quiet=True)
|
|
52
52
|
assert result_very_coarse.n_cells < result.n_cells
|
|
53
53
|
|
|
54
54
|
# invalid edge length
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/external/triangle_triangle_intersection.cpp
RENAMED
|
File without changes
|
{pytetwild-0.2.0 → pytetwild-0.2.2}/src/fTetWild/src/external/triangle_triangle_intersection_old.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|