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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (512) hide show
  1. include/axel/BoundingBox.h +58 -0
  2. include/axel/Bvh.h +708 -0
  3. include/axel/BvhBase.h +75 -0
  4. include/axel/BvhCommon.h +43 -0
  5. include/axel/BvhEmbree.h +86 -0
  6. include/axel/BvhFactory.h +34 -0
  7. include/axel/Checks.h +21 -0
  8. include/axel/DualContouring.h +79 -0
  9. include/axel/KdTree.h +199 -0
  10. include/axel/Log.h +22 -0
  11. include/axel/MeshToSdf.h +123 -0
  12. include/axel/Profile.h +64 -0
  13. include/axel/Ray.h +45 -0
  14. include/axel/SignedDistanceField.h +248 -0
  15. include/axel/SimdKdTree.h +515 -0
  16. include/axel/TriBvh.h +157 -0
  17. include/axel/TriBvhEmbree.h +57 -0
  18. include/axel/common/Constants.h +27 -0
  19. include/axel/common/Types.h +21 -0
  20. include/axel/common/VectorizationTypes.h +58 -0
  21. include/axel/math/BoundingBoxUtils.h +54 -0
  22. include/axel/math/ContinuousCollisionDetection.h +48 -0
  23. include/axel/math/CoplanarityCheck.h +30 -0
  24. include/axel/math/EdgeEdgeDistance.h +31 -0
  25. include/axel/math/MeshHoleFilling.h +117 -0
  26. include/axel/math/PointTriangleProjection.h +34 -0
  27. include/axel/math/PointTriangleProjectionDefinitions.h +209 -0
  28. include/axel/math/RayTriangleIntersection.h +36 -0
  29. include/momentum/character/blend_shape.h +91 -0
  30. include/momentum/character/blend_shape_base.h +70 -0
  31. include/momentum/character/blend_shape_skinning.h +96 -0
  32. include/momentum/character/character.h +272 -0
  33. include/momentum/character/character_state.h +108 -0
  34. include/momentum/character/character_utility.h +128 -0
  35. include/momentum/character/collision_geometry.h +80 -0
  36. include/momentum/character/collision_geometry_state.h +130 -0
  37. include/momentum/character/fwd.h +262 -0
  38. include/momentum/character/inverse_parameter_transform.h +58 -0
  39. include/momentum/character/joint.h +82 -0
  40. include/momentum/character/joint_state.h +241 -0
  41. include/momentum/character/linear_skinning.h +139 -0
  42. include/momentum/character/locator.h +82 -0
  43. include/momentum/character/locator_state.h +43 -0
  44. include/momentum/character/marker.h +48 -0
  45. include/momentum/character/mesh_state.h +71 -0
  46. include/momentum/character/parameter_limits.h +144 -0
  47. include/momentum/character/parameter_transform.h +250 -0
  48. include/momentum/character/pose_shape.h +65 -0
  49. include/momentum/character/skeleton.h +85 -0
  50. include/momentum/character/skeleton_state.h +181 -0
  51. include/momentum/character/skeleton_utility.h +38 -0
  52. include/momentum/character/skin_weights.h +67 -0
  53. include/momentum/character/skinned_locator.h +80 -0
  54. include/momentum/character/types.h +202 -0
  55. include/momentum/character_sequence_solver/fwd.h +200 -0
  56. include/momentum/character_sequence_solver/model_parameters_sequence_error_function.h +65 -0
  57. include/momentum/character_sequence_solver/multipose_solver.h +65 -0
  58. include/momentum/character_sequence_solver/multipose_solver_function.h +82 -0
  59. include/momentum/character_sequence_solver/sequence_error_function.h +104 -0
  60. include/momentum/character_sequence_solver/sequence_solver.h +144 -0
  61. include/momentum/character_sequence_solver/sequence_solver_function.h +134 -0
  62. include/momentum/character_sequence_solver/state_sequence_error_function.h +109 -0
  63. include/momentum/character_sequence_solver/vertex_sequence_error_function.h +123 -0
  64. include/momentum/character_solver/aim_error_function.h +112 -0
  65. include/momentum/character_solver/collision_error_function.h +92 -0
  66. include/momentum/character_solver/collision_error_function_stateless.h +75 -0
  67. include/momentum/character_solver/constraint_error_function-inl.h +324 -0
  68. include/momentum/character_solver/constraint_error_function.h +248 -0
  69. include/momentum/character_solver/distance_error_function.h +77 -0
  70. include/momentum/character_solver/error_function_utils.h +60 -0
  71. include/momentum/character_solver/fixed_axis_error_function.h +139 -0
  72. include/momentum/character_solver/fwd.h +924 -0
  73. include/momentum/character_solver/gauss_newton_solver_qr.h +64 -0
  74. include/momentum/character_solver/limit_error_function.h +57 -0
  75. include/momentum/character_solver/model_parameters_error_function.h +64 -0
  76. include/momentum/character_solver/normal_error_function.h +73 -0
  77. include/momentum/character_solver/orientation_error_function.h +74 -0
  78. include/momentum/character_solver/plane_error_function.h +102 -0
  79. include/momentum/character_solver/point_triangle_vertex_error_function.h +141 -0
  80. include/momentum/character_solver/pose_prior_error_function.h +80 -0
  81. include/momentum/character_solver/position_error_function.h +75 -0
  82. include/momentum/character_solver/projection_error_function.h +93 -0
  83. include/momentum/character_solver/simd_collision_error_function.h +99 -0
  84. include/momentum/character_solver/simd_normal_error_function.h +157 -0
  85. include/momentum/character_solver/simd_plane_error_function.h +164 -0
  86. include/momentum/character_solver/simd_position_error_function.h +165 -0
  87. include/momentum/character_solver/skeleton_error_function.h +151 -0
  88. include/momentum/character_solver/skeleton_solver_function.h +94 -0
  89. include/momentum/character_solver/skinned_locator_error_function.h +166 -0
  90. include/momentum/character_solver/skinned_locator_triangle_error_function.h +146 -0
  91. include/momentum/character_solver/skinning_weight_iterator.h +80 -0
  92. include/momentum/character_solver/state_error_function.h +94 -0
  93. include/momentum/character_solver/transform_pose.h +80 -0
  94. include/momentum/character_solver/trust_region_qr.h +80 -0
  95. include/momentum/character_solver/vertex_error_function.h +155 -0
  96. include/momentum/character_solver/vertex_projection_error_function.h +117 -0
  97. include/momentum/character_solver/vertex_vertex_distance_error_function.h +147 -0
  98. include/momentum/common/aligned.h +155 -0
  99. include/momentum/common/checks.h +27 -0
  100. include/momentum/common/exception.h +70 -0
  101. include/momentum/common/filesystem.h +20 -0
  102. include/momentum/common/fwd.h +27 -0
  103. include/momentum/common/log.h +173 -0
  104. include/momentum/common/log_channel.h +17 -0
  105. include/momentum/common/memory.h +71 -0
  106. include/momentum/common/profile.h +79 -0
  107. include/momentum/common/progress_bar.h +37 -0
  108. include/momentum/common/string.h +52 -0
  109. include/momentum/diff_ik/ceres_utility.h +73 -0
  110. include/momentum/diff_ik/fully_differentiable_body_ik.h +58 -0
  111. include/momentum/diff_ik/fully_differentiable_distance_error_function.h +69 -0
  112. include/momentum/diff_ik/fully_differentiable_motion_error_function.h +46 -0
  113. include/momentum/diff_ik/fully_differentiable_orientation_error_function.h +114 -0
  114. include/momentum/diff_ik/fully_differentiable_pose_prior_error_function.h +76 -0
  115. include/momentum/diff_ik/fully_differentiable_position_error_function.h +138 -0
  116. include/momentum/diff_ik/fully_differentiable_projection_error_function.h +65 -0
  117. include/momentum/diff_ik/fully_differentiable_skeleton_error_function.h +160 -0
  118. include/momentum/diff_ik/fully_differentiable_state_error_function.h +54 -0
  119. include/momentum/diff_ik/fwd.h +385 -0
  120. include/momentum/diff_ik/union_error_function.h +67 -0
  121. include/momentum/gui/rerun/eigen_adapters.h +70 -0
  122. include/momentum/gui/rerun/logger.h +102 -0
  123. include/momentum/gui/rerun/logging_redirect.h +27 -0
  124. include/momentum/io/character_io.h +56 -0
  125. include/momentum/io/common/gsl_utils.h +50 -0
  126. include/momentum/io/common/stream_utils.h +65 -0
  127. include/momentum/io/fbx/fbx_io.h +109 -0
  128. include/momentum/io/fbx/fbx_memory_stream.h +66 -0
  129. include/momentum/io/fbx/openfbx_loader.h +49 -0
  130. include/momentum/io/fbx/polygon_data.h +60 -0
  131. include/momentum/io/gltf/gltf_builder.h +132 -0
  132. include/momentum/io/gltf/gltf_file_format.h +19 -0
  133. include/momentum/io/gltf/gltf_io.h +148 -0
  134. include/momentum/io/gltf/utils/accessor_utils.h +299 -0
  135. include/momentum/io/gltf/utils/coordinate_utils.h +60 -0
  136. include/momentum/io/gltf/utils/json_utils.h +102 -0
  137. include/momentum/io/legacy_json/legacy_json_io.h +70 -0
  138. include/momentum/io/marker/c3d_io.h +30 -0
  139. include/momentum/io/marker/conversions.h +57 -0
  140. include/momentum/io/marker/coordinate_system.h +30 -0
  141. include/momentum/io/marker/marker_io.h +56 -0
  142. include/momentum/io/marker/trc_io.h +27 -0
  143. include/momentum/io/motion/mmo_io.h +97 -0
  144. include/momentum/io/shape/blend_shape_io.h +70 -0
  145. include/momentum/io/shape/pose_shape_io.h +21 -0
  146. include/momentum/io/skeleton/locator_io.h +41 -0
  147. include/momentum/io/skeleton/mppca_io.h +26 -0
  148. include/momentum/io/skeleton/parameter_limits_io.h +25 -0
  149. include/momentum/io/skeleton/parameter_transform_io.h +41 -0
  150. include/momentum/io/skeleton/parameters_io.h +20 -0
  151. include/momentum/io/urdf/urdf_io.h +26 -0
  152. include/momentum/io/usd/usd_io.h +36 -0
  153. include/momentum/marker_tracking/app_utils.h +62 -0
  154. include/momentum/marker_tracking/marker_tracker.h +213 -0
  155. include/momentum/marker_tracking/process_markers.h +58 -0
  156. include/momentum/marker_tracking/tracker_utils.h +90 -0
  157. include/momentum/math/constants.h +82 -0
  158. include/momentum/math/covariance_matrix.h +84 -0
  159. include/momentum/math/fmt_eigen.h +23 -0
  160. include/momentum/math/fwd.h +132 -0
  161. include/momentum/math/generalized_loss.h +61 -0
  162. include/momentum/math/intersection.h +32 -0
  163. include/momentum/math/mesh.h +84 -0
  164. include/momentum/math/mppca.h +67 -0
  165. include/momentum/math/online_householder_qr.h +516 -0
  166. include/momentum/math/random-inl.h +404 -0
  167. include/momentum/math/random.h +310 -0
  168. include/momentum/math/simd_generalized_loss.h +40 -0
  169. include/momentum/math/transform.h +229 -0
  170. include/momentum/math/types.h +461 -0
  171. include/momentum/math/utility.h +251 -0
  172. include/momentum/rasterizer/camera.h +453 -0
  173. include/momentum/rasterizer/fwd.h +102 -0
  174. include/momentum/rasterizer/geometry.h +83 -0
  175. include/momentum/rasterizer/image.h +18 -0
  176. include/momentum/rasterizer/rasterizer.h +583 -0
  177. include/momentum/rasterizer/tensor.h +140 -0
  178. include/momentum/rasterizer/utility.h +268 -0
  179. include/momentum/simd/simd.h +221 -0
  180. include/momentum/solver/fwd.h +131 -0
  181. include/momentum/solver/gauss_newton_solver.h +136 -0
  182. include/momentum/solver/gradient_descent_solver.h +65 -0
  183. include/momentum/solver/solver.h +155 -0
  184. include/momentum/solver/solver_function.h +126 -0
  185. include/momentum/solver/subset_gauss_newton_solver.h +109 -0
  186. include/rerun/archetypes/annotation_context.hpp +157 -0
  187. include/rerun/archetypes/arrows2d.hpp +271 -0
  188. include/rerun/archetypes/arrows3d.hpp +257 -0
  189. include/rerun/archetypes/asset3d.hpp +262 -0
  190. include/rerun/archetypes/asset_video.hpp +275 -0
  191. include/rerun/archetypes/bar_chart.hpp +261 -0
  192. include/rerun/archetypes/boxes2d.hpp +293 -0
  193. include/rerun/archetypes/boxes3d.hpp +369 -0
  194. include/rerun/archetypes/capsules3d.hpp +333 -0
  195. include/rerun/archetypes/clear.hpp +180 -0
  196. include/rerun/archetypes/depth_image.hpp +425 -0
  197. include/rerun/archetypes/ellipsoids3d.hpp +384 -0
  198. include/rerun/archetypes/encoded_image.hpp +250 -0
  199. include/rerun/archetypes/geo_line_strings.hpp +166 -0
  200. include/rerun/archetypes/geo_points.hpp +177 -0
  201. include/rerun/archetypes/graph_edges.hpp +152 -0
  202. include/rerun/archetypes/graph_nodes.hpp +206 -0
  203. include/rerun/archetypes/image.hpp +434 -0
  204. include/rerun/archetypes/instance_poses3d.hpp +221 -0
  205. include/rerun/archetypes/line_strips2d.hpp +289 -0
  206. include/rerun/archetypes/line_strips3d.hpp +270 -0
  207. include/rerun/archetypes/mesh3d.hpp +387 -0
  208. include/rerun/archetypes/pinhole.hpp +385 -0
  209. include/rerun/archetypes/points2d.hpp +333 -0
  210. include/rerun/archetypes/points3d.hpp +369 -0
  211. include/rerun/archetypes/recording_properties.hpp +132 -0
  212. include/rerun/archetypes/scalar.hpp +170 -0
  213. include/rerun/archetypes/scalars.hpp +153 -0
  214. include/rerun/archetypes/segmentation_image.hpp +305 -0
  215. include/rerun/archetypes/series_line.hpp +274 -0
  216. include/rerun/archetypes/series_lines.hpp +271 -0
  217. include/rerun/archetypes/series_point.hpp +265 -0
  218. include/rerun/archetypes/series_points.hpp +251 -0
  219. include/rerun/archetypes/tensor.hpp +213 -0
  220. include/rerun/archetypes/text_document.hpp +200 -0
  221. include/rerun/archetypes/text_log.hpp +211 -0
  222. include/rerun/archetypes/transform3d.hpp +925 -0
  223. include/rerun/archetypes/video_frame_reference.hpp +295 -0
  224. include/rerun/archetypes/view_coordinates.hpp +393 -0
  225. include/rerun/archetypes.hpp +43 -0
  226. include/rerun/arrow_utils.hpp +32 -0
  227. include/rerun/as_components.hpp +90 -0
  228. include/rerun/blueprint/archetypes/background.hpp +113 -0
  229. include/rerun/blueprint/archetypes/container_blueprint.hpp +259 -0
  230. include/rerun/blueprint/archetypes/dataframe_query.hpp +178 -0
  231. include/rerun/blueprint/archetypes/entity_behavior.hpp +130 -0
  232. include/rerun/blueprint/archetypes/force_center.hpp +115 -0
  233. include/rerun/blueprint/archetypes/force_collision_radius.hpp +141 -0
  234. include/rerun/blueprint/archetypes/force_link.hpp +136 -0
  235. include/rerun/blueprint/archetypes/force_many_body.hpp +124 -0
  236. include/rerun/blueprint/archetypes/force_position.hpp +132 -0
  237. include/rerun/blueprint/archetypes/line_grid3d.hpp +178 -0
  238. include/rerun/blueprint/archetypes/map_background.hpp +104 -0
  239. include/rerun/blueprint/archetypes/map_zoom.hpp +103 -0
  240. include/rerun/blueprint/archetypes/near_clip_plane.hpp +109 -0
  241. include/rerun/blueprint/archetypes/panel_blueprint.hpp +95 -0
  242. include/rerun/blueprint/archetypes/plot_legend.hpp +118 -0
  243. include/rerun/blueprint/archetypes/scalar_axis.hpp +116 -0
  244. include/rerun/blueprint/archetypes/tensor_scalar_mapping.hpp +146 -0
  245. include/rerun/blueprint/archetypes/tensor_slice_selection.hpp +167 -0
  246. include/rerun/blueprint/archetypes/tensor_view_fit.hpp +95 -0
  247. include/rerun/blueprint/archetypes/view_blueprint.hpp +170 -0
  248. include/rerun/blueprint/archetypes/view_contents.hpp +142 -0
  249. include/rerun/blueprint/archetypes/viewport_blueprint.hpp +200 -0
  250. include/rerun/blueprint/archetypes/visible_time_ranges.hpp +116 -0
  251. include/rerun/blueprint/archetypes/visual_bounds2d.hpp +109 -0
  252. include/rerun/blueprint/archetypes/visualizer_overrides.hpp +113 -0
  253. include/rerun/blueprint/archetypes.hpp +29 -0
  254. include/rerun/blueprint/components/active_tab.hpp +82 -0
  255. include/rerun/blueprint/components/apply_latest_at.hpp +79 -0
  256. include/rerun/blueprint/components/auto_layout.hpp +77 -0
  257. include/rerun/blueprint/components/auto_views.hpp +77 -0
  258. include/rerun/blueprint/components/background_kind.hpp +66 -0
  259. include/rerun/blueprint/components/column_share.hpp +78 -0
  260. include/rerun/blueprint/components/component_column_selector.hpp +81 -0
  261. include/rerun/blueprint/components/container_kind.hpp +65 -0
  262. include/rerun/blueprint/components/corner2d.hpp +64 -0
  263. include/rerun/blueprint/components/enabled.hpp +77 -0
  264. include/rerun/blueprint/components/filter_by_range.hpp +74 -0
  265. include/rerun/blueprint/components/filter_is_not_null.hpp +77 -0
  266. include/rerun/blueprint/components/force_distance.hpp +82 -0
  267. include/rerun/blueprint/components/force_iterations.hpp +82 -0
  268. include/rerun/blueprint/components/force_strength.hpp +82 -0
  269. include/rerun/blueprint/components/grid_columns.hpp +78 -0
  270. include/rerun/blueprint/components/grid_spacing.hpp +78 -0
  271. include/rerun/blueprint/components/included_content.hpp +86 -0
  272. include/rerun/blueprint/components/lock_range_during_zoom.hpp +82 -0
  273. include/rerun/blueprint/components/map_provider.hpp +64 -0
  274. include/rerun/blueprint/components/near_clip_plane.hpp +82 -0
  275. include/rerun/blueprint/components/panel_state.hpp +61 -0
  276. include/rerun/blueprint/components/query_expression.hpp +89 -0
  277. include/rerun/blueprint/components/root_container.hpp +77 -0
  278. include/rerun/blueprint/components/row_share.hpp +78 -0
  279. include/rerun/blueprint/components/selected_columns.hpp +76 -0
  280. include/rerun/blueprint/components/tensor_dimension_index_slider.hpp +90 -0
  281. include/rerun/blueprint/components/timeline_name.hpp +76 -0
  282. include/rerun/blueprint/components/view_class.hpp +76 -0
  283. include/rerun/blueprint/components/view_fit.hpp +61 -0
  284. include/rerun/blueprint/components/view_maximized.hpp +79 -0
  285. include/rerun/blueprint/components/view_origin.hpp +81 -0
  286. include/rerun/blueprint/components/viewer_recommendation_hash.hpp +82 -0
  287. include/rerun/blueprint/components/visible_time_range.hpp +77 -0
  288. include/rerun/blueprint/components/visual_bounds2d.hpp +74 -0
  289. include/rerun/blueprint/components/visualizer_override.hpp +86 -0
  290. include/rerun/blueprint/components/zoom_level.hpp +78 -0
  291. include/rerun/blueprint/components.hpp +41 -0
  292. include/rerun/blueprint/datatypes/component_column_selector.hpp +61 -0
  293. include/rerun/blueprint/datatypes/filter_by_range.hpp +59 -0
  294. include/rerun/blueprint/datatypes/filter_is_not_null.hpp +61 -0
  295. include/rerun/blueprint/datatypes/selected_columns.hpp +62 -0
  296. include/rerun/blueprint/datatypes/tensor_dimension_index_slider.hpp +63 -0
  297. include/rerun/blueprint/datatypes.hpp +9 -0
  298. include/rerun/c/arrow_c_data_interface.h +111 -0
  299. include/rerun/c/compiler_utils.h +10 -0
  300. include/rerun/c/rerun.h +627 -0
  301. include/rerun/c/sdk_info.h +28 -0
  302. include/rerun/collection.hpp +496 -0
  303. include/rerun/collection_adapter.hpp +43 -0
  304. include/rerun/collection_adapter_builtins.hpp +138 -0
  305. include/rerun/compiler_utils.hpp +61 -0
  306. include/rerun/component_batch.hpp +163 -0
  307. include/rerun/component_column.hpp +111 -0
  308. include/rerun/component_descriptor.hpp +142 -0
  309. include/rerun/component_type.hpp +35 -0
  310. include/rerun/components/aggregation_policy.hpp +76 -0
  311. include/rerun/components/albedo_factor.hpp +74 -0
  312. include/rerun/components/annotation_context.hpp +102 -0
  313. include/rerun/components/axis_length.hpp +74 -0
  314. include/rerun/components/blob.hpp +73 -0
  315. include/rerun/components/class_id.hpp +71 -0
  316. include/rerun/components/clear_is_recursive.hpp +75 -0
  317. include/rerun/components/color.hpp +99 -0
  318. include/rerun/components/colormap.hpp +99 -0
  319. include/rerun/components/depth_meter.hpp +84 -0
  320. include/rerun/components/draw_order.hpp +79 -0
  321. include/rerun/components/entity_path.hpp +83 -0
  322. include/rerun/components/fill_mode.hpp +72 -0
  323. include/rerun/components/fill_ratio.hpp +79 -0
  324. include/rerun/components/gamma_correction.hpp +80 -0
  325. include/rerun/components/geo_line_string.hpp +63 -0
  326. include/rerun/components/graph_edge.hpp +75 -0
  327. include/rerun/components/graph_node.hpp +79 -0
  328. include/rerun/components/graph_type.hpp +57 -0
  329. include/rerun/components/half_size2d.hpp +91 -0
  330. include/rerun/components/half_size3d.hpp +95 -0
  331. include/rerun/components/image_buffer.hpp +86 -0
  332. include/rerun/components/image_format.hpp +84 -0
  333. include/rerun/components/image_plane_distance.hpp +77 -0
  334. include/rerun/components/interactive.hpp +76 -0
  335. include/rerun/components/keypoint_id.hpp +74 -0
  336. include/rerun/components/lat_lon.hpp +89 -0
  337. include/rerun/components/length.hpp +77 -0
  338. include/rerun/components/line_strip2d.hpp +73 -0
  339. include/rerun/components/line_strip3d.hpp +73 -0
  340. include/rerun/components/magnification_filter.hpp +63 -0
  341. include/rerun/components/marker_shape.hpp +82 -0
  342. include/rerun/components/marker_size.hpp +74 -0
  343. include/rerun/components/media_type.hpp +157 -0
  344. include/rerun/components/name.hpp +83 -0
  345. include/rerun/components/opacity.hpp +77 -0
  346. include/rerun/components/pinhole_projection.hpp +94 -0
  347. include/rerun/components/plane3d.hpp +75 -0
  348. include/rerun/components/pose_rotation_axis_angle.hpp +73 -0
  349. include/rerun/components/pose_rotation_quat.hpp +71 -0
  350. include/rerun/components/pose_scale3d.hpp +102 -0
  351. include/rerun/components/pose_transform_mat3x3.hpp +87 -0
  352. include/rerun/components/pose_translation3d.hpp +96 -0
  353. include/rerun/components/position2d.hpp +86 -0
  354. include/rerun/components/position3d.hpp +90 -0
  355. include/rerun/components/radius.hpp +98 -0
  356. include/rerun/components/range1d.hpp +75 -0
  357. include/rerun/components/resolution.hpp +88 -0
  358. include/rerun/components/rotation_axis_angle.hpp +72 -0
  359. include/rerun/components/rotation_quat.hpp +71 -0
  360. include/rerun/components/scalar.hpp +76 -0
  361. include/rerun/components/scale3d.hpp +102 -0
  362. include/rerun/components/series_visible.hpp +76 -0
  363. include/rerun/components/show_labels.hpp +79 -0
  364. include/rerun/components/stroke_width.hpp +74 -0
  365. include/rerun/components/tensor_data.hpp +94 -0
  366. include/rerun/components/tensor_dimension_index_selection.hpp +77 -0
  367. include/rerun/components/tensor_height_dimension.hpp +71 -0
  368. include/rerun/components/tensor_width_dimension.hpp +71 -0
  369. include/rerun/components/texcoord2d.hpp +101 -0
  370. include/rerun/components/text.hpp +83 -0
  371. include/rerun/components/text_log_level.hpp +110 -0
  372. include/rerun/components/timestamp.hpp +76 -0
  373. include/rerun/components/transform_mat3x3.hpp +92 -0
  374. include/rerun/components/transform_relation.hpp +66 -0
  375. include/rerun/components/translation3d.hpp +96 -0
  376. include/rerun/components/triangle_indices.hpp +85 -0
  377. include/rerun/components/value_range.hpp +78 -0
  378. include/rerun/components/vector2d.hpp +92 -0
  379. include/rerun/components/vector3d.hpp +96 -0
  380. include/rerun/components/video_timestamp.hpp +120 -0
  381. include/rerun/components/view_coordinates.hpp +346 -0
  382. include/rerun/components/visible.hpp +74 -0
  383. include/rerun/components.hpp +77 -0
  384. include/rerun/config.hpp +52 -0
  385. include/rerun/datatypes/angle.hpp +76 -0
  386. include/rerun/datatypes/annotation_info.hpp +76 -0
  387. include/rerun/datatypes/blob.hpp +67 -0
  388. include/rerun/datatypes/bool.hpp +57 -0
  389. include/rerun/datatypes/channel_datatype.hpp +87 -0
  390. include/rerun/datatypes/class_description.hpp +92 -0
  391. include/rerun/datatypes/class_description_map_elem.hpp +69 -0
  392. include/rerun/datatypes/class_id.hpp +62 -0
  393. include/rerun/datatypes/color_model.hpp +68 -0
  394. include/rerun/datatypes/dvec2d.hpp +76 -0
  395. include/rerun/datatypes/entity_path.hpp +60 -0
  396. include/rerun/datatypes/float32.hpp +62 -0
  397. include/rerun/datatypes/float64.hpp +62 -0
  398. include/rerun/datatypes/image_format.hpp +107 -0
  399. include/rerun/datatypes/keypoint_id.hpp +63 -0
  400. include/rerun/datatypes/keypoint_pair.hpp +65 -0
  401. include/rerun/datatypes/mat3x3.hpp +105 -0
  402. include/rerun/datatypes/mat4x4.hpp +119 -0
  403. include/rerun/datatypes/pixel_format.hpp +142 -0
  404. include/rerun/datatypes/plane3d.hpp +60 -0
  405. include/rerun/datatypes/quaternion.hpp +110 -0
  406. include/rerun/datatypes/range1d.hpp +59 -0
  407. include/rerun/datatypes/range2d.hpp +55 -0
  408. include/rerun/datatypes/rgba32.hpp +94 -0
  409. include/rerun/datatypes/rotation_axis_angle.hpp +67 -0
  410. include/rerun/datatypes/tensor_buffer.hpp +529 -0
  411. include/rerun/datatypes/tensor_data.hpp +100 -0
  412. include/rerun/datatypes/tensor_dimension_index_selection.hpp +58 -0
  413. include/rerun/datatypes/tensor_dimension_selection.hpp +56 -0
  414. include/rerun/datatypes/time_int.hpp +62 -0
  415. include/rerun/datatypes/time_range.hpp +55 -0
  416. include/rerun/datatypes/time_range_boundary.hpp +175 -0
  417. include/rerun/datatypes/uint16.hpp +62 -0
  418. include/rerun/datatypes/uint32.hpp +62 -0
  419. include/rerun/datatypes/uint64.hpp +62 -0
  420. include/rerun/datatypes/utf8.hpp +76 -0
  421. include/rerun/datatypes/utf8pair.hpp +62 -0
  422. include/rerun/datatypes/uuid.hpp +60 -0
  423. include/rerun/datatypes/uvec2d.hpp +76 -0
  424. include/rerun/datatypes/uvec3d.hpp +80 -0
  425. include/rerun/datatypes/uvec4d.hpp +59 -0
  426. include/rerun/datatypes/vec2d.hpp +76 -0
  427. include/rerun/datatypes/vec3d.hpp +80 -0
  428. include/rerun/datatypes/vec4d.hpp +84 -0
  429. include/rerun/datatypes/video_timestamp.hpp +67 -0
  430. include/rerun/datatypes/view_coordinates.hpp +87 -0
  431. include/rerun/datatypes/visible_time_range.hpp +57 -0
  432. include/rerun/datatypes.hpp +51 -0
  433. include/rerun/demo_utils.hpp +75 -0
  434. include/rerun/entity_path.hpp +20 -0
  435. include/rerun/error.hpp +180 -0
  436. include/rerun/half.hpp +10 -0
  437. include/rerun/image_utils.hpp +187 -0
  438. include/rerun/indicator_component.hpp +59 -0
  439. include/rerun/loggable.hpp +54 -0
  440. include/rerun/recording_stream.hpp +960 -0
  441. include/rerun/rerun_sdk_export.hpp +25 -0
  442. include/rerun/result.hpp +86 -0
  443. include/rerun/rotation3d.hpp +33 -0
  444. include/rerun/sdk_info.hpp +20 -0
  445. include/rerun/spawn.hpp +21 -0
  446. include/rerun/spawn_options.hpp +57 -0
  447. include/rerun/string_utils.hpp +16 -0
  448. include/rerun/third_party/cxxopts.hpp +2198 -0
  449. include/rerun/time_column.hpp +288 -0
  450. include/rerun/timeline.hpp +38 -0
  451. include/rerun/type_traits.hpp +40 -0
  452. include/rerun.hpp +86 -0
  453. lib/cmake/axel/axel-config.cmake +45 -0
  454. lib/cmake/axel/axelTargets-release.cmake +19 -0
  455. lib/cmake/axel/axelTargets.cmake +108 -0
  456. lib/cmake/momentum/Findre2.cmake +52 -0
  457. lib/cmake/momentum/momentum-config.cmake +67 -0
  458. lib/cmake/momentum/momentumTargets-release.cmake +259 -0
  459. lib/cmake/momentum/momentumTargets.cmake +377 -0
  460. lib/cmake/rerun_sdk/rerun_sdkConfig.cmake +70 -0
  461. lib/cmake/rerun_sdk/rerun_sdkConfigVersion.cmake +83 -0
  462. lib/cmake/rerun_sdk/rerun_sdkTargets-release.cmake +19 -0
  463. lib/cmake/rerun_sdk/rerun_sdkTargets.cmake +108 -0
  464. lib/libarrow.a +0 -0
  465. lib/libarrow_bundled_dependencies.a +0 -0
  466. lib/libaxel.a +0 -0
  467. lib/libmomentum_app_utils.a +0 -0
  468. lib/libmomentum_character.a +0 -0
  469. lib/libmomentum_character_sequence_solver.a +0 -0
  470. lib/libmomentum_character_solver.a +0 -0
  471. lib/libmomentum_common.a +0 -0
  472. lib/libmomentum_diff_ik.a +0 -0
  473. lib/libmomentum_io.a +0 -0
  474. lib/libmomentum_io_common.a +0 -0
  475. lib/libmomentum_io_fbx.a +0 -0
  476. lib/libmomentum_io_gltf.a +0 -0
  477. lib/libmomentum_io_legacy_json.a +0 -0
  478. lib/libmomentum_io_marker.a +0 -0
  479. lib/libmomentum_io_motion.a +0 -0
  480. lib/libmomentum_io_shape.a +0 -0
  481. lib/libmomentum_io_skeleton.a +0 -0
  482. lib/libmomentum_io_urdf.a +0 -0
  483. lib/libmomentum_marker_tracker.a +0 -0
  484. lib/libmomentum_math.a +0 -0
  485. lib/libmomentum_online_qr.a +0 -0
  486. lib/libmomentum_process_markers.a +0 -0
  487. lib/libmomentum_rerun.a +0 -0
  488. lib/libmomentum_simd_constraints.a +0 -0
  489. lib/libmomentum_simd_generalized_loss.a +0 -0
  490. lib/libmomentum_skeleton.a +0 -0
  491. lib/libmomentum_solver.a +0 -0
  492. lib/librerun_c__macos_arm64.a +0 -0
  493. lib/librerun_sdk.a +0 -0
  494. pymomentum/axel.cpython-312-darwin.so +0 -0
  495. pymomentum/backend/__init__.py +16 -0
  496. pymomentum/backend/skel_state_backend.py +614 -0
  497. pymomentum/backend/trs_backend.py +871 -0
  498. pymomentum/backend/utils.py +224 -0
  499. pymomentum/geometry.cpython-312-darwin.so +0 -0
  500. pymomentum/marker_tracking.cpython-312-darwin.so +0 -0
  501. pymomentum/quaternion.py +740 -0
  502. pymomentum/skel_state.py +514 -0
  503. pymomentum/solver.cpython-312-darwin.so +0 -0
  504. pymomentum/solver2.cpython-312-darwin.so +0 -0
  505. pymomentum/torch/character.py +856 -0
  506. pymomentum/torch/parameter_limits.py +494 -0
  507. pymomentum/torch/utility.py +20 -0
  508. pymomentum/trs.py +535 -0
  509. pymomentum_cpu-0.1.82.post0.dist-info/METADATA +121 -0
  510. pymomentum_cpu-0.1.82.post0.dist-info/RECORD +512 -0
  511. pymomentum_cpu-0.1.82.post0.dist-info/WHEEL +5 -0
  512. pymomentum_cpu-0.1.82.post0.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,153 @@
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/scalars.fbs".
3
+
4
+ #pragma once
5
+
6
+ #include "../collection.hpp"
7
+ #include "../component_batch.hpp"
8
+ #include "../component_column.hpp"
9
+ #include "../components/scalar.hpp"
10
+ #include "../indicator_component.hpp"
11
+ #include "../result.hpp"
12
+
13
+ #include <cstdint>
14
+ #include <optional>
15
+ #include <utility>
16
+ #include <vector>
17
+
18
+ namespace rerun::archetypes {
19
+ /// **Archetype**: One or more double-precision scalar values, e.g. for use for time-series plots.
20
+ ///
21
+ /// The current timeline value will be used for the time/X-axis, hence scalars
22
+ /// should not be static.
23
+ /// Number of scalars per timestamp is expected to be the same over time.
24
+ ///
25
+ /// When used to produce a plot, this archetype is used to provide the data that
26
+ /// is referenced by `archetypes::SeriesLines` or `archetypes::SeriesPoints`. You can do
27
+ /// this by logging both archetypes to the same path, or alternatively configuring
28
+ /// the plot-specific archetypes through the blueprint.
29
+ ///
30
+ /// ## Examples
31
+ ///
32
+ /// ### Update a scalar over time
33
+ /// ![image](https://static.rerun.io/transform3d_column_updates/2b7ccfd29349b2b107fcf7eb8a1291a92cf1cafc/full.png)
34
+ ///
35
+ /// ```cpp
36
+ /// #include <cmath>
37
+ ///
38
+ /// #include <rerun.hpp>
39
+ ///
40
+ /// int main() {
41
+ /// const auto rec = rerun::RecordingStream("rerun_example_scalar_row_updates");
42
+ /// rec.spawn().exit_on_failure();
43
+ ///
44
+ /// for (int step = 0; step <64; ++step) {
45
+ /// rec.set_time_sequence("step", step);
46
+ /// rec.log("scalars", rerun::Scalars(sin(static_cast<double>(step) / 10.0)));
47
+ /// }
48
+ /// }
49
+ /// ```
50
+ ///
51
+ /// ### Update a scalar over time, in a single operation
52
+ /// ![image](https://static.rerun.io/transform3d_column_updates/2b7ccfd29349b2b107fcf7eb8a1291a92cf1cafc/full.png)
53
+ ///
54
+ /// ```cpp
55
+ /// #include <cmath>
56
+ /// #include <numeric>
57
+ /// #include <vector>
58
+ ///
59
+ /// #include <rerun.hpp>
60
+ ///
61
+ /// int main() {
62
+ /// const auto rec = rerun::RecordingStream("rerun_example_scalar_column_updates");
63
+ /// rec.spawn().exit_on_failure();
64
+ ///
65
+ /// // Native scalars & times.
66
+ /// std::vector<double> scalar_data(64);
67
+ /// for (size_t i = 0; i <64; ++i) {
68
+ /// scalar_data[i] = sin(static_cast<double>(i) / 10.0);
69
+ /// }
70
+ /// std::vector<int64_t> times(64);
71
+ /// std::iota(times.begin(), times.end(), 0);
72
+ ///
73
+ /// // Serialize to columns and send.
74
+ /// rec.send_columns(
75
+ /// "scalars",
76
+ /// rerun::TimeColumn::from_sequence("step", std::move(times)),
77
+ /// rerun::Scalars(std::move(scalar_data)).columns()
78
+ /// );
79
+ /// }
80
+ /// ```
81
+ struct Scalars {
82
+ /// The scalar values to log.
83
+ std::optional<ComponentBatch> scalars;
84
+
85
+ public:
86
+ static constexpr const char IndicatorComponentName[] = "rerun.components.ScalarsIndicator";
87
+
88
+ /// Indicator component, used to identify the archetype when converting to a list of components.
89
+ using IndicatorComponent = rerun::components::IndicatorComponent<IndicatorComponentName>;
90
+ /// The name of the archetype as used in `ComponentDescriptor`s.
91
+ static constexpr const char ArchetypeName[] = "rerun.archetypes.Scalars";
92
+
93
+ /// `ComponentDescriptor` for the `scalars` field.
94
+ static constexpr auto Descriptor_scalars = ComponentDescriptor(
95
+ ArchetypeName, "scalars", Loggable<rerun::components::Scalar>::Descriptor.component_name
96
+ );
97
+
98
+ public:
99
+ Scalars() = default;
100
+ Scalars(Scalars&& other) = default;
101
+ Scalars(const Scalars& other) = default;
102
+ Scalars& operator=(const Scalars& other) = default;
103
+ Scalars& operator=(Scalars&& other) = default;
104
+
105
+ explicit Scalars(Collection<rerun::components::Scalar> _scalars)
106
+ : scalars(ComponentBatch::from_loggable(std::move(_scalars), Descriptor_scalars)
107
+ .value_or_throw()) {}
108
+
109
+ /// Update only some specific fields of a `Scalars`.
110
+ static Scalars update_fields() {
111
+ return Scalars();
112
+ }
113
+
114
+ /// Clear all the fields of a `Scalars`.
115
+ static Scalars clear_fields();
116
+
117
+ /// The scalar values to log.
118
+ Scalars with_scalars(const Collection<rerun::components::Scalar>& _scalars) && {
119
+ scalars = ComponentBatch::from_loggable(_scalars, Descriptor_scalars).value_or_throw();
120
+ return std::move(*this);
121
+ }
122
+
123
+ /// Partitions the component data into multiple sub-batches.
124
+ ///
125
+ /// Specifically, this transforms the existing `ComponentBatch` data into `ComponentColumn`s
126
+ /// instead, via `ComponentBatch::partitioned`.
127
+ ///
128
+ /// This makes it possible to use `RecordingStream::send_columns` to send columnar data directly into Rerun.
129
+ ///
130
+ /// The specified `lengths` must sum to the total length of the component batch.
131
+ Collection<ComponentColumn> columns(const Collection<uint32_t>& lengths_);
132
+
133
+ /// Partitions the component data into unit-length sub-batches.
134
+ ///
135
+ /// This is semantically similar to calling `columns` with `std::vector<uint32_t>(n, 1)`,
136
+ /// where `n` is automatically guessed.
137
+ Collection<ComponentColumn> columns();
138
+ };
139
+
140
+ } // namespace rerun::archetypes
141
+
142
+ namespace rerun {
143
+ /// \private
144
+ template <typename T>
145
+ struct AsComponents;
146
+
147
+ /// \private
148
+ template <>
149
+ struct AsComponents<archetypes::Scalars> {
150
+ /// Serialize all set component batches.
151
+ static Result<Collection<ComponentBatch>> as_batches(const archetypes::Scalars& archetype);
152
+ };
153
+ } // namespace rerun
@@ -0,0 +1,305 @@
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/segmentation_image.fbs".
3
+
4
+ #pragma once
5
+
6
+ #include "../collection.hpp"
7
+ #include "../component_batch.hpp"
8
+ #include "../component_column.hpp"
9
+ #include "../components/draw_order.hpp"
10
+ #include "../components/image_buffer.hpp"
11
+ #include "../components/image_format.hpp"
12
+ #include "../components/opacity.hpp"
13
+ #include "../image_utils.hpp"
14
+ #include "../indicator_component.hpp"
15
+ #include "../result.hpp"
16
+
17
+ #include <cstdint>
18
+ #include <optional>
19
+ #include <utility>
20
+ #include <vector>
21
+
22
+ namespace rerun::archetypes {
23
+ /// **Archetype**: An image made up of integer `components::ClassId`s.
24
+ ///
25
+ /// Each pixel corresponds to a `components::ClassId` that will be mapped to a color based on `archetypes::AnnotationContext`.
26
+ ///
27
+ /// In the case of floating point images, the label will be looked up based on rounding to the nearest
28
+ /// integer value.
29
+ ///
30
+ /// Use `archetypes::AnnotationContext` to associate each class with a color and a label.
31
+ ///
32
+ /// Since the underlying `rerun::datatypes::TensorData` uses `rerun::Collection` internally,
33
+ /// data can be passed in without a copy from raw pointers or by reference from `std::vector`/`std::array`/c-arrays.
34
+ /// If needed, this "borrow-behavior" can be extended by defining your own `rerun::CollectionAdapter`.
35
+ ///
36
+ /// ## Example
37
+ ///
38
+ /// ### Simple segmentation image
39
+ /// ![image](https://static.rerun.io/segmentation_image_simple/f8aac62abcf4c59c5d62f9ebc2d86fd0285c1736/full.png)
40
+ ///
41
+ /// ```cpp
42
+ /// #include <rerun.hpp>
43
+ ///
44
+ /// #include <algorithm> // std::fill_n
45
+ /// #include <vector>
46
+ ///
47
+ /// int main() {
48
+ /// const auto rec = rerun::RecordingStream("rerun_example_segmentation_image");
49
+ /// rec.spawn().exit_on_failure();
50
+ ///
51
+ /// // Create a segmentation image
52
+ /// const int HEIGHT = 8;
53
+ /// const int WIDTH = 12;
54
+ /// std::vector<uint8_t> data(WIDTH * HEIGHT, 0);
55
+ /// for (auto y = 0; y <4; ++y) { // top half
56
+ /// std::fill_n(data.begin() + y * WIDTH, 6, static_cast<uint8_t>(1)); // left half
57
+ /// }
58
+ /// for (auto y = 4; y <8; ++y) { // bottom half
59
+ /// std::fill_n(data.begin() + y * WIDTH + 6, 6, static_cast<uint8_t>(2)); // right half
60
+ /// }
61
+ ///
62
+ /// // create an annotation context to describe the classes
63
+ /// rec.log_static(
64
+ /// "/",
65
+ /// rerun::AnnotationContext({
66
+ /// rerun::AnnotationInfo(1, "red", rerun::Rgba32(255, 0, 0)),
67
+ /// rerun::AnnotationInfo(2, "green", rerun::Rgba32(0, 255, 0)),
68
+ /// })
69
+ /// );
70
+ ///
71
+ /// rec.log("image", rerun::SegmentationImage(data.data(), {WIDTH, HEIGHT}));
72
+ /// }
73
+ /// ```
74
+ struct SegmentationImage {
75
+ /// The raw image data.
76
+ std::optional<ComponentBatch> buffer;
77
+
78
+ /// The format of the image.
79
+ std::optional<ComponentBatch> format;
80
+
81
+ /// Opacity of the image, useful for layering the segmentation image on top of another image.
82
+ ///
83
+ /// Defaults to 0.5 if there's any other images in the scene, otherwise 1.0.
84
+ std::optional<ComponentBatch> opacity;
85
+
86
+ /// An optional floating point value that specifies the 2D drawing order.
87
+ ///
88
+ /// Objects with higher values are drawn on top of those with lower values.
89
+ /// Defaults to `0.0`.
90
+ std::optional<ComponentBatch> draw_order;
91
+
92
+ public:
93
+ static constexpr const char IndicatorComponentName[] =
94
+ "rerun.components.SegmentationImageIndicator";
95
+
96
+ /// Indicator component, used to identify the archetype when converting to a list of components.
97
+ using IndicatorComponent = rerun::components::IndicatorComponent<IndicatorComponentName>;
98
+ /// The name of the archetype as used in `ComponentDescriptor`s.
99
+ static constexpr const char ArchetypeName[] = "rerun.archetypes.SegmentationImage";
100
+
101
+ /// `ComponentDescriptor` for the `buffer` field.
102
+ static constexpr auto Descriptor_buffer = ComponentDescriptor(
103
+ ArchetypeName, "buffer",
104
+ Loggable<rerun::components::ImageBuffer>::Descriptor.component_name
105
+ );
106
+ /// `ComponentDescriptor` for the `format` field.
107
+ static constexpr auto Descriptor_format = ComponentDescriptor(
108
+ ArchetypeName, "format",
109
+ Loggable<rerun::components::ImageFormat>::Descriptor.component_name
110
+ );
111
+ /// `ComponentDescriptor` for the `opacity` field.
112
+ static constexpr auto Descriptor_opacity = ComponentDescriptor(
113
+ ArchetypeName, "opacity",
114
+ Loggable<rerun::components::Opacity>::Descriptor.component_name
115
+ );
116
+ /// `ComponentDescriptor` for the `draw_order` field.
117
+ static constexpr auto Descriptor_draw_order = ComponentDescriptor(
118
+ ArchetypeName, "draw_order",
119
+ Loggable<rerun::components::DrawOrder>::Descriptor.component_name
120
+ );
121
+
122
+ public: // START of extensions from segmentation_image_ext.cpp:
123
+ /// Constructs image from pointer + resolution, inferring the datatype from the pointer type.
124
+ ///
125
+ /// @param pixels The raw image data.
126
+ /// ⚠️ Does not take ownership of the data, the caller must ensure the data outlives the image.
127
+ /// The number of elements is assumed to be `W * H`.
128
+ /// @param resolution The resolution of the image as {width, height}.
129
+ template <typename TElement>
130
+ SegmentationImage(const TElement* pixels, WidthHeight resolution)
131
+ : SegmentationImage{
132
+ reinterpret_cast<const uint8_t*>(pixels), resolution, get_datatype(pixels)} {}
133
+
134
+ /// Constructs image from pixel data + resolution with datatype inferred from the passed collection.
135
+ ///
136
+ /// @param pixels The raw image data.
137
+ /// If the data does not outlive the image, use `std::move` or create the `rerun::Collection`
138
+ /// explicitly ahead of time with `rerun::Collection::take_ownership`.
139
+ /// The length of the data should be `W * H`.
140
+ /// @param resolution The resolution of the image as {width, height}.
141
+ template <typename TElement>
142
+ SegmentationImage(Collection<TElement> pixels, WidthHeight resolution)
143
+ : SegmentationImage{pixels.to_uint8(), resolution, get_datatype(pixels.data())} {}
144
+
145
+ /// Constructs image from pixel data + resolution with explicit datatype. Borrows data from a pointer (i.e. data must outlive the image!).
146
+ ///
147
+ /// @param bytes The raw image data.
148
+ /// ⚠️ Does not take ownership of the data, the caller must ensure the data outlives the image.
149
+ /// The byte size of the data is assumed to be `W * H * datatype.size`
150
+ /// @param resolution The resolution of the image as {width, height}.
151
+ /// @param datatype How the data should be interpreted.
152
+ SegmentationImage(
153
+ const void* bytes, WidthHeight resolution, datatypes::ChannelDatatype datatype
154
+ )
155
+ : SegmentationImage{
156
+ Collection<uint8_t>::borrow(bytes, num_bytes(resolution, datatype)),
157
+ resolution,
158
+ datatype} {}
159
+
160
+ /// Constructs image from pixel data + resolution + datatype.
161
+ ///
162
+ /// @param bytes The raw image data as bytes.
163
+ /// If the data does not outlive the image, use `std::move` or create the `rerun::Collection`
164
+ /// explicitly ahead of time with `rerun::Collection::take_ownership`.
165
+ /// The length of the data should be `W * H`.
166
+ /// @param resolution The resolution of the image as {width, height}.
167
+ /// @param datatype How the data should be interpreted.
168
+ SegmentationImage(
169
+ Collection<uint8_t> bytes, WidthHeight resolution, datatypes::ChannelDatatype datatype
170
+ ) {
171
+ auto image_format = datatypes::ImageFormat{resolution, datatype};
172
+ if (bytes.size() != image_format.num_bytes()) {
173
+ Error(
174
+ ErrorCode::InvalidTensorDimension,
175
+ "SegmentationImage buffer has the wrong size. Got " +
176
+ std::to_string(bytes.size()) + " bytes, expected " +
177
+ std::to_string(image_format.num_bytes())
178
+ )
179
+ .handle();
180
+ }
181
+ *this = std::move(*this).with_buffer(bytes).with_format(image_format);
182
+ }
183
+
184
+ // END of extensions from segmentation_image_ext.cpp, start of generated code:
185
+
186
+ public:
187
+ SegmentationImage() = default;
188
+ SegmentationImage(SegmentationImage&& other) = default;
189
+ SegmentationImage(const SegmentationImage& other) = default;
190
+ SegmentationImage& operator=(const SegmentationImage& other) = default;
191
+ SegmentationImage& operator=(SegmentationImage&& other) = default;
192
+
193
+ /// Update only some specific fields of a `SegmentationImage`.
194
+ static SegmentationImage update_fields() {
195
+ return SegmentationImage();
196
+ }
197
+
198
+ /// Clear all the fields of a `SegmentationImage`.
199
+ static SegmentationImage clear_fields();
200
+
201
+ /// The raw image data.
202
+ SegmentationImage with_buffer(const rerun::components::ImageBuffer& _buffer) && {
203
+ buffer = ComponentBatch::from_loggable(_buffer, Descriptor_buffer).value_or_throw();
204
+ return std::move(*this);
205
+ }
206
+
207
+ /// This method makes it possible to pack multiple `buffer` in a single component batch.
208
+ ///
209
+ /// This only makes sense when used in conjunction with `columns`. `with_buffer` should
210
+ /// be used when logging a single row's worth of data.
211
+ SegmentationImage with_many_buffer(const Collection<rerun::components::ImageBuffer>& _buffer
212
+ ) && {
213
+ buffer = ComponentBatch::from_loggable(_buffer, Descriptor_buffer).value_or_throw();
214
+ return std::move(*this);
215
+ }
216
+
217
+ /// The format of the image.
218
+ SegmentationImage with_format(const rerun::components::ImageFormat& _format) && {
219
+ format = ComponentBatch::from_loggable(_format, Descriptor_format).value_or_throw();
220
+ return std::move(*this);
221
+ }
222
+
223
+ /// This method makes it possible to pack multiple `format` in a single component batch.
224
+ ///
225
+ /// This only makes sense when used in conjunction with `columns`. `with_format` should
226
+ /// be used when logging a single row's worth of data.
227
+ SegmentationImage with_many_format(const Collection<rerun::components::ImageFormat>& _format
228
+ ) && {
229
+ format = ComponentBatch::from_loggable(_format, Descriptor_format).value_or_throw();
230
+ return std::move(*this);
231
+ }
232
+
233
+ /// Opacity of the image, useful for layering the segmentation image on top of another image.
234
+ ///
235
+ /// Defaults to 0.5 if there's any other images in the scene, otherwise 1.0.
236
+ SegmentationImage with_opacity(const rerun::components::Opacity& _opacity) && {
237
+ opacity = ComponentBatch::from_loggable(_opacity, Descriptor_opacity).value_or_throw();
238
+ return std::move(*this);
239
+ }
240
+
241
+ /// This method makes it possible to pack multiple `opacity` in a single component batch.
242
+ ///
243
+ /// This only makes sense when used in conjunction with `columns`. `with_opacity` should
244
+ /// be used when logging a single row's worth of data.
245
+ SegmentationImage with_many_opacity(const Collection<rerun::components::Opacity>& _opacity
246
+ ) && {
247
+ opacity = ComponentBatch::from_loggable(_opacity, Descriptor_opacity).value_or_throw();
248
+ return std::move(*this);
249
+ }
250
+
251
+ /// An optional floating point value that specifies the 2D drawing order.
252
+ ///
253
+ /// Objects with higher values are drawn on top of those with lower values.
254
+ /// Defaults to `0.0`.
255
+ SegmentationImage with_draw_order(const rerun::components::DrawOrder& _draw_order) && {
256
+ draw_order =
257
+ ComponentBatch::from_loggable(_draw_order, Descriptor_draw_order).value_or_throw();
258
+ return std::move(*this);
259
+ }
260
+
261
+ /// This method makes it possible to pack multiple `draw_order` in a single component batch.
262
+ ///
263
+ /// This only makes sense when used in conjunction with `columns`. `with_draw_order` should
264
+ /// be used when logging a single row's worth of data.
265
+ SegmentationImage with_many_draw_order(
266
+ const Collection<rerun::components::DrawOrder>& _draw_order
267
+ ) && {
268
+ draw_order =
269
+ ComponentBatch::from_loggable(_draw_order, Descriptor_draw_order).value_or_throw();
270
+ return std::move(*this);
271
+ }
272
+
273
+ /// Partitions the component data into multiple sub-batches.
274
+ ///
275
+ /// Specifically, this transforms the existing `ComponentBatch` data into `ComponentColumn`s
276
+ /// instead, via `ComponentBatch::partitioned`.
277
+ ///
278
+ /// This makes it possible to use `RecordingStream::send_columns` to send columnar data directly into Rerun.
279
+ ///
280
+ /// The specified `lengths` must sum to the total length of the component batch.
281
+ Collection<ComponentColumn> columns(const Collection<uint32_t>& lengths_);
282
+
283
+ /// Partitions the component data into unit-length sub-batches.
284
+ ///
285
+ /// This is semantically similar to calling `columns` with `std::vector<uint32_t>(n, 1)`,
286
+ /// where `n` is automatically guessed.
287
+ Collection<ComponentColumn> columns();
288
+ };
289
+
290
+ } // namespace rerun::archetypes
291
+
292
+ namespace rerun {
293
+ /// \private
294
+ template <typename T>
295
+ struct AsComponents;
296
+
297
+ /// \private
298
+ template <>
299
+ struct AsComponents<archetypes::SegmentationImage> {
300
+ /// Serialize all set component batches.
301
+ static Result<Collection<ComponentBatch>> as_batches(
302
+ const archetypes::SegmentationImage& archetype
303
+ );
304
+ };
305
+ } // namespace rerun