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,461 @@
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 <bitset>
11
+ #include <cstdint>
12
+
13
+ //------------------------------------------------------------------------------
14
+ // Momentum specific Eigen defines
15
+ //------------------------------------------------------------------------------
16
+
17
+ #ifdef _MSC_VER
18
+ #pragma warning(push)
19
+ #pragma warning(disable : 4456) // hidden local declaration
20
+ #pragma warning(disable : 4702) // unreachable code
21
+ #endif
22
+ #include <Eigen/Core>
23
+ #include <Eigen/Geometry>
24
+ #include <Eigen/Sparse>
25
+ #ifdef _MSC_VER
26
+ #pragma warning(pop)
27
+ #endif
28
+
29
+ #include <gsl/gsl>
30
+
31
+ //------------------------------------------------------------------------------
32
+ // Define some additional Eigen types
33
+ //------------------------------------------------------------------------------
34
+
35
+ namespace Eigen {
36
+ using Vector3b = Vector3<uint8_t>;
37
+ }
38
+
39
+ namespace momentum {
40
+
41
+ inline constexpr int Dynamic = Eigen::Dynamic;
42
+
43
+ template <class T>
44
+ using Map = Eigen::Map<T>;
45
+
46
+ template <class T>
47
+ using Ref = Eigen::Ref<T>;
48
+
49
+ template <typename Scalar, int Dim>
50
+ using Line = Eigen::ParametrizedLine<Scalar, Dim>;
51
+
52
+ template <typename Scalar, int Dim>
53
+ using Plane = Eigen::Hyperplane<Scalar, Dim>;
54
+
55
+ template <typename Scalar, int Dim>
56
+ using Box = Eigen::AlignedBox<Scalar, Dim>;
57
+
58
+ template <int Dim>
59
+ using Boxf = Eigen::AlignedBox<float, Dim>;
60
+
61
+ template <int Dim>
62
+ using Boxd = Eigen::AlignedBox<double, Dim>;
63
+
64
+ template <int Dim>
65
+ using Boxi = Eigen::AlignedBox<std::int32_t, Dim>;
66
+
67
+ template <typename T>
68
+ using Box2 = Eigen::AlignedBox<T, 2>;
69
+ template <typename T>
70
+ using Box3 = Eigen::AlignedBox<T, 3>;
71
+
72
+ using Box2f = Box2<float>;
73
+ using Box3f = Box3<float>;
74
+
75
+ using Box2d = Box2<double>;
76
+ using Box3d = Box3<double>;
77
+
78
+ using Box2i = Box2<std::int32_t>;
79
+ using Box3i = Box3<std::int32_t>;
80
+
81
+ template <typename T>
82
+ using MatrixX = Eigen::Matrix<T, Dynamic, Dynamic>;
83
+
84
+ using MatrixXf = MatrixX<float>;
85
+ using MatrixXd = MatrixX<double>;
86
+ using MatrixXb = MatrixX<std::uint8_t>;
87
+ using MatrixXs = MatrixX<std::uint16_t>;
88
+ using MatrixXu = MatrixX<std::uint32_t>;
89
+ using MatrixXi = MatrixX<std::int32_t>;
90
+
91
+ template <typename T>
92
+ using Matrix0 = Eigen::Matrix<T, 0, 0>;
93
+ template <typename T>
94
+ using Matrix1 = Eigen::Matrix<T, 1, 1>;
95
+ template <typename T>
96
+ using Matrix2 = Eigen::Matrix<T, 2, 2>;
97
+ template <typename T>
98
+ using Matrix3 = Eigen::Matrix<T, 3, 3>;
99
+ template <typename T>
100
+ using Matrix4 = Eigen::Matrix<T, 4, 4>;
101
+ template <typename T>
102
+ using Matrix5 = Eigen::Matrix<T, 5, 5>;
103
+ template <typename T>
104
+ using Matrix6 = Eigen::Matrix<T, 6, 6>;
105
+
106
+ using Matrix0f = Matrix0<float>;
107
+ using Matrix1f = Matrix1<float>;
108
+ using Matrix2f = Matrix2<float>;
109
+ using Matrix3f = Matrix3<float>;
110
+ using Matrix4f = Matrix4<float>;
111
+ using Matrix5f = Matrix5<float>;
112
+ using Matrix6f = Matrix6<float>;
113
+
114
+ using Matrix0d = Matrix0<double>;
115
+ using Matrix1d = Matrix1<double>;
116
+ using Matrix2d = Matrix2<double>;
117
+ using Matrix3d = Matrix3<double>;
118
+ using Matrix4d = Matrix4<double>;
119
+ using Matrix5d = Matrix5<double>;
120
+ using Matrix6d = Matrix6<double>;
121
+
122
+ using Matrix0b = Matrix0<std::uint8_t>;
123
+ using Matrix1b = Matrix1<std::uint8_t>;
124
+ using Matrix2b = Matrix2<std::uint8_t>;
125
+ using Matrix3b = Matrix3<std::uint8_t>;
126
+ using Matrix4b = Matrix4<std::uint8_t>;
127
+ using Matrix5b = Matrix5<std::uint8_t>;
128
+ using Matrix6b = Matrix6<std::uint8_t>;
129
+
130
+ using Matrix0s = Matrix0<std::uint16_t>;
131
+ using Matrix1s = Matrix1<std::uint16_t>;
132
+ using Matrix2s = Matrix2<std::uint16_t>;
133
+ using Matrix3s = Matrix3<std::uint16_t>;
134
+ using Matrix4s = Matrix4<std::uint16_t>;
135
+ using Matrix5s = Matrix5<std::uint16_t>;
136
+ using Matrix6s = Matrix6<std::uint16_t>;
137
+
138
+ using Matrix0u = Matrix0<std::uint32_t>;
139
+ using Matrix1u = Matrix1<std::uint32_t>;
140
+ using Matrix2u = Matrix2<std::uint32_t>;
141
+ using Matrix3u = Matrix3<std::uint32_t>;
142
+ using Matrix4u = Matrix4<std::uint32_t>;
143
+ using Matrix5u = Matrix5<std::uint32_t>;
144
+ using Matrix6u = Matrix6<std::uint32_t>;
145
+
146
+ using Matrix0i = Matrix0<std::int32_t>;
147
+ using Matrix1i = Matrix1<std::int32_t>;
148
+ using Matrix2i = Matrix2<std::int32_t>;
149
+ using Matrix3i = Matrix3<std::int32_t>;
150
+ using Matrix4i = Matrix4<std::int32_t>;
151
+ using Matrix5i = Matrix5<std::int32_t>;
152
+ using Matrix6i = Matrix6<std::int32_t>;
153
+
154
+ template <typename T>
155
+ using Matrix3X = Eigen::Matrix<T, 3, Dynamic>;
156
+ using Matrix3Xf = Matrix3X<float>;
157
+ using Matrix3Xd = Matrix3X<double>;
158
+ using Matrix3Xb = Matrix3X<std::uint8_t>;
159
+ using Matrix3Xs = Matrix3X<std::uint16_t>;
160
+ using Matrix3Xu = Matrix3X<std::uint32_t>;
161
+ using Matrix3Xi = Matrix3X<std::int32_t>;
162
+
163
+ template <typename T>
164
+ using MatrixX3 = Eigen::Matrix<T, Dynamic, 3>;
165
+ using MatrixX3f = MatrixX3<float>;
166
+ using MatrixX3d = MatrixX3<double>;
167
+ using MatrixX3b = MatrixX3<std::uint8_t>;
168
+ using MatrixX3s = MatrixX3<std::uint16_t>;
169
+ using MatrixX3u = MatrixX3<std::uint32_t>;
170
+ using MatrixX3i = MatrixX3<std::int32_t>;
171
+
172
+ template <typename T, int N, int M = N>
173
+ using RowMatrix = Eigen::Matrix<T, N, M, Eigen::RowMajor>;
174
+ template <typename T>
175
+ using RowMatrixX = RowMatrix<T, Dynamic>;
176
+
177
+ template <typename T>
178
+ using SparseMatrix = Eigen::SparseMatrix<T>;
179
+ using SparseMatrixf = SparseMatrix<float>;
180
+ using SparseMatrixd = SparseMatrix<double>;
181
+ using SparseMatrixb = SparseMatrix<std::uint8_t>;
182
+ using SparseMatrixs = SparseMatrix<std::uint16_t>;
183
+ using SparseMatrixu = SparseMatrix<std::uint32_t>;
184
+ using SparseMatrixi = SparseMatrix<std::int32_t>;
185
+
186
+ template <typename T>
187
+ using SparseRowMatrix = Eigen::SparseMatrix<T, Eigen::RowMajor>;
188
+ using SparseRowMatrixf = SparseRowMatrix<float>;
189
+ using SparseRowMatrixd = SparseRowMatrix<double>;
190
+ using SparseRowMatrixb = SparseRowMatrix<std::uint8_t>;
191
+ using SparseRowMatrixs = SparseRowMatrix<std::uint16_t>;
192
+ using SparseRowMatrixu = SparseRowMatrix<std::uint32_t>;
193
+ using SparseRowMatrixi = SparseRowMatrix<std::int32_t>;
194
+
195
+ template <typename T, int Dim, int Options = 0>
196
+ using Vector = Eigen::Matrix<T, Dim, 1, Options>;
197
+
198
+ template <typename T>
199
+ using VectorX = Vector<T, Dynamic>;
200
+
201
+ using VectorXf = VectorX<float>;
202
+ using VectorXd = VectorX<double>;
203
+ using VectorXb = VectorX<std::uint8_t>;
204
+ using VectorXs = VectorX<std::uint16_t>;
205
+ using VectorXu = VectorX<std::uint32_t>;
206
+ using VectorXi = VectorX<std::int32_t>;
207
+
208
+ template <int Dim>
209
+ using Vectorf = Vector<float, Dim>;
210
+ template <int Dim>
211
+ using Vectord = Vector<double, Dim>;
212
+ template <int Dim>
213
+ using Vectorb = Vector<std::uint8_t, Dim>;
214
+ template <int Dim>
215
+ using Vectors = Vector<std::uint16_t, Dim>;
216
+ template <int Dim>
217
+ using Vectoru = Vector<std::uint32_t, Dim>;
218
+ template <int Dim>
219
+ using Vectori = Vector<std::int32_t, Dim>;
220
+
221
+ template <typename T>
222
+ using Vector0 = Vector<T, 0>;
223
+ template <typename T>
224
+ using Vector1 = Vector<T, 1>;
225
+ template <typename T>
226
+ using Vector2 = Vector<T, 2>;
227
+ template <typename T>
228
+ using Vector3 = Vector<T, 3>;
229
+ template <typename T>
230
+ using Vector4 = Vector<T, 4>;
231
+ template <typename T>
232
+ using Vector5 = Vector<T, 5>;
233
+ template <typename T>
234
+ using Vector6 = Vector<T, 6>;
235
+ template <typename T>
236
+ using Vector7 = Vector<T, 7>;
237
+ template <typename T>
238
+ using Vector8 = Vector<T, 8>;
239
+
240
+ using Vector0f = Vector0<float>;
241
+ using Vector1f = Vector1<float>;
242
+ using Vector2f = Vector2<float>;
243
+ using Vector3f = Vector3<float>;
244
+ using Vector4f = Vector4<float>;
245
+ using Vector5f = Vector5<float>;
246
+ using Vector6f = Vector6<float>;
247
+ using Vector7f = Vector7<float>;
248
+ using Vector8f = Vector8<float>;
249
+
250
+ using Vector0d = Vector0<double>;
251
+ using Vector1d = Vector1<double>;
252
+ using Vector2d = Vector2<double>;
253
+ using Vector3d = Vector3<double>;
254
+ using Vector4d = Vector4<double>;
255
+ using Vector5d = Vector5<double>;
256
+ using Vector6d = Vector6<double>;
257
+
258
+ using Vector0b = Vector0<std::uint8_t>;
259
+ using Vector1b = Vector1<std::uint8_t>;
260
+ using Vector2b = Vector2<std::uint8_t>;
261
+ using Vector3b = Vector3<std::uint8_t>;
262
+ using Vector4b = Vector4<std::uint8_t>;
263
+ using Vector5b = Vector5<std::uint8_t>;
264
+ using Vector6b = Vector6<std::uint8_t>;
265
+
266
+ using Vector0s = Vector0<std::uint16_t>;
267
+ using Vector1s = Vector1<std::uint16_t>;
268
+ using Vector2s = Vector2<std::uint16_t>;
269
+ using Vector3s = Vector3<std::uint16_t>;
270
+ using Vector4s = Vector4<std::uint16_t>;
271
+ using Vector5s = Vector5<std::uint16_t>;
272
+ using Vector6s = Vector6<std::uint16_t>;
273
+
274
+ using Vector0u = Vector0<std::uint32_t>;
275
+ using Vector1u = Vector1<std::uint32_t>;
276
+ using Vector2u = Vector2<std::uint32_t>;
277
+ using Vector3u = Vector3<std::uint32_t>;
278
+ using Vector4u = Vector4<std::uint32_t>;
279
+ using Vector5u = Vector5<std::uint32_t>;
280
+ using Vector6u = Vector6<std::uint32_t>;
281
+
282
+ using Vector0i = Vector0<std::int32_t>;
283
+ using Vector1i = Vector1<std::int32_t>;
284
+ using Vector2i = Vector2<std::int32_t>;
285
+ using Vector3i = Vector3<std::int32_t>;
286
+ using Vector4i = Vector4<std::int32_t>;
287
+ using Vector5i = Vector5<std::int32_t>;
288
+ using Vector6i = Vector6<std::int32_t>;
289
+
290
+ template <typename T, int Dim>
291
+ using RowVector = Eigen::Matrix<T, 1, Dim>;
292
+ template <typename T>
293
+ using RowVectorX = RowVector<T, Dynamic>;
294
+
295
+ using RowVectorXf = RowVectorX<float>;
296
+ using RowVectorXd = RowVectorX<double>;
297
+ using RowVectorXb = RowVectorX<std::uint8_t>;
298
+ using RowVectorXs = RowVectorX<std::uint16_t>;
299
+ using RowVectorXu = RowVectorX<std::uint32_t>;
300
+ using RowVectorXi = RowVectorX<std::int32_t>;
301
+
302
+ template <typename T>
303
+ using RowVector0 = RowVector<T, 0>;
304
+ template <typename T>
305
+ using RowVector1 = RowVector<T, 1>;
306
+ template <typename T>
307
+ using RowVector2 = RowVector<T, 2>;
308
+ template <typename T>
309
+ using RowVector3 = RowVector<T, 3>;
310
+ template <typename T>
311
+ using RowVector4 = RowVector<T, 4>;
312
+ template <typename T>
313
+ using RowVector5 = RowVector<T, 5>;
314
+ template <typename T>
315
+ using RowVector6 = RowVector<T, 6>;
316
+
317
+ using RowVector0f = RowVector0<float>;
318
+ using RowVector1f = RowVector1<float>;
319
+ using RowVector2f = RowVector2<float>;
320
+ using RowVector3f = RowVector3<float>;
321
+ using RowVector4f = RowVector4<float>;
322
+ using RowVector5f = RowVector5<float>;
323
+ using RowVector6f = RowVector6<float>;
324
+
325
+ using RowVector0d = RowVector0<double>;
326
+ using RowVector1d = RowVector1<double>;
327
+ using RowVector2d = RowVector2<double>;
328
+ using RowVector3d = RowVector3<double>;
329
+ using RowVector4d = RowVector4<double>;
330
+ using RowVector5d = RowVector5<double>;
331
+ using RowVector6d = RowVector6<double>;
332
+
333
+ using RowVector0b = RowVector0<std::uint8_t>;
334
+ using RowVector1b = RowVector1<std::uint8_t>;
335
+ using RowVector2b = RowVector2<std::uint8_t>;
336
+ using RowVector3b = RowVector3<std::uint8_t>;
337
+ using RowVector4b = RowVector4<std::uint8_t>;
338
+ using RowVector5b = RowVector5<std::uint8_t>;
339
+ using RowVector6b = RowVector6<std::uint8_t>;
340
+
341
+ using RowVector0s = RowVector0<std::uint16_t>;
342
+ using RowVector1s = RowVector1<std::uint16_t>;
343
+ using RowVector2s = RowVector2<std::uint16_t>;
344
+ using RowVector3s = RowVector3<std::uint16_t>;
345
+ using RowVector4s = RowVector4<std::uint16_t>;
346
+ using RowVector5s = RowVector5<std::uint16_t>;
347
+ using RowVector6s = RowVector6<std::uint16_t>;
348
+
349
+ using RowVector0u = RowVector0<std::uint32_t>;
350
+ using RowVector1u = RowVector1<std::uint32_t>;
351
+ using RowVector2u = RowVector2<std::uint32_t>;
352
+ using RowVector3u = RowVector3<std::uint32_t>;
353
+ using RowVector4u = RowVector4<std::uint32_t>;
354
+ using RowVector5u = RowVector5<std::uint32_t>;
355
+ using RowVector6u = RowVector6<std::uint32_t>;
356
+
357
+ using RowVector0i = RowVector0<std::int32_t>;
358
+ using RowVector1i = RowVector1<std::int32_t>;
359
+ using RowVector2i = RowVector2<std::int32_t>;
360
+ using RowVector3i = RowVector3<std::int32_t>;
361
+ using RowVector4i = RowVector4<std::int32_t>;
362
+ using RowVector5i = RowVector5<std::int32_t>;
363
+ using RowVector6i = RowVector6<std::int32_t>;
364
+
365
+ template <typename T>
366
+ using AngleAxis = Eigen::AngleAxis<T>;
367
+ using AngleAxisf = AngleAxis<float>;
368
+ using AngleAxisd = AngleAxis<double>;
369
+
370
+ template <typename T>
371
+ using Quaternion = Eigen::Quaternion<T>;
372
+ using Quaternionf = Quaternion<float>;
373
+ using Quaterniond = Quaternion<double>;
374
+
375
+ template <typename T>
376
+ using Translation3 = Eigen::Translation<T, 3>;
377
+ using Translation3f = Translation3<float>;
378
+ using Translation3d = Translation3<double>;
379
+
380
+ template <typename T>
381
+ using Isometry3 = Eigen::Transform<T, 3, Eigen::Isometry>;
382
+ using Isometry3f = Isometry3<float>;
383
+ using Isometry3d = Isometry3<double>;
384
+
385
+ template <typename T>
386
+ using Affine3 = Eigen::Transform<T, 3, Eigen::Affine>;
387
+ using Affine3f = Affine3<float>;
388
+ using Affine3d = Affine3<double>;
389
+
390
+ // Some aligned arrays
391
+ using TransformationList = std::vector<Affine3f>;
392
+ template <typename T>
393
+ using TransformationListT = std::vector<Affine3<T>>;
394
+
395
+ using VertexArray = Matrix3Xf;
396
+ using NormalArray = Matrix3Xf;
397
+ using TriangleArray = Matrix3Xi;
398
+ using ColorArray = Matrix3Xb;
399
+
400
+ // define a parameter set
401
+ constexpr size_t kMaxModelParams = 2048; // at most 2048 parameters per frame
402
+ using ParameterSet = std::bitset<kMaxModelParams>;
403
+
404
+ /// @brief A utility struct that facilitates the deduction of a `gsl::span` type from a given type.
405
+ ///
406
+ /// This utility is particularly useful when a function accepts a `gsl::span<Vector3<T>>` as an
407
+ /// argument, where the template argument of `gsl::span` is also a template. In such cases, direct
408
+ /// deduction of the `gsl::span` type from other container types (e.g., `std::vector<Vector3<T>>`)
409
+ /// at the call site may fail.
410
+ ///
411
+ /// By using this utility, the appropriate `gsl::span` type can be deduced automatically, ensuring
412
+ /// smoother function calls and enhancing code readability.
413
+ ///
414
+ /// Example usage:
415
+ /// @code
416
+ /// void foo(DeduceSpanType<Vector3f>::type points); // Equivalent to gsl::span<Vector3f>
417
+ ///
418
+ /// std::vector<Vector3f> points;
419
+ /// foo(points); // This line will compile without any issues.
420
+ /// @endcode
421
+ ///
422
+ /// @note The `gsl::span` generated by this utility gives a mutable view into the sequence. If an
423
+ /// immutable view is needed, consider using `gsl::span<const T>` instead.
424
+ template <typename T>
425
+ struct DeduceSpanType {
426
+ using type = gsl::span<T>;
427
+ };
428
+
429
+ /// Casts the scalar type of objects in a container that support the `cast<>()` method.
430
+ ///
431
+ /// @tparam OtherScalar The target scalar type for the cast.
432
+ /// @tparam ContainerType The type of the container.
433
+ /// @tparam ObjectType The type of the objects in the original container.
434
+ /// @param originalContainer A container of objects.
435
+ /// @return A new container with objects of the scalar type casted to `OtherScalar`. If
436
+ /// `OtherScalar` matches the original type, the original container is returned.
437
+ template <typename OtherScalar, template <typename...> class ContainerType, typename ObjectType>
438
+ [[nodiscard]] decltype(auto) cast(const ContainerType<ObjectType>& originalContainer) {
439
+ // Check for Scalar typedef
440
+ using Scalar = typename ObjectType::Scalar;
441
+
442
+ if constexpr (std::is_same_v<OtherScalar, Scalar>) {
443
+ return originalContainer;
444
+ } else {
445
+ using CastedType = std::remove_const_t<
446
+ std::remove_reference_t<decltype(std::declval<ObjectType>().template cast<OtherScalar>())>>;
447
+
448
+ ContainerType<CastedType> castedContainer;
449
+ castedContainer.reserve(originalContainer.size()); // Optional, for performance
450
+
451
+ std::transform(
452
+ originalContainer.begin(),
453
+ originalContainer.end(),
454
+ std::back_inserter(castedContainer),
455
+ [](const ObjectType& item) { return item.template cast<OtherScalar>(); });
456
+
457
+ return castedContainer;
458
+ }
459
+ }
460
+
461
+ } // namespace momentum