pymomentum-cpu 0.1.82.post0__cp312-cp312-macosx_14_0_arm64.whl

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.

Potentially problematic release.


This version of pymomentum-cpu might be problematic. Click here for more details.

Files changed (512) hide show
  1. include/axel/BoundingBox.h +58 -0
  2. include/axel/Bvh.h +708 -0
  3. include/axel/BvhBase.h +75 -0
  4. include/axel/BvhCommon.h +43 -0
  5. include/axel/BvhEmbree.h +86 -0
  6. include/axel/BvhFactory.h +34 -0
  7. include/axel/Checks.h +21 -0
  8. include/axel/DualContouring.h +79 -0
  9. include/axel/KdTree.h +199 -0
  10. include/axel/Log.h +22 -0
  11. include/axel/MeshToSdf.h +123 -0
  12. include/axel/Profile.h +64 -0
  13. include/axel/Ray.h +45 -0
  14. include/axel/SignedDistanceField.h +248 -0
  15. include/axel/SimdKdTree.h +515 -0
  16. include/axel/TriBvh.h +157 -0
  17. include/axel/TriBvhEmbree.h +57 -0
  18. include/axel/common/Constants.h +27 -0
  19. include/axel/common/Types.h +21 -0
  20. include/axel/common/VectorizationTypes.h +58 -0
  21. include/axel/math/BoundingBoxUtils.h +54 -0
  22. include/axel/math/ContinuousCollisionDetection.h +48 -0
  23. include/axel/math/CoplanarityCheck.h +30 -0
  24. include/axel/math/EdgeEdgeDistance.h +31 -0
  25. include/axel/math/MeshHoleFilling.h +117 -0
  26. include/axel/math/PointTriangleProjection.h +34 -0
  27. include/axel/math/PointTriangleProjectionDefinitions.h +209 -0
  28. include/axel/math/RayTriangleIntersection.h +36 -0
  29. include/momentum/character/blend_shape.h +91 -0
  30. include/momentum/character/blend_shape_base.h +70 -0
  31. include/momentum/character/blend_shape_skinning.h +96 -0
  32. include/momentum/character/character.h +272 -0
  33. include/momentum/character/character_state.h +108 -0
  34. include/momentum/character/character_utility.h +128 -0
  35. include/momentum/character/collision_geometry.h +80 -0
  36. include/momentum/character/collision_geometry_state.h +130 -0
  37. include/momentum/character/fwd.h +262 -0
  38. include/momentum/character/inverse_parameter_transform.h +58 -0
  39. include/momentum/character/joint.h +82 -0
  40. include/momentum/character/joint_state.h +241 -0
  41. include/momentum/character/linear_skinning.h +139 -0
  42. include/momentum/character/locator.h +82 -0
  43. include/momentum/character/locator_state.h +43 -0
  44. include/momentum/character/marker.h +48 -0
  45. include/momentum/character/mesh_state.h +71 -0
  46. include/momentum/character/parameter_limits.h +144 -0
  47. include/momentum/character/parameter_transform.h +250 -0
  48. include/momentum/character/pose_shape.h +65 -0
  49. include/momentum/character/skeleton.h +85 -0
  50. include/momentum/character/skeleton_state.h +181 -0
  51. include/momentum/character/skeleton_utility.h +38 -0
  52. include/momentum/character/skin_weights.h +67 -0
  53. include/momentum/character/skinned_locator.h +80 -0
  54. include/momentum/character/types.h +202 -0
  55. include/momentum/character_sequence_solver/fwd.h +200 -0
  56. include/momentum/character_sequence_solver/model_parameters_sequence_error_function.h +65 -0
  57. include/momentum/character_sequence_solver/multipose_solver.h +65 -0
  58. include/momentum/character_sequence_solver/multipose_solver_function.h +82 -0
  59. include/momentum/character_sequence_solver/sequence_error_function.h +104 -0
  60. include/momentum/character_sequence_solver/sequence_solver.h +144 -0
  61. include/momentum/character_sequence_solver/sequence_solver_function.h +134 -0
  62. include/momentum/character_sequence_solver/state_sequence_error_function.h +109 -0
  63. include/momentum/character_sequence_solver/vertex_sequence_error_function.h +123 -0
  64. include/momentum/character_solver/aim_error_function.h +112 -0
  65. include/momentum/character_solver/collision_error_function.h +92 -0
  66. include/momentum/character_solver/collision_error_function_stateless.h +75 -0
  67. include/momentum/character_solver/constraint_error_function-inl.h +324 -0
  68. include/momentum/character_solver/constraint_error_function.h +248 -0
  69. include/momentum/character_solver/distance_error_function.h +77 -0
  70. include/momentum/character_solver/error_function_utils.h +60 -0
  71. include/momentum/character_solver/fixed_axis_error_function.h +139 -0
  72. include/momentum/character_solver/fwd.h +924 -0
  73. include/momentum/character_solver/gauss_newton_solver_qr.h +64 -0
  74. include/momentum/character_solver/limit_error_function.h +57 -0
  75. include/momentum/character_solver/model_parameters_error_function.h +64 -0
  76. include/momentum/character_solver/normal_error_function.h +73 -0
  77. include/momentum/character_solver/orientation_error_function.h +74 -0
  78. include/momentum/character_solver/plane_error_function.h +102 -0
  79. include/momentum/character_solver/point_triangle_vertex_error_function.h +141 -0
  80. include/momentum/character_solver/pose_prior_error_function.h +80 -0
  81. include/momentum/character_solver/position_error_function.h +75 -0
  82. include/momentum/character_solver/projection_error_function.h +93 -0
  83. include/momentum/character_solver/simd_collision_error_function.h +99 -0
  84. include/momentum/character_solver/simd_normal_error_function.h +157 -0
  85. include/momentum/character_solver/simd_plane_error_function.h +164 -0
  86. include/momentum/character_solver/simd_position_error_function.h +165 -0
  87. include/momentum/character_solver/skeleton_error_function.h +151 -0
  88. include/momentum/character_solver/skeleton_solver_function.h +94 -0
  89. include/momentum/character_solver/skinned_locator_error_function.h +166 -0
  90. include/momentum/character_solver/skinned_locator_triangle_error_function.h +146 -0
  91. include/momentum/character_solver/skinning_weight_iterator.h +80 -0
  92. include/momentum/character_solver/state_error_function.h +94 -0
  93. include/momentum/character_solver/transform_pose.h +80 -0
  94. include/momentum/character_solver/trust_region_qr.h +80 -0
  95. include/momentum/character_solver/vertex_error_function.h +155 -0
  96. include/momentum/character_solver/vertex_projection_error_function.h +117 -0
  97. include/momentum/character_solver/vertex_vertex_distance_error_function.h +147 -0
  98. include/momentum/common/aligned.h +155 -0
  99. include/momentum/common/checks.h +27 -0
  100. include/momentum/common/exception.h +70 -0
  101. include/momentum/common/filesystem.h +20 -0
  102. include/momentum/common/fwd.h +27 -0
  103. include/momentum/common/log.h +173 -0
  104. include/momentum/common/log_channel.h +17 -0
  105. include/momentum/common/memory.h +71 -0
  106. include/momentum/common/profile.h +79 -0
  107. include/momentum/common/progress_bar.h +37 -0
  108. include/momentum/common/string.h +52 -0
  109. include/momentum/diff_ik/ceres_utility.h +73 -0
  110. include/momentum/diff_ik/fully_differentiable_body_ik.h +58 -0
  111. include/momentum/diff_ik/fully_differentiable_distance_error_function.h +69 -0
  112. include/momentum/diff_ik/fully_differentiable_motion_error_function.h +46 -0
  113. include/momentum/diff_ik/fully_differentiable_orientation_error_function.h +114 -0
  114. include/momentum/diff_ik/fully_differentiable_pose_prior_error_function.h +76 -0
  115. include/momentum/diff_ik/fully_differentiable_position_error_function.h +138 -0
  116. include/momentum/diff_ik/fully_differentiable_projection_error_function.h +65 -0
  117. include/momentum/diff_ik/fully_differentiable_skeleton_error_function.h +160 -0
  118. include/momentum/diff_ik/fully_differentiable_state_error_function.h +54 -0
  119. include/momentum/diff_ik/fwd.h +385 -0
  120. include/momentum/diff_ik/union_error_function.h +67 -0
  121. include/momentum/gui/rerun/eigen_adapters.h +70 -0
  122. include/momentum/gui/rerun/logger.h +102 -0
  123. include/momentum/gui/rerun/logging_redirect.h +27 -0
  124. include/momentum/io/character_io.h +56 -0
  125. include/momentum/io/common/gsl_utils.h +50 -0
  126. include/momentum/io/common/stream_utils.h +65 -0
  127. include/momentum/io/fbx/fbx_io.h +109 -0
  128. include/momentum/io/fbx/fbx_memory_stream.h +66 -0
  129. include/momentum/io/fbx/openfbx_loader.h +49 -0
  130. include/momentum/io/fbx/polygon_data.h +60 -0
  131. include/momentum/io/gltf/gltf_builder.h +132 -0
  132. include/momentum/io/gltf/gltf_file_format.h +19 -0
  133. include/momentum/io/gltf/gltf_io.h +148 -0
  134. include/momentum/io/gltf/utils/accessor_utils.h +299 -0
  135. include/momentum/io/gltf/utils/coordinate_utils.h +60 -0
  136. include/momentum/io/gltf/utils/json_utils.h +102 -0
  137. include/momentum/io/legacy_json/legacy_json_io.h +70 -0
  138. include/momentum/io/marker/c3d_io.h +30 -0
  139. include/momentum/io/marker/conversions.h +57 -0
  140. include/momentum/io/marker/coordinate_system.h +30 -0
  141. include/momentum/io/marker/marker_io.h +56 -0
  142. include/momentum/io/marker/trc_io.h +27 -0
  143. include/momentum/io/motion/mmo_io.h +97 -0
  144. include/momentum/io/shape/blend_shape_io.h +70 -0
  145. include/momentum/io/shape/pose_shape_io.h +21 -0
  146. include/momentum/io/skeleton/locator_io.h +41 -0
  147. include/momentum/io/skeleton/mppca_io.h +26 -0
  148. include/momentum/io/skeleton/parameter_limits_io.h +25 -0
  149. include/momentum/io/skeleton/parameter_transform_io.h +41 -0
  150. include/momentum/io/skeleton/parameters_io.h +20 -0
  151. include/momentum/io/urdf/urdf_io.h +26 -0
  152. include/momentum/io/usd/usd_io.h +36 -0
  153. include/momentum/marker_tracking/app_utils.h +62 -0
  154. include/momentum/marker_tracking/marker_tracker.h +213 -0
  155. include/momentum/marker_tracking/process_markers.h +58 -0
  156. include/momentum/marker_tracking/tracker_utils.h +90 -0
  157. include/momentum/math/constants.h +82 -0
  158. include/momentum/math/covariance_matrix.h +84 -0
  159. include/momentum/math/fmt_eigen.h +23 -0
  160. include/momentum/math/fwd.h +132 -0
  161. include/momentum/math/generalized_loss.h +61 -0
  162. include/momentum/math/intersection.h +32 -0
  163. include/momentum/math/mesh.h +84 -0
  164. include/momentum/math/mppca.h +67 -0
  165. include/momentum/math/online_householder_qr.h +516 -0
  166. include/momentum/math/random-inl.h +404 -0
  167. include/momentum/math/random.h +310 -0
  168. include/momentum/math/simd_generalized_loss.h +40 -0
  169. include/momentum/math/transform.h +229 -0
  170. include/momentum/math/types.h +461 -0
  171. include/momentum/math/utility.h +251 -0
  172. include/momentum/rasterizer/camera.h +453 -0
  173. include/momentum/rasterizer/fwd.h +102 -0
  174. include/momentum/rasterizer/geometry.h +83 -0
  175. include/momentum/rasterizer/image.h +18 -0
  176. include/momentum/rasterizer/rasterizer.h +583 -0
  177. include/momentum/rasterizer/tensor.h +140 -0
  178. include/momentum/rasterizer/utility.h +268 -0
  179. include/momentum/simd/simd.h +221 -0
  180. include/momentum/solver/fwd.h +131 -0
  181. include/momentum/solver/gauss_newton_solver.h +136 -0
  182. include/momentum/solver/gradient_descent_solver.h +65 -0
  183. include/momentum/solver/solver.h +155 -0
  184. include/momentum/solver/solver_function.h +126 -0
  185. include/momentum/solver/subset_gauss_newton_solver.h +109 -0
  186. include/rerun/archetypes/annotation_context.hpp +157 -0
  187. include/rerun/archetypes/arrows2d.hpp +271 -0
  188. include/rerun/archetypes/arrows3d.hpp +257 -0
  189. include/rerun/archetypes/asset3d.hpp +262 -0
  190. include/rerun/archetypes/asset_video.hpp +275 -0
  191. include/rerun/archetypes/bar_chart.hpp +261 -0
  192. include/rerun/archetypes/boxes2d.hpp +293 -0
  193. include/rerun/archetypes/boxes3d.hpp +369 -0
  194. include/rerun/archetypes/capsules3d.hpp +333 -0
  195. include/rerun/archetypes/clear.hpp +180 -0
  196. include/rerun/archetypes/depth_image.hpp +425 -0
  197. include/rerun/archetypes/ellipsoids3d.hpp +384 -0
  198. include/rerun/archetypes/encoded_image.hpp +250 -0
  199. include/rerun/archetypes/geo_line_strings.hpp +166 -0
  200. include/rerun/archetypes/geo_points.hpp +177 -0
  201. include/rerun/archetypes/graph_edges.hpp +152 -0
  202. include/rerun/archetypes/graph_nodes.hpp +206 -0
  203. include/rerun/archetypes/image.hpp +434 -0
  204. include/rerun/archetypes/instance_poses3d.hpp +221 -0
  205. include/rerun/archetypes/line_strips2d.hpp +289 -0
  206. include/rerun/archetypes/line_strips3d.hpp +270 -0
  207. include/rerun/archetypes/mesh3d.hpp +387 -0
  208. include/rerun/archetypes/pinhole.hpp +385 -0
  209. include/rerun/archetypes/points2d.hpp +333 -0
  210. include/rerun/archetypes/points3d.hpp +369 -0
  211. include/rerun/archetypes/recording_properties.hpp +132 -0
  212. include/rerun/archetypes/scalar.hpp +170 -0
  213. include/rerun/archetypes/scalars.hpp +153 -0
  214. include/rerun/archetypes/segmentation_image.hpp +305 -0
  215. include/rerun/archetypes/series_line.hpp +274 -0
  216. include/rerun/archetypes/series_lines.hpp +271 -0
  217. include/rerun/archetypes/series_point.hpp +265 -0
  218. include/rerun/archetypes/series_points.hpp +251 -0
  219. include/rerun/archetypes/tensor.hpp +213 -0
  220. include/rerun/archetypes/text_document.hpp +200 -0
  221. include/rerun/archetypes/text_log.hpp +211 -0
  222. include/rerun/archetypes/transform3d.hpp +925 -0
  223. include/rerun/archetypes/video_frame_reference.hpp +295 -0
  224. include/rerun/archetypes/view_coordinates.hpp +393 -0
  225. include/rerun/archetypes.hpp +43 -0
  226. include/rerun/arrow_utils.hpp +32 -0
  227. include/rerun/as_components.hpp +90 -0
  228. include/rerun/blueprint/archetypes/background.hpp +113 -0
  229. include/rerun/blueprint/archetypes/container_blueprint.hpp +259 -0
  230. include/rerun/blueprint/archetypes/dataframe_query.hpp +178 -0
  231. include/rerun/blueprint/archetypes/entity_behavior.hpp +130 -0
  232. include/rerun/blueprint/archetypes/force_center.hpp +115 -0
  233. include/rerun/blueprint/archetypes/force_collision_radius.hpp +141 -0
  234. include/rerun/blueprint/archetypes/force_link.hpp +136 -0
  235. include/rerun/blueprint/archetypes/force_many_body.hpp +124 -0
  236. include/rerun/blueprint/archetypes/force_position.hpp +132 -0
  237. include/rerun/blueprint/archetypes/line_grid3d.hpp +178 -0
  238. include/rerun/blueprint/archetypes/map_background.hpp +104 -0
  239. include/rerun/blueprint/archetypes/map_zoom.hpp +103 -0
  240. include/rerun/blueprint/archetypes/near_clip_plane.hpp +109 -0
  241. include/rerun/blueprint/archetypes/panel_blueprint.hpp +95 -0
  242. include/rerun/blueprint/archetypes/plot_legend.hpp +118 -0
  243. include/rerun/blueprint/archetypes/scalar_axis.hpp +116 -0
  244. include/rerun/blueprint/archetypes/tensor_scalar_mapping.hpp +146 -0
  245. include/rerun/blueprint/archetypes/tensor_slice_selection.hpp +167 -0
  246. include/rerun/blueprint/archetypes/tensor_view_fit.hpp +95 -0
  247. include/rerun/blueprint/archetypes/view_blueprint.hpp +170 -0
  248. include/rerun/blueprint/archetypes/view_contents.hpp +142 -0
  249. include/rerun/blueprint/archetypes/viewport_blueprint.hpp +200 -0
  250. include/rerun/blueprint/archetypes/visible_time_ranges.hpp +116 -0
  251. include/rerun/blueprint/archetypes/visual_bounds2d.hpp +109 -0
  252. include/rerun/blueprint/archetypes/visualizer_overrides.hpp +113 -0
  253. include/rerun/blueprint/archetypes.hpp +29 -0
  254. include/rerun/blueprint/components/active_tab.hpp +82 -0
  255. include/rerun/blueprint/components/apply_latest_at.hpp +79 -0
  256. include/rerun/blueprint/components/auto_layout.hpp +77 -0
  257. include/rerun/blueprint/components/auto_views.hpp +77 -0
  258. include/rerun/blueprint/components/background_kind.hpp +66 -0
  259. include/rerun/blueprint/components/column_share.hpp +78 -0
  260. include/rerun/blueprint/components/component_column_selector.hpp +81 -0
  261. include/rerun/blueprint/components/container_kind.hpp +65 -0
  262. include/rerun/blueprint/components/corner2d.hpp +64 -0
  263. include/rerun/blueprint/components/enabled.hpp +77 -0
  264. include/rerun/blueprint/components/filter_by_range.hpp +74 -0
  265. include/rerun/blueprint/components/filter_is_not_null.hpp +77 -0
  266. include/rerun/blueprint/components/force_distance.hpp +82 -0
  267. include/rerun/blueprint/components/force_iterations.hpp +82 -0
  268. include/rerun/blueprint/components/force_strength.hpp +82 -0
  269. include/rerun/blueprint/components/grid_columns.hpp +78 -0
  270. include/rerun/blueprint/components/grid_spacing.hpp +78 -0
  271. include/rerun/blueprint/components/included_content.hpp +86 -0
  272. include/rerun/blueprint/components/lock_range_during_zoom.hpp +82 -0
  273. include/rerun/blueprint/components/map_provider.hpp +64 -0
  274. include/rerun/blueprint/components/near_clip_plane.hpp +82 -0
  275. include/rerun/blueprint/components/panel_state.hpp +61 -0
  276. include/rerun/blueprint/components/query_expression.hpp +89 -0
  277. include/rerun/blueprint/components/root_container.hpp +77 -0
  278. include/rerun/blueprint/components/row_share.hpp +78 -0
  279. include/rerun/blueprint/components/selected_columns.hpp +76 -0
  280. include/rerun/blueprint/components/tensor_dimension_index_slider.hpp +90 -0
  281. include/rerun/blueprint/components/timeline_name.hpp +76 -0
  282. include/rerun/blueprint/components/view_class.hpp +76 -0
  283. include/rerun/blueprint/components/view_fit.hpp +61 -0
  284. include/rerun/blueprint/components/view_maximized.hpp +79 -0
  285. include/rerun/blueprint/components/view_origin.hpp +81 -0
  286. include/rerun/blueprint/components/viewer_recommendation_hash.hpp +82 -0
  287. include/rerun/blueprint/components/visible_time_range.hpp +77 -0
  288. include/rerun/blueprint/components/visual_bounds2d.hpp +74 -0
  289. include/rerun/blueprint/components/visualizer_override.hpp +86 -0
  290. include/rerun/blueprint/components/zoom_level.hpp +78 -0
  291. include/rerun/blueprint/components.hpp +41 -0
  292. include/rerun/blueprint/datatypes/component_column_selector.hpp +61 -0
  293. include/rerun/blueprint/datatypes/filter_by_range.hpp +59 -0
  294. include/rerun/blueprint/datatypes/filter_is_not_null.hpp +61 -0
  295. include/rerun/blueprint/datatypes/selected_columns.hpp +62 -0
  296. include/rerun/blueprint/datatypes/tensor_dimension_index_slider.hpp +63 -0
  297. include/rerun/blueprint/datatypes.hpp +9 -0
  298. include/rerun/c/arrow_c_data_interface.h +111 -0
  299. include/rerun/c/compiler_utils.h +10 -0
  300. include/rerun/c/rerun.h +627 -0
  301. include/rerun/c/sdk_info.h +28 -0
  302. include/rerun/collection.hpp +496 -0
  303. include/rerun/collection_adapter.hpp +43 -0
  304. include/rerun/collection_adapter_builtins.hpp +138 -0
  305. include/rerun/compiler_utils.hpp +61 -0
  306. include/rerun/component_batch.hpp +163 -0
  307. include/rerun/component_column.hpp +111 -0
  308. include/rerun/component_descriptor.hpp +142 -0
  309. include/rerun/component_type.hpp +35 -0
  310. include/rerun/components/aggregation_policy.hpp +76 -0
  311. include/rerun/components/albedo_factor.hpp +74 -0
  312. include/rerun/components/annotation_context.hpp +102 -0
  313. include/rerun/components/axis_length.hpp +74 -0
  314. include/rerun/components/blob.hpp +73 -0
  315. include/rerun/components/class_id.hpp +71 -0
  316. include/rerun/components/clear_is_recursive.hpp +75 -0
  317. include/rerun/components/color.hpp +99 -0
  318. include/rerun/components/colormap.hpp +99 -0
  319. include/rerun/components/depth_meter.hpp +84 -0
  320. include/rerun/components/draw_order.hpp +79 -0
  321. include/rerun/components/entity_path.hpp +83 -0
  322. include/rerun/components/fill_mode.hpp +72 -0
  323. include/rerun/components/fill_ratio.hpp +79 -0
  324. include/rerun/components/gamma_correction.hpp +80 -0
  325. include/rerun/components/geo_line_string.hpp +63 -0
  326. include/rerun/components/graph_edge.hpp +75 -0
  327. include/rerun/components/graph_node.hpp +79 -0
  328. include/rerun/components/graph_type.hpp +57 -0
  329. include/rerun/components/half_size2d.hpp +91 -0
  330. include/rerun/components/half_size3d.hpp +95 -0
  331. include/rerun/components/image_buffer.hpp +86 -0
  332. include/rerun/components/image_format.hpp +84 -0
  333. include/rerun/components/image_plane_distance.hpp +77 -0
  334. include/rerun/components/interactive.hpp +76 -0
  335. include/rerun/components/keypoint_id.hpp +74 -0
  336. include/rerun/components/lat_lon.hpp +89 -0
  337. include/rerun/components/length.hpp +77 -0
  338. include/rerun/components/line_strip2d.hpp +73 -0
  339. include/rerun/components/line_strip3d.hpp +73 -0
  340. include/rerun/components/magnification_filter.hpp +63 -0
  341. include/rerun/components/marker_shape.hpp +82 -0
  342. include/rerun/components/marker_size.hpp +74 -0
  343. include/rerun/components/media_type.hpp +157 -0
  344. include/rerun/components/name.hpp +83 -0
  345. include/rerun/components/opacity.hpp +77 -0
  346. include/rerun/components/pinhole_projection.hpp +94 -0
  347. include/rerun/components/plane3d.hpp +75 -0
  348. include/rerun/components/pose_rotation_axis_angle.hpp +73 -0
  349. include/rerun/components/pose_rotation_quat.hpp +71 -0
  350. include/rerun/components/pose_scale3d.hpp +102 -0
  351. include/rerun/components/pose_transform_mat3x3.hpp +87 -0
  352. include/rerun/components/pose_translation3d.hpp +96 -0
  353. include/rerun/components/position2d.hpp +86 -0
  354. include/rerun/components/position3d.hpp +90 -0
  355. include/rerun/components/radius.hpp +98 -0
  356. include/rerun/components/range1d.hpp +75 -0
  357. include/rerun/components/resolution.hpp +88 -0
  358. include/rerun/components/rotation_axis_angle.hpp +72 -0
  359. include/rerun/components/rotation_quat.hpp +71 -0
  360. include/rerun/components/scalar.hpp +76 -0
  361. include/rerun/components/scale3d.hpp +102 -0
  362. include/rerun/components/series_visible.hpp +76 -0
  363. include/rerun/components/show_labels.hpp +79 -0
  364. include/rerun/components/stroke_width.hpp +74 -0
  365. include/rerun/components/tensor_data.hpp +94 -0
  366. include/rerun/components/tensor_dimension_index_selection.hpp +77 -0
  367. include/rerun/components/tensor_height_dimension.hpp +71 -0
  368. include/rerun/components/tensor_width_dimension.hpp +71 -0
  369. include/rerun/components/texcoord2d.hpp +101 -0
  370. include/rerun/components/text.hpp +83 -0
  371. include/rerun/components/text_log_level.hpp +110 -0
  372. include/rerun/components/timestamp.hpp +76 -0
  373. include/rerun/components/transform_mat3x3.hpp +92 -0
  374. include/rerun/components/transform_relation.hpp +66 -0
  375. include/rerun/components/translation3d.hpp +96 -0
  376. include/rerun/components/triangle_indices.hpp +85 -0
  377. include/rerun/components/value_range.hpp +78 -0
  378. include/rerun/components/vector2d.hpp +92 -0
  379. include/rerun/components/vector3d.hpp +96 -0
  380. include/rerun/components/video_timestamp.hpp +120 -0
  381. include/rerun/components/view_coordinates.hpp +346 -0
  382. include/rerun/components/visible.hpp +74 -0
  383. include/rerun/components.hpp +77 -0
  384. include/rerun/config.hpp +52 -0
  385. include/rerun/datatypes/angle.hpp +76 -0
  386. include/rerun/datatypes/annotation_info.hpp +76 -0
  387. include/rerun/datatypes/blob.hpp +67 -0
  388. include/rerun/datatypes/bool.hpp +57 -0
  389. include/rerun/datatypes/channel_datatype.hpp +87 -0
  390. include/rerun/datatypes/class_description.hpp +92 -0
  391. include/rerun/datatypes/class_description_map_elem.hpp +69 -0
  392. include/rerun/datatypes/class_id.hpp +62 -0
  393. include/rerun/datatypes/color_model.hpp +68 -0
  394. include/rerun/datatypes/dvec2d.hpp +76 -0
  395. include/rerun/datatypes/entity_path.hpp +60 -0
  396. include/rerun/datatypes/float32.hpp +62 -0
  397. include/rerun/datatypes/float64.hpp +62 -0
  398. include/rerun/datatypes/image_format.hpp +107 -0
  399. include/rerun/datatypes/keypoint_id.hpp +63 -0
  400. include/rerun/datatypes/keypoint_pair.hpp +65 -0
  401. include/rerun/datatypes/mat3x3.hpp +105 -0
  402. include/rerun/datatypes/mat4x4.hpp +119 -0
  403. include/rerun/datatypes/pixel_format.hpp +142 -0
  404. include/rerun/datatypes/plane3d.hpp +60 -0
  405. include/rerun/datatypes/quaternion.hpp +110 -0
  406. include/rerun/datatypes/range1d.hpp +59 -0
  407. include/rerun/datatypes/range2d.hpp +55 -0
  408. include/rerun/datatypes/rgba32.hpp +94 -0
  409. include/rerun/datatypes/rotation_axis_angle.hpp +67 -0
  410. include/rerun/datatypes/tensor_buffer.hpp +529 -0
  411. include/rerun/datatypes/tensor_data.hpp +100 -0
  412. include/rerun/datatypes/tensor_dimension_index_selection.hpp +58 -0
  413. include/rerun/datatypes/tensor_dimension_selection.hpp +56 -0
  414. include/rerun/datatypes/time_int.hpp +62 -0
  415. include/rerun/datatypes/time_range.hpp +55 -0
  416. include/rerun/datatypes/time_range_boundary.hpp +175 -0
  417. include/rerun/datatypes/uint16.hpp +62 -0
  418. include/rerun/datatypes/uint32.hpp +62 -0
  419. include/rerun/datatypes/uint64.hpp +62 -0
  420. include/rerun/datatypes/utf8.hpp +76 -0
  421. include/rerun/datatypes/utf8pair.hpp +62 -0
  422. include/rerun/datatypes/uuid.hpp +60 -0
  423. include/rerun/datatypes/uvec2d.hpp +76 -0
  424. include/rerun/datatypes/uvec3d.hpp +80 -0
  425. include/rerun/datatypes/uvec4d.hpp +59 -0
  426. include/rerun/datatypes/vec2d.hpp +76 -0
  427. include/rerun/datatypes/vec3d.hpp +80 -0
  428. include/rerun/datatypes/vec4d.hpp +84 -0
  429. include/rerun/datatypes/video_timestamp.hpp +67 -0
  430. include/rerun/datatypes/view_coordinates.hpp +87 -0
  431. include/rerun/datatypes/visible_time_range.hpp +57 -0
  432. include/rerun/datatypes.hpp +51 -0
  433. include/rerun/demo_utils.hpp +75 -0
  434. include/rerun/entity_path.hpp +20 -0
  435. include/rerun/error.hpp +180 -0
  436. include/rerun/half.hpp +10 -0
  437. include/rerun/image_utils.hpp +187 -0
  438. include/rerun/indicator_component.hpp +59 -0
  439. include/rerun/loggable.hpp +54 -0
  440. include/rerun/recording_stream.hpp +960 -0
  441. include/rerun/rerun_sdk_export.hpp +25 -0
  442. include/rerun/result.hpp +86 -0
  443. include/rerun/rotation3d.hpp +33 -0
  444. include/rerun/sdk_info.hpp +20 -0
  445. include/rerun/spawn.hpp +21 -0
  446. include/rerun/spawn_options.hpp +57 -0
  447. include/rerun/string_utils.hpp +16 -0
  448. include/rerun/third_party/cxxopts.hpp +2198 -0
  449. include/rerun/time_column.hpp +288 -0
  450. include/rerun/timeline.hpp +38 -0
  451. include/rerun/type_traits.hpp +40 -0
  452. include/rerun.hpp +86 -0
  453. lib/cmake/axel/axel-config.cmake +45 -0
  454. lib/cmake/axel/axelTargets-release.cmake +19 -0
  455. lib/cmake/axel/axelTargets.cmake +108 -0
  456. lib/cmake/momentum/Findre2.cmake +52 -0
  457. lib/cmake/momentum/momentum-config.cmake +67 -0
  458. lib/cmake/momentum/momentumTargets-release.cmake +259 -0
  459. lib/cmake/momentum/momentumTargets.cmake +377 -0
  460. lib/cmake/rerun_sdk/rerun_sdkConfig.cmake +70 -0
  461. lib/cmake/rerun_sdk/rerun_sdkConfigVersion.cmake +83 -0
  462. lib/cmake/rerun_sdk/rerun_sdkTargets-release.cmake +19 -0
  463. lib/cmake/rerun_sdk/rerun_sdkTargets.cmake +108 -0
  464. lib/libarrow.a +0 -0
  465. lib/libarrow_bundled_dependencies.a +0 -0
  466. lib/libaxel.a +0 -0
  467. lib/libmomentum_app_utils.a +0 -0
  468. lib/libmomentum_character.a +0 -0
  469. lib/libmomentum_character_sequence_solver.a +0 -0
  470. lib/libmomentum_character_solver.a +0 -0
  471. lib/libmomentum_common.a +0 -0
  472. lib/libmomentum_diff_ik.a +0 -0
  473. lib/libmomentum_io.a +0 -0
  474. lib/libmomentum_io_common.a +0 -0
  475. lib/libmomentum_io_fbx.a +0 -0
  476. lib/libmomentum_io_gltf.a +0 -0
  477. lib/libmomentum_io_legacy_json.a +0 -0
  478. lib/libmomentum_io_marker.a +0 -0
  479. lib/libmomentum_io_motion.a +0 -0
  480. lib/libmomentum_io_shape.a +0 -0
  481. lib/libmomentum_io_skeleton.a +0 -0
  482. lib/libmomentum_io_urdf.a +0 -0
  483. lib/libmomentum_marker_tracker.a +0 -0
  484. lib/libmomentum_math.a +0 -0
  485. lib/libmomentum_online_qr.a +0 -0
  486. lib/libmomentum_process_markers.a +0 -0
  487. lib/libmomentum_rerun.a +0 -0
  488. lib/libmomentum_simd_constraints.a +0 -0
  489. lib/libmomentum_simd_generalized_loss.a +0 -0
  490. lib/libmomentum_skeleton.a +0 -0
  491. lib/libmomentum_solver.a +0 -0
  492. lib/librerun_c__macos_arm64.a +0 -0
  493. lib/librerun_sdk.a +0 -0
  494. pymomentum/axel.cpython-312-darwin.so +0 -0
  495. pymomentum/backend/__init__.py +16 -0
  496. pymomentum/backend/skel_state_backend.py +614 -0
  497. pymomentum/backend/trs_backend.py +871 -0
  498. pymomentum/backend/utils.py +224 -0
  499. pymomentum/geometry.cpython-312-darwin.so +0 -0
  500. pymomentum/marker_tracking.cpython-312-darwin.so +0 -0
  501. pymomentum/quaternion.py +740 -0
  502. pymomentum/skel_state.py +514 -0
  503. pymomentum/solver.cpython-312-darwin.so +0 -0
  504. pymomentum/solver2.cpython-312-darwin.so +0 -0
  505. pymomentum/torch/character.py +856 -0
  506. pymomentum/torch/parameter_limits.py +494 -0
  507. pymomentum/torch/utility.py +20 -0
  508. pymomentum/trs.py +535 -0
  509. pymomentum_cpu-0.1.82.post0.dist-info/METADATA +121 -0
  510. pymomentum_cpu-0.1.82.post0.dist-info/RECORD +512 -0
  511. pymomentum_cpu-0.1.82.post0.dist-info/WHEEL +5 -0
  512. pymomentum_cpu-0.1.82.post0.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,404 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ #pragma once
