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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (517) hide show
  1. include/axel/BoundingBox.h +59 -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 +87 -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 +208 -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 +97 -0
  30. include/momentum/character/blend_shape_base.h +86 -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 +94 -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 +207 -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 +227 -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 +155 -0
  61. include/momentum/character_sequence_solver/sequence_solver_function.h +158 -0
  62. include/momentum/character_sequence_solver/state_sequence_error_function.h +117 -0
  63. include/momentum/character_sequence_solver/vertex_sequence_error_function.h +123 -0
  64. include/momentum/character_solver/aim_error_function.h +112 -0
  65. include/momentum/character_solver/collision_error_function.h +92 -0
  66. include/momentum/character_solver/collision_error_function_stateless.h +75 -0
  67. include/momentum/character_solver/constraint_error_function-inl.h +324 -0
  68. include/momentum/character_solver/constraint_error_function.h +248 -0
  69. include/momentum/character_solver/distance_error_function.h +77 -0
  70. include/momentum/character_solver/error_function_utils.h +60 -0
  71. include/momentum/character_solver/fixed_axis_error_function.h +139 -0
  72. include/momentum/character_solver/fwd.h +943 -0
  73. include/momentum/character_solver/gauss_newton_solver_qr.h +64 -0
  74. include/momentum/character_solver/height_error_function.h +176 -0
  75. include/momentum/character_solver/joint_to_joint_distance_error_function.h +111 -0
  76. include/momentum/character_solver/limit_error_function.h +57 -0
  77. include/momentum/character_solver/model_parameters_error_function.h +64 -0
  78. include/momentum/character_solver/normal_error_function.h +73 -0
  79. include/momentum/character_solver/orientation_error_function.h +74 -0
  80. include/momentum/character_solver/plane_error_function.h +102 -0
  81. include/momentum/character_solver/point_triangle_vertex_error_function.h +141 -0
  82. include/momentum/character_solver/pose_prior_error_function.h +80 -0
  83. include/momentum/character_solver/position_error_function.h +75 -0
  84. include/momentum/character_solver/projection_error_function.h +93 -0
  85. include/momentum/character_solver/simd_collision_error_function.h +99 -0
  86. include/momentum/character_solver/simd_normal_error_function.h +157 -0
  87. include/momentum/character_solver/simd_plane_error_function.h +164 -0
  88. include/momentum/character_solver/simd_position_error_function.h +165 -0
  89. include/momentum/character_solver/skeleton_error_function.h +151 -0
  90. include/momentum/character_solver/skeleton_solver_function.h +94 -0
  91. include/momentum/character_solver/skinned_locator_error_function.h +166 -0
  92. include/momentum/character_solver/skinned_locator_triangle_error_function.h +146 -0
  93. include/momentum/character_solver/skinning_weight_iterator.h +80 -0
  94. include/momentum/character_solver/state_error_function.h +119 -0
  95. include/momentum/character_solver/transform_pose.h +80 -0
  96. include/momentum/character_solver/trust_region_qr.h +80 -0
  97. include/momentum/character_solver/vertex_error_function.h +155 -0
  98. include/momentum/character_solver/vertex_projection_error_function.h +117 -0
  99. include/momentum/character_solver/vertex_vertex_distance_error_function.h +147 -0
  100. include/momentum/common/aligned.h +155 -0
  101. include/momentum/common/checks.h +27 -0
  102. include/momentum/common/exception.h +70 -0
  103. include/momentum/common/filesystem.h +20 -0
  104. include/momentum/common/fwd.h +27 -0
  105. include/momentum/common/log.h +173 -0
  106. include/momentum/common/log_channel.h +17 -0
  107. include/momentum/common/memory.h +71 -0
  108. include/momentum/common/profile.h +79 -0
  109. include/momentum/common/progress_bar.h +37 -0
  110. include/momentum/common/string.h +52 -0
  111. include/momentum/diff_ik/ceres_utility.h +73 -0
  112. include/momentum/diff_ik/fully_differentiable_body_ik.h +58 -0
  113. include/momentum/diff_ik/fully_differentiable_distance_error_function.h +69 -0
  114. include/momentum/diff_ik/fully_differentiable_motion_error_function.h +46 -0
  115. include/momentum/diff_ik/fully_differentiable_orientation_error_function.h +114 -0
  116. include/momentum/diff_ik/fully_differentiable_pose_prior_error_function.h +76 -0
  117. include/momentum/diff_ik/fully_differentiable_position_error_function.h +138 -0
  118. include/momentum/diff_ik/fully_differentiable_projection_error_function.h +65 -0
  119. include/momentum/diff_ik/fully_differentiable_skeleton_error_function.h +160 -0
  120. include/momentum/diff_ik/fully_differentiable_state_error_function.h +54 -0
  121. include/momentum/diff_ik/fwd.h +385 -0
  122. include/momentum/diff_ik/union_error_function.h +67 -0
  123. include/momentum/gui/rerun/eigen_adapters.h +70 -0
  124. include/momentum/gui/rerun/logger.h +102 -0
  125. include/momentum/gui/rerun/logging_redirect.h +27 -0
  126. include/momentum/io/character_io.h +98 -0
  127. include/momentum/io/common/gsl_utils.h +50 -0
  128. include/momentum/io/common/stream_utils.h +65 -0
  129. include/momentum/io/fbx/fbx_io.h +135 -0
  130. include/momentum/io/fbx/fbx_memory_stream.h +70 -0
  131. include/momentum/io/fbx/openfbx_loader.h +62 -0
  132. include/momentum/io/fbx/polygon_data.h +60 -0
  133. include/momentum/io/file_save_options.h +107 -0
  134. include/momentum/io/gltf/gltf_builder.h +141 -0
  135. include/momentum/io/gltf/gltf_io.h +149 -0
  136. include/momentum/io/gltf/utils/accessor_utils.h +299 -0
  137. include/momentum/io/gltf/utils/coordinate_utils.h +60 -0
  138. include/momentum/io/gltf/utils/json_utils.h +102 -0
  139. include/momentum/io/legacy_json/legacy_json_io.h +70 -0
  140. include/momentum/io/marker/c3d_io.h +30 -0
  141. include/momentum/io/marker/conversions.h +57 -0
  142. include/momentum/io/marker/coordinate_system.h +30 -0
  143. include/momentum/io/marker/marker_io.h +56 -0
  144. include/momentum/io/marker/trc_io.h +27 -0
  145. include/momentum/io/motion/mmo_io.h +97 -0
  146. include/momentum/io/shape/blend_shape_io.h +82 -0
  147. include/momentum/io/shape/pose_shape_io.h +21 -0
  148. include/momentum/io/skeleton/locator_io.h +41 -0
  149. include/momentum/io/skeleton/mppca_io.h +26 -0
  150. include/momentum/io/skeleton/parameter_limits_io.h +38 -0
  151. include/momentum/io/skeleton/parameter_transform_io.h +80 -0
  152. include/momentum/io/skeleton/parameters_io.h +20 -0
  153. include/momentum/io/skeleton/utility.h +67 -0
  154. include/momentum/io/urdf/urdf_io.h +26 -0
  155. include/momentum/io/usd/usd_io.h +36 -0
  156. include/momentum/marker_tracking/app_utils.h +64 -0
  157. include/momentum/marker_tracking/marker_tracker.h +221 -0
  158. include/momentum/marker_tracking/process_markers.h +58 -0
  159. include/momentum/marker_tracking/tracker_utils.h +99 -0
  160. include/momentum/math/constants.h +82 -0
  161. include/momentum/math/covariance_matrix.h +84 -0
  162. include/momentum/math/fmt_eigen.h +23 -0
  163. include/momentum/math/fwd.h +132 -0
  164. include/momentum/math/generalized_loss.h +61 -0
  165. include/momentum/math/intersection.h +32 -0
  166. include/momentum/math/mesh.h +84 -0
  167. include/momentum/math/mppca.h +67 -0
  168. include/momentum/math/online_householder_qr.h +516 -0
  169. include/momentum/math/random-inl.h +404 -0
  170. include/momentum/math/random.h +310 -0
  171. include/momentum/math/simd_generalized_loss.h +40 -0
  172. include/momentum/math/transform.h +229 -0
  173. include/momentum/math/types.h +461 -0
  174. include/momentum/math/utility.h +324 -0
  175. include/momentum/rasterizer/camera.h +453 -0
  176. include/momentum/rasterizer/fwd.h +102 -0
  177. include/momentum/rasterizer/geometry.h +83 -0
  178. include/momentum/rasterizer/image.h +18 -0
  179. include/momentum/rasterizer/rasterizer.h +583 -0
  180. include/momentum/rasterizer/tensor.h +140 -0
  181. include/momentum/rasterizer/text_rasterizer.h +89 -0
  182. include/momentum/rasterizer/utility.h +268 -0
  183. include/momentum/simd/simd.h +221 -0
  184. include/momentum/solver/fwd.h +131 -0
  185. include/momentum/solver/gauss_newton_solver.h +136 -0
  186. include/momentum/solver/gradient_descent_solver.h +65 -0
  187. include/momentum/solver/solver.h +155 -0
  188. include/momentum/solver/solver_function.h +126 -0
  189. include/momentum/solver/subset_gauss_newton_solver.h +109 -0
  190. include/rerun/archetypes/annotation_context.hpp +157 -0
  191. include/rerun/archetypes/arrows2d.hpp +271 -0
  192. include/rerun/archetypes/arrows3d.hpp +257 -0
  193. include/rerun/archetypes/asset3d.hpp +262 -0
  194. include/rerun/archetypes/asset_video.hpp +275 -0
  195. include/rerun/archetypes/bar_chart.hpp +261 -0
  196. include/rerun/archetypes/boxes2d.hpp +293 -0
  197. include/rerun/archetypes/boxes3d.hpp +369 -0
  198. include/rerun/archetypes/capsules3d.hpp +333 -0
  199. include/rerun/archetypes/clear.hpp +180 -0
  200. include/rerun/archetypes/depth_image.hpp +425 -0
  201. include/rerun/archetypes/ellipsoids3d.hpp +384 -0
  202. include/rerun/archetypes/encoded_image.hpp +250 -0
  203. include/rerun/archetypes/geo_line_strings.hpp +166 -0
  204. include/rerun/archetypes/geo_points.hpp +177 -0
  205. include/rerun/archetypes/graph_edges.hpp +152 -0
  206. include/rerun/archetypes/graph_nodes.hpp +206 -0
  207. include/rerun/archetypes/image.hpp +434 -0
  208. include/rerun/archetypes/instance_poses3d.hpp +221 -0
  209. include/rerun/archetypes/line_strips2d.hpp +289 -0
  210. include/rerun/archetypes/line_strips3d.hpp +270 -0
  211. include/rerun/archetypes/mesh3d.hpp +387 -0
  212. include/rerun/archetypes/pinhole.hpp +385 -0
  213. include/rerun/archetypes/points2d.hpp +333 -0
  214. include/rerun/archetypes/points3d.hpp +369 -0
  215. include/rerun/archetypes/recording_properties.hpp +132 -0
  216. include/rerun/archetypes/scalar.hpp +170 -0
  217. include/rerun/archetypes/scalars.hpp +153 -0
  218. include/rerun/archetypes/segmentation_image.hpp +305 -0
  219. include/rerun/archetypes/series_line.hpp +274 -0
  220. include/rerun/archetypes/series_lines.hpp +271 -0
  221. include/rerun/archetypes/series_point.hpp +265 -0
  222. include/rerun/archetypes/series_points.hpp +251 -0
  223. include/rerun/archetypes/tensor.hpp +213 -0
  224. include/rerun/archetypes/text_document.hpp +200 -0
  225. include/rerun/archetypes/text_log.hpp +211 -0
  226. include/rerun/archetypes/transform3d.hpp +925 -0
  227. include/rerun/archetypes/video_frame_reference.hpp +295 -0
  228. include/rerun/archetypes/view_coordinates.hpp +393 -0
  229. include/rerun/archetypes.hpp +43 -0
  230. include/rerun/arrow_utils.hpp +32 -0
  231. include/rerun/as_components.hpp +90 -0
  232. include/rerun/blueprint/archetypes/background.hpp +113 -0
  233. include/rerun/blueprint/archetypes/container_blueprint.hpp +259 -0
  234. include/rerun/blueprint/archetypes/dataframe_query.hpp +178 -0
  235. include/rerun/blueprint/archetypes/entity_behavior.hpp +130 -0
  236. include/rerun/blueprint/archetypes/force_center.hpp +115 -0
  237. include/rerun/blueprint/archetypes/force_collision_radius.hpp +141 -0
  238. include/rerun/blueprint/archetypes/force_link.hpp +136 -0
  239. include/rerun/blueprint/archetypes/force_many_body.hpp +124 -0
  240. include/rerun/blueprint/archetypes/force_position.hpp +132 -0
  241. include/rerun/blueprint/archetypes/line_grid3d.hpp +178 -0
  242. include/rerun/blueprint/archetypes/map_background.hpp +104 -0
  243. include/rerun/blueprint/archetypes/map_zoom.hpp +103 -0
  244. include/rerun/blueprint/archetypes/near_clip_plane.hpp +109 -0
  245. include/rerun/blueprint/archetypes/panel_blueprint.hpp +95 -0
  246. include/rerun/blueprint/archetypes/plot_legend.hpp +118 -0
  247. include/rerun/blueprint/archetypes/scalar_axis.hpp +116 -0
  248. include/rerun/blueprint/archetypes/tensor_scalar_mapping.hpp +146 -0
  249. include/rerun/blueprint/archetypes/tensor_slice_selection.hpp +167 -0
  250. include/rerun/blueprint/archetypes/tensor_view_fit.hpp +95 -0
  251. include/rerun/blueprint/archetypes/view_blueprint.hpp +170 -0
  252. include/rerun/blueprint/archetypes/view_contents.hpp +142 -0
  253. include/rerun/blueprint/archetypes/viewport_blueprint.hpp +200 -0
  254. include/rerun/blueprint/archetypes/visible_time_ranges.hpp +116 -0
  255. include/rerun/blueprint/archetypes/visual_bounds2d.hpp +109 -0
  256. include/rerun/blueprint/archetypes/visualizer_overrides.hpp +113 -0
  257. include/rerun/blueprint/archetypes.hpp +29 -0
  258. include/rerun/blueprint/components/active_tab.hpp +82 -0
  259. include/rerun/blueprint/components/apply_latest_at.hpp +79 -0
  260. include/rerun/blueprint/components/auto_layout.hpp +77 -0
  261. include/rerun/blueprint/components/auto_views.hpp +77 -0
  262. include/rerun/blueprint/components/background_kind.hpp +66 -0
  263. include/rerun/blueprint/components/column_share.hpp +78 -0
  264. include/rerun/blueprint/components/component_column_selector.hpp +81 -0
  265. include/rerun/blueprint/components/container_kind.hpp +65 -0
  266. include/rerun/blueprint/components/corner2d.hpp +64 -0
  267. include/rerun/blueprint/components/enabled.hpp +77 -0
  268. include/rerun/blueprint/components/filter_by_range.hpp +74 -0
  269. include/rerun/blueprint/components/filter_is_not_null.hpp +77 -0
  270. include/rerun/blueprint/components/force_distance.hpp +82 -0
  271. include/rerun/blueprint/components/force_iterations.hpp +82 -0
  272. include/rerun/blueprint/components/force_strength.hpp +82 -0
  273. include/rerun/blueprint/components/grid_columns.hpp +78 -0
  274. include/rerun/blueprint/components/grid_spacing.hpp +78 -0
  275. include/rerun/blueprint/components/included_content.hpp +86 -0
  276. include/rerun/blueprint/components/lock_range_during_zoom.hpp +82 -0
  277. include/rerun/blueprint/components/map_provider.hpp +64 -0
  278. include/rerun/blueprint/components/near_clip_plane.hpp +82 -0
  279. include/rerun/blueprint/components/panel_state.hpp +61 -0
  280. include/rerun/blueprint/components/query_expression.hpp +89 -0
  281. include/rerun/blueprint/components/root_container.hpp +77 -0
  282. include/rerun/blueprint/components/row_share.hpp +78 -0
  283. include/rerun/blueprint/components/selected_columns.hpp +76 -0
  284. include/rerun/blueprint/components/tensor_dimension_index_slider.hpp +90 -0
  285. include/rerun/blueprint/components/timeline_name.hpp +76 -0
  286. include/rerun/blueprint/components/view_class.hpp +76 -0
  287. include/rerun/blueprint/components/view_fit.hpp +61 -0
  288. include/rerun/blueprint/components/view_maximized.hpp +79 -0
  289. include/rerun/blueprint/components/view_origin.hpp +81 -0
  290. include/rerun/blueprint/components/viewer_recommendation_hash.hpp +82 -0
  291. include/rerun/blueprint/components/visible_time_range.hpp +77 -0
  292. include/rerun/blueprint/components/visual_bounds2d.hpp +74 -0
  293. include/rerun/blueprint/components/visualizer_override.hpp +86 -0
  294. include/rerun/blueprint/components/zoom_level.hpp +78 -0
  295. include/rerun/blueprint/components.hpp +41 -0
  296. include/rerun/blueprint/datatypes/component_column_selector.hpp +61 -0
  297. include/rerun/blueprint/datatypes/filter_by_range.hpp +59 -0
  298. include/rerun/blueprint/datatypes/filter_is_not_null.hpp +61 -0
  299. include/rerun/blueprint/datatypes/selected_columns.hpp +62 -0
  300. include/rerun/blueprint/datatypes/tensor_dimension_index_slider.hpp +63 -0
  301. include/rerun/blueprint/datatypes.hpp +9 -0
  302. include/rerun/c/arrow_c_data_interface.h +111 -0
  303. include/rerun/c/compiler_utils.h +10 -0
  304. include/rerun/c/rerun.h +627 -0
  305. include/rerun/c/sdk_info.h +28 -0
  306. include/rerun/collection.hpp +496 -0
  307. include/rerun/collection_adapter.hpp +43 -0
  308. include/rerun/collection_adapter_builtins.hpp +138 -0
  309. include/rerun/compiler_utils.hpp +61 -0
  310. include/rerun/component_batch.hpp +163 -0
  311. include/rerun/component_column.hpp +111 -0
  312. include/rerun/component_descriptor.hpp +142 -0
  313. include/rerun/component_type.hpp +35 -0
  314. include/rerun/components/aggregation_policy.hpp +76 -0
  315. include/rerun/components/albedo_factor.hpp +74 -0
  316. include/rerun/components/annotation_context.hpp +102 -0
  317. include/rerun/components/axis_length.hpp +74 -0
  318. include/rerun/components/blob.hpp +73 -0
  319. include/rerun/components/class_id.hpp +71 -0
  320. include/rerun/components/clear_is_recursive.hpp +75 -0
  321. include/rerun/components/color.hpp +99 -0
  322. include/rerun/components/colormap.hpp +99 -0
  323. include/rerun/components/depth_meter.hpp +84 -0
  324. include/rerun/components/draw_order.hpp +79 -0
  325. include/rerun/components/entity_path.hpp +83 -0
  326. include/rerun/components/fill_mode.hpp +72 -0
  327. include/rerun/components/fill_ratio.hpp +79 -0
  328. include/rerun/components/gamma_correction.hpp +80 -0
  329. include/rerun/components/geo_line_string.hpp +63 -0
  330. include/rerun/components/graph_edge.hpp +75 -0
  331. include/rerun/components/graph_node.hpp +79 -0
  332. include/rerun/components/graph_type.hpp +57 -0
  333. include/rerun/components/half_size2d.hpp +91 -0
  334. include/rerun/components/half_size3d.hpp +95 -0
  335. include/rerun/components/image_buffer.hpp +86 -0
  336. include/rerun/components/image_format.hpp +84 -0
  337. include/rerun/components/image_plane_distance.hpp +77 -0
  338. include/rerun/components/interactive.hpp +76 -0
  339. include/rerun/components/keypoint_id.hpp +74 -0
  340. include/rerun/components/lat_lon.hpp +89 -0
  341. include/rerun/components/length.hpp +77 -0
  342. include/rerun/components/line_strip2d.hpp +73 -0
  343. include/rerun/components/line_strip3d.hpp +73 -0
  344. include/rerun/components/magnification_filter.hpp +63 -0
  345. include/rerun/components/marker_shape.hpp +82 -0
  346. include/rerun/components/marker_size.hpp +74 -0
  347. include/rerun/components/media_type.hpp +157 -0
  348. include/rerun/components/name.hpp +83 -0
  349. include/rerun/components/opacity.hpp +77 -0
  350. include/rerun/components/pinhole_projection.hpp +94 -0
  351. include/rerun/components/plane3d.hpp +75 -0
  352. include/rerun/components/pose_rotation_axis_angle.hpp +73 -0
  353. include/rerun/components/pose_rotation_quat.hpp +71 -0
  354. include/rerun/components/pose_scale3d.hpp +102 -0
  355. include/rerun/components/pose_transform_mat3x3.hpp +87 -0
  356. include/rerun/components/pose_translation3d.hpp +96 -0
  357. include/rerun/components/position2d.hpp +86 -0
  358. include/rerun/components/position3d.hpp +90 -0
  359. include/rerun/components/radius.hpp +98 -0
  360. include/rerun/components/range1d.hpp +75 -0
  361. include/rerun/components/resolution.hpp +88 -0
  362. include/rerun/components/rotation_axis_angle.hpp +72 -0
  363. include/rerun/components/rotation_quat.hpp +71 -0
  364. include/rerun/components/scalar.hpp +76 -0
  365. include/rerun/components/scale3d.hpp +102 -0
  366. include/rerun/components/series_visible.hpp +76 -0
  367. include/rerun/components/show_labels.hpp +79 -0
  368. include/rerun/components/stroke_width.hpp +74 -0
  369. include/rerun/components/tensor_data.hpp +94 -0
  370. include/rerun/components/tensor_dimension_index_selection.hpp +77 -0
  371. include/rerun/components/tensor_height_dimension.hpp +71 -0
  372. include/rerun/components/tensor_width_dimension.hpp +71 -0
  373. include/rerun/components/texcoord2d.hpp +101 -0
  374. include/rerun/components/text.hpp +83 -0
  375. include/rerun/components/text_log_level.hpp +110 -0
  376. include/rerun/components/timestamp.hpp +76 -0
  377. include/rerun/components/transform_mat3x3.hpp +92 -0
  378. include/rerun/components/transform_relation.hpp +66 -0
  379. include/rerun/components/translation3d.hpp +96 -0
  380. include/rerun/components/triangle_indices.hpp +85 -0
  381. include/rerun/components/value_range.hpp +78 -0
  382. include/rerun/components/vector2d.hpp +92 -0
  383. include/rerun/components/vector3d.hpp +96 -0
  384. include/rerun/components/video_timestamp.hpp +120 -0
  385. include/rerun/components/view_coordinates.hpp +346 -0
  386. include/rerun/components/visible.hpp +74 -0
  387. include/rerun/components.hpp +77 -0
  388. include/rerun/config.hpp +52 -0
  389. include/rerun/datatypes/angle.hpp +76 -0
  390. include/rerun/datatypes/annotation_info.hpp +76 -0
  391. include/rerun/datatypes/blob.hpp +67 -0
  392. include/rerun/datatypes/bool.hpp +57 -0
  393. include/rerun/datatypes/channel_datatype.hpp +87 -0
  394. include/rerun/datatypes/class_description.hpp +92 -0
  395. include/rerun/datatypes/class_description_map_elem.hpp +69 -0
  396. include/rerun/datatypes/class_id.hpp +62 -0
  397. include/rerun/datatypes/color_model.hpp +68 -0
  398. include/rerun/datatypes/dvec2d.hpp +76 -0
  399. include/rerun/datatypes/entity_path.hpp +60 -0
  400. include/rerun/datatypes/float32.hpp +62 -0
  401. include/rerun/datatypes/float64.hpp +62 -0
  402. include/rerun/datatypes/image_format.hpp +107 -0
  403. include/rerun/datatypes/keypoint_id.hpp +63 -0
  404. include/rerun/datatypes/keypoint_pair.hpp +65 -0
  405. include/rerun/datatypes/mat3x3.hpp +105 -0
  406. include/rerun/datatypes/mat4x4.hpp +119 -0
  407. include/rerun/datatypes/pixel_format.hpp +142 -0
  408. include/rerun/datatypes/plane3d.hpp +60 -0
  409. include/rerun/datatypes/quaternion.hpp +110 -0
  410. include/rerun/datatypes/range1d.hpp +59 -0
  411. include/rerun/datatypes/range2d.hpp +55 -0
  412. include/rerun/datatypes/rgba32.hpp +94 -0
  413. include/rerun/datatypes/rotation_axis_angle.hpp +67 -0
  414. include/rerun/datatypes/tensor_buffer.hpp +529 -0
  415. include/rerun/datatypes/tensor_data.hpp +100 -0
  416. include/rerun/datatypes/tensor_dimension_index_selection.hpp +58 -0
  417. include/rerun/datatypes/tensor_dimension_selection.hpp +56 -0
  418. include/rerun/datatypes/time_int.hpp +62 -0
  419. include/rerun/datatypes/time_range.hpp +55 -0
  420. include/rerun/datatypes/time_range_boundary.hpp +175 -0
  421. include/rerun/datatypes/uint16.hpp +62 -0
  422. include/rerun/datatypes/uint32.hpp +62 -0
  423. include/rerun/datatypes/uint64.hpp +62 -0
  424. include/rerun/datatypes/utf8.hpp +76 -0
  425. include/rerun/datatypes/utf8pair.hpp +62 -0
  426. include/rerun/datatypes/uuid.hpp +60 -0
  427. include/rerun/datatypes/uvec2d.hpp +76 -0
  428. include/rerun/datatypes/uvec3d.hpp +80 -0
  429. include/rerun/datatypes/uvec4d.hpp +59 -0
  430. include/rerun/datatypes/vec2d.hpp +76 -0
  431. include/rerun/datatypes/vec3d.hpp +80 -0
  432. include/rerun/datatypes/vec4d.hpp +84 -0
  433. include/rerun/datatypes/video_timestamp.hpp +67 -0
  434. include/rerun/datatypes/view_coordinates.hpp +87 -0
  435. include/rerun/datatypes/visible_time_range.hpp +57 -0
  436. include/rerun/datatypes.hpp +51 -0
  437. include/rerun/demo_utils.hpp +75 -0
  438. include/rerun/entity_path.hpp +20 -0
  439. include/rerun/error.hpp +180 -0
  440. include/rerun/half.hpp +10 -0
  441. include/rerun/image_utils.hpp +187 -0
  442. include/rerun/indicator_component.hpp +59 -0
  443. include/rerun/loggable.hpp +54 -0
  444. include/rerun/recording_stream.hpp +960 -0
  445. include/rerun/rerun_sdk_export.hpp +25 -0
  446. include/rerun/result.hpp +86 -0
  447. include/rerun/rotation3d.hpp +33 -0
  448. include/rerun/sdk_info.hpp +20 -0
  449. include/rerun/spawn.hpp +21 -0
  450. include/rerun/spawn_options.hpp +57 -0
  451. include/rerun/string_utils.hpp +16 -0
  452. include/rerun/third_party/cxxopts.hpp +2198 -0
  453. include/rerun/time_column.hpp +288 -0
  454. include/rerun/timeline.hpp +38 -0
  455. include/rerun/type_traits.hpp +40 -0
  456. include/rerun.hpp +86 -0
  457. lib/cmake/axel/axel-config.cmake +45 -0
  458. lib/cmake/axel/axelTargets-release.cmake +19 -0
  459. lib/cmake/axel/axelTargets.cmake +108 -0
  460. lib/cmake/momentum/FindFbxSdk.cmake +115 -0
  461. lib/cmake/momentum/Findre2.cmake +52 -0
  462. lib/cmake/momentum/momentum-config.cmake +67 -0
  463. lib/cmake/momentum/momentumTargets-release.cmake +259 -0
  464. lib/cmake/momentum/momentumTargets.cmake +385 -0
  465. lib/cmake/rerun_sdk/rerun_sdkConfig.cmake +70 -0
  466. lib/cmake/rerun_sdk/rerun_sdkConfigVersion.cmake +83 -0
  467. lib/cmake/rerun_sdk/rerun_sdkTargets-release.cmake +19 -0
  468. lib/cmake/rerun_sdk/rerun_sdkTargets.cmake +108 -0
  469. lib/libarrow.a +0 -0
  470. lib/libarrow_bundled_dependencies.a +0 -0
  471. lib/libaxel.a +0 -0
  472. lib/libmomentum_app_utils.a +0 -0
  473. lib/libmomentum_character.a +0 -0
  474. lib/libmomentum_character_sequence_solver.a +0 -0
  475. lib/libmomentum_character_solver.a +0 -0
  476. lib/libmomentum_common.a +0 -0
  477. lib/libmomentum_diff_ik.a +0 -0
  478. lib/libmomentum_io.a +0 -0
  479. lib/libmomentum_io_common.a +0 -0
  480. lib/libmomentum_io_fbx.a +0 -0
  481. lib/libmomentum_io_gltf.a +0 -0
  482. lib/libmomentum_io_legacy_json.a +0 -0
  483. lib/libmomentum_io_marker.a +0 -0
  484. lib/libmomentum_io_motion.a +0 -0
  485. lib/libmomentum_io_shape.a +0 -0
  486. lib/libmomentum_io_skeleton.a +0 -0
  487. lib/libmomentum_io_urdf.a +0 -0
  488. lib/libmomentum_marker_tracker.a +0 -0
  489. lib/libmomentum_math.a +0 -0
  490. lib/libmomentum_online_qr.a +0 -0
  491. lib/libmomentum_process_markers.a +0 -0
  492. lib/libmomentum_rerun.a +0 -0
  493. lib/libmomentum_simd_constraints.a +0 -0
  494. lib/libmomentum_simd_generalized_loss.a +0 -0
  495. lib/libmomentum_skeleton.a +0 -0
  496. lib/libmomentum_solver.a +0 -0
  497. lib/librerun_c__macos_arm64.a +0 -0
  498. lib/librerun_sdk.a +0 -0
  499. pymomentum/axel.cpython-312-darwin.so +0 -0
  500. pymomentum/backend/__init__.py +16 -0
  501. pymomentum/backend/skel_state_backend.py +631 -0
  502. pymomentum/backend/trs_backend.py +889 -0
  503. pymomentum/backend/utils.py +224 -0
  504. pymomentum/geometry.cpython-312-darwin.so +0 -0
  505. pymomentum/marker_tracking.cpython-312-darwin.so +0 -0
  506. pymomentum/quaternion.py +740 -0
  507. pymomentum/skel_state.py +514 -0
  508. pymomentum/solver.cpython-312-darwin.so +0 -0
  509. pymomentum/solver2.cpython-312-darwin.so +0 -0
  510. pymomentum/torch/character.py +868 -0
  511. pymomentum/torch/parameter_limits.py +494 -0
  512. pymomentum/torch/utility.py +20 -0
  513. pymomentum/trs.py +535 -0
  514. pymomentum_cpu-0.1.93.post0.dist-info/METADATA +126 -0
  515. pymomentum_cpu-0.1.93.post0.dist-info/RECORD +517 -0
  516. pymomentum_cpu-0.1.93.post0.dist-info/WHEEL +5 -0
  517. pymomentum_cpu-0.1.93.post0.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,270 @@
