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,271 @@
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/arrows2d.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/draw_order.hpp"
12
+ #include "../components/position2d.hpp"
13
+ #include "../components/radius.hpp"
14
+ #include "../components/show_labels.hpp"
15
+ #include "../components/text.hpp"
16
+ #include "../components/vector2d.hpp"
17
+ #include "../indicator_component.hpp"
18
+ #include "../result.hpp"
19
+
20
+ #include <cstdint>
21
+ #include <optional>
22
+ #include <utility>
23
+ #include <vector>
24
+
25
+ namespace rerun::archetypes {
26
+ /// **Archetype**: 2D arrows with optional colors, radii, labels, etc.
27
+ ///
28
+ /// ## Example
29
+ ///
30
+ /// ### Simple batch of 2D arrows
31
+ /// ![image](https://static.rerun.io/arrow2d_simple/59f044ccc03f7bc66ee802288f75706618b29a6e/full.png)
32
+ ///
33
+ /// ```cpp
34
+ /// #include <rerun.hpp>
35
+ ///
36
+ /// int main() {
37
+ /// const auto rec = rerun::RecordingStream("rerun_example_arrow2d");
38
+ /// rec.spawn().exit_on_failure();
39
+ ///
40
+ /// rec.log(
41
+ /// "arrows",
42
+ /// rerun::Arrows2D::from_vectors({{1.0f, 0.0f}, {0.0f, -1.0f}, {-0.7f, 0.7f}})
43
+ /// .with_radii(0.025f)
44
+ /// .with_origins({{0.25f, 0.0f}, {0.25f, 0.0f}, {-0.1f, -0.1f}})
45
+ /// .with_colors({{255, 0, 0}, {0, 255, 0}, {127, 0, 255}})
46
+ /// .with_labels({"right", "up", "left-down"})
47
+ /// );
48
+ /// }
49
+ /// ```
50
+ struct Arrows2D {
51
+ /// All the vectors for each arrow in the batch.
52
+ std::optional<ComponentBatch> vectors;
53
+
54
+ /// All the origin (base) positions for each arrow in the batch.
55
+ ///
56
+ /// If no origins are set, (0, 0) is used as the origin for each arrow.
57
+ std::optional<ComponentBatch> origins;
58
+
59
+ /// Optional radii for the arrows.
60
+ ///
61
+ /// The shaft is rendered as a line with `radius = 0.5 * radius`.
62
+ /// The tip is rendered with `height = 2.0 * radius` and `radius = 1.0 * radius`.
63
+ std::optional<ComponentBatch> radii;
64
+
65
+ /// Optional colors for the points.
66
+ std::optional<ComponentBatch> colors;
67
+
68
+ /// Optional text labels for the arrows.
69
+ ///
70
+ /// If there's a single label present, it will be placed at the center of the entity.
71
+ /// Otherwise, each instance will have its own label.
72
+ std::optional<ComponentBatch> labels;
73
+
74
+ /// Optional choice of whether the text labels should be shown by default.
75
+ std::optional<ComponentBatch> show_labels;
76
+
77
+ /// An optional floating point value that specifies the 2D drawing order.
78
+ ///
79
+ /// Objects with higher values are drawn on top of those with lower values.
80
+ std::optional<ComponentBatch> draw_order;
81
+
82
+ /// Optional class Ids for the points.
83
+ ///
84
+ /// The `components::ClassId` provides colors and labels if not specified explicitly.
85
+ std::optional<ComponentBatch> class_ids;
86
+
87
+ public:
88
+ static constexpr const char IndicatorComponentName[] = "rerun.components.Arrows2DIndicator";
89
+
90
+ /// Indicator component, used to identify the archetype when converting to a list of components.
91
+ using IndicatorComponent = rerun::components::IndicatorComponent<IndicatorComponentName>;
92
+ /// The name of the archetype as used in `ComponentDescriptor`s.
93
+ static constexpr const char ArchetypeName[] = "rerun.archetypes.Arrows2D";
94
+
95
+ /// `ComponentDescriptor` for the `vectors` field.
96
+ static constexpr auto Descriptor_vectors = ComponentDescriptor(
97
+ ArchetypeName, "vectors",
98
+ Loggable<rerun::components::Vector2D>::Descriptor.component_name
99
+ );
100
+ /// `ComponentDescriptor` for the `origins` field.
101
+ static constexpr auto Descriptor_origins = ComponentDescriptor(
102
+ ArchetypeName, "origins",
103
+ Loggable<rerun::components::Position2D>::Descriptor.component_name
104
+ );
105
+ /// `ComponentDescriptor` for the `radii` field.
106
+ static constexpr auto Descriptor_radii = ComponentDescriptor(
107
+ ArchetypeName, "radii", Loggable<rerun::components::Radius>::Descriptor.component_name
108
+ );
109
+ /// `ComponentDescriptor` for the `colors` field.
110
+ static constexpr auto Descriptor_colors = ComponentDescriptor(
111
+ ArchetypeName, "colors", Loggable<rerun::components::Color>::Descriptor.component_name
112
+ );
113
+ /// `ComponentDescriptor` for the `labels` field.
114
+ static constexpr auto Descriptor_labels = ComponentDescriptor(
115
+ ArchetypeName, "labels", Loggable<rerun::components::Text>::Descriptor.component_name
116
+ );
117
+ /// `ComponentDescriptor` for the `show_labels` field.
118
+ static constexpr auto Descriptor_show_labels = ComponentDescriptor(
119
+ ArchetypeName, "show_labels",
120
+ Loggable<rerun::components::ShowLabels>::Descriptor.component_name
121
+ );
122
+ /// `ComponentDescriptor` for the `draw_order` field.
123
+ static constexpr auto Descriptor_draw_order = ComponentDescriptor(
124
+ ArchetypeName, "draw_order",
125
+ Loggable<rerun::components::DrawOrder>::Descriptor.component_name
126
+ );
127
+ /// `ComponentDescriptor` for the `class_ids` field.
128
+ static constexpr auto Descriptor_class_ids = ComponentDescriptor(
129
+ ArchetypeName, "class_ids",
130
+ Loggable<rerun::components::ClassId>::Descriptor.component_name
131
+ );
132
+
133
+ public: // START of extensions from arrows2d_ext.cpp:
134
+ /// Creates new 2D arrows pointing in the given directions, with a base at the origin (0, 0).
135
+ static Arrows2D from_vectors(Collection<components::Vector2D> vectors_) {
136
+ return Arrows2D().with_vectors(vectors_);
137
+ }
138
+
139
+ // END of extensions from arrows2d_ext.cpp, start of generated code:
140
+
141
+ public:
142
+ Arrows2D() = default;
143
+ Arrows2D(Arrows2D&& other) = default;
144
+ Arrows2D(const Arrows2D& other) = default;
145
+ Arrows2D& operator=(const Arrows2D& other) = default;
146
+ Arrows2D& operator=(Arrows2D&& other) = default;
147
+
148
+ /// Update only some specific fields of a `Arrows2D`.
149
+ static Arrows2D update_fields() {
150
+ return Arrows2D();
151
+ }
152
+
153
+ /// Clear all the fields of a `Arrows2D`.
154
+ static Arrows2D clear_fields();
155
+
156
+ /// All the vectors for each arrow in the batch.
157
+ Arrows2D with_vectors(const Collection<rerun::components::Vector2D>& _vectors) && {
158
+ vectors = ComponentBatch::from_loggable(_vectors, Descriptor_vectors).value_or_throw();
159
+ return std::move(*this);
160
+ }
161
+
162
+ /// All the origin (base) positions for each arrow in the batch.
163
+ ///
164
+ /// If no origins are set, (0, 0) is used as the origin for each arrow.
165
+ Arrows2D with_origins(const Collection<rerun::components::Position2D>& _origins) && {
166
+ origins = ComponentBatch::from_loggable(_origins, Descriptor_origins).value_or_throw();
167
+ return std::move(*this);
168
+ }
169
+
170
+ /// Optional radii for the arrows.
171
+ ///
172
+ /// The shaft is rendered as a line with `radius = 0.5 * radius`.
173
+ /// The tip is rendered with `height = 2.0 * radius` and `radius = 1.0 * radius`.
174
+ Arrows2D with_radii(const Collection<rerun::components::Radius>& _radii) && {
175
+ radii = ComponentBatch::from_loggable(_radii, Descriptor_radii).value_or_throw();
176
+ return std::move(*this);
177
+ }
178
+
179
+ /// Optional colors for the points.
180
+ Arrows2D with_colors(const Collection<rerun::components::Color>& _colors) && {
181
+ colors = ComponentBatch::from_loggable(_colors, Descriptor_colors).value_or_throw();
182
+ return std::move(*this);
183
+ }
184
+
185
+ /// Optional text labels for the arrows.
186
+ ///
187
+ /// If there's a single label present, it will be placed at the center of the entity.
188
+ /// Otherwise, each instance will have its own label.
189
+ Arrows2D with_labels(const Collection<rerun::components::Text>& _labels) && {
190
+ labels = ComponentBatch::from_loggable(_labels, Descriptor_labels).value_or_throw();
191
+ return std::move(*this);
192
+ }
193
+
194
+ /// Optional choice of whether the text labels should be shown by default.
195
+ Arrows2D with_show_labels(const rerun::components::ShowLabels& _show_labels) && {
196
+ show_labels = ComponentBatch::from_loggable(_show_labels, Descriptor_show_labels)
197
+ .value_or_throw();
198
+ return std::move(*this);
199
+ }
200
+
201
+ /// This method makes it possible to pack multiple `show_labels` in a single component batch.
202
+ ///
203
+ /// This only makes sense when used in conjunction with `columns`. `with_show_labels` should
204
+ /// be used when logging a single row's worth of data.
205
+ Arrows2D with_many_show_labels(const Collection<rerun::components::ShowLabels>& _show_labels
206
+ ) && {
207
+ show_labels = ComponentBatch::from_loggable(_show_labels, Descriptor_show_labels)
208
+ .value_or_throw();
209
+ return std::move(*this);
210
+ }
211
+
212
+ /// An optional floating point value that specifies the 2D drawing order.
213
+ ///
214
+ /// Objects with higher values are drawn on top of those with lower values.
215
+ Arrows2D with_draw_order(const rerun::components::DrawOrder& _draw_order) && {
216
+ draw_order =
217
+ ComponentBatch::from_loggable(_draw_order, Descriptor_draw_order).value_or_throw();
218
+ return std::move(*this);
219
+ }
220
+
221
+ /// This method makes it possible to pack multiple `draw_order` in a single component batch.
222
+ ///
223
+ /// This only makes sense when used in conjunction with `columns`. `with_draw_order` should
224
+ /// be used when logging a single row's worth of data.
225
+ Arrows2D with_many_draw_order(const Collection<rerun::components::DrawOrder>& _draw_order
226
+ ) && {
227
+ draw_order =
228
+ ComponentBatch::from_loggable(_draw_order, Descriptor_draw_order).value_or_throw();
229
+ return std::move(*this);
230
+ }
231
+
232
+ /// Optional class Ids for the points.
233
+ ///
234
+ /// The `components::ClassId` provides colors and labels if not specified explicitly.
235
+ Arrows2D with_class_ids(const Collection<rerun::components::ClassId>& _class_ids) && {
236
+ class_ids =
237
+ ComponentBatch::from_loggable(_class_ids, Descriptor_class_ids).value_or_throw();
238
+ return std::move(*this);
239
+ }
240
+
241
+ /// Partitions the component data into multiple sub-batches.
242
+ ///
243
+ /// Specifically, this transforms the existing `ComponentBatch` data into `ComponentColumn`s
244
+ /// instead, via `ComponentBatch::partitioned`.
245
+ ///
246
+ /// This makes it possible to use `RecordingStream::send_columns` to send columnar data directly into Rerun.
247
+ ///
248
+ /// The specified `lengths` must sum to the total length of the component batch.
249
+ Collection<ComponentColumn> columns(const Collection<uint32_t>& lengths_);
250
+
251
+ /// Partitions the component data into unit-length sub-batches.
252
+ ///
253
+ /// This is semantically similar to calling `columns` with `std::vector<uint32_t>(n, 1)`,
254
+ /// where `n` is automatically guessed.
255
+ Collection<ComponentColumn> columns();
256
+ };
257
+
258
+ } // namespace rerun::archetypes
259
+
260
+ namespace rerun {
261
+ /// \private
262
+ template <typename T>
263
+ struct AsComponents;
264
+
265
+ /// \private
266
+ template <>
267
+ struct AsComponents<archetypes::Arrows2D> {
268
+ /// Serialize all set component batches.
269
+ static Result<Collection<ComponentBatch>> as_batches(const archetypes::Arrows2D& archetype);
270
+ };
271
+ } // namespace rerun
@@ -0,0 +1,257 @@
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/arrows3d.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/position3d.hpp"
12
+ #include "../components/radius.hpp"
13
+ #include "../components/show_labels.hpp"
14
+ #include "../components/text.hpp"
15
+ #include "../components/vector3d.hpp"
16
+ #include "../indicator_component.hpp"
17
+ #include "../result.hpp"
18
+
19
+ #include <cstdint>
20
+ #include <optional>
21
+ #include <utility>
22
+ #include <vector>
23
+
24
+ namespace rerun::archetypes {
25
+ /// **Archetype**: 3D arrows with optional colors, radii, labels, etc.
26
+ ///
27
+ /// ## Example
28
+ ///
29
+ /// ### Simple batch of 3D arrows
30
+ /// ![image](https://static.rerun.io/arrow3d_simple/55e2f794a520bbf7527d7b828b0264732146c5d0/full.png)
31
+ ///
32
+ /// ```cpp
33
+ /// #include <rerun.hpp>
34
+ ///
35
+ /// #include <cmath>
36
+ /// #include <vector>
37
+ ///
38
+ /// constexpr float TAU = 6.28318530717958647692528676655900577f;
39
+ ///
40
+ /// int main() {
41
+ /// const auto rec = rerun::RecordingStream("rerun_example_arrow3d");
42
+ /// rec.spawn().exit_on_failure();
43
+ ///
44
+ /// std::vector<rerun::Position3D> origins;
45
+ /// std::vector<rerun::Vector3D> vectors;
46
+ /// std::vector<rerun::Color> colors;
47
+ ///
48
+ /// for (int i = 0; i <100; ++i) {
49
+ /// origins.push_back({0, 0, 0});
50
+ ///
51
+ /// float angle = TAU * static_cast<float>(i) * 0.01f;
52
+ /// float length = static_cast<float>(log2(i + 1));
53
+ /// vectors.push_back({length * sinf(angle), 0.0, length * cosf(angle)});
54
+ ///
55
+ /// uint8_t c = static_cast<uint8_t>(round(angle / TAU * 255.0f));
56
+ /// colors.push_back({static_cast<uint8_t>(255 - c), c, 128, 128});
57
+ /// }
58
+ ///
59
+ /// rec.log(
60
+ /// "arrows",
61
+ /// rerun::Arrows3D::from_vectors(vectors).with_origins(origins).with_colors(colors)
62
+ /// );
63
+ /// }
64
+ /// ```
65
+ struct Arrows3D {
66
+ /// All the vectors for each arrow in the batch.
67
+ std::optional<ComponentBatch> vectors;
68
+
69
+ /// All the origin (base) positions for each arrow in the batch.
70
+ ///
71
+ /// If no origins are set, (0, 0, 0) is used as the origin for each arrow.
72
+ std::optional<ComponentBatch> origins;
73
+
74
+ /// Optional radii for the arrows.
75
+ ///
76
+ /// The shaft is rendered as a line with `radius = 0.5 * radius`.
77
+ /// The tip is rendered with `height = 2.0 * radius` and `radius = 1.0 * radius`.
78
+ std::optional<ComponentBatch> radii;
79
+
80
+ /// Optional colors for the points.
81
+ std::optional<ComponentBatch> colors;
82
+
83
+ /// Optional text labels for the arrows.
84
+ ///
85
+ /// If there's a single label present, it will be placed at the center of the entity.
86
+ /// Otherwise, each instance will have its own label.
87
+ std::optional<ComponentBatch> labels;
88
+
89
+ /// Optional choice of whether the text labels should be shown by default.
90
+ std::optional<ComponentBatch> show_labels;
91
+
92
+ /// Optional class Ids for the points.
93
+ ///
94
+ /// The `components::ClassId` provides colors and labels if not specified explicitly.
95
+ std::optional<ComponentBatch> class_ids;
96
+
97
+ public:
98
+ static constexpr const char IndicatorComponentName[] = "rerun.components.Arrows3DIndicator";
99
+
100
+ /// Indicator component, used to identify the archetype when converting to a list of components.
101
+ using IndicatorComponent = rerun::components::IndicatorComponent<IndicatorComponentName>;
102
+ /// The name of the archetype as used in `ComponentDescriptor`s.
103
+ static constexpr const char ArchetypeName[] = "rerun.archetypes.Arrows3D";
104
+
105
+ /// `ComponentDescriptor` for the `vectors` field.
106
+ static constexpr auto Descriptor_vectors = ComponentDescriptor(
107
+ ArchetypeName, "vectors",
108
+ Loggable<rerun::components::Vector3D>::Descriptor.component_name
109
+ );
110
+ /// `ComponentDescriptor` for the `origins` field.
111
+ static constexpr auto Descriptor_origins = ComponentDescriptor(
112
+ ArchetypeName, "origins",
113
+ Loggable<rerun::components::Position3D>::Descriptor.component_name
114
+ );
115
+ /// `ComponentDescriptor` for the `radii` field.
116
+ static constexpr auto Descriptor_radii = ComponentDescriptor(
117
+ ArchetypeName, "radii", Loggable<rerun::components::Radius>::Descriptor.component_name
118
+ );
119
+ /// `ComponentDescriptor` for the `colors` field.
120
+ static constexpr auto Descriptor_colors = ComponentDescriptor(
121
+ ArchetypeName, "colors", Loggable<rerun::components::Color>::Descriptor.component_name
122
+ );
123
+ /// `ComponentDescriptor` for the `labels` field.
124
+ static constexpr auto Descriptor_labels = ComponentDescriptor(
125
+ ArchetypeName, "labels", Loggable<rerun::components::Text>::Descriptor.component_name
126
+ );
127
+ /// `ComponentDescriptor` for the `show_labels` field.
128
+ static constexpr auto Descriptor_show_labels = ComponentDescriptor(
129
+ ArchetypeName, "show_labels",
130
+ Loggable<rerun::components::ShowLabels>::Descriptor.component_name
131
+ );
132
+ /// `ComponentDescriptor` for the `class_ids` field.
133
+ static constexpr auto Descriptor_class_ids = ComponentDescriptor(
134
+ ArchetypeName, "class_ids",
135
+ Loggable<rerun::components::ClassId>::Descriptor.component_name
136
+ );
137
+
138
+ public: // START of extensions from arrows3d_ext.cpp:
139
+ /// Creates new 3D arrows pointing in the given directions, with a base at the origin (0, 0,
140
+ /// 0).
141
+ static Arrows3D from_vectors(Collection<components::Vector3D> vectors_) {
142
+ return Arrows3D().with_vectors(vectors_);
143
+ }
144
+
145
+ // END of extensions from arrows3d_ext.cpp, start of generated code:
146
+
147
+ public:
148
+ Arrows3D() = default;
149
+ Arrows3D(Arrows3D&& other) = default;
150
+ Arrows3D(const Arrows3D& other) = default;
151
+ Arrows3D& operator=(const Arrows3D& other) = default;
152
+ Arrows3D& operator=(Arrows3D&& other) = default;
153
+
154
+ /// Update only some specific fields of a `Arrows3D`.
155
+ static Arrows3D update_fields() {
156
+ return Arrows3D();
157
+ }
158
+
159
+ /// Clear all the fields of a `Arrows3D`.
160
+ static Arrows3D clear_fields();
161
+
162
+ /// All the vectors for each arrow in the batch.
163
+ Arrows3D with_vectors(const Collection<rerun::components::Vector3D>& _vectors) && {
164
+ vectors = ComponentBatch::from_loggable(_vectors, Descriptor_vectors).value_or_throw();
165
+ return std::move(*this);
166
+ }
167
+
168
+ /// All the origin (base) positions for each arrow in the batch.
169
+ ///
170
+ /// If no origins are set, (0, 0, 0) is used as the origin for each arrow.
171
+ Arrows3D with_origins(const Collection<rerun::components::Position3D>& _origins) && {
172
+ origins = ComponentBatch::from_loggable(_origins, Descriptor_origins).value_or_throw();
173
+ return std::move(*this);
174
+ }
175
+
176
+ /// Optional radii for the arrows.
177
+ ///
178
+ /// The shaft is rendered as a line with `radius = 0.5 * radius`.
179
+ /// The tip is rendered with `height = 2.0 * radius` and `radius = 1.0 * radius`.
180
+ Arrows3D with_radii(const Collection<rerun::components::Radius>& _radii) && {
181
+ radii = ComponentBatch::from_loggable(_radii, Descriptor_radii).value_or_throw();
182
+ return std::move(*this);
183
+ }
184
+
185
+ /// Optional colors for the points.
186
+ Arrows3D with_colors(const Collection<rerun::components::Color>& _colors) && {
187
+ colors = ComponentBatch::from_loggable(_colors, Descriptor_colors).value_or_throw();
188
+ return std::move(*this);
189
+ }
190
+
191
+ /// Optional text labels for the arrows.
192
+ ///
193
+ /// If there's a single label present, it will be placed at the center of the entity.
194
+ /// Otherwise, each instance will have its own label.
195
+ Arrows3D with_labels(const Collection<rerun::components::Text>& _labels) && {
196
+ labels = ComponentBatch::from_loggable(_labels, Descriptor_labels).value_or_throw();
197
+ return std::move(*this);
198
+ }
199
+
200
+ /// Optional choice of whether the text labels should be shown by default.
201
+ Arrows3D with_show_labels(const rerun::components::ShowLabels& _show_labels) && {
202
+ show_labels = ComponentBatch::from_loggable(_show_labels, Descriptor_show_labels)
203
+ .value_or_throw();
204
+ return std::move(*this);
205
+ }
206
+
207
+ /// This method makes it possible to pack multiple `show_labels` in a single component batch.
208
+ ///
209
+ /// This only makes sense when used in conjunction with `columns`. `with_show_labels` should
210
+ /// be used when logging a single row's worth of data.
211
+ Arrows3D with_many_show_labels(const Collection<rerun::components::ShowLabels>& _show_labels
212
+ ) && {
213
+ show_labels = ComponentBatch::from_loggable(_show_labels, Descriptor_show_labels)
214
+ .value_or_throw();
215
+ return std::move(*this);
216
+ }
217
+
218
+ /// Optional class Ids for the points.
219
+ ///
220
+ /// The `components::ClassId` provides colors and labels if not specified explicitly.
221
+ Arrows3D with_class_ids(const Collection<rerun::components::ClassId>& _class_ids) && {
222
+ class_ids =
223
+ ComponentBatch::from_loggable(_class_ids, Descriptor_class_ids).value_or_throw();
224
+ return std::move(*this);
225
+ }
226
+
227
+ /// Partitions the component data into multiple sub-batches.
228
+ ///
229
+ /// Specifically, this transforms the existing `ComponentBatch` data into `ComponentColumn`s
230
+ /// instead, via `ComponentBatch::partitioned`.
231
+ ///
232
+ /// This makes it possible to use `RecordingStream::send_columns` to send columnar data directly into Rerun.
233
+ ///
234
+ /// The specified `lengths` must sum to the total length of the component batch.
235
+ Collection<ComponentColumn> columns(const Collection<uint32_t>& lengths_);
236
+
237
+ /// Partitions the component data into unit-length sub-batches.
238
+ ///
239
+ /// This is semantically similar to calling `columns` with `std::vector<uint32_t>(n, 1)`,
240
+ /// where `n` is automatically guessed.
241
+ Collection<ComponentColumn> columns();
242
+ };
243
+
244
+ } // namespace rerun::archetypes
245
+
246
+ namespace rerun {
247
+ /// \private
248
+ template <typename T>
249
+ struct AsComponents;
250
+
251
+ /// \private
252
+ template <>
253
+ struct AsComponents<archetypes::Arrows3D> {
254
+ /// Serialize all set component batches.
255
+ static Result<Collection<ComponentBatch>> as_batches(const archetypes::Arrows3D& archetype);
256
+ };
257
+ } // namespace rerun