cgmath 2.0.0__tar.gz → 3.0.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 (217) hide show
  1. {cgmath-2.0.0 → cgmath-3.0.0}/PKG-INFO +2 -2
  2. {cgmath-2.0.0 → cgmath-3.0.0}/README.md +1 -1
  3. {cgmath-2.0.0 → cgmath-3.0.0}/__init__.py +1 -1
  4. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/_examples_hierarchy.py +5 -2
  5. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/_examples_render.py +2 -0
  6. cgmath-3.0.0/_tests/test_assets/test_data_module.curve.pkl +0 -0
  7. cgmath-3.0.0/_tests/test_assets/test_data_module.mesh.pkl +0 -0
  8. cgmath-3.0.0/_tests/test_assets/test_data_module.patch.pkl +0 -0
  9. cgmath-3.0.0/_tests/test_assets/test_data_module.saved_by_2_0_0.zip +0 -0
  10. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_base.py +13 -5
  11. cgmath-3.0.0/_tests/test_base_setattr.py +1144 -0
  12. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_clip.py +4657 -100
  13. cgmath-3.0.0/_tests/test_data_module.py +390 -0
  14. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_fbx_export.py +41 -7
  15. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_fbx_import.py +5 -0
  16. cgmath-3.0.0/_tests/test_fbx_labels.py +1284 -0
  17. cgmath-3.0.0/_tests/test_file_routes.py +1031 -0
  18. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_geometry.py +76 -20
  19. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_geometry_io.py +1 -1
  20. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_hierarchy.py +105 -121
  21. cgmath-3.0.0/_tests/test_import_order.py +116 -0
  22. cgmath-3.0.0/_tests/test_list_item_class.py +368 -0
  23. cgmath-3.0.0/_tests/test_morph_target.py +1106 -0
  24. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_namespaces.py +1 -1
  25. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_object_skin.py +468 -2
  26. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_raycast.py +51 -0
  27. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_render_serialization.py +1 -1
  28. cgmath-3.0.0/_tests/test_render_threads.py +1684 -0
  29. cgmath-3.0.0/_tests/test_resample.py +1112 -0
  30. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_roundtrip.py +3 -2
  31. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_scene.py +33 -0
  32. cgmath-3.0.0/_tests/test_short_names.py +1329 -0
  33. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_skin_weights.py +53 -3
  34. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_symmetry.py +28 -1
  35. {cgmath-2.0.0 → cgmath-3.0.0}/cgmath.egg-info/PKG-INFO +2 -2
  36. {cgmath-2.0.0 → cgmath-3.0.0}/cgmath.egg-info/SOURCES.txt +28 -2
  37. {cgmath-2.0.0 → cgmath-3.0.0}/constraints/procrustes.py +4 -1
  38. cgmath-2.0.0/geometry/_base.py → cgmath-3.0.0/data.py +730 -139
  39. {cgmath-2.0.0 → cgmath-3.0.0}/formats/fbx.py +65 -13
  40. {cgmath-2.0.0 → cgmath-3.0.0}/formats/glb.py +50 -4
  41. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/__init__.py +1 -1
  42. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/_saddle_surface.py +17 -5
  43. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/bspline.py +20 -1
  44. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/bspline_patch.py +23 -1
  45. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/deform/delta_mush.py +11 -1
  46. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/deform/ffd.py +4 -1
  47. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/deform/patch_relax.py +4 -1
  48. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/deform/skin_deform.py +7 -14
  49. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/deform/wrap.py +4 -1
  50. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/map.py +1 -1
  51. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/mesh.py +306 -60
  52. cgmath-3.0.0/geometry/morph_target.py +674 -0
  53. cgmath-3.0.0/geometry/resample.py +707 -0
  54. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/sdf.py +4 -1
  55. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/skin_weights.py +78 -25
  56. {cgmath-2.0.0 → cgmath-3.0.0}/hierarchy/__init__.py +7 -2
  57. {cgmath-2.0.0 → cgmath-3.0.0}/hierarchy/hierarchy.py +3323 -399
  58. {cgmath-2.0.0 → cgmath-3.0.0}/pyproject.toml +2 -2
  59. cgmath-3.0.0/render/_tiles.py +757 -0
  60. {cgmath-2.0.0 → cgmath-3.0.0}/render/raytracer.py +76 -11
  61. {cgmath-2.0.0 → cgmath-3.0.0}/render/scene.py +190 -19
  62. {cgmath-2.0.0 → cgmath-3.0.0}/transforms/_numba/_quaternion.py +132 -33
  63. cgmath-3.0.0/transforms/_numba/_vector.py +413 -0
  64. cgmath-3.0.0/transforms/_tests/test_slerp.py +909 -0
  65. {cgmath-2.0.0 → cgmath-3.0.0}/transforms/main.py +139 -5
  66. cgmath-2.0.0/_tests/test_base_setattr.py +0 -348
  67. cgmath-2.0.0/_tests/test_morph_target.py +0 -640
  68. cgmath-2.0.0/_tests/test_resample.py +0 -403
  69. cgmath-2.0.0/geometry/morph_target.py +0 -488
  70. cgmath-2.0.0/geometry/resample.py +0 -393
  71. cgmath-2.0.0/transforms/_numba/_vector.py +0 -263
  72. {cgmath-2.0.0 → cgmath-3.0.0}/LICENSE +0 -0
  73. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/__init__.py +0 -0
  74. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/_examples_curves.py +0 -0
  75. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/_examples_deform.py +0 -0
  76. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/_examples_geometry.py +0 -0
  77. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/_maya_rotate_order.py +0 -0
  78. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_assets/maya_euler.npz +0 -0
  79. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_assets/mikktspace_deformed_data.json +0 -0
  80. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_assets/mikktspace_test_data.json +0 -0
  81. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_assets/test_geometry.bspline_best_fit_params.npz +0 -0
  82. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_assets/test_geometry.bspline_maya_curves.json +0 -0
  83. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_assets/test_hierarchy.legacy_parent_node.json +0 -0
  84. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_assets/test_hierarchy.legacy_parent_node.npz +0 -0
  85. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_assets/test_hierarchy.legacy_parent_node.pkl +0 -0
  86. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_assets/test_hierarchy.legacy_parent_node_clip.json +0 -0
  87. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_assets/test_hierarchy.results.npz +0 -0
  88. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_assets/test_hierarchy.skeleton.json +0 -0
  89. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_assets/test_ngon.bitmap_buffer.npz +0 -0
  90. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_assets/test_ngon.source_mesh_data.json +0 -0
  91. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_assets/test_ngon.source_uv_list.json +0 -0
  92. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_assets/test_ngon.triangulate_mesh_data.npz +0 -0
  93. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_assets/test_ngon.triangulate_mesh_data_ngons_only.npz +0 -0
  94. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_assets/test_ngon.triangulate_mesh_data_preserve_order.npz +0 -0
  95. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_assets/test_ngon.triangulate_mesh_data_preserve_order_ngons_only.npz +0 -0
  96. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_assets/test_ngon.triangulate_uv_list.npz +0 -0
  97. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_assets/test_ngon.triangulate_uv_list_ngons_only.npz +0 -0
  98. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_assets/test_ngon.triangulate_uv_list_preserve_order.npz +0 -0
  99. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_assets/test_ngon.triangulate_uv_list_preserve_order_ngons_only.npz +0 -0
  100. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_assets/test_resample.dst_bs_data.npz +0 -0
  101. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_assets/test_resample.dst_mesh_data.npz +0 -0
  102. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_assets/test_resample.dst_skin_data.npz +0 -0
  103. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_assets/test_resample.dst_uv_data.npz +0 -0
  104. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_assets/test_resample.overlap.pkl +0 -0
  105. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_assets/test_resample.src_bs_data.npz +0 -0
  106. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_assets/test_resample.src_mesh_data.npz +0 -0
  107. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_assets/test_resample.src_skin_data.npz +0 -0
  108. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_assets/test_resample.src_uv_data.npz +0 -0
  109. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_assets/test_sdf.igloo.npz +0 -0
  110. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_bspline_kernels.py +0 -0
  111. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_constraints.py +0 -0
  112. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_curves_empty.py +0 -0
  113. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_curves_types.py +0 -0
  114. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_deform_files.py +0 -0
  115. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_deform_utils.py +0 -0
  116. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_delta_mush.py +0 -0
  117. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_euler_maya.py +0 -0
  118. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_fbx_lifetime.py +0 -0
  119. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_ffd.py +0 -0
  120. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_geometry_utils.py +0 -0
  121. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_glb.py +0 -0
  122. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_glb_materials.py +0 -0
  123. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_hierarchy_io.py +0 -0
  124. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_imports.py +0 -0
  125. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_map.py +0 -0
  126. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_mesh_usd.py +0 -0
  127. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_ngon.py +0 -0
  128. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_normals_quadmatch_utils.py +0 -0
  129. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_pack.py +0 -0
  130. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_parent_lookups.py +0 -0
  131. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_patch_relax.py +0 -0
  132. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_procrustes_rotation.py +0 -0
  133. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_quadrangulate.py +0 -0
  134. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_raycast_bvh.py +0 -0
  135. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_rbf.py +0 -0
  136. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_render_cache.py +0 -0
  137. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_render_fit_padding.py +0 -0
  138. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_render_roundtrip_extra.py +0 -0
  139. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_resample_bezier.py +0 -0
  140. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_robust_skinweights_transfer_bilinear.py +0 -0
  141. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_saddle_surface.py +0 -0
  142. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_scene_animate.py +0 -0
  143. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_sdf.py +0 -0
  144. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_skin_deform.py +0 -0
  145. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_skin_fbx.py +0 -0
  146. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_skin_glb.py +0 -0
  147. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_skin_kernels.py +0 -0
  148. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_triangulation.py +0 -0
  149. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_usd_prim.py +0 -0
  150. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_utils.py +0 -0
  151. {cgmath-2.0.0 → cgmath-3.0.0}/_tests/test_wrap.py +0 -0
  152. {cgmath-2.0.0 → cgmath-3.0.0}/cgmath.egg-info/dependency_links.txt +0 -0
  153. {cgmath-2.0.0 → cgmath-3.0.0}/cgmath.egg-info/requires.txt +0 -0
  154. {cgmath-2.0.0 → cgmath-3.0.0}/cgmath.egg-info/top_level.txt +0 -0
  155. {cgmath-2.0.0 → cgmath-3.0.0}/constraints/__init__.py +0 -0
  156. {cgmath-2.0.0 → cgmath-3.0.0}/formats/__init__.py +0 -0
  157. {cgmath-2.0.0 → cgmath-3.0.0}/formats/_fbx_io.py +0 -0
  158. {cgmath-2.0.0 → cgmath-3.0.0}/formats/usd/__init__.py +0 -0
  159. {cgmath-2.0.0 → cgmath-3.0.0}/formats/usd/prim.py +0 -0
  160. {cgmath-2.0.0 → cgmath-3.0.0}/formats/usd/stage.py +0 -0
  161. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/_cdt.py +0 -0
  162. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/deform/__init__.py +0 -0
  163. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/pack.py +0 -0
  164. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/robust_skinweights_transfer_bilinear.py +0 -0
  165. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/utils/__init__.py +0 -0
  166. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/utils/_numba/__init__.py +0 -0
  167. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/utils/_numba/_bilinear.py +0 -0
  168. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/utils/_numba/_blur.py +0 -0
  169. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/utils/_numba/_bspline.py +0 -0
  170. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/utils/_numba/_bvh.py +0 -0
  171. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/utils/_numba/_cdt.py +0 -0
  172. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/utils/_numba/_connectivity.py +0 -0
  173. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/utils/_numba/_delta_mush.py +0 -0
  174. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/utils/_numba/_ffd.py +0 -0
  175. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/utils/_numba/_main.py +0 -0
  176. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/utils/_numba/_normals.py +0 -0
  177. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/utils/_numba/_pack.py +0 -0
  178. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/utils/_numba/_patch_relax.py +0 -0
  179. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/utils/_numba/_rasterize.py +0 -0
  180. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/utils/_numba/_sdf.py +0 -0
  181. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/utils/_numba/_skin_deform.py +0 -0
  182. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/utils/_numba/_skin_weights.py +0 -0
  183. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/utils/_numba/_subdivide.py +0 -0
  184. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/utils/_numba/_subdivision.py +0 -0
  185. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/utils/_numba/_tangent_space.py +0 -0
  186. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/utils/_numba/_topology.py +0 -0
  187. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/utils/_numba/_wrap.py +0 -0
  188. {cgmath-2.0.0 → cgmath-3.0.0}/geometry/utils/main.py +0 -0
  189. {cgmath-2.0.0 → cgmath-3.0.0}/rbf/__init__.py +0 -0
  190. {cgmath-2.0.0 → cgmath-3.0.0}/rbf/_kernels.py +0 -0
  191. {cgmath-2.0.0 → cgmath-3.0.0}/rbf/_numba/__init__.py +0 -0
  192. {cgmath-2.0.0 → cgmath-3.0.0}/rbf/_numba/_kernels.py +0 -0
  193. {cgmath-2.0.0 → cgmath-3.0.0}/rbf/_numba/_lu.py +0 -0
  194. {cgmath-2.0.0 → cgmath-3.0.0}/render/__init__.py +0 -0
  195. {cgmath-2.0.0 → cgmath-3.0.0}/render/_numba/__init__.py +0 -0
  196. {cgmath-2.0.0 → cgmath-3.0.0}/render/_numba/_texture.py +0 -0
  197. {cgmath-2.0.0 → cgmath-3.0.0}/render/camera.py +0 -0
  198. {cgmath-2.0.0 → cgmath-3.0.0}/render/frame.py +0 -0
  199. {cgmath-2.0.0 → cgmath-3.0.0}/render/texture.py +0 -0
  200. {cgmath-2.0.0 → cgmath-3.0.0}/setup.cfg +0 -0
  201. {cgmath-2.0.0 → cgmath-3.0.0}/transforms/__init__.py +0 -0
  202. {cgmath-2.0.0 → cgmath-3.0.0}/transforms/_numba/__init__.py +0 -0
  203. {cgmath-2.0.0 → cgmath-3.0.0}/transforms/_numba/_axis.py +0 -0
  204. {cgmath-2.0.0 → cgmath-3.0.0}/transforms/_numba/_euler.py +0 -0
  205. {cgmath-2.0.0 → cgmath-3.0.0}/transforms/_numba/_matrix.py +0 -0
  206. {cgmath-2.0.0 → cgmath-3.0.0}/transforms/_tests/__init__.py +0 -0
  207. {cgmath-2.0.0 → cgmath-3.0.0}/transforms/_tests/test_axis.py +0 -0
  208. {cgmath-2.0.0 → cgmath-3.0.0}/transforms/_tests/test_broadcasting.py +0 -0
  209. {cgmath-2.0.0 → cgmath-3.0.0}/transforms/_tests/test_euler.py +0 -0
  210. {cgmath-2.0.0 → cgmath-3.0.0}/transforms/_tests/test_exports.py +0 -0
  211. {cgmath-2.0.0 → cgmath-3.0.0}/transforms/_tests/test_matrix.py +0 -0
  212. {cgmath-2.0.0 → cgmath-3.0.0}/transforms/_tests/test_quaternion.py +0 -0
  213. {cgmath-2.0.0 → cgmath-3.0.0}/transforms/_tests/test_rotation_conversions.py +0 -0
  214. {cgmath-2.0.0 → cgmath-3.0.0}/transforms/_tests/test_threads.py +0 -0
  215. {cgmath-2.0.0 → cgmath-3.0.0}/transforms/_tests/test_vector.py +0 -0
  216. {cgmath-2.0.0 → cgmath-3.0.0}/transforms/utils.py +0 -0
  217. {cgmath-2.0.0 → cgmath-3.0.0}/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cgmath
