polyhedral-gravity 3.3rc2__tar.gz → 3.3.1rc1__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.
Files changed (58) hide show
  1. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/CMakeLists.txt +1 -1
  2. {polyhedral_gravity-3.3rc2/polyhedral_gravity.egg-info → polyhedral_gravity-3.3.1rc1}/PKG-INFO +2 -2
  3. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/cmake/git.cmake +36 -1
  4. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1/polyhedral_gravity.egg-info}/PKG-INFO +2 -2
  5. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/setup.py +18 -4
  6. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/src/polyhedralGravity/input/MeshReader.cpp +6 -0
  7. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/src/polyhedralGravity/input/MeshReader.h +3 -1
  8. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/src/polyhedralGravityPython/PolyhedralGravityPython.cpp +1 -0
  9. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/LICENSE +0 -0
  10. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/MANIFEST.in +0 -0
  11. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/README.md +0 -0
  12. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/cmake/FindSphinx.cmake +0 -0
  13. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/cmake/clang_format.cmake +0 -0
  14. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/cmake/cmake_format.cmake +0 -0
  15. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/cmake/gtest.cmake +0 -0
  16. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/cmake/pybind11.cmake +0 -0
  17. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/cmake/spdlog.cmake +0 -0
  18. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/cmake/tbb.cmake +0 -0
  19. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/cmake/tetgen.cmake +0 -0
  20. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/cmake/thrust.cmake +0 -0
  21. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/cmake/xsimd.cmake +0 -0
  22. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/cmake/yaml.cmake +0 -0
  23. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/polyhedral_gravity.egg-info/SOURCES.txt +0 -0
  24. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/polyhedral_gravity.egg-info/dependency_links.txt +0 -0
  25. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/polyhedral_gravity.egg-info/not-zip-safe +0 -0
  26. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/polyhedral_gravity.egg-info/top_level.txt +0 -0
  27. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/setup.cfg +0 -0
  28. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/src/CMakeLists.txt +0 -0
  29. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/src/main.cpp +0 -0
  30. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/src/polyhedralGravity/CMakeLists.txt +0 -0
  31. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/src/polyhedralGravity/Info.h.in +0 -0
  32. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/src/polyhedralGravity/input/ConfigSource.h +0 -0
  33. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/src/polyhedralGravity/input/TetgenAdapter.cpp +0 -0
  34. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/src/polyhedralGravity/input/TetgenAdapter.h +0 -0
  35. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/src/polyhedralGravity/input/YAMLConfigReader.cpp +0 -0
  36. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/src/polyhedralGravity/input/YAMLConfigReader.h +0 -0
  37. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/src/polyhedralGravity/model/GravityEvaluable.cpp +0 -0
  38. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/src/polyhedralGravity/model/GravityEvaluable.h +0 -0
  39. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/src/polyhedralGravity/model/GravityModel.cpp +0 -0
  40. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/src/polyhedralGravity/model/GravityModel.h +0 -0
  41. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/src/polyhedralGravity/model/GravityModelData.h +0 -0
  42. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/src/polyhedralGravity/model/GravityModelDetail.cpp +0 -0
  43. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/src/polyhedralGravity/model/GravityModelDetail.h +0 -0
  44. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/src/polyhedralGravity/model/Polyhedron.cpp +0 -0
  45. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/src/polyhedralGravity/model/Polyhedron.h +0 -0
  46. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/src/polyhedralGravity/model/PolyhedronDefinitions.cpp +0 -0
  47. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/src/polyhedralGravity/model/PolyhedronDefinitions.h +0 -0
  48. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/src/polyhedralGravity/output/CSVWriter.cpp +0 -0
  49. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/src/polyhedralGravity/output/CSVWriter.h +0 -0
  50. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/src/polyhedralGravity/output/Logging.cpp +0 -0
  51. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/src/polyhedralGravity/output/Logging.h +0 -0
  52. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/src/polyhedralGravity/util/UtilityConstants.h +0 -0
  53. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/src/polyhedralGravity/util/UtilityContainer.h +0 -0
  54. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/src/polyhedralGravity/util/UtilityFloatArithmetic.cpp +0 -0
  55. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/src/polyhedralGravity/util/UtilityFloatArithmetic.h +0 -0
  56. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/src/polyhedralGravity/util/UtilityString.h +0 -0
  57. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/src/polyhedralGravity/util/UtilityThrust.h +0 -0
  58. {polyhedral_gravity-3.3rc2 → polyhedral_gravity-3.3.1rc1}/src/polyhedralGravityPython/CMakeLists.txt +0 -0
@@ -48,7 +48,7 @@ if (_LIBCPP_DISABLE_AVAILABILITY)
48
48
  add_definitions(-D_LIBCPP_DISABLE_AVAILABILITY)
49
49
  endif ()
50
50
 