9
+
10
+ #include <momentum/math/random.h>
11
+ #include <momentum/math/types.h>
12
+
13
+ namespace momentum {
14
+
15
+ namespace detail {
16
+
17
+ template <typename RealType>
18
+ using UniformRealDist = std::uniform_real_distribution<RealType>;
19
+
20
+ template <typename IntType>
21
+ using UniformIntDist = std::uniform_int_distribution<IntType>;
22
+
23
+ template <typename RealType>
24
+ using NormalRealDist = std::normal_distribution<RealType>;
25
+
26
+ /// Check whether \c T can be used for std::uniform_int_distribution<T>
27
+ /// Reference:
28
+ /// https://en.cppreference.com/w/cpp/numeric/random/uniform_int_distribution
29
+ template <typename T>
30
+ struct is_compatible_to_uniform_int_distribution
31
+ : std::disjunction<
32
+ std::is_same<std::remove_cv_t<T>, short>,
33
+ std::is_same<std::remove_cv_t<T>, int>,
34
+ std::is_same<std::remove_cv_t<T>, long>,
35
+ std::is_same<std::remove_cv_t<T>, long long>,
36
+ std::is_same<std::remove_cv_t<T>, unsigned short>,
37
+ std::is_same<std::remove_cv_t<T>, unsigned int>,
38
+ std::is_same<std::remove_cv_t<T>, unsigned long>,
39
+ std::is_same<std::remove_cv_t<T>, unsigned long long>> {};
40
+
41
+ template <typename T>
42
+ inline constexpr bool is_compatible_to_uniform_int_distribution_v =
43
+ is_compatible_to_uniform_int_distribution<T>::value;
44
+
45
+ template <template <typename...> class C, typename... Ts>
46
+ std::true_type is_base_of_template_impl(const C<Ts...>*);
47
+
48
+ template <template <typename...> class C>
49
+ std::false_type is_base_of_template_impl(...);
50
+
51
+ template <template <typename...> class C, typename T>
52
+ using is_base_of_template = decltype(is_base_of_template_impl<C>(std::declval<T*>()));
53
+
54
+ template <typename T>
55
+ using is_base_of_matrix = is_base_of_template<Eigen::MatrixBase, T>;
56
+
57
+ template <typename T>
58
+ inline constexpr bool is_base_of_matrix_v = is_base_of_matrix<T>::value;
59
+
60
+ template <typename T, typename Generator>
61
+ [[nodiscard]] T generateScalarUniform(const T& min, const T& max, Generator& generator) {
62
+ // Real types
63
+ if constexpr (std::is_floating_point_v<T>) {
64
+ UniformRealDist<T> dist(min, max);
65
+ return dist(generator);
66
+ }
67
+ // Integer types
68
+ else if constexpr (is_compatible_to_uniform_int_distribution_v<T>) {
69
+ UniformIntDist<T> dist(min, max);
70
+ return dist(generator);
71
+ }
72
+ }
73
+
74
+ // Generates a random vector/matrix element-wisely
75
+ template <typename Derived, typename Generator>
76
+ [[nodiscard]] typename Derived::PlainObject generateMatrixUniform(
77
+ const Eigen::MatrixBase<Derived>& min,
78
+ const Eigen::MatrixBase<Derived>& max,
79
+ Generator& generator) {
80
+ // Dynamic matrix
81
+ if constexpr (!Derived::IsVectorAtCompileTime && Derived::SizeAtCompileTime == Eigen::Dynamic) {
82
+ return Derived::PlainObject::NullaryExpr(
83
+ min.rows(), min.cols(), [&](const Eigen::Index i, const Eigen::Index j) {
84
+ return generateScalarUniform<typename Derived::Scalar>(min(i, j), max(i, j), generator);
85
+ });
86
+ }
87
+ // Fixed matrix
88
+ else if constexpr (
89
+ !Derived::IsVectorAtCompileTime && Derived::SizeAtCompileTime != Eigen::Dynamic) {
90
+ return Derived::PlainObject::NullaryExpr([&](const Eigen::Index i, const Eigen::Index j) {
91
+ return generateScalarUniform<typename Derived::Scalar>(min(i, j), max(i, j), generator);
92
+ });
93
+ }
94
+ // Dynamic vector
95
+ else if constexpr (
96
+ Derived::IsVectorAtCompileTime && Derived::SizeAtCompileTime == Eigen::Dynamic) {
97
+ return Derived::PlainObject::NullaryExpr(min.size(), [&](const Eigen::Index i) {
98
+ return generateScalarUniform<typename Derived::Scalar>(min[i], max[i], generator);
99
+ });
100
+ }
101
+ // Fixed vector
102
+ else if constexpr (
103
+ Derived::IsVectorAtCompileTime && Derived::SizeAtCompileTime != Eigen::Dynamic) {
104
+ return Derived::PlainObject::NullaryExpr([&](const Eigen::Index i) {
105
+ return generateScalarUniform<typename Derived::Scalar>(min[i], max[i], generator);
106
+ });
107
+ }
108
+ };
109
+
110
+ template <typename T, typename Generator>
111
+ [[nodiscard]] T generateUniform(const T& min, const T& max, Generator& generator) {
112
+ // Scalar types
113
+ if constexpr (std::is_arithmetic_v<T>) {
114
+ return generateScalarUniform(min, max, generator);
115
+ }
116
+ // Matrix types
117
+ else if constexpr (is_base_of_matrix_v<T>) {
118
+ return generateMatrixUniform(min, max, generator);
119
+ }
120
+ }
121
+
122
+ template <typename T, typename Generator>
123
+ [[nodiscard]] T generateScalarNormal(const T& mean, const T& sigma, Generator& generator) {
124
+ // Real types
125
+ if constexpr (std::is_floating_point_v<T>) {
126
+ NormalRealDist<T> dist(mean, sigma);
127
+ return dist(generator);
128
+ }
129
+ // Integer types
130
+ else if constexpr (is_compatible_to_uniform_int_distribution_v<T>) {
131
+ const float realNumber = NormalRealDist<float>(mean, sigma)(generator);
132
+ return std::round(realNumber);
133
+ }
134
+ }
135
+
136
+ // Generates a random vector/matrix element-wisely
137
+ template <typename Derived, typename Generator>
138
+ [[nodiscard]] typename Derived::PlainObject generateMatrixNormal(
139
+ const Eigen::MatrixBase<Derived>& mean,
140
+ const Eigen::MatrixBase<Derived>& sigma,
141
+ Generator& generator) {
142
+ // Dynamic matrix
143
+ if constexpr (!Derived::IsVectorAtCompileTime && Derived::SizeAtCompileTime == Eigen::Dynamic) {
144
+ return Derived::PlainObject::NullaryExpr(
145
+ mean.rows(), mean.cols(), [&](const Eigen::Index i, const Eigen::Index j) {
146
+ return generateScalarNormal<typename Derived::Scalar>(mean(i, j), sigma(i, j), generator);
147
+ });
148
+ }
149
+ // Fixed matrix
150
+ else if constexpr (
151
+ !Derived::IsVectorAtCompileTime && Derived::SizeAtCompileTime != Eigen::Dynamic) {
152
+ return Derived::PlainObject::NullaryExpr([&](const Eigen::Index i, const Eigen::Index j) {
153
+ return generateScalarNormal<typename Derived::Scalar>(mean(i, j), sigma(i, j), generator);
154
+ });
155
+ }
156
+ // Dynamic vector
157
+ else if constexpr (
158
+ Derived::IsVectorAtCompileTime && Derived::SizeAtCompileTime == Eigen::Dynamic) {
159
+ return Derived::PlainObject::NullaryExpr(mean.size(), [&](const Eigen::Index i) {
160
+ return generateScalarNormal<typename Derived::Scalar>(mean[i], sigma[i], generator);
161
+ });
162
+ }
163
+ // Fixed vector
164
+ else if constexpr (
165
+ Derived::IsVectorAtCompileTime && Derived::SizeAtCompileTime != Eigen::Dynamic) {
166
+ return Derived::PlainObject::NullaryExpr([&](const Eigen::Index i) {
167
+ return generateScalarNormal<typename Derived::Scalar>(mean[i], sigma[i], generator);
168
+ });
169
+ }
170
+ };
171
+
172
+ template <typename T, typename Generator>
173
+ [[nodiscard]] T generateNormal(const T& mean, const T& sigma, Generator& generator) {
174
+ // Scalar types
175
+ if constexpr (std::is_arithmetic_v<T>) {
176
+ return generateScalarNormal(mean, sigma, generator);
177
+ }
178
+ // Matrix types
179
+ else if constexpr (is_base_of_matrix_v<T>) {
180
+ return generateMatrixNormal(mean, sigma, generator);
181
+ }
182
+ }
183
+
184
+ } // namespace detail
185
+
186
+ template <typename Generator>
187
+ Random<Generator>& Random<Generator>::GetSingleton() {
188
+ static Random<Generator> singleton;
189
+ return singleton;
190
+ }
191
+
192
+ template <typename Generator>
193
+ Random<Generator>::Random(uint32_t seed) : seed_(seed), generator_(seed_) {
194
+ // Do nothing
195
+ }
196
+
197
+ template <typename Generator>
198
+ template <typename T>
199
+ T Random<Generator>::uniform(const T& min, const T& max) {
200
+ return detail::generateUniform(min, max, generator_);
201
+ }
202
+
203
+ template <typename Generator>
204
+ template <typename FixedSizeT>
205
+ FixedSizeT Random<Generator>::uniform(
206
+ typename FixedSizeT::Scalar min,
207
+ typename FixedSizeT::Scalar max) {
208
+ return detail::generateMatrixUniform(
209
+ FixedSizeT::Constant(min), FixedSizeT::Constant(max), generator_);
210
+ }
211
+
212
+ template <typename Generator>
213
+ template <typename DynamicVector>
214
+ DynamicVector Random<Generator>::uniform(
215
+ Eigen::Index size,
216
+ typename DynamicVector::Scalar min,
217
+ typename DynamicVector::Scalar max) {
218
+ return detail::generateMatrixUniform(
219
+ DynamicVector::Constant(size, min), DynamicVector::Constant(size, max), generator_);
220
+ }
221
+
222
+ template <typename Generator>
223
+ template <typename DynamicMatrix>
224
+ DynamicMatrix Random<Generator>::uniform(
225
+ Eigen::Index rows,
226
+ Eigen::Index cols,
227
+ typename DynamicMatrix::Scalar min,
228
+ typename DynamicMatrix::Scalar max) {
229
+ return detail::generateMatrixUniform(
230
+ DynamicMatrix::Constant(rows, cols, min),
231
+ DynamicMatrix::Constant(rows, cols, max),
232
+ generator_);
233
+ }
234
+
235
+ template <typename Generator>
236
+ template <typename T>
237
+ Quaternion<T> Random<Generator>::uniformQuaternion() {
238
+ return Quaternion<T>::UnitRandom();
239
+ }
240
+
241
+ template <typename Generator>
242
+ template <typename T>
243
+ Matrix3<T> Random<Generator>::uniformRotationMatrix() {
244
+ return uniformQuaternion<T>().toRotationMatrix();
245
+ }
246
+
247
+ template <typename Generator>
248
+ template <typename T>
249
+ Isometry3<T> Random<Generator>::uniformIsometry3(const Vector3<T>& min, const Vector3<T>& max) {
250
+ Isometry3<T> out = Isometry3<T>::Identity();
251
+ out.linear() = uniformRotationMatrix<T>();
252
+ out.translation() = uniform<Vector3<T>>(min, max);
253
+ return out;
254
+ }
255
+
256
+ template <typename Generator>
257
+ template <typename T>
258
+ Affine3<T> Random<Generator>::uniformAffine3(
259
+ T scaleMin,
260
+ T scaleMax,
261
+ const Vector3<T>& min,
262
+ const Vector3<T>& max) {
263
+ Affine3<T> out = Affine3<T>::Identity();
264
+ out.linear() = uniformRotationMatrix<T>() * uniform<T>(scaleMin, scaleMax);
265
+ out.translation().noalias() = uniform<Vector3<T>>(min, max);
266
+ return out;
267
+ }
268
+
269
+ template <typename Generator>
270
+ template <typename T>
271
+ T Random<Generator>::normal(const T& mean, const T& sigma) {
272
+ return detail::generateNormal(mean, sigma, generator_);
273
+ }
274
+
275
+ template <typename Generator>
276
+ template <typename FixedSizeT>
277
+ FixedSizeT Random<Generator>::normal(
278
+ typename FixedSizeT::Scalar mean,
279
+ typename FixedSizeT::Scalar sigma) {
280
+ return detail::generateMatrixNormal(
281
+ FixedSizeT::Constant(mean), FixedSizeT::Constant(sigma), generator_);
282
+ }
283
+
284
+ template <typename Generator>
285
+ template <typename DynamicVector>
286
+ DynamicVector Random<Generator>::normal(
287
+ Eigen::Index size,
288
+ typename DynamicVector::Scalar mean,
289
+ typename DynamicVector::Scalar sigma) {
290
+ return detail::generateMatrixNormal(
291
+ DynamicVector::Constant(size, mean), DynamicVector::Constant(size, sigma), generator_);
292
+ }
293
+
294
+ template <typename Generator>
295
+ template <typename DynamicMatrix>
296
+ DynamicMatrix Random<Generator>::normal(
297
+ Eigen::Index rows,
298
+ Eigen::Index cols,
299
+ typename DynamicMatrix::Scalar mean,
300
+ typename DynamicMatrix::Scalar sigma) {
301
+ return detail::generateMatrixNormal(
302
+ DynamicMatrix::Constant(rows, cols, mean),
303
+ DynamicMatrix::Constant(rows, cols, sigma),
304
+ generator_);
305
+ }
306
+
307
+ template <typename Generator>
308
+ uint32_t Random<Generator>::getSeed() const {
309
+ return seed_;
310
+ }
311
+
312
+ template <typename Generator>
313
+ void Random<Generator>::setSeed(uint32_t seed) {
314
+ if (seed == seed_) {
315
+ return;
316
+ }
317
+ seed_ = seed;
318
+ generator_.seed(seed_);
319
+ }
320
+
321
+ template <typename T>
322
+ T uniform(const T& min, const T& max) {
323
+ auto& rand = Random<>::GetSingleton();
324
+ return rand.uniform(min, max);
325
+ }
326
+
327
+ template <typename FixedSizeT>
328
+ FixedSizeT uniform(typename FixedSizeT::Scalar min, typename FixedSizeT::Scalar max) {
329
+ auto& rand = Random<>::GetSingleton();
330
+ return rand.uniform<FixedSizeT>(min, max);
331
+ }
332
+
333
+ template <typename DynamicVector>
334
+ DynamicVector
335
+ uniform(Eigen::Index size, typename DynamicVector::Scalar min, typename DynamicVector::Scalar max) {
336
+ auto& rand = Random<>::GetSingleton();
337
+ return rand.uniform<DynamicVector>(size, min, max);
338
+ }
339
+
340
+ template <typename DynamicMatrix>
341
+ DynamicMatrix uniform(
342
+ Eigen::Index rows,
343
+ Eigen::Index cols,
344
+ typename DynamicMatrix::Scalar min,
345
+ typename DynamicMatrix::Scalar max) {
346
+ auto& rand = Random<>::GetSingleton();
347
+ return rand.uniform<DynamicMatrix>(rows, cols, min, max);
348
+ }
349
+
350
+ template <typename T>
351
+ Quaternion<T> uniformQuaternion() {
352
+ auto& rand = Random<>::GetSingleton();
353
+ return rand.uniformQuaternion<T>();
354
+ }
355
+
356
+ template <typename T>
357
+ Matrix3<T> uniformRotationMatrix() {
358
+ return uniformQuaternion<T>().toRotationMatrix();
359
+ }
360
+
361
+ template <typename T>
362
+ Isometry3<T> uniformIsometry3(const Vector3<T>& min, const Vector3<T>& max) {
363
+ auto& rand = Random<>::GetSingleton();
364
+ return rand.uniformIsometry3<T>(min, max);
365
+ }
366
+
367
+ template <typename T>
368
+ Affine3<T> uniformAffine3(T scaleMin, T scaleMax, const Vector3<T>& min, const Vector3<T>& max) {
369
+ auto& rand = Random<>::GetSingleton();
370
+ return rand.uniformAffine3<T>(scaleMin, scaleMax, min, max);
371
+ }
372
+
373
+ template <typename T>
374
+ T normal(const T& mean, const T& sigma) {
375
+ auto& rand = Random<>::GetSingleton();
376
+ return rand.normal(mean, sigma);
377
+ }
378
+
379
+ template <typename FixedSizeT>
380
+ FixedSizeT normal(typename FixedSizeT::Scalar mean, typename FixedSizeT::Scalar sigma) {
381
+ auto& rand = Random<>::GetSingleton();
382
+ return rand.normal<FixedSizeT>(mean, sigma);
383
+ }
384
+
385
+ template <typename DynamicVector>
386
+ DynamicVector normal(
387
+ Eigen::Index size,
388
+ typename DynamicVector::Scalar mean,
389
+ typename DynamicVector::Scalar sigma) {
390
+ auto& rand = Random<>::GetSingleton();
391
+ return rand.normal<DynamicVector>(size, mean, sigma);
392
+ }
393
+
394
+ template <typename DynamicMatrix>
395
+ DynamicMatrix normal(
396
+ Eigen::Index rows,
397
+ Eigen::Index cols,
398
+ typename DynamicMatrix::Scalar mean,
399
+ typename DynamicMatrix::Scalar sigma) {
400
+ auto& rand = Random<>::GetSingleton();
401
+ return rand.normal<DynamicMatrix>(rows, cols, mean, sigma);
402
+ }
403
+
404
+ } // namespace momentum