3
- Version: 2.0.0
3
+ Version: 3.0.0
4
4
  Summary: A DCC-agnostic CG math library: batched matrix, quaternion and euler math, mesh topology, deformers, resampling, skeletal hierarchies, SDFs, a software raytracer and asset IO, all numpy-native.
5
5
  Author-email: Eric Vignola <eric.vignola@gmail.com>
6
6
  License: ## License
@@ -147,6 +147,7 @@ name with its real signature and first docstring line.
147
147
 
148
148
  ```
149
149
  cgmath/
150
+ ├── data.py Data / DataList / Array / ImmutableArray + serialization
150
151
  ├── utils.py info() / docstring(), pretty_json, profile(), run_tests()
151
152
  │
152
153
  ├── hierarchy/ TransformData, TransformList, HierarchyData, ClipData
@@ -154,7 +155,6 @@ cgmath/
154
155
  │ └── hierarchy.py the four types, the fbx / glb readers, the batched clip evaluator
155
156
  │
156
157
  ├── geometry/ meshes, UVs, curves, fields, transfer
157
- │ ├── _base.py Data / DataList / ImmutableArray + serialization
158
158
  │ ├── mesh.py MeshData, MeshList, UVData, UVList, the loaders
159
159
  │ ├── map.py morph_target.py skin_weights.py MapData, MorphData, SkinData
160
160
  │ ├── bspline.py bspline_patch.py _saddle_surface.py _cdt.py
@@ -75,6 +75,7 @@ name with its real signature and first docstring line.
75
75
 
76
76
  ```