51
- if (${CMAKE_CXX_COMPILER_ID} STREQUAL "AppleClang")
51
+ if (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin" AND (${CMAKE_CXX_COMPILER_ID} STREQUAL "AppleClang" OR ${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang"))
52
52
  # Fixes undefined _VSTD when using Apple Clang 17
53
53
  message(STATUS "Using Apple Clang compiler. Defining _VSTD=std.")
54
54
  add_definitions(-D_VSTD=std)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: polyhedral_gravity
3
- Version: 3.3rc2
3
+ Version: 3.3.1rc1
4
4
  Summary: Package to compute full gravity tensor of a given constant density polyhedron for arbitrary points according to the geodetic convention
5
5
  Author: Jonas Schuhmacher
6
6
  Author-email: jonas.schuhmacher@tum.de
@@ -19,7 +19,7 @@ Classifier: Operating System :: MacOS
19
19
  Classifier: Operating System :: POSIX :: Linux
20
20
  Classifier: Intended Audience :: Science/Research
21
21
  Classifier: Topic :: Scientific/Engineering :: Physics
22
- Requires-Python: >=3.8
22
+ Requires-Python: >=3.9
23
23
  Description-Content-Type: text/markdown
24
24
  License-File: LICENSE
25
25
  Dynamic: author
@@ -1,7 +1,12 @@
1
- find_package(Git QUIET REQUIRED)
1
+ find_package(Git QUIET)
2
2
 
3
3
  function(get_git_commit_hash OUTPUT_VAR)
4
4
  # Run a Git command to get the first 8 characters of the current commit hash
