pymomentum-cpu 0.1.78.post11__cp312-cp312-win_amd64.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 +128 -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 +126 -0
  97. include/momentum/character_solver/vertex_vertex_distance_error_function.h +151 -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 +29 -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 +54 -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/arrow_bundled_dependencies.lib +0 -0
  454. lib/arrow_static.lib +0 -0
  455. lib/axel.lib +0 -0
  456. lib/cmake/axel/axel-config.cmake +45 -0
  457. lib/cmake/axel/axelTargets-release.cmake +19 -0
  458. lib/cmake/axel/axelTargets.cmake +108 -0
  459. lib/cmake/momentum/Findre2.cmake +52 -0
  460. lib/cmake/momentum/momentum-config.cmake +67 -0
  461. lib/cmake/momentum/momentumTargets-release.cmake +259 -0
  462. lib/cmake/momentum/momentumTargets.cmake +377 -0
  463. lib/cmake/rerun_sdk/rerun_sdkConfig.cmake +70 -0
  464. lib/cmake/rerun_sdk/rerun_sdkConfigVersion.cmake +83 -0
  465. lib/cmake/rerun_sdk/rerun_sdkTargets-release.cmake +19 -0
  466. lib/cmake/rerun_sdk/rerun_sdkTargets.cmake +108 -0
  467. lib/momentum_app_utils.lib +0 -0
  468. lib/momentum_character.lib +0 -0
  469. lib/momentum_character_sequence_solver.lib +0 -0
  470. lib/momentum_character_solver.lib +0 -0
  471. lib/momentum_common.lib +0 -0
  472. lib/momentum_diff_ik.lib +0 -0
  473. lib/momentum_io.lib +0 -0
  474. lib/momentum_io_common.lib +0 -0
  475. lib/momentum_io_fbx.lib +0 -0
  476. lib/momentum_io_gltf.lib +0 -0
  477. lib/momentum_io_legacy_json.lib +0 -0
  478. lib/momentum_io_marker.lib +0 -0
  479. lib/momentum_io_motion.lib +0 -0
  480. lib/momentum_io_shape.lib +0 -0
  481. lib/momentum_io_skeleton.lib +0 -0
  482. lib/momentum_io_urdf.lib +0 -0
  483. lib/momentum_marker_tracker.lib +0 -0
  484. lib/momentum_math.lib +0 -0
  485. lib/momentum_online_qr.lib +0 -0
  486. lib/momentum_process_markers.lib +0 -0
  487. lib/momentum_rerun.lib +0 -0
  488. lib/momentum_simd_constraints.lib +0 -0
  489. lib/momentum_simd_generalized_loss.lib +0 -0
  490. lib/momentum_skeleton.lib +0 -0
  491. lib/momentum_solver.lib +0 -0
  492. lib/rerun_c__win_x64.lib +0 -0
  493. lib/rerun_sdk.lib +0 -0
  494. pymomentum/axel.cp312-win_amd64.pyd +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.cp312-win_amd64.pyd +0 -0
  500. pymomentum/marker_tracking.cp312-win_amd64.pyd +0 -0
  501. pymomentum/quaternion.py +740 -0
  502. pymomentum/skel_state.py +514 -0
  503. pymomentum/solver.cp312-win_amd64.pyd +0 -0
  504. pymomentum/solver2.cp312-win_amd64.pyd +0 -0
  505. pymomentum/torch/character.py +809 -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.78.post11.dist-info/METADATA +121 -0
  510. pymomentum_cpu-0.1.78.post11.dist-info/RECORD +512 -0
  511. pymomentum_cpu-0.1.78.post11.dist-info/WHEEL +5 -0
  512. pymomentum_cpu-0.1.78.post11.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,200 @@
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
+ // This file is @generated by gen_fwd.py
9
+ // Do not edit this file directly, instead update gen_fwd_input.toml and run:
10
+ // buck run @arvr/mode/platform010/opt //arvr/libraries/momentum:gen_fwd
11
+
12
+ #pragma once
13
+
14
+ #include <memory>
15
+
16
+ namespace momentum {
17
+
18
+ struct MultiposeSolverOptions;
19
+
20
+ using MultiposeSolverOptions_p = ::std::shared_ptr<MultiposeSolverOptions>;
21
+ using MultiposeSolverOptions_u = ::std::unique_ptr<MultiposeSolverOptions>;
22
+ using MultiposeSolverOptions_w = ::std::weak_ptr<MultiposeSolverOptions>;
23
+ using MultiposeSolverOptions_const_p = ::std::shared_ptr<const MultiposeSolverOptions>;
24
+ using MultiposeSolverOptions_const_u = ::std::unique_ptr<const MultiposeSolverOptions>;
25
+ using MultiposeSolverOptions_const_w = ::std::weak_ptr<const MultiposeSolverOptions>;
26
+
27
+ struct SequenceSolverOptions;
28
+
29
+ using SequenceSolverOptions_p = ::std::shared_ptr<SequenceSolverOptions>;
30
+ using SequenceSolverOptions_u = ::std::unique_ptr<SequenceSolverOptions>;
31
+ using SequenceSolverOptions_w = ::std::weak_ptr<SequenceSolverOptions>;
32
+ using SequenceSolverOptions_const_p = ::std::shared_ptr<const SequenceSolverOptions>;
33
+ using SequenceSolverOptions_const_u = ::std::unique_ptr<const SequenceSolverOptions>;
34
+ using SequenceSolverOptions_const_w = ::std::weak_ptr<const SequenceSolverOptions>;
35
+
36
+ template <typename T>
37
+ class SequenceErrorFunctionT;
38
+ using SequenceErrorFunction = SequenceErrorFunctionT<float>;
39
+ using SequenceErrorFunctiond = SequenceErrorFunctionT<double>;
40
+
41
+ using SequenceErrorFunction_p = ::std::shared_ptr<SequenceErrorFunction>;
42
+ using SequenceErrorFunction_u = ::std::unique_ptr<SequenceErrorFunction>;
43
+ using SequenceErrorFunction_w = ::std::weak_ptr<SequenceErrorFunction>;
44
+ using SequenceErrorFunction_const_p = ::std::shared_ptr<const SequenceErrorFunction>;
45
+ using SequenceErrorFunction_const_u = ::std::unique_ptr<const SequenceErrorFunction>;
46
+ using SequenceErrorFunction_const_w = ::std::weak_ptr<const SequenceErrorFunction>;
47
+
48
+ using SequenceErrorFunctiond_p = ::std::shared_ptr<SequenceErrorFunctiond>;
49
+ using SequenceErrorFunctiond_u = ::std::unique_ptr<SequenceErrorFunctiond>;
50
+ using SequenceErrorFunctiond_w = ::std::weak_ptr<SequenceErrorFunctiond>;
51
+ using SequenceErrorFunctiond_const_p = ::std::shared_ptr<const SequenceErrorFunctiond>;
52
+ using SequenceErrorFunctiond_const_u = ::std::unique_ptr<const SequenceErrorFunctiond>;
53
+ using SequenceErrorFunctiond_const_w = ::std::weak_ptr<const SequenceErrorFunctiond>;
54
+
55
+ template <typename T>
56
+ class ModelParametersSequenceErrorFunctionT;
57
+ using ModelParametersSequenceErrorFunction = ModelParametersSequenceErrorFunctionT<float>;
58
+ using ModelParametersSequenceErrorFunctiond = ModelParametersSequenceErrorFunctionT<double>;
59
+
60
+ using ModelParametersSequenceErrorFunction_p =
61
+ ::std::shared_ptr<ModelParametersSequenceErrorFunction>;
62
+ using ModelParametersSequenceErrorFunction_u =
63
+ ::std::unique_ptr<ModelParametersSequenceErrorFunction>;
64
+ using ModelParametersSequenceErrorFunction_w =
65
+ ::std::weak_ptr<ModelParametersSequenceErrorFunction>;
66
+ using ModelParametersSequenceErrorFunction_const_p =
67
+ ::std::shared_ptr<const ModelParametersSequenceErrorFunction>;
68
+ using ModelParametersSequenceErrorFunction_const_u =
69
+ ::std::unique_ptr<const ModelParametersSequenceErrorFunction>;
70
+ using ModelParametersSequenceErrorFunction_const_w =
71
+ ::std::weak_ptr<const ModelParametersSequenceErrorFunction>;
72
+
73
+ using ModelParametersSequenceErrorFunctiond_p =
74
+ ::std::shared_ptr<ModelParametersSequenceErrorFunctiond>;
75
+ using ModelParametersSequenceErrorFunctiond_u =
76
+ ::std::unique_ptr<ModelParametersSequenceErrorFunctiond>;
77
+ using ModelParametersSequenceErrorFunctiond_w =
78
+ ::std::weak_ptr<ModelParametersSequenceErrorFunctiond>;
79
+ using ModelParametersSequenceErrorFunctiond_const_p =
80
+ ::std::shared_ptr<const ModelParametersSequenceErrorFunctiond>;
81
+ using ModelParametersSequenceErrorFunctiond_const_u =
82
+ ::std::unique_ptr<const ModelParametersSequenceErrorFunctiond>;
83
+ using ModelParametersSequenceErrorFunctiond_const_w =
84
+ ::std::weak_ptr<const ModelParametersSequenceErrorFunctiond>;
85
+
86
+ template <typename T>
87
+ class MultiposeSolverT;
88
+ using MultiposeSolver = MultiposeSolverT<float>;
89
+ using MultiposeSolverd = MultiposeSolverT<double>;
90
+
91
+ using MultiposeSolver_p = ::std::shared_ptr<MultiposeSolver>;
92
+ using MultiposeSolver_u = ::std::unique_ptr<MultiposeSolver>;
93
+ using MultiposeSolver_w = ::std::weak_ptr<MultiposeSolver>;
94
+ using MultiposeSolver_const_p = ::std::shared_ptr<const MultiposeSolver>;
95
+ using MultiposeSolver_const_u = ::std::unique_ptr<const MultiposeSolver>;
96
+ using MultiposeSolver_const_w = ::std::weak_ptr<const MultiposeSolver>;
97
+
98
+ using MultiposeSolverd_p = ::std::shared_ptr<MultiposeSolverd>;
99
+ using MultiposeSolverd_u = ::std::unique_ptr<MultiposeSolverd>;
100
+ using MultiposeSolverd_w = ::std::weak_ptr<MultiposeSolverd>;
101
+ using MultiposeSolverd_const_p = ::std::shared_ptr<const MultiposeSolverd>;
102
+ using MultiposeSolverd_const_u = ::std::unique_ptr<const MultiposeSolverd>;
103
+ using MultiposeSolverd_const_w = ::std::weak_ptr<const MultiposeSolverd>;
104
+
105
+ template <typename T>
106
+ class MultiposeSolverFunctionT;
107
+ using MultiposeSolverFunction = MultiposeSolverFunctionT<float>;
108
+ using MultiposeSolverFunctiond = MultiposeSolverFunctionT<double>;
109
+
110
+ using MultiposeSolverFunction_p = ::std::shared_ptr<MultiposeSolverFunction>;
111
+ using MultiposeSolverFunction_u = ::std::unique_ptr<MultiposeSolverFunction>;
112
+ using MultiposeSolverFunction_w = ::std::weak_ptr<MultiposeSolverFunction>;
113
+ using MultiposeSolverFunction_const_p = ::std::shared_ptr<const MultiposeSolverFunction>;
114
+ using MultiposeSolverFunction_const_u = ::std::unique_ptr<const MultiposeSolverFunction>;
115
+ using MultiposeSolverFunction_const_w = ::std::weak_ptr<const MultiposeSolverFunction>;
116
+
117
+ using MultiposeSolverFunctiond_p = ::std::shared_ptr<MultiposeSolverFunctiond>;
118
+ using MultiposeSolverFunctiond_u = ::std::unique_ptr<MultiposeSolverFunctiond>;
119
+ using MultiposeSolverFunctiond_w = ::std::weak_ptr<MultiposeSolverFunctiond>;
120
+ using MultiposeSolverFunctiond_const_p = ::std::shared_ptr<const MultiposeSolverFunctiond>;
121
+ using MultiposeSolverFunctiond_const_u = ::std::unique_ptr<const MultiposeSolverFunctiond>;
122
+ using MultiposeSolverFunctiond_const_w = ::std::weak_ptr<const MultiposeSolverFunctiond>;
123
+
124
+ template <typename T>
125
+ class SequenceSolverT;
126
+ using SequenceSolver = SequenceSolverT<float>;
127
+ using SequenceSolverd = SequenceSolverT<double>;
128
+
129
+ using SequenceSolver_p = ::std::shared_ptr<SequenceSolver>;
130
+ using SequenceSolver_u = ::std::unique_ptr<SequenceSolver>;
131
+ using SequenceSolver_w = ::std::weak_ptr<SequenceSolver>;
132
+ using SequenceSolver_const_p = ::std::shared_ptr<const SequenceSolver>;
133
+ using SequenceSolver_const_u = ::std::unique_ptr<const SequenceSolver>;
134
+ using SequenceSolver_const_w = ::std::weak_ptr<const SequenceSolver>;
135
+
136
+ using SequenceSolverd_p = ::std::shared_ptr<SequenceSolverd>;
137
+ using SequenceSolverd_u = ::std::unique_ptr<SequenceSolverd>;
138
+ using SequenceSolverd_w = ::std::weak_ptr<SequenceSolverd>;
139
+ using SequenceSolverd_const_p = ::std::shared_ptr<const SequenceSolverd>;
140
+ using SequenceSolverd_const_u = ::std::unique_ptr<const SequenceSolverd>;
141
+ using SequenceSolverd_const_w = ::std::weak_ptr<const SequenceSolverd>;
142
+
143
+ template <typename T>
144
+ class SequenceSolverFunctionT;
145
+ using SequenceSolverFunction = SequenceSolverFunctionT<float>;
146
+ using SequenceSolverFunctiond = SequenceSolverFunctionT<double>;
147
+
148
+ using SequenceSolverFunction_p = ::std::shared_ptr<SequenceSolverFunction>;
149
+ using SequenceSolverFunction_u = ::std::unique_ptr<SequenceSolverFunction>;
150
+ using SequenceSolverFunction_w = ::std::weak_ptr<SequenceSolverFunction>;
151
+ using SequenceSolverFunction_const_p = ::std::shared_ptr<const SequenceSolverFunction>;
152
+ using SequenceSolverFunction_const_u = ::std::unique_ptr<const SequenceSolverFunction>;
153
+ using SequenceSolverFunction_const_w = ::std::weak_ptr<const SequenceSolverFunction>;
154
+
155
+ using SequenceSolverFunctiond_p = ::std::shared_ptr<SequenceSolverFunctiond>;
156
+ using SequenceSolverFunctiond_u = ::std::unique_ptr<SequenceSolverFunctiond>;
157
+ using SequenceSolverFunctiond_w = ::std::weak_ptr<SequenceSolverFunctiond>;
158
+ using SequenceSolverFunctiond_const_p = ::std::shared_ptr<const SequenceSolverFunctiond>;
159
+ using SequenceSolverFunctiond_const_u = ::std::unique_ptr<const SequenceSolverFunctiond>;
160
+ using SequenceSolverFunctiond_const_w = ::std::weak_ptr<const SequenceSolverFunctiond>;
161
+
162
+ template <typename T>
163
+ class StateSequenceErrorFunctionT;
164
+ using StateSequenceErrorFunction = StateSequenceErrorFunctionT<float>;
165
+ using StateSequenceErrorFunctiond = StateSequenceErrorFunctionT<double>;
166
+
167
+ using StateSequenceErrorFunction_p = ::std::shared_ptr<StateSequenceErrorFunction>;
168
+ using StateSequenceErrorFunction_u = ::std::unique_ptr<StateSequenceErrorFunction>;
169
+ using StateSequenceErrorFunction_w = ::std::weak_ptr<StateSequenceErrorFunction>;
170
+ using StateSequenceErrorFunction_const_p = ::std::shared_ptr<const StateSequenceErrorFunction>;
171
+ using StateSequenceErrorFunction_const_u = ::std::unique_ptr<const StateSequenceErrorFunction>;
172
+ using StateSequenceErrorFunction_const_w = ::std::weak_ptr<const StateSequenceErrorFunction>;
173
+
174
+ using StateSequenceErrorFunctiond_p = ::std::shared_ptr<StateSequenceErrorFunctiond>;
175
+ using StateSequenceErrorFunctiond_u = ::std::unique_ptr<StateSequenceErrorFunctiond>;
176
+ using StateSequenceErrorFunctiond_w = ::std::weak_ptr<StateSequenceErrorFunctiond>;
177
+ using StateSequenceErrorFunctiond_const_p = ::std::shared_ptr<const StateSequenceErrorFunctiond>;
178
+ using StateSequenceErrorFunctiond_const_u = ::std::unique_ptr<const StateSequenceErrorFunctiond>;
179
+ using StateSequenceErrorFunctiond_const_w = ::std::weak_ptr<const StateSequenceErrorFunctiond>;
180
+
181
+ template <typename T>
182
+ class VertexSequenceErrorFunctionT;
183
+ using VertexSequenceErrorFunction = VertexSequenceErrorFunctionT<float>;
184
+ using VertexSequenceErrorFunctiond = VertexSequenceErrorFunctionT<double>;
185
+
186
+ using VertexSequenceErrorFunction_p = ::std::shared_ptr<VertexSequenceErrorFunction>;
187
+ using VertexSequenceErrorFunction_u = ::std::unique_ptr<VertexSequenceErrorFunction>;
188
+ using VertexSequenceErrorFunction_w = ::std::weak_ptr<VertexSequenceErrorFunction>;
189
+ using VertexSequenceErrorFunction_const_p = ::std::shared_ptr<const VertexSequenceErrorFunction>;
190
+ using VertexSequenceErrorFunction_const_u = ::std::unique_ptr<const VertexSequenceErrorFunction>;
191
+ using VertexSequenceErrorFunction_const_w = ::std::weak_ptr<const VertexSequenceErrorFunction>;
192
+
193
+ using VertexSequenceErrorFunctiond_p = ::std::shared_ptr<VertexSequenceErrorFunctiond>;
194
+ using VertexSequenceErrorFunctiond_u = ::std::unique_ptr<VertexSequenceErrorFunctiond>;
195
+ using VertexSequenceErrorFunctiond_w = ::std::weak_ptr<VertexSequenceErrorFunctiond>;
196
+ using VertexSequenceErrorFunctiond_const_p = ::std::shared_ptr<const VertexSequenceErrorFunctiond>;
197
+ using VertexSequenceErrorFunctiond_const_u = ::std::unique_ptr<const VertexSequenceErrorFunctiond>;
198
+ using VertexSequenceErrorFunctiond_const_w = ::std::weak_ptr<const VertexSequenceErrorFunctiond>;
199
+
200
+ } // namespace momentum
@@ -0,0 +1,65 @@
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/character/skeleton_state.h>
11
+ #include <momentum/character_sequence_solver/fwd.h>
12
+ #include <momentum/character_sequence_solver/sequence_error_function.h>
13
+
14
+ namespace momentum {
15
+
16
+ template <typename T>
17
+ class ModelParametersSequenceErrorFunctionT : public SequenceErrorFunctionT<T> {
18
+ public:
19
+ ModelParametersSequenceErrorFunctionT(const Skeleton& skel, const ParameterTransform& pt);
20
+ explicit ModelParametersSequenceErrorFunctionT(const Character& character);
21
+
22
+ [[nodiscard]] size_t numFrames() const final {
23
+ return 2;
24
+ }
25
+
26
+ double getError(
27
+ gsl::span<const ModelParametersT<T>> modelParameters,
28
+ gsl::span<const SkeletonStateT<T>> skelStates,
29
+ gsl::span<const MeshStateT<T>> meshStates) const final;
30
+ double getGradient(
31
+ gsl::span<const ModelParametersT<T>> modelParameters,
32
+ gsl::span<const SkeletonStateT<T>> skelStates,
33
+ gsl::span<const MeshStateT<T>> meshStates,
34
+ Eigen::Ref<Eigen::VectorX<T>> gradient) const final;
35
+
36
+ // modelParameters: [numFrames() * parameterTransform] parameter vector
37
+ // skelStates: [numFrames()] array of skeleton states
38
+ // jacobian: [getJacobianSize()] x [numFrames() * parameterTransform] Jacobian matrix
39
+ // residual: [getJacobianSize()] residual vector.
40
+ double getJacobian(
41
+ gsl::span<const ModelParametersT<T>> modelParameters,
42
+ gsl::span<const SkeletonStateT<T>> skelStates,
43
+ gsl::span<const MeshStateT<T>> meshStates,
44
+ Eigen::Ref<Eigen::MatrixX<T>> jacobian,
45
+ Eigen::Ref<Eigen::VectorX<T>> residual,
46
+ int& usedRows) const final;
47
+
48
+ [[nodiscard]] size_t getJacobianSize() const final;
49
+
50
+ void setTargetWeights(const Eigen::VectorX<T>& weights) {
51
+ this->targetWeights_ = weights;
52
+ }
53
+
54
+ [[nodiscard]] const Eigen::VectorX<T>& getTargetWeights() const {
55
+ return this->targetWeights_;
56
+ }
57
+
58
+ private:
59
+ Eigen::VectorX<T> targetWeights_;
60
+
61
+ public:
62
+ static constexpr T kMotionWeight = 1e-1;
63
+ };
64
+
65
+ } // namespace momentum
@@ -0,0 +1,65 @@
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/character_sequence_solver/fwd.h>
11
+ #include <momentum/character_sequence_solver/multipose_solver_function.h>
12
+ #include <momentum/solver/solver.h>
13
+
14
+ namespace momentum {
15
+
16
+ /// Multipose solver specific options.
17
+ struct MultiposeSolverOptions : SolverOptions {
18
+ /// Regularization parameter for QR decomposition.
19
+ float regularization = 0.05f;
20
+
21
+ MultiposeSolverOptions() = default;
22
+
23
+ /* implicit */ MultiposeSolverOptions(const SolverOptions& baseOptions)
24
+ : SolverOptions(baseOptions) {
25
+ // Empty
26
+ }
27
+ };
28
+
29
+ template <typename T>
30
+ class MultiposeSolverT : public SolverT<T> {
31
+ public:
32
+ MultiposeSolverT(const SolverOptions& options, MultiposeSolverFunctionT<T>* function);
33
+ ~MultiposeSolverT() override;
34
+
35
+ [[nodiscard]] std::string_view getName() const override;
36
+
37
+ void setOptions(const SolverOptions& options) final;
38
+
39
+ void iter() {
40
+ doIteration();
41
+ this->iteration_++;
42
+ }
43
+
44
+ void init() {
45
+ this->iteration_ = 0;
46
+ initializeSolver();
47
+ }
48
+
49
+ Eigen::VectorX<T> getP() {
50
+ return this->parameters_;
51
+ }
52
+
53
+ protected:
54
+ void doIteration() final;
55
+ void initializeSolver() final;
56
+
57
+ private:
58
+ Eigen::MatrixX<T> jacobianBlock_;
59
+ Eigen::VectorX<T> residualBlock_;
60
+ std::unique_ptr<MeshStateT<T>> meshState_;
61
+
62
+ float regularization_;
63
+ };
64
+
65
+ } // namespace momentum
@@ -0,0 +1,82 @@
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/character/fwd.h>
11
+ #include <momentum/character/parameter_transform.h>
12
+ #include <momentum/character/types.h>
13
+ #include <momentum/character_sequence_solver/fwd.h>
14
+ #include <momentum/character_solver/fwd.h>
15
+ #include <momentum/solver/solver_function.h>
16
+
17
+ namespace momentum {
18
+
19
+ template <typename T>
20
+ class MultiposeSolverFunctionT : public SolverFunctionT<T> {
21
+ public:
22
+ MultiposeSolverFunctionT(
23
+ const Skeleton* skel,
24
+ const ParameterTransformT<T>* parameterTransform,
25
+ gsl::span<const int> universal,
26
+ size_t frames);
27
+ ~MultiposeSolverFunctionT() override;
28
+
29
+ double getError(const Eigen::VectorX<T>& parameters) final;
30
+
31
+ double getGradient(const Eigen::VectorX<T>& parameters, Eigen::VectorX<T>& gradient) final;
32
+
33
+ double getJacobian(
34
+ const Eigen::VectorX<T>& parameters,
35
+ Eigen::MatrixX<T>& jacobian,
36
+ Eigen::VectorX<T>& residual,
37
+ size_t& actualRows) final;
38
+
39
+ void updateParameters(Eigen::VectorX<T>& parameters, const Eigen::VectorX<T>& gradient) final;
40
+ void setEnabledParameters(const ParameterSet& parameterSet) final;
41
+
42
+ void addErrorFunction(size_t frame, SkeletonErrorFunctionT<T>* errorFunction);
43
+
44
+ [[nodiscard]] size_t getNumFrames() const {
45
+ return states_.size();
46
+ }
47
+
48
+ [[nodiscard]] const ModelParametersT<T>& getFrameParameters(const size_t frame) const {
49
+ return frameParameters_[frame];
50
+ }
51
+
52
+ void setFrameParameters(size_t frame, const ModelParametersT<T>& parameters);
53
+ [[nodiscard]] Eigen::VectorX<T> getUniversalParameters() const;
54
+ [[nodiscard]] Eigen::VectorX<T> getJoinedParameterVector() const;
55
+ void setJoinedParameterVector(const Eigen::VectorX<T>& joinedParameters);
56
+
57
+ [[nodiscard]] ParameterSet getUniversalParameterSet() const;
58
+ [[nodiscard]] ParameterSet getUniversalLocatorParameterSet() const;
59
+
60
+ private:
61
+ void setFrameParametersFromJoinedParameterVector(const Eigen::VectorX<T>& parameters);
62
+
63
+ private:
64
+ const Skeleton* skeleton_;
65
+ const ParameterTransformT<T>* parameterTransform_;
66
+ std::vector<SkeletonStateT<T>> states_;
67
+ std::vector<MeshStateT<T>> meshStates_;
68
+ VectorX<bool> activeJointParams_;
69
+
70
+ std::vector<ModelParametersT<T>> frameParameters_;
71
+ Eigen::VectorX<T> universal_;
72
+ std::vector<size_t> parameterIndexMap_;
73
+
74
+ std::vector<size_t> genericParameters_;
75
+ std::vector<size_t> universalParameters_;
76
+
77
+ std::vector<std::vector<SkeletonErrorFunctionT<T>*>> errorFunctions_;
78
+
79
+ friend class MultiposeSolverT<T>;
80
+ };
81
+
82
+ } // namespace momentum
@@ -0,0 +1,104 @@
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/character/fwd.h>
11
+ #include <momentum/character/parameter_transform.h>
12
+ #include <momentum/character/types.h>
13
+ #include <momentum/character_sequence_solver/fwd.h>
14
+
15
+ namespace momentum {
16
+
17
+ template <typename T>
18
+ class SequenceErrorFunctionT {
19
+ public:
20
+ SequenceErrorFunctionT(const Skeleton& skel, const ParameterTransform& pt)
21
+ : skeleton_(skel), parameterTransform_(pt), activeJointParams_(pt.activeJointParams) {
22
+ enabledParameters_.flip(); // all parameters enabled by default
23
+ }
24
+ virtual ~SequenceErrorFunctionT() = default;
25
+
26
+ // Number of contiguous frames that this error function affects.
27
+ [[nodiscard]] virtual size_t numFrames() const = 0;
28
+
29
+ void setWeight(T w) {
30
+ weight_ = w;
31
+ }
32
+ [[nodiscard]] float getWeight() const {
33
+ return weight_;
34
+ }
35
+
36
+ void setActiveJoints(const VectorX<bool>& aj) {
37
+ activeJointParams_ = aj;
38
+ }
39
+
40
+ void setEnabledParameters(const ParameterSet& ps) {
41
+ enabledParameters_ = ps;
42
+ }
43
+
44
+ [[nodiscard]] virtual bool needsMesh() const {
45
+ return false;
46
+ }
47
+
48
+ [[nodiscard]] virtual double getError(
49
+ gsl::span<const ModelParametersT<T>> /* modelParameters */,
50
+ gsl::span<const SkeletonStateT<T>> /* skelStates */,
51
+ gsl::span<const MeshStateT<T>> /* meshStates */) const {
52
+ return 0.0f;
53
+ }
54
+
55
+ // Get the gradient of the error.
56
+ // modelParameters: numFrames() array of parameter vectors
57
+ // skelStates: [numFrames()] array of skeleton states
58
+ // meshStates: [numFrames()] array of mesh states
59
+ // gradient: [numFrames() * parameterTransform] gradient vector
60
+ virtual double getGradient(
61
+ gsl::span<const ModelParametersT<T>> /* modelParameters */,
62
+ gsl::span<const SkeletonStateT<T>> /* skelStates */,
63
+ gsl::span<const MeshStateT<T>> /* meshStates */,
64
+ Eigen::Ref<Eigen::VectorX<T>> /* gradient */) const {
65
+ return 0.0f;
66
+ }
67
+
68
+ // modelParameters: [numFrames() * parameterTransform] parameter vector
69
+ // skelStates: [numFrames()] array of skeleton states
70
+ // meshStates: [numFrames()] array of mesh states
71
+ // jacobian: [getJacobianSize()] x [numFrames() * parameterTransform] Jacobian matrix
72
+ // residual: [getJacobianSize()] residual vector.
73
+ virtual double getJacobian(
74
+ gsl::span<const ModelParametersT<T>> /* modelParameters */,
75
+ gsl::span<const SkeletonStateT<T>> /* skelStates */,
76
+ gsl::span<const MeshStateT<T>> /* meshStates */,
77
+ Eigen::Ref<Eigen::MatrixX<T>> /* jacobian */,
78
+ Eigen::Ref<Eigen::VectorX<T>> /* residual */,
79
+ int& usedRows) const {
80
+ usedRows = 0;
81
+ return 0.0f;
82
+ }
83
+
84
+ [[nodiscard]] virtual size_t getJacobianSize() const {
85
+ return 0;
86
+ }
87
+
88
+ [[nodiscard]] const Skeleton& getSkeleton() const {
89
+ return this->skeleton_;
90
+ }
91
+
92
+ [[nodiscard]] const ParameterTransform& getParameterTransform() const {
93
+ return this->parameterTransform_;
94
+ }
95
+
96
+ protected:
97
+ const Skeleton& skeleton_;
98
+ const ParameterTransform& parameterTransform_;
99
+ T weight_ = 1.0f;
100
+ VectorX<bool> activeJointParams_;
101
+ ParameterSet enabledParameters_; // set to zero by default constr
102
+ };
103
+
104
+ } // namespace momentum
@@ -0,0 +1,144 @@
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/character_sequence_solver/fwd.h>
11
+ #include <momentum/common/fwd.h>
12
+ #include <momentum/math/fwd.h>
13
+ #include <momentum/math/online_householder_qr.h>
14
+ #include <momentum/solver/solver.h>
15
+
16
+ #include <functional>
17
+
18
+ namespace momentum {
19
+
20
+ /// Sequence solver specific options
21
+ struct SequenceSolverOptions : SolverOptions {
22
+ /// Regularization parameter for QR decomposition.
23
+ float regularization = 0.05f;
24
+
25
+ /// Flag to enable line search during optimization.
26
+ bool doLineSearch = false;
27
+
28
+ /// Flag to enable multithreading for the Sequence solver.
29
+ bool multithreaded = false;
30
+
31
+ /// Flag to enable a progress bar during optimization.
32
+ bool progressBar = false;
33
+
34
+ SequenceSolverOptions() = default;
35
+
36
+ /* implicit */ SequenceSolverOptions(const SolverOptions& baseOptions)
37
+ : SolverOptions(baseOptions) {
38
+ // Empty
39
+ }
40
+ };
41
+
42
+ template <typename T>
43
+ class SequenceSolverT : public SolverT<T> {
44
+ public:
45
+ SequenceSolverT(const SolverOptions& options, SequenceSolverFunctionT<T>* function);
46
+
47
+ [[nodiscard]] std::string_view getName() const override;
48
+
49
+ void setOptions(const SolverOptions& options) final;
50
+
51
+ // "numParameters" has a different meaning here than in Solver.
52
+ // For Solver class, numParameters = ParameterTransform.numAllModelParameters() * numFrames; but
53
+ // it means #variables here. To hack around this discrepancy, we update numParameters when a new
54
+ // set of variables are defined.
55
+ // XXX To be fixed as part of T118191244
56
+ void setEnabledParameters(const ParameterSet& parameters) final {
57
+ SolverT<T>::setEnabledParameters(parameters);
58
+ this->numParameters_ = this->solverFunction_->getNumParameters();
59
+ }
60
+
61
+ void iter() {
62
+ doIteration();
63
+ this->iteration_++;
64
+ }
65
+
66
+ void init() {
67
+ this->iteration_ = 0;
68
+ initializeSolver();
69
+ }
70
+
71
+ Eigen::VectorX<T> getP() {
72
+ return this->parameters_;
73
+ }
74
+
75
+ protected:
76
+ void doIteration() final;
77
+ void initializeSolver() final;
78
+
79
+ private:
80
+ static double processPerFrameErrors_parallel(
81
+ SequenceSolverFunctionT<T>* fn,
82
+ OnlineBandedHouseholderQR<T>& qrSolver,
83
+ ProgressBar* progress);
84
+ static double processPerFrameErrors_serial(
85
+ SequenceSolverFunctionT<T>* fn,
86
+ OnlineBandedHouseholderQR<T>& qrSolver,
87
+ ProgressBar* progress);
88
+
89
+ static double processSequenceErrors_serial(
90
+ SequenceSolverFunctionT<T>* fn,
91
+ OnlineBandedHouseholderQR<T>& qrSolver,
92
+ ProgressBar* progress);
93
+
94
+ struct UniversalJacobianResid {
95
+ size_t frameIndex = SIZE_MAX;
96
+ Eigen::MatrixX<T> jacobian;
97
+ Eigen::VectorX<T> residual;
98
+ double error;
99
+ size_t nFunctions;
100
+
101
+ bool operator<(const UniversalJacobianResid& rhs) const {
102
+ return frameIndex < rhs.frameIndex;
103
+ }
104
+
105
+ bool operator>(const UniversalJacobianResid& rhs) const {
106
+ return frameIndex > rhs.frameIndex;
107
+ }
108
+ };
109
+
110
+ // Here, the processJac function computes the Jacobian/residual, applies it to the banded
111
+ // part of the matrix, and then returns the universal part.
112
+ static double processErrorFunctions_parallel(
113
+ const std::function<UniversalJacobianResid(
114
+ size_t,
115
+ SequenceSolverFunctionT<T>*,
116
+ OnlineBandedHouseholderQR<T>&)>& processJac,
117
+ SequenceSolverFunctionT<T>* fn,
118
+ OnlineBandedHouseholderQR<T>& qrSolver,
119
+ ProgressBar* progress);
120
+
121
+ // Returns the [Jacobian, residual, error] for all the error functions applying to a single frame:
122
+ static std::tuple<Eigen::MatrixX<T>, Eigen::VectorX<T>, double, size_t> computePerFrameJacobian(
123
+ SequenceSolverFunctionT<T>* fn,
124
+ size_t iFrame);
125
+
126
+ // Returns the [Jacobian, residual, error] for all the sequence error functions starting from a
127
+ // single frame:
128
+ static std::tuple<Eigen::MatrixX<T>, Eigen::VectorX<T>, double, size_t>
129
+ computeSequenceJacobian(SequenceSolverFunctionT<T>* fn, size_t iFrame, size_t bandwidth);
130
+
131
+ static std::vector<Eigen::Index> buildSequenceColumnIndices(
132
+ const SequenceSolverFunctionT<T>* fn,
133
+ size_t bandwidth);
134
+
135
+ float regularization_ = 0.05f;
136
+ bool doLineSearch_ = false;
137
+ bool multithreaded_ = false;
138
+ bool progressBar_ = false;
139
+
140
+ // bandwidth in frames:
141
+ size_t bandwidth_ = 0;
142
+ };
143
+
144
+ } // namespace momentum