77
77
  cgmath/
78
+ ├── data.py Data / DataList / Array / ImmutableArray + serialization
78
79
  ├── utils.py info() / docstring(), pretty_json, profile(), run_tests()
79
80
  │
80
81
  ├── hierarchy/ TransformData, TransformList, HierarchyData, ClipData
@@ -82,7 +83,6 @@ cgmath/
82
83
  │ └── hierarchy.py the four types, the fbx / glb readers, the batched clip evaluator
83
84
  │
84
85
  ├── geometry/ meshes, UVs, curves, fields, transfer
85
- │ ├── _base.py Data / DataList / ImmutableArray + serialization
86
86
  │ ├── mesh.py MeshData, MeshList, UVData, UVList, the loaders
87
87
  │ ├── map.py morph_target.py skin_weights.py MapData, MorphData, SkinData
88
88
  │ ├── bspline.py bspline_patch.py _saddle_surface.py _cdt.py
@@ -4,4 +4,4 @@ The underlying matrix, quaternion, euler and vector math lives in
4
4
  :mod:`cgmath.transforms`.
5
5
  """
6
6
 
7
- __version__ = "2.0.0"
7
+ __version__ = "3.0.0"
@@ -8,7 +8,8 @@ every saved field away from its default where that is valid:
8
8
  - HierarchyData: a namespaced rig of joints, a locator, a group, a space
9
9
  transform and the three SDF primitives (TransformData subclasses that are
10
10
  not render classes), parented by uuid, one joint carrying a user attribute
11
- of every type and the group a user attribute a built-in hides.
11
+ of every type and the group a user attribute a built-in hides, its values
12
+ recorded in Unreal's axes and in meters.
12
13
  - TransformList: a selection of that rig, one node's parent left out of it.
13
14
  - ClipData: the rig over four frames, every framed channel moving, a frame
14
15
  other than the first loaded, its own timebase, and a node reparented after
@@ -144,7 +145,7 @@ def rig() -> HierarchyData:
144
145
  and an SDF sphere, box and cylinder used as colliders, parented by uuid.
145
146
  The hip carries a user attribute of every type; the group a user
146
147
  attribute named like a built-in, which the built-in hides but a save
147
- keeps.
148
+ keeps. Its values are recorded in Unreal's axes and in meters.
148
149
  """
