pymomentum-cpu 0.1.82.post0__cp313-cp313-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-313-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-313-darwin.so +0 -0
  500. pymomentum/marker_tracking.cpython-313-darwin.so +0 -0
  501. pymomentum/quaternion.py +740 -0
  502. pymomentum/skel_state.py +514 -0
  503. pymomentum/solver.cpython-313-darwin.so +0 -0
  504. pymomentum/solver2.cpython-313-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,288 @@
1
+ #pragma once
2
+
3
+ #include <cassert>
4
+ #include <chrono>
5
+ #include <memory> // shared_ptr
6
+
7
+ #include "collection.hpp"
8
+ #include "error.hpp"
9
+ #include "timeline.hpp"
10
+
11
+ // X.h (of X11) has a macro called `Unsorted`
12
+ // See <https://codebrowser.dev/kde/include/X11/X.h.html#_M/Unsorted>
13
+ // and <https://github.com/rerun-io/rerun/issues/7846>.
14
+ #ifdef Unsorted
15
+ #error \
16
+ "Found a macro 'Unsorted' (probably from X11), conflicting with `rerun::SortingStatus::Unsorted`. Add '#undef Unsorted' before '#include <rerun.hpp>' to work around this."
17
+ #endif
18
+
19
+ struct rr_time_column;
20
+
21
+ namespace arrow {
22
+ class Array;
23
+ }
24
+
25
+ namespace rerun {
26
+ /// Describes whether an array is known to be sorted or not.
27
+ enum class SortingStatus {
28
+ /// It's not known whether the array is sorted or not.
29
+ Unknown = 0,
30
+
31
+ /// The array is known to be sorted.
32
+ Sorted = 1,
33
+
34
+ /// The array is known to be unsorted.
35
+ Unsorted = 2,
36
+ };
37
+
38
+ /// Arrow-encoded data for a column of time points.
39
+ ///
40
+ /// \see `rerun::RecordingStream::send_columns`
41
+ struct TimeColumn {
42
+ /// The timeline this column belongs to.
43
+ Timeline timeline;
44
+
45
+ /// Time points as a primitive array of i64.
46
+ std::shared_ptr<arrow::Array> array;
47
+
48
+ /// The sorting order of the `times` array.
49
+ SortingStatus sorting_status;
50
+
51
+ public:
52
+ /// Creates a time column from an array of time points.
53
+ ///
54
+ /// \param timeline The timeline this column belongs to.
55
+ /// \param times The time values.
56
+ /// Depending on the `TimeType` of the timeline this may be either sequence numbers, durations, or timestamps.
57
+ /// Make sure the sorting status is correctly specified.
58
+ /// \param sorting_status The sorting status of the time points.
59
+ /// Already sorted time points may perform better.
60
+ TimeColumn(
61
+ Timeline timeline, Collection<int64_t> times,
62
+ SortingStatus sorting_status = SortingStatus::Unknown
63
+ );
64
+
65
+ /// Creates a time column from an array of sequence points.
66
+ ///
67
+ /// \param timeline_name The name of the timeline this column belongs to.
68
+ /// \param sequence_points The sequence points.
69
+ /// Make sure the sorting status is correctly specified.
70
+ /// \param sorting_status The sorting status of the sequence points.
71
+ /// Already sorted time points may perform better.
72
+ ///
73
+ /// \deprecated Use `from_sequence` instead.
74
+ [[deprecated("Use `from_sequence` instead.")]] static TimeColumn from_sequence_points(
75
+ std::string timeline_name, Collection<int64_t> sequence_points,
76
+ SortingStatus sorting_status = SortingStatus::Unknown
77
+ ) {
78
+ return TimeColumn(
79
+ Timeline(std::move(timeline_name), TimeType::Sequence),
80
+ std::move(sequence_points),
81
+ sorting_status
82
+ );
83
+ }
84
+
85
+ /// Creates a column from an array of sequence points, e.g. frame numbers.
86
+ ///
87
+ /// \param timeline_name The name of the timeline this column belongs to.
88
+ /// \param sequence_points The sequence points.
89
+ /// Make sure the sorting status is correctly specified.
90
+ /// \param sorting_status The sorting status of the sequence points.
91
+ /// Already sorted time points may perform better.
92
+ static TimeColumn from_sequence(
93
+ std::string timeline_name, Collection<int64_t> sequence_points,
94
+ SortingStatus sorting_status = SortingStatus::Unknown
95
+ ) {
96
+ return TimeColumn(
97
+ Timeline(std::move(timeline_name), TimeType::Sequence),
98
+ std::move(sequence_points),
99
+ sorting_status
100
+ );
101
+ }
102
+
103
+ /// Creates a time column from an array of nanoseconds.
104
+ ///
105
+ /// \param timeline_name The name of the timeline this column belongs to.
106
+ /// \param times_in_nanoseconds Time values in nanoseconds.
107
+ /// Make sure the sorting status is correctly specified.
108
+ /// \param sorting_status The sorting status of the time points.
109
+ /// Already sorted time points may perform better.
110
+ [[deprecated("Use 'from_duration_nanos' or `from_nanos_since_epoch' instead"
111
+ )]] static TimeColumn
112
+ from_nanoseconds(
113
+ std::string timeline_name, Collection<int64_t> times_in_nanoseconds,
114
+ SortingStatus sorting_status = SortingStatus::Unknown
115
+ ) {
116
+ return TimeColumn(
117
+ Timeline(std::move(timeline_name), TimeType::Duration),
118
+ std::move(times_in_nanoseconds),
119
+ sorting_status
120
+ );
121
+ }
122
+
123
+ /// Creates a time column from an array of seconds.
124
+ ///
125
+ /// \param timeline_name The name of the timeline this column belongs to.
126
+ /// \param times_in_secs Time values in seconds.
127
+ /// Make sure the sorting status is correctly specified.
128
+ /// \param sorting_status The sorting status of the time points.
129
+ /// Already sorted time points may perform better.
130
+ [[deprecated("Use 'from_duration_secs' or `from_secs_since_epoch' instead"
131
+ )]] static TimeColumn
132
+ from_seconds(
133
+ std::string timeline_name, Collection<double> times_in_secs,
134
+ SortingStatus sorting_status = SortingStatus::Unknown
135
+ );
136
+
137
+ // -----------
138
+ // Durations:
139
+
140
+ /// Creates a time column from an array of arbitrary std::chrono durations.
141
+ ///
142
+ /// \param timeline_name The name of the timeline this column belongs to.
143
+ /// \param durations Time values as chrono durations.
144
+ /// Make sure the sorting status is correctly specified.
145
+ /// \param sorting_status The sorting status of the time points.
146
+ /// Already sorted time points may perform better.
147
+ template <typename TRep, typename TPeriod>
148
+ static TimeColumn from_durations(
149
+ std::string timeline_name,
150
+ const Collection<std::chrono::duration<TRep, TPeriod>>& durations,
151
+ SortingStatus sorting_status = SortingStatus::Unknown
152
+ ) {
153
+ std::vector<int64_t> times(durations.size());
154
+ for (size_t i = 0; i < durations.size(); i++) {
155
+ times[i] =
156
+ std::chrono::duration_cast<std::chrono::nanoseconds>(durations[i]).count();
157
+ }
158
+ return TimeColumn(
159
+ Timeline(std::move(timeline_name), TimeType::Duration),
160
+ std::move(times),
161
+ sorting_status
162
+ );
163
+ }
164
+
165
+ /// \deprecated Use `from_durations` instead.
166
+ template <typename TRep, typename TPeriod>
167
+ [[deprecated("Use `from_durations` instead.")]] static TimeColumn from_times(
168
+ std::string timeline_name,
169
+ const Collection<std::chrono::duration<TRep, TPeriod>>& chrono_times,
170
+ SortingStatus sorting_status = SortingStatus::Unknown
171
+ ) {
172
+ return from_durations<TRep, TPeriod>(timeline_name, chrono_times, sorting_status);
173
+ }
174
+
175
+ /// Creates a duration column from an array of nanoseconds.
176
+ ///
177
+ /// \param timeline_name The name of the timeline this column belongs to.
178
+ /// \param duration_in_nanos Duration values in nanoseconds.
179
+ /// Make sure the sorting status is correctly specified.
180
+ /// \param sorting_status The sorting status of the time points.
181
+ /// Already sorted time points may perform better.
182
+ static TimeColumn from_duration_nanoseconds(
183
+ std::string timeline_name, Collection<int64_t> duration_in_nanos,
184
+ SortingStatus sorting_status = SortingStatus::Unknown
185
+ ) {
186
+ return TimeColumn(
187
+ Timeline(std::move(timeline_name), TimeType::Duration),
188
+ std::move(duration_in_nanos),
189
+ sorting_status
190
+ );
191
+ }
192
+
193
+ /// Creates a duration column from an array of seconds.
194
+ ///
195
+ /// \param timeline_name The name of the timeline this column belongs to.
196
+ /// \param duration_in_secs Duration values in seconds.
197
+ /// Make sure the sorting status is correctly specified.
198
+ /// \param sorting_status The sorting status of the time points.
199
+ /// Already sorted time points may perform better.
200
+ static TimeColumn from_duration_secs(
201
+ std::string timeline_name, Collection<double> duration_in_secs,
202
+ SortingStatus sorting_status = SortingStatus::Unknown
203
+ ) {
204
+ std::vector<int64_t> duration_in_nanos;
205
+ duration_in_nanos.reserve(duration_in_secs.size());
206
+ for (auto time_in_secs : duration_in_secs) {
207
+ duration_in_nanos.push_back(static_cast<int64_t>(time_in_secs * 1.0e9 + 0.5));
208
+ }
209
+ return TimeColumn(
210
+ Timeline(std::move(timeline_name), TimeType::Duration),
211
+ std::move(duration_in_nanos),
212
+ sorting_status
213
+ );
214
+ }
215
+
216
+ // -----------
217
+ // Timestamps:
218
+
219
+ template <typename TClock>
220
+ static TimeColumn from_time_points(
221
+ std::string timeline_name,
222
+ const Collection<std::chrono::time_point<TClock>>& time_points,
223
+ SortingStatus sorting_status = SortingStatus::Unknown
224
+ ) {
225
+ std::vector<int64_t> nanos_since_epoch;
226
+ nanos_since_epoch.reserve(time_points.size());
227
+ for (auto timepoint : time_points) {
228
+ auto nanos = std::chrono::duration_cast<std::chrono::nanoseconds>(
229
+ timepoint.time_since_epoch()
230
+ );
231
+ nanos_since_epoch.push_back(nanos.count());
232
+ }
233
+ return TimeColumn::from_nanos_since_epoch(
234
+ std::move(timeline_name),
235
+ nanos_since_epoch,
236
+ sorting_status
237
+ );
238
+ }
239
+
240
+ /// Creates a timestamp column from an array of nanoseconds since Unix Epoch (1970-01-01 00:00:00 UTC).
241
+ ///
242
+ /// \param timeline_name The name of the timeline this column belongs to.
243
+ /// \param timestamp_in_nanos Timestamp values in nanoseconds.
244
+ /// Make sure the sorting status is correctly specified.
245
+ /// \param sorting_status The sorting status of the time points.
246
+ /// Already sorted time points may perform better.
247
+ static TimeColumn from_nanos_since_epoch(
248
+ std::string timeline_name, Collection<int64_t> timestamp_in_nanos,
249
+ SortingStatus sorting_status = SortingStatus::Unknown
250
+ ) {
251
+ return TimeColumn(
252
+ Timeline(std::move(timeline_name), TimeType::Timestamp),
253
+ std::move(timestamp_in_nanos),
254
+ sorting_status
255
+ );
256
+ }
257
+
258
+ /// Creates a duration column from an array of seconds since Unix Epoch (1970-01-01 00:00:00 UTC).
259
+ ///
260
+ /// \param timeline_name The name of the timeline this column belongs to.
261
+ /// \param timestamp_in_secs Timestamp values in seconds.
262
+ /// Make sure the sorting status is correctly specified.
263
+ /// \param sorting_status The sorting status of the time points.
264
+ /// Already sorted time points may perform better.
265
+ static TimeColumn from_secs_since_epoch(
266
+ std::string timeline_name, Collection<double> timestamp_in_secs,
267
+ SortingStatus sorting_status = SortingStatus::Unknown
268
+ ) {
269
+ std::vector<int64_t> timestamp_in_nanos;
270
+ timestamp_in_nanos.reserve(timestamp_in_secs.size());
271
+ for (auto time_in_secs : timestamp_in_secs) {
272
+ timestamp_in_nanos.push_back(static_cast<int64_t>(time_in_secs * 1.0e9 + 0.5));
273
+ }
274
+ return TimeColumn::from_nanos_since_epoch(
275
+ std::move(timeline_name),
276
+ std::move(timestamp_in_nanos),
277
+ sorting_status
278
+ );
279
+ }
280
+
281
+ // -----------------------------------------------------------------------------
282
+
283
+ /// To rerun C API component batch.
284
+ ///
285
+ /// The resulting `rr_time_column` keeps the `arrow::Array` alive until it is released.
286
+ Error to_c_ffi_struct(rr_time_column& out_column) const;
287
+ };
288
+ } // namespace rerun
@@ -0,0 +1,38 @@
1
+ #pragma once
2
+
3
+ #include "error.hpp"
4
+
5
+ #include <string>
6
+
7
+ struct rr_timeline;
8
+
9
+ namespace rerun {
10
+ /// Describes the type of a timeline or time point.
11
+ enum class TimeType {
12
+ /// Used e.g. for frames in a film.
13
+ Sequence = 1,
14
+
15
+ /// Nanoseconds.
16
+ Duration = 2,
17
+
18
+ /// Nanoseconds since Unix epoch (1970-01-01 00:00:00 UTC).
19
+ Timestamp = 3,
20
+ };
21
+
22
+ /// Definition of a timeline.
23
+ struct Timeline {
24
+ /// The name of the timeline.
25
+ std::string name;
26
+
27
+ /// The type of the timeline.
28
+ TimeType type;
29
+
30
+ /// Creates a new timeline.
31
+ Timeline(std::string name_, TimeType type_) : name(std::move(name_)), type(type_) {}
32
+
33
+ Timeline() = delete;
34
+
35
+ /// To rerun C API timeline.
36
+ Error to_c_ffi_struct(rr_timeline& out_column) const;
37
+ };
38
+ } // namespace rerun
@@ -0,0 +1,40 @@
1
+ #pragma once
2
+
3
+ #include <iterator> // std::begin, std::end, std::size
4
+ #include <type_traits>
5
+
6
+ /// Type trait utilities.
7
+ ///
8
+ /// The defined traits acts as an extension to std defined type traits and are used as utilities
9
+ /// across the SDK.
10
+ namespace rerun::traits {
11
+ /// Gets the value/element type of a container.
12
+ ///
13
+ /// This works for all types that stick with the std convention of having a `value_type` member type.
14
+ /// Fails to compile if the type does not have a `value_type` member type - this can be used for SFINAE checks.
15
+ template <typename T>
16
+ using value_type_of_t = typename std::remove_reference_t<T>::value_type;
17
+
18
+ /// \private
19
+ namespace details {
20
+ /// False type if a given type is not iterable and has a size (has `begin` and `end`).
21
+ template <typename T, typename = void>
22
+ struct is_iterable : std::false_type {};
23
+
24
+ /// True type if a given type is iterable and has a size (has `begin` and `end` implemented).
25
+ ///
26
+ /// Makes no restrictions on the type returned by `begin`/`end`.
27
+ template <typename T>
28
+ struct is_iterable<
29
+ T, std::void_t<
30
+ decltype(std::begin(std::declval<T&>())), //
31
+ decltype(std::end(std::declval<T&>())) //
32
+ >> : std::true_type {};
33
+ } // namespace details
34
+
35
+ /// True if a given type is iterable, meaning there is a `begin` & `end` implementation.
36
+ ///
37
+ /// Makes no restrictions on the type returned by `begin`/`end`.
38
+ template <typename T>
39
+ constexpr bool is_iterable_v = details::is_iterable<T>::value;
40
+ } // namespace rerun::traits
include/rerun.hpp ADDED
@@ -0,0 +1,86 @@
1
+ #pragma once
2
+
3
+ // Built-in Rerun types (largely generated from an interface definition language)
4
+ #include "rerun/archetypes.hpp"
5
+ #include "rerun/components.hpp"
6
+ #include "rerun/datatypes.hpp"
7
+
8
+ // Rerun API.
9
+ #include "rerun/collection.hpp"
10
+ #include "rerun/collection_adapter.hpp"
11
+ #include "rerun/collection_adapter_builtins.hpp"
12
+ #include "rerun/component_descriptor.hpp"
13
+ #include "rerun/config.hpp"
14
+ #include "rerun/entity_path.hpp"
15
+ #include "rerun/error.hpp"
16
+ #include "rerun/image_utils.hpp"
17
+ #include "rerun/recording_stream.hpp"
18
+ #include "rerun/result.hpp"
19
+ #include "rerun/sdk_info.hpp"
20
+ #include "rerun/spawn.hpp"
21
+
22
+ /// All Rerun C++ types and functions are in the `rerun` namespace or one of its nested namespaces.
23
+ namespace rerun {
24
+ /// When an external [`DataLoader`] is asked to load some data that it doesn't know how to load, it
25
+ /// should exit with this exit code.
26
+ // NOTE: Always keep in sync with other languages.
27
+ const int EXTERNAL_DATA_LOADER_INCOMPATIBLE_EXIT_CODE = 66;
28
+
29
+ // Archetypes are the quick-and-easy default way of logging data to Rerun.
30
+ // Make them available in the rerun namespace.
31
+ using namespace archetypes;
32
+
33
+ // Also import any component or datatype that has a unique name:
34
+ using components::AlbedoFactor;
35
+ using components::Color;
36
+ using components::FillMode;
37
+ using components::GeoLineString;
38
+ using components::HalfSize2D;
39
+ using components::HalfSize3D;
40
+ using components::LatLon;
41
+ using components::LineStrip2D;
42
+ using components::LineStrip3D;
43
+ using components::MediaType;
44
+ using components::Position2D;
45
+ using components::Position3D;
46
+ using components::Radius;
47
+ using components::Text;
48
+ using components::TextLogLevel;
49
+ using components::TransformRelation;
50
+ using components::TriangleIndices;
51
+ using components::Vector2D;
52
+ using components::Vector3D;
53
+
54
+ using datatypes::Angle;
55
+ using datatypes::AnnotationInfo;
56
+ using datatypes::ChannelDatatype;
57
+ using datatypes::ClassDescription;
58
+ using datatypes::ColorModel;
59
+ using datatypes::DVec2D;
60
+ using datatypes::Float32;
61
+ using datatypes::KeypointPair;
62
+ using datatypes::Mat3x3;
63
+ using datatypes::PixelFormat;
64
+ using datatypes::Quaternion;
65
+ using datatypes::Rgba32;
66
+ using datatypes::RotationAxisAngle;
67
+ using datatypes::TensorBuffer;
68
+ using datatypes::TensorData;
69
+ using datatypes::Vec2D;
70
+ using datatypes::Vec3D;
71
+ using datatypes::Vec4D;
72
+
73
+ // Document namespaces that span several files:
74
+
75
+ /// All built-in archetypes. See [Types](https://www.rerun.io/docs/reference/types) in the Rerun manual.
76
+ namespace archetypes {}
77
+
78
+ /// All built-in components. See [Types](https://www.rerun.io/docs/reference/types) in the Rerun manual.
79
+ namespace components {}
80
+
81
+ /// All built-in datatypes. See [Types](https://www.rerun.io/docs/reference/types) in the Rerun manual.
82
+ namespace datatypes {}
83
+
84
+ /// All blueprint types. This is still experimental and subject to change!
85
+ namespace blueprint {}
86
+ } // namespace rerun
@@ -0,0 +1,45 @@
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ #
3
+ # This source code is licensed under the MIT license found in the
4
+ # LICENSE file in the root directory of this source tree.
5
+
6
+
7
+ ####### Expanded from @PACKAGE_INIT@ by configure_package_config_file() #######
8
+ ####### Any changes to this file will be overwritten by the next CMake run ####
9
+ ####### The input file was axel-config.cmake.in ########
10
+
11
+ get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../" ABSOLUTE)
12
+
13
+ macro(set_and_check _var _file)
14
+ set(${_var} "${_file}")
15
+ if(NOT EXISTS "${_file}")
16
+ message(FATAL_ERROR "File or directory ${_file} referenced by variable ${_var} does not exist !")
17
+ endif()
18
+ endmacro()
19
+
20
+ macro(check_required_components _NAME)
21
+ foreach(comp ${${_NAME}_FIND_COMPONENTS})
22
+ if(NOT ${_NAME}_${comp}_FOUND)
23
+ if(${_NAME}_FIND_REQUIRED_${comp})
24
+ set(${_NAME}_FOUND FALSE)
25
+ endif()
26
+ endif()
27
+ endforeach()
28
+ endmacro()
29
+
30
+ ####################################################################################
31
+
32
+ include(CMakeFindDependencyMacro)
33
+
34
+ find_dependency(drjit CONFIG)
35
+ find_dependency(Eigen3 3.4.0 CONFIG)
36
+ find_dependency(Microsoft.GSL CONFIG)
37
+ find_dependency(Dispenso CONFIG)
38
+
39
+ if(OFF)
40
+ find_dependency(Tracy CONFIG)
41
+ endif()
42
+
43
+ include("${CMAKE_CURRENT_LIST_DIR}/axelTargets.cmake")
44
+
45
+ check_required_components("axel")
@@ -0,0 +1,19 @@
1
+ #----------------------------------------------------------------
2
+ # Generated CMake target import file for configuration "Release".
3
+ #----------------------------------------------------------------
4
+
5
+ # Commands may need to know the format version.
6
+ set(CMAKE_IMPORT_FILE_VERSION 1)
7
+
8
+ # Import target "axel::axel" for configuration "Release"
9
+ set_property(TARGET axel::axel APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
10
+ set_target_properties(axel::axel PROPERTIES
11
+ IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
12
+ IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/libaxel.a"
13
+ )
14
+
15
+ list(APPEND _cmake_import_check_targets axel::axel )
16
+ list(APPEND _cmake_import_check_files_for_axel::axel "${_IMPORT_PREFIX}/lib/libaxel.a" )
17
+
18
+ # Commands beyond this point should not need to know the version.
19
+ set(CMAKE_IMPORT_FILE_VERSION)
@@ -0,0 +1,108 @@
1
+ # Generated by CMake
2
+
3
+ if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8)
4
+ message(FATAL_ERROR "CMake >= 2.8.12 required")
5
+ endif()
6
+ if(CMAKE_VERSION VERSION_LESS "2.8.12")
7
+ message(FATAL_ERROR "CMake >= 2.8.12 required")
8
+ endif()
9
+ cmake_policy(PUSH)
10
+ cmake_policy(VERSION 2.8.12...3.29)
11
+ #----------------------------------------------------------------
12
+ # Generated CMake target import file.
13
+ #----------------------------------------------------------------
14
+
15
+ # Commands may need to know the format version.
16
+ set(CMAKE_IMPORT_FILE_VERSION 1)
17
+
18
+ # Protect against multiple inclusion, which would fail when already imported targets are added once more.
19
+ set(_cmake_targets_defined "")
20
+ set(_cmake_targets_not_defined "")
21
+ set(_cmake_expected_targets "")
22
+ foreach(_cmake_expected_target IN ITEMS axel::axel)
23
+ list(APPEND _cmake_expected_targets "${_cmake_expected_target}")
24
+ if(TARGET "${_cmake_expected_target}")
25
+ list(APPEND _cmake_targets_defined "${_cmake_expected_target}")
26
+ else()
27
+ list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}")
28
+ endif()
29
+ endforeach()
30
+ unset(_cmake_expected_target)
31
+ if(_cmake_targets_defined STREQUAL _cmake_expected_targets)
32
+ unset(_cmake_targets_defined)
33
+ unset(_cmake_targets_not_defined)
34
+ unset(_cmake_expected_targets)
35
+ unset(CMAKE_IMPORT_FILE_VERSION)
36
+ cmake_policy(POP)
37
+ return()
38
+ endif()
39
+ if(NOT _cmake_targets_defined STREQUAL "")
40
+ string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}")
41
+ string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}")
42
+ message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n")
43
+ endif()
44
+ unset(_cmake_targets_defined)
45
+ unset(_cmake_targets_not_defined)
46
+ unset(_cmake_expected_targets)
47
+
48
+
49
+ # Compute the installation prefix relative to this file.
50
+ get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
51
+ get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
52
+ get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
53
+ get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
54
+ if(_IMPORT_PREFIX STREQUAL "/")
55
+ set(_IMPORT_PREFIX "")
56
+ endif()
57
+
58
+ # Create imported target axel::axel
59
+ add_library(axel::axel STATIC IMPORTED)
60
+
61
+ set_target_properties(axel::axel PROPERTIES
62
+ INTERFACE_COMPILE_FEATURES "cxx_std_17"
63
+ INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
64
+ INTERFACE_LINK_LIBRARIES "Eigen3::Eigen;Microsoft.GSL::GSL;Dispenso::dispenso;drjit"
65
+ )
66
+
67
+ # Load information for each installed configuration.
68
+ file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/axelTargets-*.cmake")
69
+ foreach(_cmake_config_file IN LISTS _cmake_config_files)
70
+ include("${_cmake_config_file}")
71
+ endforeach()
72
+ unset(_cmake_config_file)
73
+ unset(_cmake_config_files)
74
+
75
+ # Cleanup temporary variables.
76
+ set(_IMPORT_PREFIX)
77
+
78
+ # Loop over all imported files and verify that they actually exist
79
+ foreach(_cmake_target IN LISTS _cmake_import_check_targets)
80
+ if(CMAKE_VERSION VERSION_LESS "3.28"
81
+ OR NOT DEFINED _cmake_import_check_xcframework_for_${_cmake_target}
82
+ OR NOT IS_DIRECTORY "${_cmake_import_check_xcframework_for_${_cmake_target}}")
83
+ foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}")
84
+ if(NOT EXISTS "${_cmake_file}")
85
+ message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file
86
+ \"${_cmake_file}\"
87
+ but this file does not exist. Possible reasons include:
88
+ * The file was deleted, renamed, or moved to another location.
89
+ * An install or uninstall procedure did not complete successfully.
90
+ * The installation package was faulty and contained
91
+ \"${CMAKE_CURRENT_LIST_FILE}\"
92
+ but not all the files it references.
93
+ ")
94
+ endif()
95
+ endforeach()
96
+ endif()
97
+ unset(_cmake_file)
98
+ unset("_cmake_import_check_files_for_${_cmake_target}")
99
+ endforeach()
100
+ unset(_cmake_target)
101
+ unset(_cmake_import_check_targets)
102
+
103
+ # This file does not depend on other imported targets which have
104
+ # been exported from the same project but in a separate export set.
105
+
106
+ # Commands beyond this point should not need to know the version.
107
+ set(CMAKE_IMPORT_FILE_VERSION)
108
+ cmake_policy(POP)
@@ -0,0 +1,52 @@
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ #
3
+ # This source code is licensed under the MIT license found in the
4
+ # LICENSE file in the root directory of this source tree.
5
+
6
+ find_package(re2 QUIET CONFIG)
7
+ if(re2_FOUND)
8
+ message(STATUS "Found RE2 via CMake.")
9
+ return()
10
+ endif()
11
+
12
+ find_package(PkgConfig QUIET)
13
+ if (PKG_CONFIG_FOUND)
14
+ pkg_check_modules(PC_RE2 QUIET re2)
15
+ endif()
16
+
17
+ if(PC_RE2_FOUND)
18
+ set(re2_FOUND true)
19
+ add_library(re2::re2 INTERFACE IMPORTED)
20
+ if(PC_RE2_INCLUDE_DIRS)
21
+ set_property(
22
+ TARGET re2::re2 PROPERTY
23
+ INTERFACE_INCLUDE_DIRECTORIES "${PC_RE2_INCLUDE_DIRS}"
24
+ )
25
+ endif()
26
+ if(PC_RE2_CFLAGS_OTHER)
27
+ # Filter out the -std flag, which is handled by CMAKE_CXX_STANDARD.
28
+ foreach(flag IN LISTS PC_RE2_CFLAGS_OTHER)
29
+ if("${flag}" MATCHES "^-std=")
30
+ list(REMOVE_ITEM PC_RE2_CFLAGS_OTHER "${flag}")
31
+ endif()
32
+ endforeach()
33
+ set_property(
34
+ TARGET re2::re2 PROPERTY
35
+ INTERFACE_COMPILE_OPTIONS "${PC_RE2_CFLAGS_OTHER}"
36
+ )
37
+ endif()
38
+
39
+ if(PC_RE2_LDFLAGS)
40
+ set_property(
41
+ TARGET re2::re2 PROPERTY
42
+ INTERFACE_LINK_LIBRARIES "${PC_RE2_LDFLAGS}"
43
+ )
44
+ endif()
45
+
46
+ message(STATUS "Found RE2 via pkg-config.")
47
+ return()
48
+ endif()
49
+
50
+ if(re2_FIND_REQUIRED)
51
+ message(FATAL_ERROR "Failed to find RE2.")
52
+ endif()