coordinate-system 4.0.2__tar.gz → 4.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.
Files changed (18) hide show
  1. {coordinate_system-4.0.2/coordinate_system.egg-info → coordinate_system-4.1.0}/PKG-INFO +1 -1
  2. {coordinate_system-4.0.2 → coordinate_system-4.1.0/coordinate_system.egg-info}/PKG-INFO +1 -1
  3. {coordinate_system-4.0.2 → coordinate_system-4.1.0}/coordinate_system_binding.cpp +1 -0
  4. {coordinate_system-4.0.2 → coordinate_system-4.1.0}/pmsys_minimal.hpp +3 -34
  5. {coordinate_system-4.0.2 → coordinate_system-4.1.0}/setup.py +2 -2
  6. {coordinate_system-4.0.2 → coordinate_system-4.1.0}/LICENSE +0 -0
  7. {coordinate_system-4.0.2 → coordinate_system-4.1.0}/MANIFEST.in +0 -0
  8. {coordinate_system-4.0.2 → coordinate_system-4.1.0}/MATHEMATICAL_FOUNDATION.md +0 -0
  9. {coordinate_system-4.0.2 → coordinate_system-4.1.0}/README.md +0 -0
  10. {coordinate_system-4.0.2 → coordinate_system-4.1.0}/coordinate_system/__init__.py +0 -0
  11. {coordinate_system-4.0.2 → coordinate_system-4.1.0}/coordinate_system/curvature.py +0 -0
  12. {coordinate_system-4.0.2 → coordinate_system-4.1.0}/coordinate_system/differential_geometry.py +0 -0
  13. {coordinate_system-4.0.2 → coordinate_system-4.1.0}/coordinate_system/fourier_spectral.py +0 -0
  14. {coordinate_system-4.0.2 → coordinate_system-4.1.0}/coordinate_system.egg-info/SOURCES.txt +0 -0
  15. {coordinate_system-4.0.2 → coordinate_system-4.1.0}/coordinate_system.egg-info/dependency_links.txt +0 -0
  16. {coordinate_system-4.0.2 → coordinate_system-4.1.0}/coordinate_system.egg-info/not-zip-safe +0 -0
  17. {coordinate_system-4.0.2 → coordinate_system-4.1.0}/coordinate_system.egg-info/top_level.txt +0 -0
  18. {coordinate_system-4.0.2 → coordinate_system-4.1.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: coordinate_system
3
- Version: 4.0.2
3
+ Version: 4.1.0
4
4
  Summary: High-performance 3D coordinate system library with right-handed conventions, Intrinsic Gradient Operator method for curvature computation, achieving machine-precision accuracy
5
5
  Home-page: https://github.com/panguojun/Coordinate-System
6
6
  Author: PanGuoJun
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: coordinate_system
3
- Version: 4.0.2
3
+ Version: 4.1.0
4
4
  Summary: High-performance 3D coordinate system library with right-handed conventions, Intrinsic Gradient Operator method for curvature computation, achieving machine-precision accuracy
5
5
  Home-page: https://github.com/panguojun/Coordinate-System
6
6
  Author: PanGuoJun
@@ -337,6 +337,7 @@ PYBIND11_MODULE(coordinate_system, m) {
337
337
 
338
338
  // Methods
339
339
  .def("Q", [](const coord3& self) { return self.Q(); }, "Get rotation as quaternion")
340
+ .def("R", [](const coord3& self) { return coord3(self.R()); }, "Get rotation as coord3")
340
341
  .def("P", &coord3::pos, "Get position")
341
342
  .def("V", &coord3::tovec, "Convert to vector")
342
343
  .def("normalize", &coord3::normalize, "Normalize axes")
@@ -63,8 +63,8 @@
63
63
  // ==============================================================================
64
64
  // Type definitions
65
65
  // ==============================================================================
66
- #define real float
67
- #define EPSILON 1e-4
66
+ #define real double
67
+ #define EPSILON 1e-5
68
68
  #define DEVICE_CALLABLE
69
69
  #define EXPORT_API
70
70
 
@@ -2550,7 +2550,7 @@ inline vec2 fract(crvec2 v)
2550
2550
  }
2551
2551
 
2552
2552
  // 计算取余,返回一个由每个分量与给定值取余得到的新向量
2553
- inline vec2 mod(crvec2 v, float m)
2553
+ inline vec2 mod(crvec2 v, real m)
2554
2554
  {
2555
2555
  return vec2(std::fmod(v.x, m), std::fmod(v.y, m));
2556
2556
  }
@@ -3883,37 +3883,6 @@ struct coord3 : vcoord3
3883
3883
  PRINTVEC3(uy);
3884
3884
  PRINTVEC3(uz);
3885
3885
  }
3886
- // GUID
3887
- std::size_t hash() const
3888
- {
3889
- std::size_t hash = 0;
3890
- if (sizeof(real) == sizeof(float))
3891
- {
3892
- // 哈希原点坐标
3893
- hash_combine(hash, o.x);
3894
- hash_combine(hash, o.y);
3895
- hash_combine(hash, o.z);
3896
-
3897
- // 哈希缩放因子
3898
- hash_combine(hash, s.x);
3899
- hash_combine(hash, s.y);
3900
- hash_combine(hash, s.z);
3901
-
3902
- // 哈希基向量
3903
- hash_combine(hash, ux.x);
3904
- hash_combine(hash, ux.y);
3905
- hash_combine(hash, ux.z);
3906
-
3907
- hash_combine(hash, uy.x);
3908
- hash_combine(hash, uy.y);
3909
- hash_combine(hash, uy.z);
3910
-
3911
- hash_combine(hash, uz.x);
3912
- hash_combine(hash, uz.y);
3913
- hash_combine(hash, uz.z);
3914
- }
3915
- return hash;
3916
- }
3917
3886
 
3918
3887
  };
3919
3888
 
@@ -2,7 +2,7 @@
2
2
  setup.py - Cross-platform setup for coordinate_system package
3
3
 
4
4
  Author: PanGuoJun
5
- Version: 4.0.2
5
+ Version: 4.1.0
6
6
  License: MIT
7
7
  """
8
8
 
@@ -69,7 +69,7 @@ ext_modules = [
69
69
 
70
70
  setup(
71
71
  name='coordinate_system',
72
- version='4.0.2',
72
+ version='4.1.0',
73
73
  packages=find_packages(),
74
74
  ext_modules=ext_modules, # Add extension modules
75
75