1
+ // DO NOT EDIT! This file was auto-generated by crates/build/re_types_builder/src/codegen/cpp/mod.rs
2
+ // Based on "crates/store/re_types/definitions/rerun/archetypes/line_strips3d.fbs".
3
+
4
+ #pragma once
5
+
6
+ #include "../collection.hpp"
7
+ #include "../component_batch.hpp"
8
+ #include "../component_column.hpp"
9
+ #include "../components/class_id.hpp"
10
+ #include "../components/color.hpp"
11
+ #include "../components/line_strip3d.hpp"
12
+ #include "../components/radius.hpp"
13
+ #include "../components/show_labels.hpp"
14
+ #include "../components/text.hpp"
15
+ #include "../indicator_component.hpp"
16
+ #include "../result.hpp"
17
+
18
+ #include <cstdint>
19
+ #include <optional>
20
+ #include <utility>
21
+ #include <vector>
22
+
23
+ namespace rerun::archetypes {
24
+ /// **Archetype**: 3D line strips with positions and optional colors, radii, labels, etc.
25
+ ///
26
+ /// ## Examples
27
+ ///
28
+ /// ### Many strips
29
+ /// ![image](https://static.rerun.io/line_strip3d_batch/15e8ff18a6c95a3191acb0eae6eb04adea3b4874/full.png)
30
+ ///
31
+ /// ```cpp
32
+ /// #include <rerun.hpp>
33
+ ///
34
+ /// #include <vector>
35
+ ///
36
+ /// int main() {
37
+ /// const auto rec = rerun::RecordingStream("rerun_example_line_strip3d_batch");
38
+ /// rec.spawn().exit_on_failure();
39
+ ///
40
+ /// rerun::Collection<rerun::Vec3D> strip1 = {
41
+ /// {0.f, 0.f, 2.f},
42
+ /// {1.f, 0.f, 2.f},
43
+ /// {1.f, 1.f, 2.f},
44
+ /// {0.f, 1.f, 2.f},
45
+ /// };
46
+ /// rerun::Collection<rerun::Vec3D> strip2 = {
47
+ /// {0.f, 0.f, 0.f},
48
+ /// {0.f, 0.f, 1.f},
49
+ /// {1.f, 0.f, 0.f},
50
+ /// {1.f, 0.f, 1.f},
51
+ /// {1.f, 1.f, 0.f},
52
+ /// {1.f, 1.f, 1.f},
53
+ /// {0.f, 1.f, 0.f},
54
+ /// {0.f, 1.f, 1.f},
55
+ /// };
56
+ /// rec.log(
57
+ /// "strips",
58
+ /// rerun::LineStrips3D({strip1, strip2})
59
+ /// .with_colors({0xFF0000FF, 0x00FF00FF})
60
+ /// .with_radii({0.025f, 0.005f})
61
+ /// .with_labels({"one strip here", "and one strip there"})
62
+ /// );
63
+ /// }
64
+ /// ```
65
+ ///
66
+ /// ### Lines with scene & UI radius each
67
+ /// ![image](https://static.rerun.io/line_strip3d_ui_radius/36b98f47e45747b5a3601511ff39b8d74c61d120/full.png)
68
+ ///
69
+ /// ```cpp
70
+ /// #include <rerun.hpp>
71
+ ///
72
+ /// int main() {
73
+ /// const auto rec = rerun::RecordingStream("rerun_example_line_strip3d_ui_radius");
74
+ /// rec.spawn().exit_on_failure();
75
+ ///
76
+ /// // A blue line with a scene unit radii of 0.01.
77
+ /// rerun::LineStrip3D linestrip_blue(
78
+ /// {{0.f, 0.f, 0.f}, {0.f, 0.f, 1.f}, {1.f, 0.f, 0.f}, {1.f, 0.f, 1.f}}
79
+ /// );
80
+ /// rec.log(
81
+ /// "scene_unit_line",
82
+ /// rerun::LineStrips3D(linestrip_blue)
83
+ /// // By default, radii are interpreted as world-space units.
84
+ /// .with_radii(0.01f)
85
+ /// .with_colors(rerun::Color(0, 0, 255))
86
+ /// );
87
+ ///
88
+ /// // A red line with a ui point radii of 5.
89
+ /// // UI points are independent of zooming in Views, but are sensitive to the application UI scaling.
90
+ /// // For 100 % ui scaling, UI points are equal to pixels.
91
+ /// rerun::LineStrip3D linestrip_red(
92
+ /// {{3.f, 0.f, 0.f}, {3.f, 0.f, 1.f}, {4.f, 0.f, 0.f}, {4.f, 0.f, 1.f}}
93
+ /// );
94
+ /// rec.log(
95
+ /// "ui_points_line",
96
+ /// rerun::LineStrips3D(linestrip_red)
97
+ /// // By default, radii are interpreted as world-space units.
98
+ /// .with_radii(rerun::Radius::ui_points(5.0f))
99
+ /// .with_colors(rerun::Color(255, 0, 0))
100
+ /// );
101
+ /// }
102
+ /// ```
103
+ struct LineStrips3D {
104
+ /// All the actual 3D line strips that make up the batch.
105
+ std::optional<ComponentBatch> strips;
106
+
107
+ /// Optional radii for the line strips.
108
+ std::optional<ComponentBatch> radii;
109
+
110
+ /// Optional colors for the line strips.
111
+ std::optional<ComponentBatch> colors;
112
+
113
+ /// Optional text labels for the line strips.
114
+ ///
115
+ /// If there's a single label present, it will be placed at the center of the entity.
116
+ /// Otherwise, each instance will have its own label.
117
+ std::optional<ComponentBatch> labels;
118
+
119
+ /// Optional choice of whether the text labels should be shown by default.
120
+ std::optional<ComponentBatch> show_labels;
121
+
122
+ /// Optional `components::ClassId`s for the lines.
123
+ ///
124
+ /// The `components::ClassId` provides colors and labels if not specified explicitly.
125
+ std::optional<ComponentBatch> class_ids;
126
+
127
+ public:
128
+ static constexpr const char IndicatorComponentName[] =
129
+ "rerun.components.LineStrips3DIndicator";
130
+
131
+ /// Indicator component, used to identify the archetype when converting to a list of components.
132
+ using IndicatorComponent = rerun::components::IndicatorComponent<IndicatorComponentName>;
133
+ /// The name of the archetype as used in `ComponentDescriptor`s.
134
+ static constexpr const char ArchetypeName[] = "rerun.archetypes.LineStrips3D";
135
+
136
+ /// `ComponentDescriptor` for the `strips` field.
137
+ static constexpr auto Descriptor_strips = ComponentDescriptor(
138
+ ArchetypeName, "strips",
139
+ Loggable<rerun::components::LineStrip3D>::Descriptor.component_name
140
+ );
141
+ /// `ComponentDescriptor` for the `radii` field.
142
+ static constexpr auto Descriptor_radii = ComponentDescriptor(
143
+ ArchetypeName, "radii", Loggable<rerun::components::Radius>::Descriptor.component_name
144
+ );
145
+ /// `ComponentDescriptor` for the `colors` field.
146
+ static constexpr auto Descriptor_colors = ComponentDescriptor(
147
+ ArchetypeName, "colors", Loggable<rerun::components::Color>::Descriptor.component_name
148
+ );
149
+ /// `ComponentDescriptor` for the `labels` field.
150
+ static constexpr auto Descriptor_labels = ComponentDescriptor(
151
+ ArchetypeName, "labels", Loggable<rerun::components::Text>::Descriptor.component_name
152
+ );
153
+ /// `ComponentDescriptor` for the `show_labels` field.
154
+ static constexpr auto Descriptor_show_labels = ComponentDescriptor(
155
+ ArchetypeName, "show_labels",
156
+ Loggable<rerun::components::ShowLabels>::Descriptor.component_name
157
+ );
158
+ /// `ComponentDescriptor` for the `class_ids` field.
159
+ static constexpr auto Descriptor_class_ids = ComponentDescriptor(
160
+ ArchetypeName, "class_ids",
161
+ Loggable<rerun::components::ClassId>::Descriptor.component_name
162
+ );
163
+
164
+ public:
165
+ LineStrips3D() = default;
166
+ LineStrips3D(LineStrips3D&& other) = default;
167
+ LineStrips3D(const LineStrips3D& other) = default;
168
+ LineStrips3D& operator=(const LineStrips3D& other) = default;
169
+ LineStrips3D& operator=(LineStrips3D&& other) = default;
170
+
171
+ explicit LineStrips3D(Collection<rerun::components::LineStrip3D> _strips)
172
+ : strips(ComponentBatch::from_loggable(std::move(_strips), Descriptor_strips)
173
+ .value_or_throw()) {}
174
+
175
+ /// Update only some specific fields of a `LineStrips3D`.
176
+ static LineStrips3D update_fields() {
177
+ return LineStrips3D();
178
+ }
179
+
180
+ /// Clear all the fields of a `LineStrips3D`.
181
+ static LineStrips3D clear_fields();
182
+
183
+ /// All the actual 3D line strips that make up the batch.
184
+ LineStrips3D with_strips(const Collection<rerun::components::LineStrip3D>& _strips) && {
185
+ strips = ComponentBatch::from_loggable(_strips, Descriptor_strips).value_or_throw();
186
+ return std::move(*this);
187
+ }
188
+
189
+ /// Optional radii for the line strips.
190
+ LineStrips3D with_radii(const Collection<rerun::components::Radius>& _radii) && {
191
+ radii = ComponentBatch::from_loggable(_radii, Descriptor_radii).value_or_throw();
192
+ return std::move(*this);
193
+ }
194
+
195
+ /// Optional colors for the line strips.
196
+ LineStrips3D with_colors(const Collection<rerun::components::Color>& _colors) && {
197
+ colors = ComponentBatch::from_loggable(_colors, Descriptor_colors).value_or_throw();
198
+ return std::move(*this);
199
+ }
200
+
201
+ /// Optional text labels for the line strips.
202
+ ///
203
+ /// If there's a single label present, it will be placed at the center of the entity.
204
+ /// Otherwise, each instance will have its own label.
205
+ LineStrips3D with_labels(const Collection<rerun::components::Text>& _labels) && {
206
+ labels = ComponentBatch::from_loggable(_labels, Descriptor_labels).value_or_throw();
207
+ return std::move(*this);
208
+ }
209
+
210
+ /// Optional choice of whether the text labels should be shown by default.
211
+ LineStrips3D with_show_labels(const rerun::components::ShowLabels& _show_labels) && {
212
+ show_labels = ComponentBatch::from_loggable(_show_labels, Descriptor_show_labels)
213
+ .value_or_throw();
214
+ return std::move(*this);
215
+ }
216
+
217
+ /// This method makes it possible to pack multiple `show_labels` in a single component batch.
218
+ ///
219
+ /// This only makes sense when used in conjunction with `columns`. `with_show_labels` should
220
+ /// be used when logging a single row's worth of data.
221
+ LineStrips3D with_many_show_labels(
222
+ const Collection<rerun::components::ShowLabels>& _show_labels
223
+ ) && {
224
+ show_labels = ComponentBatch::from_loggable(_show_labels, Descriptor_show_labels)
225
+ .value_or_throw();
226
+ return std::move(*this);
227
+ }
228
+
229
+ /// Optional `components::ClassId`s for the lines.
230
+ ///
231
+ /// The `components::ClassId` provides colors and labels if not specified explicitly.
232
+ LineStrips3D with_class_ids(const Collection<rerun::components::ClassId>& _class_ids) && {
233
+ class_ids =
234
+ ComponentBatch::from_loggable(_class_ids, Descriptor_class_ids).value_or_throw();
235
+ return std::move(*this);
236
+ }
237
+
238
+ /// Partitions the component data into multiple sub-batches.
239
+ ///
240
+ /// Specifically, this transforms the existing `ComponentBatch` data into `ComponentColumn`s
241
+ /// instead, via `ComponentBatch::partitioned`.
242
+ ///
243
+ /// This makes it possible to use `RecordingStream::send_columns` to send columnar data directly into Rerun.
244
+ ///
245
+ /// The specified `lengths` must sum to the total length of the component batch.
246
+ Collection<ComponentColumn> columns(const Collection<uint32_t>& lengths_);
247
+
248
+ /// Partitions the component data into unit-length sub-batches.
249
+ ///
250
+ /// This is semantically similar to calling `columns` with `std::vector<uint32_t>(n, 1)`,
251
+ /// where `n` is automatically guessed.
252
+ Collection<ComponentColumn> columns();
253
+ };
254
+
255
+ } // namespace rerun::archetypes
256
+
257
+ namespace rerun {
258
+ /// \private
259
+ template <typename T>
260
+ struct AsComponents;
261
+
262
+ /// \private
263
+ template <>
264
+ struct AsComponents<archetypes::LineStrips3D> {
265
+ /// Serialize all set component batches.
266
+ static Result<Collection<ComponentBatch>> as_batches(
267
+ const archetypes::LineStrips3D& archetype
268
+ );
269
+ };
270
+ } // namespace rerun
@@ -0,0 +1,387 @@
1
+ // DO NOT EDIT! This file was auto-generated by crates/build/re_types_builder/src/codegen/cpp/mod.rs
2
+ // Based on "crates/store/re_types/definitions/rerun/archetypes/mesh3d.fbs".
3
+
4
+ #pragma once
5
+
6
+ #include "../collection.hpp"
7
+ #include "../component_batch.hpp"
8
+ #include "../component_column.hpp"
9
+ #include "../components/albedo_factor.hpp"
10
+ #include "../components/class_id.hpp"
11
+ #include "../components/color.hpp"
12
+ #include "../components/image_buffer.hpp"
13
+ #include "../components/image_format.hpp"
14
+ #include "../components/position3d.hpp"
15
+ #include "../components/texcoord2d.hpp"
16
+ #include "../components/triangle_indices.hpp"
17
+ #include "../components/vector3d.hpp"
18
+ #include "../indicator_component.hpp"
19
+ #include "../result.hpp"
20
+
21
+ #include <cstdint>
22
+ #include <optional>
23
+ #include <utility>
24
+ #include <vector>
25
+
26
+ namespace rerun::archetypes {
27
+ /// **Archetype**: A 3D triangle mesh as specified by its per-mesh and per-vertex properties.
28
+ ///
29
+ /// See also `archetypes::Asset3D`.
30
+ ///
31
+ /// If there are multiple `archetypes::InstancePoses3D` instances logged to the same entity as a mesh,
32
+ /// an instance of the mesh will be drawn for each transform.
33
+ ///
34
+ /// ## Examples
35
+ ///
36
+ /// ### Simple indexed 3D mesh
37
+ /// ![image](https://static.rerun.io/mesh3d_indexed/57c70dc992e6dc0bd9c5222ca084f5b6240cea75/full.png)
38
+ ///
39
+ /// ```cpp
40
+ /// #include <rerun.hpp>
41
+ ///
42
+ /// #include <vector>
43
+ ///
44
+ /// int main() {
45
+ /// const auto rec = rerun::RecordingStream("rerun_example_mesh3d_indexed");
46
+ /// rec.spawn().exit_on_failure();
47
+ ///
48
+ /// const rerun::Position3D vertex_positions[3] = {
49
+ /// {0.0f, 1.0f, 0.0f},
50
+ /// {1.0f, 0.0f, 0.0f},
51
+ /// {0.0f, 0.0f, 0.0f},
52
+ /// };
53
+ /// const rerun::Color vertex_colors[3] = {
54
+ /// {0, 0, 255},
55
+ /// {0, 255, 0},
56
+ /// {255, 0, 0},
57
+ /// };
58
+ ///
59
+ /// rec.log(
60
+ /// "triangle",
61
+ /// rerun::Mesh3D(vertex_positions)
62
+ /// .with_vertex_normals({{0.0, 0.0, 1.0}})
63
+ /// .with_vertex_colors(vertex_colors)
64
+ /// .with_triangle_indices({{2, 1, 0}})
65
+ /// );
66
+ /// }
67
+ /// ```
68
+ ///
69
+ /// ### 3D mesh with instancing
70
+ /// ![image](https://static.rerun.io/mesh3d_leaf_transforms3d/c2d0ee033129da53168f5705625a9b033f3a3d61/full.png)
71
+ ///
72
+ /// ```cpp
73
+ /// #include <rerun.hpp>
74
+ ///
75
+ /// int main() {
76
+ /// const auto rec = rerun::RecordingStream("rerun_example_mesh3d_instancing");
77
+ /// rec.spawn().exit_on_failure();
78
+ ///
79
+ /// rec.set_time_sequence("frame", 0);
80
+ /// rec.log(
81
+ /// "shape",
82
+ /// rerun::Mesh3D(
83
+ /// {{1.0f, 1.0f, 1.0f}, {-1.0f, -1.0f, 1.0f}, {-1.0f, 1.0f, -1.0f}, {1.0f, -1.0f, -1.0f}}
84
+ /// )
85
+ /// .with_triangle_indices({{0, 1, 2}, {0, 1, 3}, {0, 2, 3}, {1, 2, 3}})
86
+ /// .with_vertex_colors({0xFF0000FF, 0x00FF00FF, 0x00000FFFF, 0xFFFF00FF})
87
+ /// );
88
+ /// // This box will not be affected by its parent's instance poses!
89
+ /// rec.log("shape/box", rerun::Boxes3D::from_half_sizes({{5.0f, 5.0f, 5.0f}}));
90
+ ///
91
+ /// for (int i = 0; i <100; ++i) {
92
+ /// rec.set_time_sequence("frame", i);
93
+ /// rec.log(
94
+ /// "shape",
95
+ /// rerun::InstancePoses3D()
96
+ /// .with_translations(
97
+ /// {{2.0f, 0.0f, 0.0f},
98
+ /// {0.0f, 2.0f, 0.0f},
99
+ /// {0.0f, -2.0f, 0.0f},
100
+ /// {-2.0f, 0.0f, 0.0f}}
101
+ /// )
102
+ /// .with_rotation_axis_angles({rerun::RotationAxisAngle(
103
+ /// {0.0f, 0.0f, 1.0f},
104
+ /// rerun::Angle::degrees(static_cast<float>(i) * 2.0f)
105
+ /// )})
106
+ /// );
107
+ /// }
108
+ /// }
109
+ /// ```
110
+ struct Mesh3D {
111
+ /// The positions of each vertex.
112
+ ///
113
+ /// If no `triangle_indices` are specified, then each triplet of positions is interpreted as a triangle.
114
+ std::optional<ComponentBatch> vertex_positions;
115
+
116
+ /// Optional indices for the triangles that make up the mesh.
117
+ std::optional<ComponentBatch> triangle_indices;
118
+
119
+ /// An optional normal for each vertex.
120
+ std::optional<ComponentBatch> vertex_normals;
121
+
122
+ /// An optional color for each vertex.
123
+ std::optional<ComponentBatch> vertex_colors;
124
+
125
+ /// An optional uv texture coordinate for each vertex.
126
+ std::optional<ComponentBatch> vertex_texcoords;
127
+
128
+ /// A color multiplier applied to the whole mesh.
129
+ std::optional<ComponentBatch> albedo_factor;
130
+
131
+ /// Optional albedo texture.
132
+ ///
133
+ /// Used with the `components::Texcoord2D` of the mesh.
134
+ ///
135
+ /// Currently supports only sRGB(A) textures, ignoring alpha.
136
+ /// (meaning that the tensor must have 3 or 4 channels and use the `u8` format)
137
+ std::optional<ComponentBatch> albedo_texture_buffer;
138
+
139
+ /// The format of the `albedo_texture_buffer`, if any.
140
+ std::optional<ComponentBatch> albedo_texture_format;
141
+
142
+ /// Optional class Ids for the vertices.
143
+ ///
144
+ /// The `components::ClassId` provides colors and labels if not specified explicitly.
145
+ std::optional<ComponentBatch> class_ids;
146
+
147
+ public:
148
+ static constexpr const char IndicatorComponentName[] = "rerun.components.Mesh3DIndicator";
149
+
150
+ /// Indicator component, used to identify the archetype when converting to a list of components.
151
+ using IndicatorComponent = rerun::components::IndicatorComponent<IndicatorComponentName>;
152
+ /// The name of the archetype as used in `ComponentDescriptor`s.
153
+ static constexpr const char ArchetypeName[] = "rerun.archetypes.Mesh3D";
154
+
155
+ /// `ComponentDescriptor` for the `vertex_positions` field.
156
+ static constexpr auto Descriptor_vertex_positions = ComponentDescriptor(
157
+ ArchetypeName, "vertex_positions",
158
+ Loggable<rerun::components::Position3D>::Descriptor.component_name
159
+ );
160
+ /// `ComponentDescriptor` for the `triangle_indices` field.
161
+ static constexpr auto Descriptor_triangle_indices = ComponentDescriptor(
162
+ ArchetypeName, "triangle_indices",
163
+ Loggable<rerun::components::TriangleIndices>::Descriptor.component_name
164
+ );
165
+ /// `ComponentDescriptor` for the `vertex_normals` field.
166
+ static constexpr auto Descriptor_vertex_normals = ComponentDescriptor(
167
+ ArchetypeName, "vertex_normals",
168
+ Loggable<rerun::components::Vector3D>::Descriptor.component_name
169
+ );
170
+ /// `ComponentDescriptor` for the `vertex_colors` field.
171
+ static constexpr auto Descriptor_vertex_colors = ComponentDescriptor(
172
+ ArchetypeName, "vertex_colors",
173
+ Loggable<rerun::components::Color>::Descriptor.component_name
174
+ );
175
+ /// `ComponentDescriptor` for the `vertex_texcoords` field.
176
+ static constexpr auto Descriptor_vertex_texcoords = ComponentDescriptor(
177
+ ArchetypeName, "vertex_texcoords",
178
+ Loggable<rerun::components::Texcoord2D>::Descriptor.component_name
179
+ );
180
+ /// `ComponentDescriptor` for the `albedo_factor` field.
181
+ static constexpr auto Descriptor_albedo_factor = ComponentDescriptor(
182
+ ArchetypeName, "albedo_factor",
183
+ Loggable<rerun::components::AlbedoFactor>::Descriptor.component_name
184
+ );
185
+ /// `ComponentDescriptor` for the `albedo_texture_buffer` field.
186
+ static constexpr auto Descriptor_albedo_texture_buffer = ComponentDescriptor(
187
+ ArchetypeName, "albedo_texture_buffer",
188
+ Loggable<rerun::components::ImageBuffer>::Descriptor.component_name
189
+ );
190
+ /// `ComponentDescriptor` for the `albedo_texture_format` field.
191
+ static constexpr auto Descriptor_albedo_texture_format = ComponentDescriptor(
192
+ ArchetypeName, "albedo_texture_format",
193
+ Loggable<rerun::components::ImageFormat>::Descriptor.component_name
194
+ );
195
+ /// `ComponentDescriptor` for the `class_ids` field.
196
+ static constexpr auto Descriptor_class_ids = ComponentDescriptor(
197
+ ArchetypeName, "class_ids",
198
+ Loggable<rerun::components::ClassId>::Descriptor.component_name
199
+ );
200
+
201
+ public:
202
+ Mesh3D() = default;
203
+ Mesh3D(Mesh3D&& other) = default;
204
+ Mesh3D(const Mesh3D& other) = default;
205
+ Mesh3D& operator=(const Mesh3D& other) = default;
206
+ Mesh3D& operator=(Mesh3D&& other) = default;
207
+
208
+ explicit Mesh3D(Collection<rerun::components::Position3D> _vertex_positions)
209
+ : vertex_positions(ComponentBatch::from_loggable(
210
+ std::move(_vertex_positions), Descriptor_vertex_positions
211
+ )
212
+ .value_or_throw()) {}
213
+
214
+ /// Update only some specific fields of a `Mesh3D`.
215
+ static Mesh3D update_fields() {
216
+ return Mesh3D();
217
+ }
218
+
219
+ /// Clear all the fields of a `Mesh3D`.
220
+ static Mesh3D clear_fields();
221
+
222
+ /// The positions of each vertex.
223
+ ///
224
+ /// If no `triangle_indices` are specified, then each triplet of positions is interpreted as a triangle.
225
+ Mesh3D with_vertex_positions(
226
+ const Collection<rerun::components::Position3D>& _vertex_positions
227
+ ) && {
228
+ vertex_positions =
229
+ ComponentBatch::from_loggable(_vertex_positions, Descriptor_vertex_positions)
230
+ .value_or_throw();
231
+ return std::move(*this);
232
+ }
233
+
234
+ /// Optional indices for the triangles that make up the mesh.
235
+ Mesh3D with_triangle_indices(
236
+ const Collection<rerun::components::TriangleIndices>& _triangle_indices
237
+ ) && {
238
+ triangle_indices =
239
+ ComponentBatch::from_loggable(_triangle_indices, Descriptor_triangle_indices)
240
+ .value_or_throw();
241
+ return std::move(*this);
242
+ }
243
+
244
+ /// An optional normal for each vertex.
245
+ Mesh3D with_vertex_normals(const Collection<rerun::components::Vector3D>& _vertex_normals
246
+ ) && {
247
+ vertex_normals =
248
+ ComponentBatch::from_loggable(_vertex_normals, Descriptor_vertex_normals)
249
+ .value_or_throw();
250
+ return std::move(*this);
251
+ }
252
+
253
+ /// An optional color for each vertex.
254
+ Mesh3D with_vertex_colors(const Collection<rerun::components::Color>& _vertex_colors) && {
255
+ vertex_colors = ComponentBatch::from_loggable(_vertex_colors, Descriptor_vertex_colors)
256
+ .value_or_throw();
257
+ return std::move(*this);
258
+ }
259
+
260
+ /// An optional uv texture coordinate for each vertex.
261
+ Mesh3D with_vertex_texcoords(
262
+ const Collection<rerun::components::Texcoord2D>& _vertex_texcoords
263
+ ) && {
264
+ vertex_texcoords =
265
+ ComponentBatch::from_loggable(_vertex_texcoords, Descriptor_vertex_texcoords)
266
+ .value_or_throw();
267
+ return std::move(*this);
268
+ }
269
+
270
+ /// A color multiplier applied to the whole mesh.
271
+ Mesh3D with_albedo_factor(const rerun::components::AlbedoFactor& _albedo_factor) && {
272
+ albedo_factor = ComponentBatch::from_loggable(_albedo_factor, Descriptor_albedo_factor)
273
+ .value_or_throw();
274
+ return std::move(*this);
275
+ }
276
+
277
+ /// This method makes it possible to pack multiple `albedo_factor` in a single component batch.
278
+ ///
279
+ /// This only makes sense when used in conjunction with `columns`. `with_albedo_factor` should
280
+ /// be used when logging a single row's worth of data.
281
+ Mesh3D with_many_albedo_factor(
282
+ const Collection<rerun::components::AlbedoFactor>& _albedo_factor
283
+ ) && {
284
+ albedo_factor = ComponentBatch::from_loggable(_albedo_factor, Descriptor_albedo_factor)
285
+ .value_or_throw();
286
+ return std::move(*this);
287
+ }
288
+
289
+ /// Optional albedo texture.
290
+ ///
291
+ /// Used with the `components::Texcoord2D` of the mesh.
292
+ ///
293
+ /// Currently supports only sRGB(A) textures, ignoring alpha.
294
+ /// (meaning that the tensor must have 3 or 4 channels and use the `u8` format)
295
+ Mesh3D with_albedo_texture_buffer(
296
+ const rerun::components::ImageBuffer& _albedo_texture_buffer
297
+ ) && {
298
+ albedo_texture_buffer = ComponentBatch::from_loggable(
299
+ _albedo_texture_buffer,
300
+ Descriptor_albedo_texture_buffer
301
+ )
302
+ .value_or_throw();
303
+ return std::move(*this);
304
+ }
305
+
306
+ /// This method makes it possible to pack multiple `albedo_texture_buffer` in a single component batch.
307
+ ///
308
+ /// This only makes sense when used in conjunction with `columns`. `with_albedo_texture_buffer` should
309
+ /// be used when logging a single row's worth of data.
310
+ Mesh3D with_many_albedo_texture_buffer(
311
+ const Collection<rerun::components::ImageBuffer>& _albedo_texture_buffer
312
+ ) && {
313
+ albedo_texture_buffer = ComponentBatch::from_loggable(
314
+ _albedo_texture_buffer,
315
+ Descriptor_albedo_texture_buffer
316
+ )
317
+ .value_or_throw();
318
+ return std::move(*this);
319
+ }
320
+
321
+ /// The format of the `albedo_texture_buffer`, if any.
322
+ Mesh3D with_albedo_texture_format(
323
+ const rerun::components::ImageFormat& _albedo_texture_format
324
+ ) && {
325
+ albedo_texture_format = ComponentBatch::from_loggable(
326
+ _albedo_texture_format,
327
+ Descriptor_albedo_texture_format
328
+ )
329
+ .value_or_throw();
330
+ return std::move(*this);
331
+ }
332
+
333
+ /// This method makes it possible to pack multiple `albedo_texture_format` in a single component batch.
334
+ ///
335
+ /// This only makes sense when used in conjunction with `columns`. `with_albedo_texture_format` should
336
+ /// be used when logging a single row's worth of data.
337
+ Mesh3D with_many_albedo_texture_format(
338
+ const Collection<rerun::components::ImageFormat>& _albedo_texture_format
339
+ ) && {
340
+ albedo_texture_format = ComponentBatch::from_loggable(
341
+ _albedo_texture_format,
342
+ Descriptor_albedo_texture_format
343
+ )
344
+ .value_or_throw();
345
+ return std::move(*this);
346
+ }
347
+
348
+ /// Optional class Ids for the vertices.
349
+ ///
350
+ /// The `components::ClassId` provides colors and labels if not specified explicitly.
351
+ Mesh3D with_class_ids(const Collection<rerun::components::ClassId>& _class_ids) && {
352
+ class_ids =
353
+ ComponentBatch::from_loggable(_class_ids, Descriptor_class_ids).value_or_throw();
354
+ return std::move(*this);
355
+ }
356
+
357
+ /// Partitions the component data into multiple sub-batches.
358
+ ///
359
+ /// Specifically, this transforms the existing `ComponentBatch` data into `ComponentColumn`s
360
+ /// instead, via `ComponentBatch::partitioned`.
361
+ ///
362
+ /// This makes it possible to use `RecordingStream::send_columns` to send columnar data directly into Rerun.
363
+ ///
364
+ /// The specified `lengths` must sum to the total length of the component batch.
365
+ Collection<ComponentColumn> columns(const Collection<uint32_t>& lengths_);
366
+
367
+ /// Partitions the component data into unit-length sub-batches.
368
+ ///
369
+ /// This is semantically similar to calling `columns` with `std::vector<uint32_t>(n, 1)`,
370
+ /// where `n` is automatically guessed.
371
+ Collection<ComponentColumn> columns();
372
+ };
373
+
374
+ } // namespace rerun::archetypes
375
+
376
+ namespace rerun {
377
+ /// \private
378
+ template <typename T>
379
+ struct AsComponents;
380
+
381
+ /// \private
382
+ template <>
383
+ struct AsComponents<archetypes::Mesh3D> {
384
+ /// Serialize all set component batches.
385
+ static Result<Collection<ComponentBatch>> as_batches(const archetypes::Mesh3D& archetype);
386
+ };
387
+ } // namespace rerun