spatialgeometry 1.1.0__tar.gz → 1.3.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 (388) hide show
  1. spatialgeometry-1.3.0/.gitattributes +1 -0
  2. spatialgeometry-1.3.0/.github/Makefile +44 -0
  3. spatialgeometry-1.3.0/.github/workflows/build.yml +102 -0
  4. spatialgeometry-1.3.0/.github/workflows/cibuildwheel.yml +130 -0
  5. spatialgeometry-1.3.0/.gitignore +185 -0
  6. spatialgeometry-1.3.0/CHANGELOG.md +101 -0
  7. spatialgeometry-1.3.0/CMakeLists.txt +39 -0
  8. spatialgeometry-1.3.0/Makefile +45 -0
  9. spatialgeometry-1.3.0/PKG-INFO +164 -0
  10. spatialgeometry-1.3.0/README.md +102 -0
  11. spatialgeometry-1.3.0/docs/Makefile +26 -0
  12. spatialgeometry-1.3.0/docs/figs/panda_hand.dae +403 -0
  13. spatialgeometry-1.3.0/docs/source/_static/css/custom.css +15 -0
  14. spatialgeometry-1.3.0/docs/source/api.rst +51 -0
  15. spatialgeometry-1.3.0/docs/source/conf.py +159 -0
  16. spatialgeometry-1.3.0/docs/source/index.rst +8 -0
  17. spatialgeometry-1.3.0/docs/source/intro.rst +291 -0
  18. spatialgeometry-1.3.0/environment.yml +11 -0
  19. spatialgeometry-1.3.0/examples/animating_shapes.py +17 -0
  20. spatialgeometry-1.3.0/examples/displaying_shapes.py +15 -0
  21. spatialgeometry-1.3.0/examples/scene_graph.py +27 -0
  22. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0}/pyproject.toml +30 -21
  23. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/__init__.py +10 -1
  24. spatialgeometry-1.3.0/src/spatialgeometry/core/scene_nb.cpp +142 -0
  25. spatialgeometry-1.3.0/src/spatialgeometry/geom/CollisionShape.py +307 -0
  26. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/geom/SceneGroup.py +7 -8
  27. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/geom/SceneNode.py +28 -28
  28. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/geom/Shape.py +221 -56
  29. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/geom/__init__.py +2 -1
  30. spatialgeometry-1.3.0/src/spatialgeometry/scene.py +107 -0
  31. spatialgeometry-1.3.0/tests/__init__.py +13 -0
  32. spatialgeometry-1.3.0/tests/test_Shape.py +391 -0
  33. spatialgeometry-1.3.0/tests/test_collision.py +484 -0
  34. spatialgeometry-1.3.0/tests/test_scene_backend.py +116 -0
  35. spatialgeometry-1.1.0/PKG-INFO +0 -72
  36. spatialgeometry-1.1.0/README.md +0 -26
  37. spatialgeometry-1.1.0/setup.cfg +0 -4
  38. spatialgeometry-1.1.0/setup.py +0 -32
  39. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/Cholesky +0 -45
  40. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/CholmodSupport +0 -48
  41. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/Dense +0 -7
  42. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/Eigen +0 -2
  43. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/Eigenvalues +0 -60
  44. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/Geometry +0 -59
  45. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/Householder +0 -29
  46. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/IterativeLinearSolvers +0 -48
  47. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/Jacobi +0 -32
  48. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/KLUSupport +0 -41
  49. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/LU +0 -47
  50. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/MetisSupport +0 -35
  51. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/OrderingMethods +0 -70
  52. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/PaStiXSupport +0 -49
  53. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/PardisoSupport +0 -35
  54. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/QR +0 -50
  55. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/QtAlignedMalloc +0 -39
  56. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/SPQRSupport +0 -34
  57. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/SVD +0 -50
  58. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/Sparse +0 -34
  59. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/SparseCholesky +0 -37
  60. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/SparseCore +0 -69
  61. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/SparseLU +0 -50
  62. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/SparseQR +0 -36
  63. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/StdDeque +0 -27
  64. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/StdList +0 -26
  65. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/StdVector +0 -27
  66. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/SuperLUSupport +0 -64
  67. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/UmfPackSupport +0 -40
  68. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/Cholesky/LDLT.h +0 -688
  69. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/Cholesky/LLT.h +0 -558
  70. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/Cholesky/LLT_LAPACKE.h +0 -99
  71. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/CholmodSupport/CholmodSupport.h +0 -682
  72. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/Eigenvalues/ComplexEigenSolver.h +0 -346
  73. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/Eigenvalues/ComplexSchur.h +0 -462
  74. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +0 -91
  75. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/Eigenvalues/EigenSolver.h +0 -622
  76. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +0 -418
  77. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +0 -226
  78. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/Eigenvalues/HessenbergDecomposition.h +0 -374
  79. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +0 -158
  80. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/Eigenvalues/RealQZ.h +0 -657
  81. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/Eigenvalues/RealSchur.h +0 -558
  82. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +0 -77
  83. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +0 -904
  84. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +0 -87
  85. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/Eigenvalues/Tridiagonalization.h +0 -561
  86. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/Geometry/AlignedBox.h +0 -486
  87. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/Geometry/AngleAxis.h +0 -247
  88. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/Geometry/EulerAngles.h +0 -114
  89. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/Geometry/Homogeneous.h +0 -501
  90. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/Geometry/Hyperplane.h +0 -282
  91. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/Geometry/OrthoMethods.h +0 -235
  92. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/Geometry/ParametrizedLine.h +0 -232
  93. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/Geometry/Quaternion.h +0 -870
  94. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/Geometry/Rotation2D.h +0 -199
  95. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/Geometry/RotationBase.h +0 -206
  96. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/Geometry/Scaling.h +0 -188
  97. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/Geometry/Transform.h +0 -1563
  98. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/Geometry/Translation.h +0 -202
  99. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/Geometry/Umeyama.h +0 -166
  100. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/Geometry/arch/Geometry_SIMD.h +0 -168
  101. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/Householder/BlockHouseholder.h +0 -110
  102. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/Householder/Householder.h +0 -176
  103. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/Householder/HouseholderSequence.h +0 -545
  104. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +0 -226
  105. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +0 -212
  106. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +0 -229
  107. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +0 -394
  108. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +0 -453
  109. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +0 -444
  110. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +0 -198
  111. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +0 -117
  112. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/Jacobi/Jacobi.h +0 -483
  113. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/KLUSupport/KLUSupport.h +0 -358
  114. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/LU/Determinant.h +0 -117
  115. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/LU/FullPivLU.h +0 -877
  116. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/LU/InverseImpl.h +0 -432
  117. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/LU/PartialPivLU.h +0 -624
  118. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/LU/PartialPivLU_LAPACKE.h +0 -83
  119. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/LU/arch/InverseSize4.h +0 -351
  120. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/MetisSupport/MetisSupport.h +0 -137
  121. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/OrderingMethods/Amd.h +0 -435
  122. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/OrderingMethods/Eigen_Colamd.h +0 -1863
  123. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/OrderingMethods/Ordering.h +0 -153
  124. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/PaStiXSupport/PaStiXSupport.h +0 -678
  125. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/PardisoSupport/PardisoSupport.h +0 -545
  126. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/QR/ColPivHouseholderQR.h +0 -674
  127. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +0 -97
  128. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/QR/CompleteOrthogonalDecomposition.h +0 -635
  129. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/QR/FullPivHouseholderQR.h +0 -713
  130. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/QR/HouseholderQR.h +0 -434
  131. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/QR/HouseholderQR_LAPACKE.h +0 -68
  132. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +0 -335
  133. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SVD/BDCSVD.h +0 -1366
  134. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SVD/JacobiSVD.h +0 -812
  135. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SVD/JacobiSVD_LAPACKE.h +0 -91
  136. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SVD/SVDBase.h +0 -376
  137. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SVD/UpperBidiagonalization.h +0 -414
  138. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseCholesky/SimplicialCholesky.h +0 -697
  139. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +0 -174
  140. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseCore/AmbiVector.h +0 -378
  141. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseCore/CompressedStorage.h +0 -274
  142. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +0 -352
  143. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseCore/MappedSparseMatrix.h +0 -67
  144. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseCore/SparseAssign.h +0 -270
  145. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseCore/SparseBlock.h +0 -571
  146. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseCore/SparseColEtree.h +0 -206
  147. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseCore/SparseCompressedBase.h +0 -370
  148. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +0 -722
  149. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +0 -150
  150. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseCore/SparseDenseProduct.h +0 -342
  151. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseCore/SparseDiagonalProduct.h +0 -138
  152. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseCore/SparseDot.h +0 -98
  153. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseCore/SparseFuzzy.h +0 -29
  154. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseCore/SparseMap.h +0 -305
  155. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseCore/SparseMatrix.h +0 -1518
  156. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseCore/SparseMatrixBase.h +0 -398
  157. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseCore/SparsePermutation.h +0 -178
  158. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseCore/SparseProduct.h +0 -181
  159. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseCore/SparseRedux.h +0 -49
  160. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseCore/SparseRef.h +0 -397
  161. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseCore/SparseSelfAdjointView.h +0 -659
  162. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseCore/SparseSolverBase.h +0 -124
  163. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +0 -198
  164. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseCore/SparseTranspose.h +0 -92
  165. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseCore/SparseTriangularView.h +0 -189
  166. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseCore/SparseUtil.h +0 -186
  167. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseCore/SparseVector.h +0 -478
  168. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseCore/SparseView.h +0 -254
  169. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseCore/TriangularSolver.h +0 -315
  170. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseLU/SparseLU.h +0 -923
  171. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseLU/SparseLUImpl.h +0 -66
  172. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseLU/SparseLU_Memory.h +0 -226
  173. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseLU/SparseLU_Structs.h +0 -110
  174. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +0 -375
  175. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseLU/SparseLU_Utils.h +0 -80
  176. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseLU/SparseLU_column_bmod.h +0 -181
  177. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseLU/SparseLU_column_dfs.h +0 -179
  178. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +0 -107
  179. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +0 -280
  180. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +0 -126
  181. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +0 -130
  182. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseLU/SparseLU_panel_bmod.h +0 -223
  183. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseLU/SparseLU_panel_dfs.h +0 -258
  184. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseLU/SparseLU_pivotL.h +0 -137
  185. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseLU/SparseLU_pruneL.h +0 -136
  186. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseLU/SparseLU_relax_snode.h +0 -83
  187. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SparseQR/SparseQR.h +0 -758
  188. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/StlSupport/StdDeque.h +0 -116
  189. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/StlSupport/StdList.h +0 -106
  190. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/StlSupport/StdVector.h +0 -131
  191. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/StlSupport/details.h +0 -84
  192. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/SuperLUSupport/SuperLUSupport.h +0 -1025
  193. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/UmfPackSupport/UmfPackSupport.h +0 -642
  194. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/misc/Image.h +0 -82
  195. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/misc/Kernel.h +0 -79
  196. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/misc/RealSvd2x2.h +0 -55
  197. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/misc/blas.h +0 -440
  198. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/misc/lapack.h +0 -152
  199. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/misc/lapacke.h +0 -16292
  200. spatialgeometry-1.1.0/spatialgeometry/core/Eigen/src/misc/lapacke_mangling.h +0 -17
  201. spatialgeometry-1.1.0/spatialgeometry/core/linalg.h +0 -44
  202. spatialgeometry-1.1.0/spatialgeometry/core/scene.cpp +0 -340
  203. spatialgeometry-1.1.0/spatialgeometry/core/scene.h +0 -54
  204. spatialgeometry-1.1.0/spatialgeometry/geom/CollisionShape.py +0 -421
  205. spatialgeometry-1.1.0/spatialgeometry/tools/stdout_supress.py +0 -302
  206. spatialgeometry-1.1.0/spatialgeometry.egg-info/PKG-INFO +0 -72
  207. spatialgeometry-1.1.0/spatialgeometry.egg-info/SOURCES.txt +0 -359
  208. spatialgeometry-1.1.0/spatialgeometry.egg-info/dependency_links.txt +0 -1
  209. spatialgeometry-1.1.0/spatialgeometry.egg-info/requires.txt +0 -18
  210. spatialgeometry-1.1.0/spatialgeometry.egg-info/top_level.txt +0 -1
  211. spatialgeometry-1.1.0/tests/test_Shape.py +0 -236
  212. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0}/LICENSE +0 -0
  213. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/Core +0 -0
  214. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/ArithmeticSequence.h +0 -0
  215. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/Array.h +0 -0
  216. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/ArrayBase.h +0 -0
  217. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/ArrayWrapper.h +0 -0
  218. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/Assign.h +0 -0
  219. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/AssignEvaluator.h +0 -0
  220. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/Assign_MKL.h +0 -0
  221. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/BandMatrix.h +0 -0
  222. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/Block.h +0 -0
  223. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/BooleanRedux.h +0 -0
  224. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/CommaInitializer.h +0 -0
  225. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/ConditionEstimator.h +0 -0
  226. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/CoreEvaluators.h +0 -0
  227. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/CoreIterators.h +0 -0
  228. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/CwiseBinaryOp.h +0 -0
  229. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/CwiseNullaryOp.h +0 -0
  230. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/CwiseTernaryOp.h +0 -0
  231. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/CwiseUnaryOp.h +0 -0
  232. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/CwiseUnaryView.h +0 -0
  233. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/DenseBase.h +0 -0
  234. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/DenseCoeffsBase.h +0 -0
  235. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/DenseStorage.h +0 -0
  236. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/Diagonal.h +0 -0
  237. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/DiagonalMatrix.h +0 -0
  238. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/DiagonalProduct.h +0 -0
  239. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/Dot.h +0 -0
  240. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/EigenBase.h +0 -0
  241. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/ForceAlignedAccess.h +0 -0
  242. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/Fuzzy.h +0 -0
  243. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/GeneralProduct.h +0 -0
  244. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/GenericPacketMath.h +0 -0
  245. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/GlobalFunctions.h +0 -0
  246. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/IO.h +0 -0
  247. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/IndexedView.h +0 -0
  248. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/Inverse.h +0 -0
  249. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/Map.h +0 -0
  250. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/MapBase.h +0 -0
  251. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/MathFunctions.h +0 -0
  252. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/MathFunctionsImpl.h +0 -0
  253. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/Matrix.h +0 -0
  254. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/MatrixBase.h +0 -0
  255. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/NestByValue.h +0 -0
  256. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/NoAlias.h +0 -0
  257. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/NumTraits.h +0 -0
  258. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/PartialReduxEvaluator.h +0 -0
  259. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/PermutationMatrix.h +0 -0
  260. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/PlainObjectBase.h +0 -0
  261. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/Product.h +0 -0
  262. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/ProductEvaluators.h +0 -0
  263. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/Random.h +0 -0
  264. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/Redux.h +0 -0
  265. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/Ref.h +0 -0
  266. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/Replicate.h +0 -0
  267. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/Reshaped.h +0 -0
  268. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/ReturnByValue.h +0 -0
  269. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/Reverse.h +0 -0
  270. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/Select.h +0 -0
  271. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/SelfAdjointView.h +0 -0
  272. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/SelfCwiseBinaryOp.h +0 -0
  273. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/Solve.h +0 -0
  274. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/SolveTriangular.h +0 -0
  275. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/SolverBase.h +0 -0
  276. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/StableNorm.h +0 -0
  277. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/StlIterators.h +0 -0
  278. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/Stride.h +0 -0
  279. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/Swap.h +0 -0
  280. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/Transpose.h +0 -0
  281. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/Transpositions.h +0 -0
  282. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/TriangularMatrix.h +0 -0
  283. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/VectorBlock.h +0 -0
  284. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/VectorwiseOp.h +0 -0
  285. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/Visitor.h +0 -0
  286. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/AVX/Complex.h +0 -0
  287. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/AVX/MathFunctions.h +0 -0
  288. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/AVX/PacketMath.h +0 -0
  289. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/AVX/TypeCasting.h +0 -0
  290. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/AVX512/Complex.h +0 -0
  291. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/AVX512/MathFunctions.h +0 -0
  292. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/AVX512/PacketMath.h +0 -0
  293. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/AVX512/TypeCasting.h +0 -0
  294. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/AltiVec/Complex.h +0 -0
  295. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/AltiVec/MathFunctions.h +0 -0
  296. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +0 -0
  297. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +0 -0
  298. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +0 -0
  299. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/AltiVec/PacketMath.h +0 -0
  300. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/CUDA/Complex.h +0 -0
  301. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/Default/BFloat16.h +0 -0
  302. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/Default/ConjHelper.h +0 -0
  303. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +0 -0
  304. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +0 -0
  305. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/Default/Half.h +0 -0
  306. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/Default/Settings.h +0 -0
  307. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/Default/TypeCasting.h +0 -0
  308. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/GPU/MathFunctions.h +0 -0
  309. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/GPU/PacketMath.h +0 -0
  310. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/GPU/TypeCasting.h +0 -0
  311. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/HIP/hcc/math_constants.h +0 -0
  312. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/MSA/Complex.h +0 -0
  313. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/MSA/MathFunctions.h +0 -0
  314. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/MSA/PacketMath.h +0 -0
  315. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/NEON/Complex.h +0 -0
  316. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +0 -0
  317. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/NEON/MathFunctions.h +0 -0
  318. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/NEON/PacketMath.h +0 -0
  319. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/NEON/TypeCasting.h +0 -0
  320. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/SSE/Complex.h +0 -0
  321. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/SSE/MathFunctions.h +0 -0
  322. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/SSE/PacketMath.h +0 -0
  323. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/SSE/TypeCasting.h +0 -0
  324. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/SVE/MathFunctions.h +0 -0
  325. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/SVE/PacketMath.h +0 -0
  326. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/SVE/TypeCasting.h +0 -0
  327. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/SYCL/InteropHeaders.h +0 -0
  328. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/SYCL/MathFunctions.h +0 -0
  329. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/SYCL/PacketMath.h +0 -0
  330. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h +0 -0
  331. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/SYCL/TypeCasting.h +0 -0
  332. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/ZVector/Complex.h +0 -0
  333. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/ZVector/MathFunctions.h +0 -0
  334. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/arch/ZVector/PacketMath.h +0 -0
  335. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/functors/AssignmentFunctors.h +0 -0
  336. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/functors/BinaryFunctors.h +0 -0
  337. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/functors/NullaryFunctors.h +0 -0
  338. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/functors/StlFunctors.h +0 -0
  339. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/functors/TernaryFunctors.h +0 -0
  340. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/functors/UnaryFunctors.h +0 -0
  341. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/products/GeneralBlockPanelKernel.h +0 -0
  342. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/products/GeneralMatrixMatrix.h +0 -0
  343. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +0 -0
  344. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +0 -0
  345. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +0 -0
  346. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/products/GeneralMatrixVector.h +0 -0
  347. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +0 -0
  348. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/products/Parallelizer.h +0 -0
  349. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +0 -0
  350. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +0 -0
  351. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/products/SelfadjointMatrixVector.h +0 -0
  352. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +0 -0
  353. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/products/SelfadjointProduct.h +0 -0
  354. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/products/SelfadjointRank2Update.h +0 -0
  355. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/products/TriangularMatrixMatrix.h +0 -0
  356. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +0 -0
  357. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/products/TriangularMatrixVector.h +0 -0
  358. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +0 -0
  359. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/products/TriangularSolverMatrix.h +0 -0
  360. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +0 -0
  361. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/products/TriangularSolverVector.h +0 -0
  362. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/util/BlasUtil.h +0 -0
  363. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/util/ConfigureVectorization.h +0 -0
  364. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/util/Constants.h +0 -0
  365. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/util/DisableStupidWarnings.h +0 -0
  366. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/util/ForwardDeclarations.h +0 -0
  367. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/util/IndexedViewHelper.h +0 -0
  368. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/util/IntegralConstant.h +0 -0
  369. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/util/MKL_support.h +0 -0
  370. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/util/Macros.h +0 -0
  371. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/util/Memory.h +0 -0
  372. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/util/Meta.h +0 -0
  373. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/util/NonMPL2.h +0 -0
  374. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/util/ReenableStupidWarnings.h +0 -0
  375. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/util/ReshapedHelper.h +0 -0
  376. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/util/StaticAssert.h +0 -0
  377. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/util/SymbolicIndex.h +0 -0
  378. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/Core/util/XprHelper.h +0 -0
  379. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/plugins/ArrayCwiseBinaryOps.h +0 -0
  380. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/plugins/ArrayCwiseUnaryOps.h +0 -0
  381. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/plugins/BlockMethods.h +0 -0
  382. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/plugins/CommonCwiseBinaryOps.h +0 -0
  383. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/plugins/CommonCwiseUnaryOps.h +0 -0
  384. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/plugins/IndexedViewMethods.h +0 -0
  385. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/plugins/MatrixCwiseBinaryOps.h +0 -0
  386. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/plugins/MatrixCwiseUnaryOps.h +0 -0
  387. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/core/Eigen/src/plugins/ReshapedMethods.h +0 -0
  388. {spatialgeometry-1.1.0 → spatialgeometry-1.3.0/src}/spatialgeometry/tools/__init__.py +0 -0