149
150
  root = TransformData(
150
151
  "VLR:root",
@@ -223,6 +224,8 @@ def rig() -> HierarchyData:
223
224
  h = HierarchyData([root, pelvis, hip, aim, group, space, head, foot, thigh])
224
225
  head.set_parent("VLR:pelvis", world_space=False)
225
226
  thigh.set_parent("VLR:hip_L", world_space=False)
227
+ h.axis_system = "z up, -y front, right handed"
228
+ h.unit = 100.0
226
229
  return h
227
230
 
228
231
 
@@ -176,6 +176,8 @@ def build_scene(texture=None) -> Scene:
176
176
  angle_of_view = 40.0,
177
177
  fit_padding = 1.25,
178
178
  )
179
+ scene.axis_system = "x up, y front, right handed"
180
+ scene.unit = 2.54
179
181
 
180
182
  group = TransformData(name="set", uuid=_UUIDS["set"], translate=[0.0, -1.0, 0.0])
181
183
  props = TransformData(name="props", uuid=_UUIDS["props"], rotate=[0.0, 45.0, 0.0])
@@ -15,7 +15,7 @@ from enum import Enum
15
15
  from typing import Dict, List, Optional, Tuple, Union
16
16
 
17
17
  import numpy as np
18
- from cgmath.geometry._base import (
18
+ from cgmath.data import (
19
19
  _as_declared,
20
20
  _CLASSES,
21
21
  _is_numeric_or_boolean,
@@ -104,6 +104,9 @@ class TypedDataClass(Data):
104
104
  payload: Optional[dict] = None
105
105
  child: Optional[Data] = None
106
106
 
107
+ # a cache it holds beside its fields
108
+ _STATE = ("_cache",)
109
+
107
110
 
108
111
  class TypedDataList(DataList):
109
112
  """Test data list saving a setting of its own"""
@@ -987,9 +990,14 @@ class TestFiles(unittest.TestCase):
987
990
  std_json.dump(tree, f)
988
991
 
989
992
  # the class as a later version declares it, without first, in the
990
- # module in its place, where a pickle finds it
993
+ # module in its place, where a pickle finds it. It no longer sets
994
+ # first either: a list takes no attribute its class does not declare
995
+ def __init__(self, iterable=None):
996
+ DataList.__init__(self, iterable)
997
+ self.second = None
998
+
991
999
  listspace = {"__module__": _OrderedList.__module__, "__qualname__": _OrderedList.__qualname__}
992
- listspace.update(LIST_FIELDS=("second",))
1000
+ listspace.update(LIST_FIELDS=("second",), __init__=__init__)
993
1001
  later = type("_OrderedList", (_OrderedList,), listspace)
994
1002
  module = sys.modules[_OrderedList.__module__]
995
1003
  self.addCleanup(_register, _OrderedList)
@@ -1002,7 +1010,7 @@ class TestFiles(unittest.TestCase):
1002
1010
  self.assertIs(type(back), later)
1003
1011
  self.assertEqual(back[0].foo, 1)
1004
1012
  self.assertEqual(back.second.foo, 5)
1005
- self.assertIsNone(back.first) # as __init__ sets it
1013
+ self.assertNotIn("first", vars(back)) # left out
1006
1014
 
1007
1015
  def test_a_dict_or_list_that_holds_itself_is_refused(self):
1008
1016
  # a save walks dicts and lists for the objects they hold: one that
@@ -1252,7 +1260,7 @@ from concurrent.futures import ProcessPoolExecutor
1252
1260
  from dataclasses import dataclass, field
1253
1261
 
1254
1262
  import numpy as np
1255
- from cgmath.geometry._base import Data
1263
+ from cgmath.data import Data
1256
1264
 
1257
1265
 
1258
1266
  @dataclass(repr=False, eq=False)