coordinate-system 2.5.3__tar.gz → 2.5.4__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-2.5.3/coordinate_system.egg-info → coordinate_system-2.5.4}/PKG-INFO +1 -1
  2. {coordinate_system-2.5.3 → coordinate_system-2.5.4/coordinate_system.egg-info}/PKG-INFO +1 -1
  3. {coordinate_system-2.5.3 → coordinate_system-2.5.4}/coordinate_system_binding.cpp +4 -4
  4. {coordinate_system-2.5.3 → coordinate_system-2.5.4}/pmsys_minimal.hpp +24 -12
  5. {coordinate_system-2.5.3 → coordinate_system-2.5.4}/setup.py +2 -2
  6. {coordinate_system-2.5.3 → coordinate_system-2.5.4}/LICENSE +0 -0
  7. {coordinate_system-2.5.3 → coordinate_system-2.5.4}/MANIFEST.in +0 -0
  8. {coordinate_system-2.5.3 → coordinate_system-2.5.4}/MATHEMATICAL_FOUNDATION.md +0 -0
  9. {coordinate_system-2.5.3 → coordinate_system-2.5.4}/README.md +0 -0
  10. {coordinate_system-2.5.3 → coordinate_system-2.5.4}/coordinate_system/__init__.py +0 -0
  11. {coordinate_system-2.5.3 → coordinate_system-2.5.4}/coordinate_system/coord3_wrapper.py +0 -0
  12. {coordinate_system-2.5.3 → coordinate_system-2.5.4}/coordinate_system/curvature.py +0 -0
  13. {coordinate_system-2.5.3 → coordinate_system-2.5.4}/coordinate_system/differential_geometry.py +0 -0
  14. {coordinate_system-2.5.3 → coordinate_system-2.5.4}/coordinate_system.egg-info/SOURCES.txt +0 -0
  15. {coordinate_system-2.5.3 → coordinate_system-2.5.4}/coordinate_system.egg-info/dependency_links.txt +0 -0
  16. {coordinate_system-2.5.3 → coordinate_system-2.5.4}/coordinate_system.egg-info/not-zip-safe +0 -0
  17. {coordinate_system-2.5.3 → coordinate_system-2.5.4}/coordinate_system.egg-info/top_level.txt +0 -0
  18. {coordinate_system-2.5.3 → coordinate_system-2.5.4}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: coordinate_system
3
- Version: 2.5.3
3
+ Version: 2.5.4
4
4
  Summary: High-performance 3D coordinate system library with 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: 2.5.3
3
+ Version: 2.5.4
4
4
  Summary: High-performance 3D coordinate system library with 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
@@ -324,8 +324,8 @@ PYBIND11_MODULE(coordinate_system, m) {
324
324
  // Create copies and normalize to separate rotation and scale
325
325
  coord3 c1 = self;
326
326
  coord3 c2 = other;
327
- c1.normalize(false); // false = preserve scale in s
328
- c2.normalize(false);
327
+ c1.normalize();
328
+ c2.normalize();
329
329
 
330
330
  // Now compute the difference with separated components
331
331
  coord3 result;
@@ -342,8 +342,8 @@ PYBIND11_MODULE(coordinate_system, m) {
342
342
  // Fixed in-place subtraction
343
343
  coord3 c1 = self;
344
344
  coord3 c2 = other;
345
- c1.normalize(false);
346
- c2.normalize(false);
345
+ c1.normalize();
346
+ c2.normalize();
347
347
 
348
348
  self.o = c1.o - c2.o;
349
349
  self.ux = c1.ux - c2.ux;
@@ -3518,13 +3518,19 @@ struct coord3 : vcoord3
3518
3518
  // +/- 运算
3519
3519
  coord3 operator+(const coord3& c) const
3520
3520
  {
3521
- coord3 rc;
3522
- vec3 _ux = VX() + c.VX();
3523
- vec3 _uy = VY() + c.VY();
3524
- vec3 _uz = VZ() + c.VZ();
3521
+ coord3 c1 = *this;
3522
+ coord3 c2 = c;
3523
+ c1.normalize();
3524
+ c2.normalize();
3525
3525
 
3526
- rc.o = o + c.o;
3527
- return rc;
3526
+ coord3 result;
3527
+ result.o = c1.o + c2.o;
3528
+ result.ux = c1.ux + c2.ux;
3529
+ result.uy = c1.uy + c2.uy;
3530
+ result.uz = c1.uz + c2.uz;
3531
+ result.s = c1.s + c2.s;
3532
+
3533
+ return result;
3528
3534
  }
3529
3535
  coord3 operator+=(const coord3& c)
3530
3536
  {
@@ -3559,13 +3565,19 @@ struct coord3 : vcoord3
3559
3565
  }
3560
3566
  coord3 operator-(const coord3& c) const
3561
3567
  {
3562
- coord3 rc;
3563
- rc.ux = VX() - c.VX();
3564
- rc.uy = VY() - c.VY();
3565
- rc.uz = VZ() - c.VZ();
3568
+ coord3 c1 = *this;
3569
+ coord3 c2 = c;
3570
+ c1.normalize();
3571
+ c2.normalize();
3566
3572
 
3567
- rc.o = o - c.o;
3568
- return rc;
3573
+ coord3 result;
3574
+ result.o = c1.o - c2.o; // Position difference
3575
+ result.ux = c1.ux - c2.ux; // Rotation differences (unit vectors)
3576
+ result.uy = c1.uy - c2.uy;
3577
+ result.uz = c1.uz - c2.uz;
3578
+ result.s = c1.s - c2.s; // Scale differences
3579
+
3580
+ return result;
3569
3581
  }
3570
3582
  coord3 operator-() const
3571
3583
  {
@@ -2,7 +2,7 @@
2
2
  setup.py - Cross-platform setup for coordinate_system package
3
3
 
4
4
  Author: PanGuoJun
5
- Version: 2.5.3
5
+ Version: 2.5.4
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='2.5.3',
72
+ version='2.5.4',
73
73
  packages=find_packages(),
74
74
  ext_modules=ext_modules, # Add extension modules
75
75