@@ -0,0 +1 @@
1
+ spatialgeometry/core/Eigen/** linguist-vendored
@@ -0,0 +1,44 @@
1
+ .FORCE:
2
+
3
+ BLUE=\033[0;34m
4
+ BLACK=\033[0;30m
5
+
6
+ help:
7
+ @echo "$(BLUE) make test - run all unit tests"
8
+ @echo " make coverage - run unit tests and coverage report"
9
+ @echo " make docs - build Sphinx documentation"
10
+ @echo " make docupdate - upload Sphinx documentation to GitHub pages"
11
+ @echo " make dist - build dist files"
12
+ @echo " make upload - upload to PyPI"
13
+ @echo " make clean - remove dist and docs build files"
14
+ @echo " make help - this message$(BLACK)"
15
+
16
+ test:
17
+ pytest
18
+
19
+ coverage:
20
+ coverage run --omit=\*/test_\* -m unittest
21
+ coverage report
22
+
23
+ docs: .FORCE
24
+ (cd docs; make html)
25
+
26
+ docupdate: docs
27
+ git clone https://github.com/petercorke/roboticstoolbox-python.git --branch gh-pages --single-branch gh-pages
28
+ cp -r docs/build/html/. gh-pages
29
+ git add gh-pages
30
+ git commit -m "rebuilt docs"
31
+ git push origin gh-pages
32
+
33
+ dist: .FORCE
34
+ $(MAKE) test
35
+ python setup.py sdist
36
+
37
+ upload: .FORCE
38
+ twine upload dist/*
39
+
40
+ clean: .FORCE
41
+ (cd docs; make clean)
42
+ -rm -r *.egg-info
43
+ -rm -r dist
44
+
@@ -0,0 +1,102 @@
1
+ # Run tests and build/deploy docs.
2
+ # Triggers on pushes to main and on PRs targeting main.
3
+
4
+ name: Run Tests and Build Docs
5
+
6
+ on:
7
+ push:
8
+ branches: [main]
9
+ pull_request:
10
+ branches: [main]
11
+
12
+ jobs:
13
+ unittest:
14
+ runs-on: ${{ matrix.os }}
15
+ strategy:
16
+ matrix:
17
+ os: [windows-latest, ubuntu-latest, macos-latest]
18
+ python-version: ["3.10", "3.11", "3.12", "3.13"]
19
+ steps:
20
+ - uses: actions/checkout@v4
21
+ - name: Set up Python ${{ matrix.python-version }}
22
+ uses: actions/setup-python@v5
23
+ with:
24
+ python-version: ${{ matrix.python-version }}
25
+ - name: Install dependencies
26
+ run: |
27
+ python -m pip install --upgrade pip
28
+ - name: Test with pytest
29
+ run: |
30
+ pip install .[dev,collision]
31
+ pip install pytest-timeout
32
+ pytest --timeout=30 --timeout_method thread -s
33
+
34
+ codecov:
35
+ # If all tests pass:
36
+ # Run coverage and upload to codecov
37
+ needs: unittest
38
+ runs-on: ubuntu-latest
39
+ steps:
40
+ - uses: actions/checkout@v4
41
+ - name: Set up Python
42
+ uses: actions/setup-python@v5
43
+ with:
44
+ python-version: "3.12"
45
+ - name: Install dependencies
46
+ run: |
47
+ python -m pip install --upgrade pip
48
+ - name: Run coverage
49
+ run: |
50
+ pip install -e .[dev,collision]
51
+ pytest --cov=spatialgeometry --cov-report xml:coverage.xml
52
+ coverage report
53
+ - name: upload coverage to Codecov
54
+ uses: codecov/codecov-action@v4
55
+ with:
56
+ file: ./coverage.xml
57
+
58
+ docs-build:
59
+ needs: unittest
60
+ runs-on: ubuntu-latest
61
+ steps:
62
+ - uses: actions/checkout@v4
63
+
64
+ - uses: actions/setup-python@v5
65
+ with:
66
+ python-version: "3.12"
67
+
68
+ - name: Install docs dependencies
69
+ run: |
70
+ pip install .[docs,collision]
71
+ pip install sympy
72
+ sudo apt-get install -y graphviz
73
+
74
+ - name: Build docs
75
+ run: |
76
+ cd docs && make html
77
+ touch build/html/.nojekyll
78
+
79
+ - name: Upload Pages artifact
80
+ uses: actions/upload-pages-artifact@v3
81
+ with:
82
+ path: docs/build/html
83
+
84
+ # Separate job so the github-pages environment (and its deployment
85
+ # protection rules restricting it to main) is only ever touched on main —
86
+ # a job-level `environment:` triggers a deployment attempt as soon as the
87
+ # job starts, regardless of any step-level `if:`, so PR runs would
88
+ # otherwise show a false "failed to deploy to github-pages".
89
+ docs-deploy:
90
+ needs: docs-build
91
+ if: github.ref == 'refs/heads/main'
92
+ runs-on: ubuntu-latest
93
+ permissions:
94
+ pages: write
95
+ id-token: write
96
+ environment:
97
+ name: github-pages
98
+ url: ${{ steps.deploy.outputs.page_url }}
99
+ steps:
100
+ - name: Deploy to GitHub Pages
101
+ id: deploy
102
+ uses: actions/deploy-pages@v4
@@ -0,0 +1,130 @@
1
+ # Build wheels for all platforms and publish to PyPI.
2
+ #
3
+ # To ship a release: bump the version in pyproject.toml, merge that to
4
+ # main, then on GitHub go to Releases -> "Draft a new release", pick a
5
+ # tag matching the new version, and click "Publish release". That single
6
+ # click is the only trigger for this workflow -- it builds every wheel
7
+ # (including Pyodide/wasm32), uploads everything to PyPI, and attaches
8
+ # the Pyodide wheel to the release as a downloadable asset. There is no
9
+ # separate manual/workflow_dispatch path, so there's only one way to
10
+ # publish and it always does the full job.
11
+ #
12
+ # Uses OIDC trusted publishing -- no stored PyPI token required.
13
+
14
+ name: Publish to PyPI
15
+
16
+ on:
17
+ release:
18
+ types: [published]
19
+
20
+ jobs:
21
+ build_wheels:
22
+ name: Build compiled wheels on ${{ matrix.os }} (${{ matrix.arch }})
23
+ runs-on: ${{ matrix.os }}
24
+ strategy:
25
+ matrix:
26
+ include:
27
+ - os: ubuntu-latest
28
+ arch: x86_64
29
+ - os: ubuntu-24.04-arm
30
+ arch: arm64
31
+ - os: windows-latest
32
+ arch: x86_64
33
+ - os: macos-latest
34
+ arch: arm64
35
+ steps:
36
+ - uses: actions/checkout@v4
37
+
38
+ - name: Build wheels
39
+ uses: pypa/cibuildwheel@v3.4.1
40
+ env:
41
+ CIBW_BUILD_VERBOSITY: 1
42
+ # Only build CPython 3.10-3.13; skip PyPy and free-threaded builds.
43
+ CIBW_BUILD: "cp310-* cp311-* cp312-* cp313-*"
44
+ CIBW_SKIP: "pp* cp313t-* *musllinux*"
45
+ # Only build for this runner's native arch (no QEMU cross-compilation).
46
+ CIBW_ARCHS: native
47
+
48
+ - uses: actions/upload-artifact@v4
49
+ with:
50
+ name: wheels-${{ matrix.os }}
51
+ path: ./wheelhouse/*.whl
52
+
53
+ build_pyodide:
54
+ name: Build Pyodide (wasm32) wheel
55
+ runs-on: ubuntu-latest
56
+ continue-on-error: true
57
+ steps:
58
+ - uses: actions/checkout@v4
59
+
60
+ - name: Build Pyodide wheel
61
+ uses: pypa/cibuildwheel@v3.4.1
62
+ env:
63
+ CIBW_PLATFORM: pyodide
64
+
65
+ - uses: actions/upload-artifact@v4
66
+ if: success()
67
+ with:
68
+ name: pyodide-wheel
69
+ path: ./wheelhouse/*.whl
70
+
71
+ build_sdist:
72
+ name: Build source distribution
73
+ runs-on: ubuntu-latest
74
+ steps:
75
+ - uses: actions/checkout@v4
76
+
77
+ - name: Build sdist
78
+ run: pipx run build --sdist
79
+
80
+ - uses: actions/upload-artifact@v4
81
+ with:
82
+ name: sdist
83
+ path: dist/*.tar.gz
84
+
85
+ # PyPI rejects the pyodide_* platform tag, so attach it to the GitHub
86
+ # Release as a downloadable asset instead -- same pattern as RTB's own
87
+ # release.yml, which is where a future RTB fix for its own JupyterLite
88
+ # build (it needs a wasm spatialgeometry wheel now that it depends on
89
+ # the real package instead of vendoring a pure-Python copy) would fetch
90
+ # this from.
91
+ upload_pyodide_asset:
92
+ name: Attach Pyodide wheel to GitHub release
93
+ needs: build_pyodide
94
+ if: needs.build_pyodide.result == 'success'
95
+ runs-on: ubuntu-latest
96
+ permissions:
97
+ contents: write
98
+ steps:
99
+ - uses: actions/download-artifact@v4
100
+ with:
101
+ name: pyodide-wheel
102
+ path: pyodide-dist
103
+
104
+ - name: Upload Pyodide wheel as release asset
105
+ uses: softprops/action-gh-release@v3
106
+ with:
107
+ tag_name: ${{ github.ref_name }}
108
+ files: pyodide-dist/*.whl
109
+
110
+ upload_pypi:
111
+ needs: [build_wheels, build_sdist]
112
+ runs-on: ubuntu-latest
113
+ environment: pypi
114
+ permissions:
115
+ id-token: write # required for OIDC trusted publishing
116
+ steps:
117
+ - uses: actions/download-artifact@v4
118
+ with:
119
+ pattern: wheels-*
120
+ merge-multiple: true
121
+ path: dist
122
+
123
+ - uses: actions/download-artifact@v4
124
+ with:
125
+ name: sdist
126
+ path: dist
127
+
128
+ - uses: pypa/gh-action-pypi-publish@release/v1
129
+ with:
130
+ skip-existing: true
@@ -0,0 +1,185 @@
1
+ # MacOS stuff
2
+ **DS_STORE
3
+
4
+ # Vim
5
+ *.sw*
6
+
7
+ .idea/*
8
+
9
+ ### VisualStudioCode ###
10
+ .vscode/*
11
+ #!.vscode/settings.json
12
+ #!.vscode/tasks.json
13
+ #!.vscode/launch.json
14
+ #!.vscode/extensions.json
15
+
16
+ # Byte-compiled / optimized / DLL files
17
+ __pycache__/
18
+ *.py[cod]
19
+ *$py.class
20
+
21
+ # C extensions
22
+ *.so
23
+
24
+ # Distribution / packaging
25
+ .Python
26
+ build/
27
+ develop-eggs/
28
+ dist/
29
+ downloads/
30
+ eggs/
31
+ .eggs/
32
+ lib/
33
+ lib64/
34
+ parts/
35
+ sdist/
36
+ var/
37
+ wheels/
38
+ pip-wheel-metadata/
39
+ share/python-wheels/
40
+ *.egg-info/
41
+ .installed.cfg
42
+ *.egg
43
+ MANIFEST
44
+ wheelhouse/
45
+
46
+ # PyInstaller
47
+ # Usually these files are written by a python script from a template
48
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
49
+ *.manifest
50
+ *.spec
51
+
52
+ # Installer logs
53
+ pip-log.txt
54
+ pip-delete-this-directory.txt
55
+
56
+ # Unit test / coverage reports
57
+ htmlcov/
58
+ .tox/
59
+ .nox/
60
+ .coverage
61
+ .coverage.*
62
+ .cache
63
+ nosetests.xml
64
+ coverage.xml
65
+ *.cover
66
+ .hypothesis/
67
+ .pytest_cache/
68
+
69
+ # Translations
70
+ *.mo
71
+ *.pot
72
+
73
+ # Django stuff:
74
+ *.log
75
+ local_settings.py
76
+ db.sqlite3
77
+
78
+ # Flask stuff:
79
+ instance/
80
+ .webassets-cache
81
+
82
+ # Scrapy stuff:
83
+ .scrapy
84
+
85
+ # Sphinx documentation
86
+ docs/_build/
87
+
88
+ # PyBuilder
89
+ target/
90
+
91
+ # Jupyter Notebook
92
+ .ipynb_checkpoints
93
+
94
+ # IPython
95
+ profile_default/
96
+ ipython_config.py
97
+
98
+ # pyenv
99
+ .python-version
100
+
101
+ # pipenv
102
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
103
+
104
+ # celery beat schedule file
105
+ celerybeat-schedule
106
+
107
+ # SageMath parsed files
108
+ *.sage.py
109
+
110
+ # Environments
111
+ .env
112
+ .venv
113
+ env/
114
+ venv/
115
+ ENV/
116
+ env.bak/
117
+ venv.bak/
118
+
119
+ # Spyder project settings
120
+ .spyderproject
121
+ .spyproject
122
+
123
+ # Rope project settings
124
+ .ropeproject
125
+
126
+ # mkdocs documentation
127
+ /site
128
+
129
+ # mypy
130
+ .mypy_cache/
131
+ .dmypy.json
132
+ dmypy.json
133
+
134
+ # Pyre type checker
135
+ .pyre/
136
+
137
+ ### ROS ###
138
+ devel/
139
+ logs/
140
+ bin/
141
+ msg_gen/
142
+ srv_gen/
143
+ msg/*Action.msg
144
+ msg/*ActionFeedback.msg
145
+ msg/*ActionGoal.msg
146
+ msg/*ActionResult.msg
147
+ msg/*Feedback.msg
148
+ msg/*Goal.msg
149
+ msg/*Result.msg
150
+ msg/_*.py
151
+ build_isolated/
152
+ devel_isolated/
153
+
154
+ # Generated by dynamic reconfigure
155
+ *.cfgc
156
+ /cfg/cpp/
157
+ /cfg/*.py
158
+
159
+ # Ignore generated docs
160
+ *.dox
161
+ *.wikidoc
162
+
163
+ # eclipse stuff
164
+ .project
165
+ .cproject
166
+
167
+ # qcreator stuff
168
+ CMakeLists.txt.user
169
+
170
+ srv/_*.py
171
+ *.pcd
172
+ *.pyc
173
+ qtcreator-*
174
+ *.user
175
+
176
+ /planning/cfg
177
+ /planning/docs
178
+ /planning/src
179
+
180
+ # Catkin custom files
181
+ CATKIN_IGNORE
182
+
183
+ ### VisualStudioCode Patch ###
184
+ # Ignore all local history of files
185
+ .history
@@ -0,0 +1,101 @@
1
+ # Changelog
2
+
3
+ Notable changes to this project are documented in this file. Starts from
4
+ v1.2.0 — earlier releases aren't documented retroactively.
5
+
6
+ ## [1.3.0] - 2026-08-03
7
+
8
+ ### New
9
+
10
+ - **`Path` shape**: a polyline through a sequence of waypoints — straight
11
+ segments joining consecutive points, for drawing paths and trajectories
12
+ in the scene. `radius`/`linewidth` mirror `Arrow`'s existing mutual
13
+ exclusivity (a real tube when `radius > 0`, a line honoring `linewidth`
14
+ otherwise). Deliberately a plain `Shape`, not `CollisionShape` — Coal has
15
+ no native "tube along a polyline" primitive.
16
+ - **`Axes` gains `arrows=False`** (render each axis as a colored `Arrow`
17
+ instead of a plain line) plus `radius`/`linewidth`, passed straight
18
+ through to each constituent `Arrow` when `arrows=True`.
19
+ - **`Arrow` gains `linewidth`**: when `radius == 0` (the existing
20
+ "shaft is a line" fallback), `linewidth` now actually controls that
21
+ line's width in pixels — previously uncontrolled, whatever the browser's
22
+ default happened to render.
23
+ - **`__version__`** is now exposed, matching the other packages in the
24
+ toolbox family (`spatialmath-python`, `robotics-toolbox-python`, `bdsim`,
25
+ `machinevision-toolbox-python`).
26
+
27
+ ### Changed
28
+
29
+ - **`Shape` and `CollisionShape` are now abstract base classes.** Neither
30
+ was meant to be instantiated directly — `Shape.to_dict` and
31
+ `CollisionShape._init_coal` are `@abstractmethod`; every concrete shape
32
+ already overrode both.
33
+ - **`T` (pose) moved from `Shape` up to `SceneNode`.** It was a thin
34
+ wrapper with nothing `Shape`-specific about it; moving it up means
35
+ `SceneGroup` (and any future `SceneNode` subclass) gets the same
36
+ convenient, `SE3`-accepting pose property that only `Shape` had before —
37
+ so a whole group of shapes can now be moved as one unit via `group.T`.
38
+ - **`repr()`/`str()` rewritten.** `repr()` previously showed only the
39
+ shape's `stype` string plus translation — not unambiguous (`Box`, a
40
+ deprecated alias of `Cuboid`, was indistinguishable from `Cuboid`) and
41
+ broke visually the moment more than one shape appeared together (e.g. in
42
+ a list, or a `SceneGroup`). Now single-line and constructor-style, e.g.
43
+ `Cylinder(radius=1.0, length=2.0, pose='t = 0, 0, 0; rpy/zyx = 0°, 0°, 0°')`.
44
+ - **Type hints modernized** across the scene-graph/shape classes —
45
+ `typing.Union`/`List`/`Dict`/`Tuple`/`Optional` replaced with
46
+ `X | Y`/`list`/`dict`/`tuple`, and filled in on several public
47
+ constructors/properties that had none at all.
48
+ - Docs: the Sphinx build's `docs` extra now also installs `collision`, so
49
+ the intro chapter's `closest_point()`/`iscollided()` example actually
50
+ runs instead of silently baking a traceback into the rendered page.
51
+ - Docs: intro chapter rewritten with mesh/collision worked examples, mouse
52
+ navigation controls, and scene-graph parenting; `sphinx-copybutton`,
53
+ `sphinx-codeautolink`, `sphinxcontrib-mermaid`, and a `make livehtml`
54
+ target wired up for faster doc iteration.
55
+
56
+ ### Fixed
57
+
58
+ - **`Shape.color`'s setter left an all-integer color input as
59
+ `numpy.int64`** (e.g. `color=[1, 0, 0, 1]`, a very natural way to write
60
+ "opaque red") rather than a plain `float` — `self.color[3]` (opacity)
61
+ being `int64` broke real (non-mocked) `json.dumps()` sends. Never caught
62
+ by the existing test suite since those tests are `FakeBrowser`-mocked.
63
+ - **`SceneNode._T`'s setter referenced a nonexistent `self.parent.wT`**
64
+ (should have been `self._scene_parent._wT`) — setting a node's pose
65
+ while it already had a `scene_parent` raised `AttributeError` instead of
66
+ composing the world transform. No test coverage existed for this path
67
+ before.
68
+ - `SceneNode.scene_parent`'s return type was annotated `Type["SceneNode"]`
69
+ (the class itself) rather than an instance; corrected to
70
+ `SceneNode | None`.
71
+
72
+ ## [1.2.0] - 2026-07-28
73
+
74
+ First release since v1.1.0 (2023) — mostly packaging and build-system work, plus a collision-backend swap.
75
+
76
+ ### New
77
+
78
+ - **Coal replaces PyBullet as the collision backend.** PyBullet wouldn't build with clang on macOS, so all collision checking now runs on [Coal](https://github.com/coal-library/coal) instead.
79
+ - **NumPy 2 support.**
80
+ - **Pyodide (WebAssembly) wheels**, so spatialgeometry can run in-browser (e.g. JupyterLite), alongside the usual platform wheels. Since there's no C++ compiler to target under Pyodide, that wheel ships a pure-Python fallback for the scene-graph transform math instead of the compiled extension — same API, just not compiled.
81
+ - **Prebuilt wheels for more platforms**: native Linux arm64 and macOS arm64 in addition to Linux/Windows x86_64 — no compiler needed on install for any of them.
82
+
83
+ ### Changed
84
+
85
+ - **Build system rewritten**: the C++ extension now builds with **nanobind + scikit-build-core** (previously a hand-rolled hatchling build hook). Faster builds, and the vendored Eigen copy was trimmed from Eigen's full 337-file tree down to the ~175 files this project actually uses.
86
+ - **Project layout moved to `src/`**, and the build backend moved from setuptools to hatchling and then to scikit-build-core over the course of this work.
87
+ - **Docs rewritten**: the README, intro chapter, and API reference no longer borrow content from the Robotics Toolbox docs — they now describe spatialgeometry on its own terms, with a Swift-based display example.
88
+ - **Dependency cleanup**: `roboticstoolbox` is no longer pulled into the `dev` extra, removing a version-pin collision some installs were hitting.
89
+
90
+ ### Fixed
91
+
92
+ - macOS build failures caused by PyBullet + clang (resolved by the Coal switch above).
93
+ - NumPy 2 compatibility issues.
94
+ - Windows wheel builds failing over an overly long temp-file path.
95
+ - Several wheel-tagging/build-hook bugs that could produce a stale or wrong-architecture compiled extension, or silently fall back to a non-compiled wheel.
96
+ - The PyPI publish pipeline itself: a workflow bug was letting the Pyodide/wasm32 wheel — which PyPI doesn't accept — get bundled into the same upload batch as the real wheels, aborting the upload partway through. Publishing now uses a single, unambiguous trigger (creating a GitHub Release) that always completes the full publish.
97
+
98
+ ### Known limitations
99
+
100
+ - Collision checking (Coal) isn't available via `pip` on Windows — one of Coal's own dependencies doesn't publish a Windows wheel. Everything else works there; `pip install spatialgeometry[collision]` will just have no effect on that platform for now.
101
+ **Workaround:** conda-forge publishes `coal-python` for `win-64` against its own assimp build, so `conda install -c conda-forge coal-python` followed by `pip install spatialgeometry trimesh` gets collision checking working on Windows today.
@@ -0,0 +1,39 @@
1
+ cmake_minimum_required(VERSION 3.15)
2
+ project(${SKBUILD_PROJECT_NAME} LANGUAGES C CXX)
3
+
4
+ set(CMAKE_CXX_STANDARD 17)
5
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
6
+
7
+ # Locate Python (interpreter needed to find nanobind cmake dir)
8
+ find_package(Python COMPONENTS Interpreter Development.Module REQUIRED)
9
+
10
+ # Locate nanobind via the installed Python package
11
+ execute_process(
12
+ COMMAND "${Python_EXECUTABLE}" -c "import nanobind; print(nanobind.cmake_dir())"
13
+ OUTPUT_VARIABLE NB_DIR
14
+ OUTPUT_STRIP_TRAILING_WHITESPACE
15
+ )
16
+ find_package(nanobind CONFIG REQUIRED HINTS "${NB_DIR}")
17
+
18
+ # ---------------------------------------------------------------------------
19
+ # scene — scene-graph transform propagation
20
+ # Eigen is vendored as header-only (Core module only -- see
21
+ # src/spatialgeometry/core/Eigen) in src/spatialgeometry/core/Eigen/
22
+ # scene_nb.cpp is the nanobind glue; math lives inline in that file.
23
+ #
24
+ # Skipped entirely under Pyodide/Emscripten: no compiler there worth
25
+ # targeting, and spatialgeometry.scene has a pure-Python fallback
26
+ # (scene.py) for exactly this case -- CPython's import machinery prefers
27
+ # a compiled extension module over a same-named .py file when both are
28
+ # present, so building neither is what makes the fallback take over.
29
+ # ---------------------------------------------------------------------------
30
+ if(NOT CMAKE_SYSTEM_NAME STREQUAL "Emscripten")
31
+ nanobind_add_module(scene
32
+ src/spatialgeometry/core/scene_nb.cpp
33
+ )
34
+ target_include_directories(scene PRIVATE
35
+ src/spatialgeometry/core
36
+ )
37
+
38
+ install(TARGETS scene DESTINATION spatialgeometry)
39
+ endif()
@@ -0,0 +1,45 @@
1
+ .FORCE:
2
+
3
+ BLUE=\033[0;34m
4
+ BLACK=\033[0;30m
5
+
6
+ help:
7
+ @echo "$(BLUE) make test - run all unit tests"
8
+ @echo " make coverage - run unit tests and coverage report"
9
+ @echo " make docs - build Sphinx documentation"
10
+ @echo " make docupdate - upload Sphinx documentation to GitHub pages"
11
+ @echo " make dist - build dist files"
12
+ @echo " make upload - upload to PyPI"
13
+ @echo " make clean - remove dist and docs build files"
14
+ @echo " make help - this message$(BLACK)"
15
+
16
+ test:
17
+ python -m pytest
18
+
19
+ coverage:
20
+ coverage run --omit=\*/test_\* -m unittest
21
+ coverage report
22
+
23
+ docs: .FORCE
24
+ (cd docs; make html)
25
+ open docs/build/html/index.html
26
+
27
+ dist: .FORCE
28
+ #$(MAKE) test
29
+ python -m build
30
+
31
+ pypi: .FORCE
32
+ validate-pyproject pyproject.toml
33
+ @if ! git diff --quiet || ! git diff --cached --quiet; then \
34
+ echo "Error: uncommitted changes present, aborting upload"; exit 1; \
35
+ fi
36
+ $(eval VERSION := $(shell grep '^version' pyproject.toml | sed 's/version = "\(.*\)"/\1/'))
37
+ python -m build
38
+ twine upload dist/*
39
+ git tag v$(VERSION)
40
+ git push origin v$(VERSION)
41
+
42
+ clean: .FORCE
43
+ (cd docs; make clean)
44
+ -rm -r *.egg-info
45
+ -rm -r dist