5
+ if(NOT GIT_FOUND OR NOT GIT_EXECUTABLE)
6
+ set(${OUTPUT_VAR} "Unknown" PARENT_SCOPE)
7
+ return()
8
+ endif()
9
+
5
10
  execute_process(
6
11
  COMMAND ${GIT_EXECUTABLE} rev-parse --short=8 HEAD
7
12
  WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
@@ -23,6 +28,11 @@ endfunction()
23
28
 
24
29
  function(is_git_working_tree_clean OUTPUT_VAR)
25
30
  # Run a Git command to check if the working tree is clean
31
+ if(NOT GIT_FOUND OR NOT GIT_EXECUTABLE)
32
+ set(${OUTPUT_VAR} "Unknown" PARENT_SCOPE)
33
+ return()
34
+ endif()
35
+
26
36
  execute_process(
27
37
  COMMAND ${GIT_EXECUTABLE} diff-index --quiet HEAD --
28
38
  WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
@@ -43,4 +53,29 @@ function(is_git_working_tree_clean OUTPUT_VAR)
43
53
  message(WARNING "Error while checking Git working tree: ${GIT_ERROR}")
44
54
  endif()
45
55
  endif()
56
+ endfunction()
57
+
58
+ function(get_git_version_tag OUTPUT_VAR)
59
+ # Runs a git command to return the latest version number (given the most similar git tag)
60
+ if(NOT GIT_FOUND OR NOT GIT_EXECUTABLE)
61
+ set(${OUTPUT_VAR} "Unknown" PARENT_SCOPE)
62
+ return()
63
+ endif()
64
+
65
+ execute_process(
66
+ COMMAND git describe --tags --abbrev=0
67
+ --match v[0-9]*.[0-9]*.[0-9]* # plain
68
+ --match v[0-9]*.[0-9]*.[0-9]*a* # alpha
69
+ --match v[0-9]*.[0-9]*.[0-9]*b* # beta
70
+ --match v[0-9]*.[0-9]*.[0-9]*rc* # release candidate
71
+ --match v[0-9]*.[0-9]*.[0-9]*.post* # post
72
+ --match v[0-9]*.[0-9]*.[0-9]*.dev* # dev
73
+ OUTPUT_VARIABLE GIT_TAG
74
+ ERROR_VARIABLE GIT_TAG_ERR
75
+ RESULT_VARIABLE GIT_TAG_RES
76
+ OUTPUT_STRIP_TRAILING_WHITESPACE
77
+ )
78
+ string(LENGTH ${GIT_TAG} TAG_LENGTH)
79
+ string(SUBSTRING ${GIT_TAG} 1 ${TAG_LENGTH} VERSION_NUMBER)
80
+ set(${OUTPUT_VAR} "${VERSION_NUMBER}" PARENT_SCOPE)
46
81
  endfunction()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: polyhedral_gravity
3
- Version: 3.3rc2
3
+ Version: 3.3.1rc1
4
4
  Summary: Package to compute full gravity tensor of a given constant density polyhedron for arbitrary points according to the geodetic convention
5
5
  Author: Jonas Schuhmacher
6
6
  Author-email: jonas.schuhmacher@tum.de
@@ -19,7 +19,7 @@ Classifier: Operating System :: MacOS
19
19
  Classifier: Operating System :: POSIX :: Linux
20
20
  Classifier: Intended Audience :: Science/Research
21
21
  Classifier: Topic :: Scientific/Engineering :: Physics
22
- Requires-Python: >=3.8
22
+ Requires-Python: >=3.9
23
23
  Description-Content-Type: text/markdown
24
24
  License-File: LICENSE
25
25
  Dynamic: author
@@ -55,7 +55,21 @@ def get_cmake_generator():
55
55
  else:
56
56
  return None
57
57
 
58
- def get_version():
58
+ def get_git_version():
59
+ """Returns the version of the polyhedral gravity package by using git describe"""
60
+ version_string = subprocess.check_output([
61
+ "git", "describe", "--tags", "--abbrev=0",
62
+ "--match", "v[0-9]*.[0-9]*.[0-9]*", # plain
63
+ "--match", "v[0-9]*.[0-9]*.[0-9]*a*", # alpha
64
+ "--match", "v[0-9]*.[0-9]*.[0-9]*b*", # beta
65
+ "--match", "v[0-9]*.[0-9]*.[0-9]*rc*", # release candidate
66
+ "--match", "v[0-9]*.[0-9]*.[0-9]*.post*", # post
67
+ "--match", "v[0-9]*.[0-9]*.[0-9]*.dev*", # dev
68
+ ]).decode("utf-8").strip()
69
+ # Remove the leading "v"
70
+ return version_string[1:]
71
+
72
+ def get_cmake_version():
59
73
  """Returns the version of the polyhedral gravity package by reading the CMake file."""
60
74
  # Path to the CMake file
61
75
  cmake_file = os.path.join(os.path.dirname(__file__), "version.cmake" )
@@ -69,7 +83,7 @@ def get_version():
69
83
  content = file.read()
70
84
 
71
85
  # Use regex to extract the PROJECT_VERSION
72
- version_match = re.search(r'set\(PROJECT_VERSION\s+([^\s)]+)\)', content)
86
+ version_match = re.search(r'set\(POLYHEDRAL_GRAVITY_VERSION\s+"(.*)"', content)
73
87
  if version_match:
74
88
  return version_match.group(1)
75
89
  else:
@@ -196,7 +210,7 @@ picture_in_readme = '''<p align="center">
196
210
  # --------------------------------------------------------------------------------
197
211
  setup(
198
212
  name="polyhedral_gravity",
199
- version=get_version(),
213
+ version=get_cmake_version(),
200
214
  author="Jonas Schuhmacher",
201
215
  author_email="jonas.schuhmacher@tum.de",
202
216
  description="Package to compute full gravity tensor of a given constant density polyhedron for arbitrary points "
@@ -208,7 +222,7 @@ setup(
208
222
  license="GPLv3",
209
223
  license_file="LICENSE",
210
224
  zip_safe=False,
211
- python_requires=">=3.8",
225
+ python_requires=">=3.9",
212
226
  include_package_data=True,
213
227
  project_urls={
214
228
  "Homepage": "https://github.com/esa/polyhedral-gravity-model",
@@ -6,6 +6,12 @@
6
6
  namespace polyhedralGravity {
7
7
 
8
8
  PolyhedralSource MeshReader::getPolyhedralSource(const std::vector<std::string> &fileNames) {
9
+ // Input Sanity Check if the files exists
10
+ for (const auto &fileName: fileNames) {
11
+ if (!std::filesystem::exists(fileName)) {
12
+ throw std::runtime_error("File '" + fileName + "' does not exist.");
13
+ }
14
+ }
9
15
  switch (fileNames.size()) {
10
16
  case 0:
11
17
  throw std::runtime_error("No mesh file given");
@@ -11,6 +11,7 @@
11
11
  #include "polyhedralGravity/util/UtilityContainer.h"
12
12
  #include <exception>
13
13
  #include <stdexcept>
14
+ #include <filesystem>
14
15
 
15
16
  namespace polyhedralGravity {
16
17
 
@@ -23,7 +24,8 @@ namespace polyhedralGravity {
23
24
  * Returns a polyhedral source consisting of vertices and faces by reading mesh input files.
24
25
  * @param fileNames files specifying a polyhedron
25
26
  * @return polyhedral source consisting of vertices and faces
26
- * @throws std::invalid_argument exception if the file type is unsupported by the implementation
27
+ * @throws std::invalid_argument if the file type is unsupported by the implementation
28
+ * @throws std::runtime_error if the provided files do not exist
27
29
  */
28
30
  PolyhedralSource getPolyhedralSource(const std::vector<std::string> &fileNames);
29
31
 
@@ -175,6 +175,7 @@ PYBIND11_MODULE(polyhedral_gravity, m) {
175
175
 
176
176
  Raises:
177
177
  ValueError: If :code:`integrity_check` is set to :code:`AUTOMATIC` or :code:`VERIFY` and the mesh is inconsistent
178
+ RuntimeError: If files given as :code:`polyhedral_source` do not exist
178
179
 
179
180
  Note:
180
181
  The :code:`integrity_check` is automatically enabled to avoid wrong results due to the wrong vertex ordering.