triangulumancer 0.1.0__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.
@@ -0,0 +1,69 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ .pytest_cache/
4
+ *.py[cod]
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ .venv/
12
+ env/
13
+ bin/
14
+ build/
15
+ develop-eggs/
16
+ dist/
17
+ eggs/
18
+ lib/
19
+ lib64/
20
+ parts/
21
+ sdist/
22
+ var/
23
+ man/
24
+ venv/
25
+ *.egg-info/
26
+ .installed.cfg
27
+ *.egg
28
+
29
+ # Installer logs
30
+ pip-log.txt
31
+ pip-delete-this-directory.txt
32
+ pip-selfcheck.json
33
+
34
+ # Unit test / coverage reports
35
+ htmlcov/
36
+ .tox/
37
+ .coverage
38
+ .cache
39
+ nosetests.xml
40
+ coverage.xml
41
+
42
+ # Translations
43
+ *.mo
44
+
45
+ # Mr Developer
46
+ .mr.developer.cfg
47
+ .project
48
+ .pydevproject
49
+
50
+ # Rope
51
+ .ropeproject
52
+
53
+ # Django stuff:
54
+ *.log
55
+ *.pot
56
+
57
+ .DS_Store
58
+
59
+ # Sphinx documentation
60
+ docs/_build/
61
+
62
+ # PyCharm
63
+ .idea/
64
+
65
+ # VSCode
66
+ .vscode/
67
+
68
+ # Pyenv
69
+ .python-version
@@ -0,0 +1,12 @@
1
+ [submodule "extern/topcom"]
2
+ path = extern/topcom
3
+ url = https://github.com/ariostas/TOPCOM.git
4
+ [submodule "extern/cgal"]
5
+ path = extern/cgal
6
+ url = https://github.com/CGAL/cgal.git
7
+ [submodule "extern/eigen"]
8
+ path = extern/eigen
9
+ url = https://gitlab.com/libeigen/eigen
10
+ [submodule "extern/boost"]
11
+ path = extern/boost
12
+ url = https://github.com/gerwaric/boost-headers-only.git
@@ -0,0 +1,45 @@
1
+ repos:
2
+ - repo: https://github.com/pre-commit/pre-commit-hooks
3
+ rev: "v5.0.0"
4
+ hooks:
5
+ - id: check-added-large-files
6
+ - id: check-case-conflict
7
+ - id: check-merge-conflict
8
+ - id: check-symlinks
9
+ - id: check-yaml
10
+ - id: debug-statements
11
+ - id: end-of-file-fixer
12
+ - id: mixed-line-ending
13
+ - id: requirements-txt-fixer
14
+ - id: trailing-whitespace
15
+ - id: name-tests-test
16
+ args: ["--pytest-test-first"]
17
+
18
+ - repo: https://github.com/cheshirekow/cmake-format-precommit
19
+ rev: "v0.6.13"
20
+ hooks:
21
+ - id: cmake-format
22
+ additional_dependencies: [pyyaml]
23
+
24
+ - repo: https://github.com/codespell-project/codespell
25
+ rev: "v2.4.1"
26
+ hooks:
27
+ - id: codespell
28
+ args: ["-L", "ba,socio-economic"]
29
+
30
+ - repo: https://github.com/pre-commit/mirrors-clang-format
31
+ rev: "v20.1.5"
32
+ hooks:
33
+ - id: clang-format
34
+ types_or: [c++, c]
35
+
36
+ - repo: https://github.com/astral-sh/ruff-pre-commit
37
+ rev: v0.11.12
38
+ hooks:
39
+ - id: ruff
40
+ args: ["--fix", "--show-fixes"]
41
+ - id: ruff-format
42
+
43
+ ci:
44
+ autoupdate_commit_msg: "chore: update pre-commit hooks"
45
+ autoupdate_schedule: monthly
@@ -0,0 +1,45 @@
1
+ cmake_minimum_required(VERSION 3.15...3.29)
2
+ project(
3
+ ${SKBUILD_PROJECT_NAME}
4
+ DESCRIPTION "Compute triangulations of point configurations"
5
+ VERSION ${SKBUILD_PROJECT_VERSION}
6
+ LANGUAGES C CXX)
7
+
8
+ # Required for TOPCOM
9
+ set(CMAKE_POSITION_INDEPENDENT_CODE ON)
10
+
11
+ # TOPCOM
12
+ add_subdirectory(extern/topcom)
13
+ target_compile_definitions(topcom PUBLIC USE_PHIT_PREPROCESSING=false)
14
+
15
+ # Boost (headers only)
16
+ set(Boost_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/extern/boost)
17
+
18
+ # CGAL
19
+ set(CGAL_DISABLE_GMP ON)
20
+ set(CGAL_DIR ${CMAKE_SOURCE_DIR}/extern/cgal)
21
+ find_package(CGAL REQUIRED CONFIG)
22
+
23
+ # Eigen
24
+ add_library(Eigen3::Eigen INTERFACE IMPORTED)
25
+ # Don't use add_subdirectory because it configures stuff we don't want
26
+ set_target_properties(Eigen3::Eigen PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
27
+ ${CMAKE_SOURCE_DIR}/extern/eigen)
28
+
29
+ set(PYBIND11_FINDPYTHON ON)
30
+ find_package(pybind11 CONFIG REQUIRED)
31
+
32
+ set(TRIANGULUMANCER_SOURCES
33
+ src/triangulumancer/triangulumancer.cpp
34
+ src/triangulumancer/PointConfiguration.cpp
35
+ src/triangulumancer/Triangulation.cpp
36
+ src/triangulumancer/CGAL.cpp
37
+ src/triangulumancer/TOPCOM.cpp)
38
+ pybind11_add_module(triangulumancer ${TRIANGULUMANCER_SOURCES})
39
+ target_link_libraries(triangulumancer PRIVATE topcom checkreg CGAL::CGAL
40
+ Eigen3::Eigen)
41
+ target_include_directories(triangulumancer PRIVATE ${CMAKE_SOURCE_DIR}/include)
42
+ target_compile_features(triangulumancer PRIVATE cxx_std_17)
43
+ target_compile_definitions(triangulumancer PRIVATE CGAL_EIGEN3_ENABLED)
44
+
45
+ install(TARGETS triangulumancer DESTINATION .)