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.
- include/axel/BoundingBox.h +58 -0
- include/axel/Bvh.h +708 -0
- include/axel/BvhBase.h +75 -0
- include/axel/BvhCommon.h +43 -0
- include/axel/BvhEmbree.h +86 -0
- include/axel/BvhFactory.h +34 -0
- include/axel/Checks.h +21 -0
- include/axel/DualContouring.h +79 -0
- include/axel/KdTree.h +199 -0
- include/axel/Log.h +22 -0
- include/axel/MeshToSdf.h +123 -0
- include/axel/Profile.h +64 -0
- include/axel/Ray.h +45 -0
- include/axel/SignedDistanceField.h +248 -0
- include/axel/SimdKdTree.h +515 -0
- include/axel/TriBvh.h +157 -0
- include/axel/TriBvhEmbree.h +57 -0
- include/axel/common/Constants.h +27 -0
- include/axel/common/Types.h +21 -0
- include/axel/common/VectorizationTypes.h +58 -0
- include/axel/math/BoundingBoxUtils.h +54 -0
- include/axel/math/ContinuousCollisionDetection.h +48 -0
- include/axel/math/CoplanarityCheck.h +30 -0
- include/axel/math/EdgeEdgeDistance.h +31 -0
- include/axel/math/MeshHoleFilling.h +117 -0
- include/axel/math/PointTriangleProjection.h +34 -0
- include/axel/math/PointTriangleProjectionDefinitions.h +209 -0
- include/axel/math/RayTriangleIntersection.h +36 -0
- include/momentum/character/blend_shape.h +91 -0
- include/momentum/character/blend_shape_base.h +70 -0
- include/momentum/character/blend_shape_skinning.h +96 -0
- include/momentum/character/character.h +272 -0
- include/momentum/character/character_state.h +108 -0
- include/momentum/character/character_utility.h +128 -0
- include/momentum/character/collision_geometry.h +80 -0
- include/momentum/character/collision_geometry_state.h +130 -0
- include/momentum/character/fwd.h +262 -0
- include/momentum/character/inverse_parameter_transform.h +58 -0
- include/momentum/character/joint.h +82 -0
- include/momentum/character/joint_state.h +241 -0
- include/momentum/character/linear_skinning.h +139 -0
- include/momentum/character/locator.h +82 -0
- include/momentum/character/locator_state.h +43 -0
- include/momentum/character/marker.h +48 -0
- include/momentum/character/mesh_state.h +71 -0
- include/momentum/character/parameter_limits.h +144 -0
- include/momentum/character/parameter_transform.h +250 -0
- include/momentum/character/pose_shape.h +65 -0
- include/momentum/character/skeleton.h +85 -0
- include/momentum/character/skeleton_state.h +181 -0
- include/momentum/character/skeleton_utility.h +38 -0
- include/momentum/character/skin_weights.h +67 -0
- include/momentum/character/skinned_locator.h +80 -0
- include/momentum/character/types.h +202 -0
- include/momentum/character_sequence_solver/fwd.h +200 -0
- include/momentum/character_sequence_solver/model_parameters_sequence_error_function.h +65 -0
- include/momentum/character_sequence_solver/multipose_solver.h +65 -0
- include/momentum/character_sequence_solver/multipose_solver_function.h +82 -0
- include/momentum/character_sequence_solver/sequence_error_function.h +104 -0
- include/momentum/character_sequence_solver/sequence_solver.h +144 -0
- include/momentum/character_sequence_solver/sequence_solver_function.h +134 -0
- include/momentum/character_sequence_solver/state_sequence_error_function.h +109 -0
- include/momentum/character_sequence_solver/vertex_sequence_error_function.h +123 -0
- include/momentum/character_solver/aim_error_function.h +112 -0
- include/momentum/character_solver/collision_error_function.h +92 -0
- include/momentum/character_solver/collision_error_function_stateless.h +75 -0
- include/momentum/character_solver/constraint_error_function-inl.h +324 -0
- include/momentum/character_solver/constraint_error_function.h +248 -0
- include/momentum/character_solver/distance_error_function.h +77 -0
- include/momentum/character_solver/error_function_utils.h +60 -0
- include/momentum/character_solver/fixed_axis_error_function.h +139 -0
- include/momentum/character_solver/fwd.h +924 -0
- include/momentum/character_solver/gauss_newton_solver_qr.h +64 -0
- include/momentum/character_solver/limit_error_function.h +57 -0
- include/momentum/character_solver/model_parameters_error_function.h +64 -0
- include/momentum/character_solver/normal_error_function.h +73 -0
- include/momentum/character_solver/orientation_error_function.h +74 -0
- include/momentum/character_solver/plane_error_function.h +102 -0
- include/momentum/character_solver/point_triangle_vertex_error_function.h +141 -0
- include/momentum/character_solver/pose_prior_error_function.h +80 -0
- include/momentum/character_solver/position_error_function.h +75 -0
- include/momentum/character_solver/projection_error_function.h +93 -0
- include/momentum/character_solver/simd_collision_error_function.h +99 -0
- include/momentum/character_solver/simd_normal_error_function.h +157 -0
- include/momentum/character_solver/simd_plane_error_function.h +164 -0
- include/momentum/character_solver/simd_position_error_function.h +165 -0
- include/momentum/character_solver/skeleton_error_function.h +151 -0
- include/momentum/character_solver/skeleton_solver_function.h +94 -0
- include/momentum/character_solver/skinned_locator_error_function.h +166 -0
- include/momentum/character_solver/skinned_locator_triangle_error_function.h +146 -0
- include/momentum/character_solver/skinning_weight_iterator.h +80 -0
- include/momentum/character_solver/state_error_function.h +94 -0
- include/momentum/character_solver/transform_pose.h +80 -0
- include/momentum/character_solver/trust_region_qr.h +80 -0
- include/momentum/character_solver/vertex_error_function.h +155 -0
- include/momentum/character_solver/vertex_projection_error_function.h +117 -0
- include/momentum/character_solver/vertex_vertex_distance_error_function.h +147 -0
- include/momentum/common/aligned.h +155 -0
- include/momentum/common/checks.h +27 -0
- include/momentum/common/exception.h +70 -0
- include/momentum/common/filesystem.h +20 -0
- include/momentum/common/fwd.h +27 -0
- include/momentum/common/log.h +173 -0
- include/momentum/common/log_channel.h +17 -0
- include/momentum/common/memory.h +71 -0
- include/momentum/common/profile.h +79 -0
- include/momentum/common/progress_bar.h +37 -0
- include/momentum/common/string.h +52 -0
- include/momentum/diff_ik/ceres_utility.h +73 -0
- include/momentum/diff_ik/fully_differentiable_body_ik.h +58 -0
- include/momentum/diff_ik/fully_differentiable_distance_error_function.h +69 -0
- include/momentum/diff_ik/fully_differentiable_motion_error_function.h +46 -0
- include/momentum/diff_ik/fully_differentiable_orientation_error_function.h +114 -0
- include/momentum/diff_ik/fully_differentiable_pose_prior_error_function.h +76 -0
- include/momentum/diff_ik/fully_differentiable_position_error_function.h +138 -0
- include/momentum/diff_ik/fully_differentiable_projection_error_function.h +65 -0
- include/momentum/diff_ik/fully_differentiable_skeleton_error_function.h +160 -0
- include/momentum/diff_ik/fully_differentiable_state_error_function.h +54 -0
- include/momentum/diff_ik/fwd.h +385 -0
- include/momentum/diff_ik/union_error_function.h +67 -0
- include/momentum/gui/rerun/eigen_adapters.h +70 -0
- include/momentum/gui/rerun/logger.h +102 -0
- include/momentum/gui/rerun/logging_redirect.h +27 -0
- include/momentum/io/character_io.h +56 -0
- include/momentum/io/common/gsl_utils.h +50 -0
- include/momentum/io/common/stream_utils.h +65 -0
- include/momentum/io/fbx/fbx_io.h +109 -0
- include/momentum/io/fbx/fbx_memory_stream.h +66 -0
- include/momentum/io/fbx/openfbx_loader.h +49 -0
- include/momentum/io/fbx/polygon_data.h +60 -0
- include/momentum/io/gltf/gltf_builder.h +132 -0
- include/momentum/io/gltf/gltf_file_format.h +19 -0
- include/momentum/io/gltf/gltf_io.h +148 -0
- include/momentum/io/gltf/utils/accessor_utils.h +299 -0
- include/momentum/io/gltf/utils/coordinate_utils.h +60 -0
- include/momentum/io/gltf/utils/json_utils.h +102 -0
- include/momentum/io/legacy_json/legacy_json_io.h +70 -0
- include/momentum/io/marker/c3d_io.h +30 -0
- include/momentum/io/marker/conversions.h +57 -0
- include/momentum/io/marker/coordinate_system.h +30 -0
- include/momentum/io/marker/marker_io.h +56 -0
- include/momentum/io/marker/trc_io.h +27 -0
- include/momentum/io/motion/mmo_io.h +97 -0
- include/momentum/io/shape/blend_shape_io.h +70 -0
- include/momentum/io/shape/pose_shape_io.h +21 -0
- include/momentum/io/skeleton/locator_io.h +41 -0
- include/momentum/io/skeleton/mppca_io.h +26 -0
- include/momentum/io/skeleton/parameter_limits_io.h +25 -0
- include/momentum/io/skeleton/parameter_transform_io.h +41 -0
- include/momentum/io/skeleton/parameters_io.h +20 -0
- include/momentum/io/urdf/urdf_io.h +26 -0
- include/momentum/io/usd/usd_io.h +36 -0
- include/momentum/marker_tracking/app_utils.h +62 -0
- include/momentum/marker_tracking/marker_tracker.h +213 -0
- include/momentum/marker_tracking/process_markers.h +58 -0
- include/momentum/marker_tracking/tracker_utils.h +90 -0
- include/momentum/math/constants.h +82 -0
- include/momentum/math/covariance_matrix.h +84 -0
- include/momentum/math/fmt_eigen.h +23 -0
- include/momentum/math/fwd.h +132 -0
- include/momentum/math/generalized_loss.h +61 -0
- include/momentum/math/intersection.h +32 -0
- include/momentum/math/mesh.h +84 -0
- include/momentum/math/mppca.h +67 -0
- include/momentum/math/online_householder_qr.h +516 -0
- include/momentum/math/random-inl.h +404 -0
- include/momentum/math/random.h +310 -0
- include/momentum/math/simd_generalized_loss.h +40 -0
- include/momentum/math/transform.h +229 -0
- include/momentum/math/types.h +461 -0
- include/momentum/math/utility.h +251 -0
- include/momentum/rasterizer/camera.h +453 -0
- include/momentum/rasterizer/fwd.h +102 -0
- include/momentum/rasterizer/geometry.h +83 -0
- include/momentum/rasterizer/image.h +18 -0
- include/momentum/rasterizer/rasterizer.h +583 -0
- include/momentum/rasterizer/tensor.h +140 -0
- include/momentum/rasterizer/utility.h +268 -0
- include/momentum/simd/simd.h +221 -0
- include/momentum/solver/fwd.h +131 -0
- include/momentum/solver/gauss_newton_solver.h +136 -0
- include/momentum/solver/gradient_descent_solver.h +65 -0
- include/momentum/solver/solver.h +155 -0
- include/momentum/solver/solver_function.h +126 -0
- include/momentum/solver/subset_gauss_newton_solver.h +109 -0
- include/rerun/archetypes/annotation_context.hpp +157 -0
- include/rerun/archetypes/arrows2d.hpp +271 -0
- include/rerun/archetypes/arrows3d.hpp +257 -0
- include/rerun/archetypes/asset3d.hpp +262 -0
- include/rerun/archetypes/asset_video.hpp +275 -0
- include/rerun/archetypes/bar_chart.hpp +261 -0
- include/rerun/archetypes/boxes2d.hpp +293 -0
- include/rerun/archetypes/boxes3d.hpp +369 -0
- include/rerun/archetypes/capsules3d.hpp +333 -0
- include/rerun/archetypes/clear.hpp +180 -0
- include/rerun/archetypes/depth_image.hpp +425 -0
- include/rerun/archetypes/ellipsoids3d.hpp +384 -0
- include/rerun/archetypes/encoded_image.hpp +250 -0
- include/rerun/archetypes/geo_line_strings.hpp +166 -0
- include/rerun/archetypes/geo_points.hpp +177 -0
- include/rerun/archetypes/graph_edges.hpp +152 -0
- include/rerun/archetypes/graph_nodes.hpp +206 -0
- include/rerun/archetypes/image.hpp +434 -0
- include/rerun/archetypes/instance_poses3d.hpp +221 -0
- include/rerun/archetypes/line_strips2d.hpp +289 -0
- include/rerun/archetypes/line_strips3d.hpp +270 -0
- include/rerun/archetypes/mesh3d.hpp +387 -0
- include/rerun/archetypes/pinhole.hpp +385 -0
- include/rerun/archetypes/points2d.hpp +333 -0
- include/rerun/archetypes/points3d.hpp +369 -0
- include/rerun/archetypes/recording_properties.hpp +132 -0
- include/rerun/archetypes/scalar.hpp +170 -0
- include/rerun/archetypes/scalars.hpp +153 -0
- include/rerun/archetypes/segmentation_image.hpp +305 -0
- include/rerun/archetypes/series_line.hpp +274 -0
- include/rerun/archetypes/series_lines.hpp +271 -0
- include/rerun/archetypes/series_point.hpp +265 -0
- include/rerun/archetypes/series_points.hpp +251 -0
- include/rerun/archetypes/tensor.hpp +213 -0
- include/rerun/archetypes/text_document.hpp +200 -0
- include/rerun/archetypes/text_log.hpp +211 -0
- include/rerun/archetypes/transform3d.hpp +925 -0
- include/rerun/archetypes/video_frame_reference.hpp +295 -0
- include/rerun/archetypes/view_coordinates.hpp +393 -0
- include/rerun/archetypes.hpp +43 -0
- include/rerun/arrow_utils.hpp +32 -0
- include/rerun/as_components.hpp +90 -0
- include/rerun/blueprint/archetypes/background.hpp +113 -0
- include/rerun/blueprint/archetypes/container_blueprint.hpp +259 -0
- include/rerun/blueprint/archetypes/dataframe_query.hpp +178 -0
- include/rerun/blueprint/archetypes/entity_behavior.hpp +130 -0
- include/rerun/blueprint/archetypes/force_center.hpp +115 -0
- include/rerun/blueprint/archetypes/force_collision_radius.hpp +141 -0
- include/rerun/blueprint/archetypes/force_link.hpp +136 -0
- include/rerun/blueprint/archetypes/force_many_body.hpp +124 -0
- include/rerun/blueprint/archetypes/force_position.hpp +132 -0
- include/rerun/blueprint/archetypes/line_grid3d.hpp +178 -0
- include/rerun/blueprint/archetypes/map_background.hpp +104 -0
- include/rerun/blueprint/archetypes/map_zoom.hpp +103 -0
- include/rerun/blueprint/archetypes/near_clip_plane.hpp +109 -0
- include/rerun/blueprint/archetypes/panel_blueprint.hpp +95 -0
- include/rerun/blueprint/archetypes/plot_legend.hpp +118 -0
- include/rerun/blueprint/archetypes/scalar_axis.hpp +116 -0
- include/rerun/blueprint/archetypes/tensor_scalar_mapping.hpp +146 -0
- include/rerun/blueprint/archetypes/tensor_slice_selection.hpp +167 -0
- include/rerun/blueprint/archetypes/tensor_view_fit.hpp +95 -0
- include/rerun/blueprint/archetypes/view_blueprint.hpp +170 -0
- include/rerun/blueprint/archetypes/view_contents.hpp +142 -0
- include/rerun/blueprint/archetypes/viewport_blueprint.hpp +200 -0
- include/rerun/blueprint/archetypes/visible_time_ranges.hpp +116 -0
- include/rerun/blueprint/archetypes/visual_bounds2d.hpp +109 -0
- include/rerun/blueprint/archetypes/visualizer_overrides.hpp +113 -0
- include/rerun/blueprint/archetypes.hpp +29 -0
- include/rerun/blueprint/components/active_tab.hpp +82 -0
- include/rerun/blueprint/components/apply_latest_at.hpp +79 -0
- include/rerun/blueprint/components/auto_layout.hpp +77 -0
- include/rerun/blueprint/components/auto_views.hpp +77 -0
- include/rerun/blueprint/components/background_kind.hpp +66 -0
- include/rerun/blueprint/components/column_share.hpp +78 -0
- include/rerun/blueprint/components/component_column_selector.hpp +81 -0
- include/rerun/blueprint/components/container_kind.hpp +65 -0
- include/rerun/blueprint/components/corner2d.hpp +64 -0
- include/rerun/blueprint/components/enabled.hpp +77 -0
- include/rerun/blueprint/components/filter_by_range.hpp +74 -0
- include/rerun/blueprint/components/filter_is_not_null.hpp +77 -0
- include/rerun/blueprint/components/force_distance.hpp +82 -0
- include/rerun/blueprint/components/force_iterations.hpp +82 -0
- include/rerun/blueprint/components/force_strength.hpp +82 -0
- include/rerun/blueprint/components/grid_columns.hpp +78 -0
- include/rerun/blueprint/components/grid_spacing.hpp +78 -0
- include/rerun/blueprint/components/included_content.hpp +86 -0
- include/rerun/blueprint/components/lock_range_during_zoom.hpp +82 -0
- include/rerun/blueprint/components/map_provider.hpp +64 -0
- include/rerun/blueprint/components/near_clip_plane.hpp +82 -0
- include/rerun/blueprint/components/panel_state.hpp +61 -0
- include/rerun/blueprint/components/query_expression.hpp +89 -0
- include/rerun/blueprint/components/root_container.hpp +77 -0
- include/rerun/blueprint/components/row_share.hpp +78 -0
- include/rerun/blueprint/components/selected_columns.hpp +76 -0
- include/rerun/blueprint/components/tensor_dimension_index_slider.hpp +90 -0
- include/rerun/blueprint/components/timeline_name.hpp +76 -0
- include/rerun/blueprint/components/view_class.hpp +76 -0
- include/rerun/blueprint/components/view_fit.hpp +61 -0
- include/rerun/blueprint/components/view_maximized.hpp +79 -0
- include/rerun/blueprint/components/view_origin.hpp +81 -0
- include/rerun/blueprint/components/viewer_recommendation_hash.hpp +82 -0
- include/rerun/blueprint/components/visible_time_range.hpp +77 -0
- include/rerun/blueprint/components/visual_bounds2d.hpp +74 -0
- include/rerun/blueprint/components/visualizer_override.hpp +86 -0
- include/rerun/blueprint/components/zoom_level.hpp +78 -0
- include/rerun/blueprint/components.hpp +41 -0
- include/rerun/blueprint/datatypes/component_column_selector.hpp +61 -0
- include/rerun/blueprint/datatypes/filter_by_range.hpp +59 -0
- include/rerun/blueprint/datatypes/filter_is_not_null.hpp +61 -0
- include/rerun/blueprint/datatypes/selected_columns.hpp +62 -0
- include/rerun/blueprint/datatypes/tensor_dimension_index_slider.hpp +63 -0
- include/rerun/blueprint/datatypes.hpp +9 -0
- include/rerun/c/arrow_c_data_interface.h +111 -0
- include/rerun/c/compiler_utils.h +10 -0
- include/rerun/c/rerun.h +627 -0
- include/rerun/c/sdk_info.h +28 -0
- include/rerun/collection.hpp +496 -0
- include/rerun/collection_adapter.hpp +43 -0
- include/rerun/collection_adapter_builtins.hpp +138 -0
- include/rerun/compiler_utils.hpp +61 -0
- include/rerun/component_batch.hpp +163 -0
- include/rerun/component_column.hpp +111 -0
- include/rerun/component_descriptor.hpp +142 -0
- include/rerun/component_type.hpp +35 -0
- include/rerun/components/aggregation_policy.hpp +76 -0
- include/rerun/components/albedo_factor.hpp +74 -0
- include/rerun/components/annotation_context.hpp +102 -0
- include/rerun/components/axis_length.hpp +74 -0
- include/rerun/components/blob.hpp +73 -0
- include/rerun/components/class_id.hpp +71 -0
- include/rerun/components/clear_is_recursive.hpp +75 -0
- include/rerun/components/color.hpp +99 -0
- include/rerun/components/colormap.hpp +99 -0
- include/rerun/components/depth_meter.hpp +84 -0
- include/rerun/components/draw_order.hpp +79 -0
- include/rerun/components/entity_path.hpp +83 -0
- include/rerun/components/fill_mode.hpp +72 -0
- include/rerun/components/fill_ratio.hpp +79 -0
- include/rerun/components/gamma_correction.hpp +80 -0
- include/rerun/components/geo_line_string.hpp +63 -0
- include/rerun/components/graph_edge.hpp +75 -0
- include/rerun/components/graph_node.hpp +79 -0
- include/rerun/components/graph_type.hpp +57 -0
- include/rerun/components/half_size2d.hpp +91 -0
- include/rerun/components/half_size3d.hpp +95 -0
- include/rerun/components/image_buffer.hpp +86 -0
- include/rerun/components/image_format.hpp +84 -0
- include/rerun/components/image_plane_distance.hpp +77 -0
- include/rerun/components/interactive.hpp +76 -0
- include/rerun/components/keypoint_id.hpp +74 -0
- include/rerun/components/lat_lon.hpp +89 -0
- include/rerun/components/length.hpp +77 -0
- include/rerun/components/line_strip2d.hpp +73 -0
- include/rerun/components/line_strip3d.hpp +73 -0
- include/rerun/components/magnification_filter.hpp +63 -0
- include/rerun/components/marker_shape.hpp +82 -0
- include/rerun/components/marker_size.hpp +74 -0
- include/rerun/components/media_type.hpp +157 -0
- include/rerun/components/name.hpp +83 -0
- include/rerun/components/opacity.hpp +77 -0
- include/rerun/components/pinhole_projection.hpp +94 -0
- include/rerun/components/plane3d.hpp +75 -0
- include/rerun/components/pose_rotation_axis_angle.hpp +73 -0
- include/rerun/components/pose_rotation_quat.hpp +71 -0
- include/rerun/components/pose_scale3d.hpp +102 -0
- include/rerun/components/pose_transform_mat3x3.hpp +87 -0
- include/rerun/components/pose_translation3d.hpp +96 -0
- include/rerun/components/position2d.hpp +86 -0
- include/rerun/components/position3d.hpp +90 -0
- include/rerun/components/radius.hpp +98 -0
- include/rerun/components/range1d.hpp +75 -0
- include/rerun/components/resolution.hpp +88 -0
- include/rerun/components/rotation_axis_angle.hpp +72 -0
- include/rerun/components/rotation_quat.hpp +71 -0
- include/rerun/components/scalar.hpp +76 -0
- include/rerun/components/scale3d.hpp +102 -0
- include/rerun/components/series_visible.hpp +76 -0
- include/rerun/components/show_labels.hpp +79 -0
- include/rerun/components/stroke_width.hpp +74 -0
- include/rerun/components/tensor_data.hpp +94 -0
- include/rerun/components/tensor_dimension_index_selection.hpp +77 -0
- include/rerun/components/tensor_height_dimension.hpp +71 -0
- include/rerun/components/tensor_width_dimension.hpp +71 -0
- include/rerun/components/texcoord2d.hpp +101 -0
- include/rerun/components/text.hpp +83 -0
- include/rerun/components/text_log_level.hpp +110 -0
- include/rerun/components/timestamp.hpp +76 -0
- include/rerun/components/transform_mat3x3.hpp +92 -0
- include/rerun/components/transform_relation.hpp +66 -0
- include/rerun/components/translation3d.hpp +96 -0
- include/rerun/components/triangle_indices.hpp +85 -0
- include/rerun/components/value_range.hpp +78 -0
- include/rerun/components/vector2d.hpp +92 -0
- include/rerun/components/vector3d.hpp +96 -0
- include/rerun/components/video_timestamp.hpp +120 -0
- include/rerun/components/view_coordinates.hpp +346 -0
- include/rerun/components/visible.hpp +74 -0
- include/rerun/components.hpp +77 -0
- include/rerun/config.hpp +52 -0
- include/rerun/datatypes/angle.hpp +76 -0
- include/rerun/datatypes/annotation_info.hpp +76 -0
- include/rerun/datatypes/blob.hpp +67 -0
- include/rerun/datatypes/bool.hpp +57 -0
- include/rerun/datatypes/channel_datatype.hpp +87 -0
- include/rerun/datatypes/class_description.hpp +92 -0
- include/rerun/datatypes/class_description_map_elem.hpp +69 -0
- include/rerun/datatypes/class_id.hpp +62 -0
- include/rerun/datatypes/color_model.hpp +68 -0
- include/rerun/datatypes/dvec2d.hpp +76 -0
- include/rerun/datatypes/entity_path.hpp +60 -0
- include/rerun/datatypes/float32.hpp +62 -0
- include/rerun/datatypes/float64.hpp +62 -0
- include/rerun/datatypes/image_format.hpp +107 -0
- include/rerun/datatypes/keypoint_id.hpp +63 -0
- include/rerun/datatypes/keypoint_pair.hpp +65 -0
- include/rerun/datatypes/mat3x3.hpp +105 -0
- include/rerun/datatypes/mat4x4.hpp +119 -0
- include/rerun/datatypes/pixel_format.hpp +142 -0
- include/rerun/datatypes/plane3d.hpp +60 -0
- include/rerun/datatypes/quaternion.hpp +110 -0
- include/rerun/datatypes/range1d.hpp +59 -0
- include/rerun/datatypes/range2d.hpp +55 -0
- include/rerun/datatypes/rgba32.hpp +94 -0
- include/rerun/datatypes/rotation_axis_angle.hpp +67 -0
- include/rerun/datatypes/tensor_buffer.hpp +529 -0
- include/rerun/datatypes/tensor_data.hpp +100 -0
- include/rerun/datatypes/tensor_dimension_index_selection.hpp +58 -0
- include/rerun/datatypes/tensor_dimension_selection.hpp +56 -0
- include/rerun/datatypes/time_int.hpp +62 -0
- include/rerun/datatypes/time_range.hpp +55 -0
- include/rerun/datatypes/time_range_boundary.hpp +175 -0
- include/rerun/datatypes/uint16.hpp +62 -0
- include/rerun/datatypes/uint32.hpp +62 -0
- include/rerun/datatypes/uint64.hpp +62 -0
- include/rerun/datatypes/utf8.hpp +76 -0
- include/rerun/datatypes/utf8pair.hpp +62 -0
- include/rerun/datatypes/uuid.hpp +60 -0
- include/rerun/datatypes/uvec2d.hpp +76 -0
- include/rerun/datatypes/uvec3d.hpp +80 -0
- include/rerun/datatypes/uvec4d.hpp +59 -0
- include/rerun/datatypes/vec2d.hpp +76 -0
- include/rerun/datatypes/vec3d.hpp +80 -0
- include/rerun/datatypes/vec4d.hpp +84 -0
- include/rerun/datatypes/video_timestamp.hpp +67 -0
- include/rerun/datatypes/view_coordinates.hpp +87 -0
- include/rerun/datatypes/visible_time_range.hpp +57 -0
- include/rerun/datatypes.hpp +51 -0
- include/rerun/demo_utils.hpp +75 -0
- include/rerun/entity_path.hpp +20 -0
- include/rerun/error.hpp +180 -0
- include/rerun/half.hpp +10 -0
- include/rerun/image_utils.hpp +187 -0
- include/rerun/indicator_component.hpp +59 -0
- include/rerun/loggable.hpp +54 -0
- include/rerun/recording_stream.hpp +960 -0
- include/rerun/rerun_sdk_export.hpp +25 -0
- include/rerun/result.hpp +86 -0
- include/rerun/rotation3d.hpp +33 -0
- include/rerun/sdk_info.hpp +20 -0
- include/rerun/spawn.hpp +21 -0
- include/rerun/spawn_options.hpp +57 -0
- include/rerun/string_utils.hpp +16 -0
- include/rerun/third_party/cxxopts.hpp +2198 -0
- include/rerun/time_column.hpp +288 -0
- include/rerun/timeline.hpp +38 -0
- include/rerun/type_traits.hpp +40 -0
- include/rerun.hpp +86 -0
- lib/cmake/axel/axel-config.cmake +45 -0
- lib/cmake/axel/axelTargets-release.cmake +19 -0
- lib/cmake/axel/axelTargets.cmake +108 -0
- lib/cmake/momentum/Findre2.cmake +52 -0
- lib/cmake/momentum/momentum-config.cmake +67 -0
- lib/cmake/momentum/momentumTargets-release.cmake +259 -0
- lib/cmake/momentum/momentumTargets.cmake +377 -0
- lib/cmake/rerun_sdk/rerun_sdkConfig.cmake +70 -0
- lib/cmake/rerun_sdk/rerun_sdkConfigVersion.cmake +83 -0
- lib/cmake/rerun_sdk/rerun_sdkTargets-release.cmake +19 -0
- lib/cmake/rerun_sdk/rerun_sdkTargets.cmake +108 -0
- lib/libarrow.a +0 -0
- lib/libarrow_bundled_dependencies.a +0 -0
- lib/libaxel.a +0 -0
- lib/libmomentum_app_utils.a +0 -0
- lib/libmomentum_character.a +0 -0
- lib/libmomentum_character_sequence_solver.a +0 -0
- lib/libmomentum_character_solver.a +0 -0
- lib/libmomentum_common.a +0 -0
- lib/libmomentum_diff_ik.a +0 -0
- lib/libmomentum_io.a +0 -0
- lib/libmomentum_io_common.a +0 -0
- lib/libmomentum_io_fbx.a +0 -0
- lib/libmomentum_io_gltf.a +0 -0
- lib/libmomentum_io_legacy_json.a +0 -0
- lib/libmomentum_io_marker.a +0 -0
- lib/libmomentum_io_motion.a +0 -0
- lib/libmomentum_io_shape.a +0 -0
- lib/libmomentum_io_skeleton.a +0 -0
- lib/libmomentum_io_urdf.a +0 -0
- lib/libmomentum_marker_tracker.a +0 -0
- lib/libmomentum_math.a +0 -0
- lib/libmomentum_online_qr.a +0 -0
- lib/libmomentum_process_markers.a +0 -0
- lib/libmomentum_rerun.a +0 -0
- lib/libmomentum_simd_constraints.a +0 -0
- lib/libmomentum_simd_generalized_loss.a +0 -0
- lib/libmomentum_skeleton.a +0 -0
- lib/libmomentum_solver.a +0 -0
- lib/librerun_c__macos_arm64.a +0 -0
- lib/librerun_sdk.a +0 -0
- pymomentum/axel.cpython-313-darwin.so +0 -0
- pymomentum/backend/__init__.py +16 -0
- pymomentum/backend/skel_state_backend.py +614 -0
- pymomentum/backend/trs_backend.py +871 -0
- pymomentum/backend/utils.py +224 -0
- pymomentum/geometry.cpython-313-darwin.so +0 -0
- pymomentum/marker_tracking.cpython-313-darwin.so +0 -0
- pymomentum/quaternion.py +740 -0
- pymomentum/skel_state.py +514 -0
- pymomentum/solver.cpython-313-darwin.so +0 -0
- pymomentum/solver2.cpython-313-darwin.so +0 -0
- pymomentum/torch/character.py +856 -0
- pymomentum/torch/parameter_limits.py +494 -0
- pymomentum/torch/utility.py +20 -0
- pymomentum/trs.py +535 -0
- pymomentum_cpu-0.1.82.post0.dist-info/METADATA +121 -0
- pymomentum_cpu-0.1.82.post0.dist-info/RECORD +512 -0
- pymomentum_cpu-0.1.82.post0.dist-info/WHEEL +5 -0
- pymomentum_cpu-0.1.82.post0.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
|
|
3
|
+
// Push pop warnings
|
|
4
|
+
#if defined(__GNUC__) || defined(__clang__)
|
|
5
|
+
#define RR_PUSH_WARNINGS _Pragma("GCC diagnostic push")
|
|
6
|
+
#define RR_POP_WARNINGS _Pragma("GCC diagnostic pop")
|
|
7
|
+
#elif defined(_MSC_VER)
|
|
8
|
+
#define RR_PUSH_WARNINGS __pragma(warning(push))
|
|
9
|
+
#define RR_POP_WARNINGS __pragma(warning(pop))
|
|
10
|
+
#else
|
|
11
|
+
#define RR_PUSH_WARNINGS
|
|
12
|
+
#define RR_POP_WARNINGS
|
|
13
|
+
#endif
|
|
14
|
+
|
|
15
|
+
// Macro for enabling and disabling the "-Wmaybe-uninitialized" warning in GCC.
|
|
16
|
+
// See: https://github.com/rerun-io/rerun/issues/4027
|
|
17
|
+
|
|
18
|
+
#define RR_WITH_MAYBE_UNINITIALIZED_DISABLED(expr) \
|
|
19
|
+
RR_DISABLE_MAYBE_UNINITIALIZED_PUSH \
|
|
20
|
+
expr RR_DISABLE_MAYBE_UNINITIALIZED_POP
|
|
21
|
+
|
|
22
|
+
#if defined(__GNUC__) && !defined(__clang__)
|
|
23
|
+
|
|
24
|
+
#define RR_DISABLE_MAYBE_UNINITIALIZED_PUSH \
|
|
25
|
+
RR_PUSH_WARNINGS \
|
|
26
|
+
_Pragma("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
|
|
27
|
+
#else
|
|
28
|
+
#define RR_DISABLE_MAYBE_UNINITIALIZED_PUSH RR_PUSH_WARNINGS
|
|
29
|
+
#endif
|
|
30
|
+
|
|
31
|
+
#define RR_DISABLE_MAYBE_UNINITIALIZED_POP RR_POP_WARNINGS
|
|
32
|
+
|
|
33
|
+
// Macro for marking code as unreachable.
|
|
34
|
+
// Reaching the code after all is undefined behavior.
|
|
35
|
+
|
|
36
|
+
#if defined(__GNUC__) || defined(__clang__)
|
|
37
|
+
#define RR_UNREACHABLE() __builtin_unreachable()
|
|
38
|
+
#elif defined(_MSC_VER)
|
|
39
|
+
#define RR_UNREACHABLE() __assume(false)
|
|
40
|
+
#else
|
|
41
|
+
#define RR_UNREACHABLE() \
|
|
42
|
+
do { \
|
|
43
|
+
} while (false)
|
|
44
|
+
#endif
|
|
45
|
+
|
|
46
|
+
// Disable deprecation warning
|
|
47
|
+
#if defined(__GNUC__) || defined(__clang__)
|
|
48
|
+
#define RR_DISABLE_DEPRECATION_WARNING \
|
|
49
|
+
_Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
|
|
50
|
+
#elif defined(_MSC_VER)
|
|
51
|
+
#define RR_DISABLE_DEPRECATION_WARNING __pragma(warning(disable : 4996))
|
|
52
|
+
#else
|
|
53
|
+
#define RR_DISABLE_DEPRECATION_WARNING
|
|
54
|
+
#endif
|
|
55
|
+
|
|
56
|
+
// Disable possible null reference warning
|
|
57
|
+
#if defined(__GNUC__) || defined(__clang__)
|
|
58
|
+
#define RR_DISABLE_NULL_DEREF_WARNING _Pragma("GCC diagnostic ignored \"-Wnull-dereference\"")
|
|
59
|
+
#else
|
|
60
|
+
#define RR_DISABLE_NULL_DEREF_WARNING
|
|
61
|
+
#endif
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
|
|
3
|
+
#include <memory> // shared_ptr
|
|
4
|
+
#include <optional>
|
|
5
|
+
#include <unordered_map>
|
|
6
|
+
|
|
7
|
+
#include "collection.hpp"
|
|
8
|
+
#include "component_descriptor.hpp"
|
|
9
|
+
#include "component_type.hpp"
|
|
10
|
+
#include "error.hpp"
|
|
11
|
+
#include "loggable.hpp"
|
|
12
|
+
|
|
13
|
+
namespace arrow {
|
|
14
|
+
class Array;
|
|
15
|
+
class DataType;
|
|
16
|
+
} // namespace arrow
|
|
17
|
+
|
|
18
|
+
struct rr_component_batch;
|
|
19
|
+
|
|
20
|
+
namespace rerun {
|
|
21
|
+
struct ComponentColumn;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
namespace rerun {
|
|
25
|
+
/// Arrow-encoded data of a single batch of components together with a component descriptor.
|
|
26
|
+
///
|
|
27
|
+
/// Component descriptors are registered when first encountered.
|
|
28
|
+
struct ComponentBatch {
|
|
29
|
+
/// Arrow-encoded data of the component instances.
|
|
30
|
+
std::shared_ptr<arrow::Array> array;
|
|
31
|
+
|
|
32
|
+
/// The type of the component instances in array.
|
|
33
|
+
ComponentTypeHandle component_type;
|
|
34
|
+
|
|
35
|
+
public:
|
|
36
|
+
/// Creates a new empty component batch with a given descriptor.
|
|
37
|
+
template <typename T>
|
|
38
|
+
static Result<ComponentBatch> empty(const ComponentDescriptor& descriptor) {
|
|
39
|
+
return from_loggable(Collection<T>(), descriptor);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/// Creates a new component batch from a collection of component instances.
|
|
43
|
+
///
|
|
44
|
+
/// Automatically registers the descriptor the first time it is encountered.
|
|
45
|
+
template <typename T>
|
|
46
|
+
static Result<ComponentBatch> from_loggable(
|
|
47
|
+
const rerun::Collection<T>& components, const ComponentDescriptor& descriptor
|
|
48
|
+
) {
|
|
49
|
+
static_assert(
|
|
50
|
+
rerun::is_loggable<T>,
|
|
51
|
+
"The given type does not implement the rerun::Loggable trait."
|
|
52
|
+
);
|
|
53
|
+
|
|
54
|
+
/// TODO(#4257) should take a rerun::Collection instead of pointer and size.
|
|
55
|
+
auto array = Loggable<T>::to_arrow(components.data(), components.size());
|
|
56
|
+
RR_RETURN_NOT_OK(array.error);
|
|
57
|
+
|
|
58
|
+
return from_arrow_array(std::move(array.value), descriptor);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/// Creates a new component batch from a single component instance.
|
|
62
|
+
///
|
|
63
|
+
/// Automatically registers the descriptor the first time it is encountered.
|
|
64
|
+
template <typename T>
|
|
65
|
+
static Result<ComponentBatch> from_loggable(
|
|
66
|
+
const T& component, const ComponentDescriptor& descriptor
|
|
67
|
+
) {
|
|
68
|
+
// Collection adapter will automatically borrow for single elements, but let's do this explicitly, avoiding the extra hoop.
|
|
69
|
+
const auto collection = Collection<T>::borrow(&component, 1);
|
|
70
|
+
return from_loggable(collection, descriptor);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/// Creates a new data cell from a single optional component instance.
|
|
74
|
+
///
|
|
75
|
+
/// None is represented as a data cell with 0 instances.
|
|
76
|
+
///
|
|
77
|
+
/// Automatically registers the descriptor the first time it is encountered.
|
|
78
|
+
template <typename T>
|
|
79
|
+
static Result<ComponentBatch> from_loggable(
|
|
80
|
+
const std::optional<T>& component, const ComponentDescriptor& descriptor
|
|
81
|
+
) {
|
|
82
|
+
if (component.has_value()) {
|
|
83
|
+
return from_loggable(component.value(), descriptor);
|
|
84
|
+
} else {
|
|
85
|
+
return from_loggable(Collection<T>(), descriptor);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/// Creates a new data cell from an optional collection of component instances.
|
|
90
|
+
///
|
|
91
|
+
/// None is represented as a data cell with 0 instances.
|
|
92
|
+
///
|
|
93
|
+
/// Automatically registers the descriptor the first time it is encountered.
|
|
94
|
+
template <typename T>
|
|
95
|
+
static Result<ComponentBatch> from_loggable(
|
|
96
|
+
const std::optional<rerun::Collection<T>>& components,
|
|
97
|
+
const ComponentDescriptor& descriptor
|
|
98
|
+
) {
|
|
99
|
+
if (components.has_value()) {
|
|
100
|
+
return from_loggable(components.value(), descriptor);
|
|
101
|
+
} else {
|
|
102
|
+
return from_loggable(Collection<T>(), descriptor);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/// Creates a new component batch for an archetype indicator.
|
|
107
|
+
template <typename Archetype>
|
|
108
|
+
static Result<ComponentBatch> from_indicator() {
|
|
109
|
+
return ComponentBatch::from_loggable(
|
|
110
|
+
typename Archetype::IndicatorComponent(),
|
|
111
|
+
Loggable<typename Archetype::IndicatorComponent>::Descriptor
|
|
112
|
+
);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/// Creates a new component batch from an already existing arrow array.
|
|
116
|
+
///
|
|
117
|
+
/// Automatically registers the descriptor the first time it is encountered.
|
|
118
|
+
static Result<ComponentBatch> from_arrow_array(
|
|
119
|
+
std::shared_ptr<arrow::Array> array, const ComponentDescriptor& descriptor
|
|
120
|
+
);
|
|
121
|
+
|
|
122
|
+
/// Partitions the component data into multiple sub-batches.
|
|
123
|
+
///
|
|
124
|
+
/// Specifically, this transforms the existing `ComponentBatch` data into a `ComponentColumn`.
|
|
125
|
+
///
|
|
126
|
+
/// This makes it possible to use `RecordingStream::send_columns` to send columnar data directly into Rerun.
|
|
127
|
+
///
|
|
128
|
+
/// \param lengths The number of components in each run. for `rerun::RecordingStream::send_columns`,
|
|
129
|
+
/// this specifies the number of components at each time point.
|
|
130
|
+
/// The sum of the lengths must be equal to the number of components in the batch.
|
|
131
|
+
Result<ComponentColumn> partitioned(const Collection<uint32_t>& lengths) &&;
|
|
132
|
+
|
|
133
|
+
/// Partitions the component data into unit-length sub-batches.
|
|
134
|
+
///
|
|
135
|
+
/// Specifically, this transforms the existing `ComponentBatch` data into a `ComponentColumn`.
|
|
136
|
+
/// This makes it possible to use `RecordingStream::send_columns` to send columnar data directly into Rerun.
|
|
137
|
+
Result<ComponentColumn> partitioned() &&;
|
|
138
|
+
|
|
139
|
+
/// Partitions the component data into multiple sub-batches.
|
|
140
|
+
///
|
|
141
|
+
/// Specifically, this transforms the existing `ComponentBatch` data into a `ComponentColumn`.
|
|
142
|
+
/// This makes it possible to use `RecordingStream::send_columns` to send columnar data directly into Rerun.
|
|
143
|
+
///
|
|
144
|
+
/// \param lengths The number of components in each run. for `rerun::RecordingStream::send_columns`,
|
|
145
|
+
/// this specifies the number of components at each time point.
|
|
146
|
+
/// The sum of the lengths must be equal to the number of components in the batch.
|
|
147
|
+
Result<ComponentColumn> partitioned(const Collection<uint32_t>& lengths) const&;
|
|
148
|
+
|
|
149
|
+
/// Partitions the component data into unit-length sub-batches.
|
|
150
|
+
///
|
|
151
|
+
/// Specifically, this transforms the existing `ComponentBatch` data into a `ComponentColumn`.
|
|
152
|
+
/// This makes it possible to use `RecordingStream::send_columns` to send columnar data directly into Rerun.
|
|
153
|
+
Result<ComponentColumn> partitioned() const&;
|
|
154
|
+
|
|
155
|
+
/// Size in the number of elements the underlying arrow array contains.
|
|
156
|
+
size_t length() const;
|
|
157
|
+
|
|
158
|
+
/// To rerun C API component batch.
|
|
159
|
+
///
|
|
160
|
+
/// The resulting `rr_component_batch` keeps the `arrow::Array` alive until it is released.
|
|
161
|
+
Error to_c_ffi_struct(rr_component_batch& out_component_batch) const;
|
|
162
|
+
};
|
|
163
|
+
} // namespace rerun
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
|
|
3
|
+
#include <memory> // shared_ptr
|
|
4
|
+
|
|
5
|
+
#include "collection.hpp"
|
|
6
|
+
#include "component_batch.hpp"
|
|
7
|
+
#include "component_type.hpp"
|
|
8
|
+
#include "error.hpp"
|
|
9
|
+
#include "loggable.hpp"
|
|
10
|
+
|
|
11
|
+
struct rr_component_column;
|
|
12
|
+
|
|
13
|
+
namespace rerun {
|
|
14
|
+
/// Arrow-encoded data of a column of components.
|
|
15
|
+
///
|
|
16
|
+
/// This is essentially an array of `rerun::ComponentBatch` with all batches
|
|
17
|
+
/// continuously in a single array.
|
|
18
|
+
///
|
|
19
|
+
/// \see `rerun::RecordingStream::send_columns`
|
|
20
|
+
struct ComponentColumn {
|
|
21
|
+
/// Arrow-encoded list array of component batches.
|
|
22
|
+
std::shared_ptr<arrow::Array> array;
|
|
23
|
+
|
|
24
|
+
/// The type of the component instances in array.
|
|
25
|
+
ComponentTypeHandle component_type;
|
|
26
|
+
|
|
27
|
+
public:
|
|
28
|
+
/// Creates a new component column from a collection of component instances.
|
|
29
|
+
///
|
|
30
|
+
/// Automatically registers the component type the first time this type is encountered.
|
|
31
|
+
///
|
|
32
|
+
/// \param components Continuous collection of components which is about to be partitioned.
|
|
33
|
+
/// \param lengths The number of components in each run. for `rerun::RecordingStream::send_columns`,
|
|
34
|
+
/// this specifies the number of components at each time point.
|
|
35
|
+
/// The sum of the lengths must be equal to the number of components in the batch.
|
|
36
|
+
/// \param descriptor Descriptor of the component type for this column.
|
|
37
|
+
template <typename T>
|
|
38
|
+
static Result<ComponentColumn> from_loggable_with_lengths(
|
|
39
|
+
const Collection<T>& components, const Collection<uint32_t>& lengths,
|
|
40
|
+
const ComponentDescriptor& descriptor = rerun::Loggable<T>::Descriptor
|
|
41
|
+
) {
|
|
42
|
+
auto component_batch_result = ComponentBatch::from_loggable(components, descriptor);
|
|
43
|
+
if (component_batch_result.is_err()) {
|
|
44
|
+
return component_batch_result.error;
|
|
45
|
+
}
|
|
46
|
+
return from_batch_with_lengths(component_batch_result.value, lengths);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/// Creates a new component column from a collection of component instances where each run has a length of one.
|
|
50
|
+
///
|
|
51
|
+
/// When used with `rerun::RecordingStream::send_columns`, this is equivalent to `from_loggable(components, std::vector{1, 1, ...})`.
|
|
52
|
+
/// I.e. there's a single component for each time point.
|
|
53
|
+
///
|
|
54
|
+
/// Automatically registers the component type the first time this type is encountered.
|
|
55
|
+
///
|
|
56
|
+
/// \param components Continuous collection of components which is about to be partitioned into runs of length one.
|
|
57
|
+
/// \param descriptor Descriptor of the component type for this column.
|
|
58
|
+
template <typename T>
|
|
59
|
+
static Result<ComponentColumn> from_loggable(
|
|
60
|
+
const Collection<T>& components,
|
|
61
|
+
const ComponentDescriptor& descriptor = rerun::Loggable<T>::Descriptor
|
|
62
|
+
) {
|
|
63
|
+
return ComponentColumn::from_loggable_with_lengths(
|
|
64
|
+
components,
|
|
65
|
+
Collection<uint32_t>::take_ownership(std::vector<uint32_t>(components.size(), 1)),
|
|
66
|
+
descriptor
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/// Creates a new component column with a given number of archetype indicators for a given archetype type.
|
|
71
|
+
template <typename Archetype>
|
|
72
|
+
static Result<ComponentColumn> from_indicators(uint32_t num_indicators) {
|
|
73
|
+
auto component_batch_result = ComponentBatch::from_indicator<Archetype>();
|
|
74
|
+
if (component_batch_result.is_err()) {
|
|
75
|
+
return component_batch_result.error;
|
|
76
|
+
}
|
|
77
|
+
return ComponentColumn::from_batch_with_lengths(
|
|
78
|
+
component_batch_result.value,
|
|
79
|
+
Collection<uint32_t>::take_ownership(std::vector<uint32_t>(num_indicators, 0))
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/// Creates a new component batch partition from a batch and a collection of run lengths.
|
|
84
|
+
///
|
|
85
|
+
/// \param batch A batch of components which is about to be partitioned.
|
|
86
|
+
/// \param lengths The number of components in each run. for `rerun::RecordingStream::send_columns`,
|
|
87
|
+
/// this specifies the number of components at each time point.
|
|
88
|
+
/// The sum of the lengths must be equal to the number of components in the batch.
|
|
89
|
+
static Result<ComponentColumn> from_batch_with_lengths(
|
|
90
|
+
ComponentBatch batch, const Collection<uint32_t>& lengths
|
|
91
|
+
);
|
|
92
|
+
|
|
93
|
+
/// Creates a new component batch partition from a batch and a collection of component offsets.
|
|
94
|
+
///
|
|
95
|
+
/// \param batch A batch of components which is about to be partitioned.
|
|
96
|
+
/// \param offsets An offset within `batch` for each array of components.
|
|
97
|
+
/// The last offset is the total number of components in the batch. Meaning that this array has to be
|
|
98
|
+
/// one element longer than the number of component runs.
|
|
99
|
+
/// E.g. a `ParitionedComponentBatch` with a single component would have an offset array of `[0, 1]`.
|
|
100
|
+
/// A `ComponentColumn` with 5 components divided into runs of length 2 and 3
|
|
101
|
+
// would have an offset array of `[0, 2, 5]`.
|
|
102
|
+
static Result<ComponentColumn> from_batch_with_offsets(
|
|
103
|
+
ComponentBatch batch, Collection<uint32_t> offsets
|
|
104
|
+
);
|
|
105
|
+
|
|
106
|
+
/// To rerun C API component batch.
|
|
107
|
+
///
|
|
108
|
+
/// The resulting `rr_component_column` keeps the `arrow::Array` alive until it is released.
|
|
109
|
+
Error to_c_ffi_struct(rr_component_column& out_component_batch) const;
|
|
110
|
+
};
|
|
111
|
+
} // namespace rerun
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
|
|
3
|
+
#include <cstdint>
|
|
4
|
+
#include <optional>
|
|
5
|
+
#include <string_view>
|
|
6
|
+
|
|
7
|
+
namespace rerun {
|
|
8
|
+
/// See `ComponentDescriptor::hashed`.
|
|
9
|
+
using ComponentDescriptorHash = uint64_t;
|
|
10
|
+
|
|
11
|
+
/// A `ComponentDescriptor` fully describes the semantics of a column of data.
|
|
12
|
+
///
|
|
13
|
+
/// Every component is uniquely identified by its `ComponentDescriptor`.
|
|
14
|
+
struct ComponentDescriptor {
|
|
15
|
+
/// Optional name of the `Archetype` associated with this data.
|
|
16
|
+
///
|
|
17
|
+
/// `None` if the data wasn't logged through an archetype.
|
|
18
|
+
///
|
|
19
|
+
/// Example: `rerun.archetypes.Points3D`.
|
|
20
|
+
std::optional<std::string_view> archetype_name;
|
|
21
|
+
|
|
22
|
+
/// Optional name of the field within `Archetype` associated with this data.
|
|
23
|
+
///
|
|
24
|
+
/// `None` if the data wasn't logged through an archetype.
|
|
25
|
+
///
|
|
26
|
+
/// Example: `positions`.
|
|
27
|
+
std::optional<std::string_view> archetype_field_name;
|
|
28
|
+
|
|
29
|
+
/// Semantic name associated with this data.
|
|
30
|
+
///
|
|
31
|
+
/// This is fully implied by `archetype_name` and `archetype_field`, but
|
|
32
|
+
/// included for semantic convenience.
|
|
33
|
+
///
|
|
34
|
+
/// Example: `rerun.components.Position3D`.
|
|
35
|
+
std::string_view component_name;
|
|
36
|
+
|
|
37
|
+
constexpr ComponentDescriptor(
|
|
38
|
+
std::optional<std::string_view> archetype_name_,
|
|
39
|
+
std::optional<std::string_view> archetype_field_name_, std::string_view component_name_
|
|
40
|
+
)
|
|
41
|
+
: archetype_name(archetype_name_),
|
|
42
|
+
archetype_field_name(archetype_field_name_),
|
|
43
|
+
component_name(component_name_) {}
|
|
44
|
+
|
|
45
|
+
constexpr ComponentDescriptor(
|
|
46
|
+
const char* archetype_name_, const char* archetype_field_name_,
|
|
47
|
+
const char* component_name_
|
|
48
|
+
)
|
|
49
|
+
: archetype_name(archetype_name_),
|
|
50
|
+
archetype_field_name(archetype_field_name_),
|
|
51
|
+
component_name(component_name_) {}
|
|
52
|
+
|
|
53
|
+
constexpr ComponentDescriptor(std::string_view component_name_)
|
|
54
|
+
: component_name(component_name_) {}
|
|
55
|
+
|
|
56
|
+
constexpr ComponentDescriptor(const char* component_name_)
|
|
57
|
+
: component_name(component_name_) {}
|
|
58
|
+
|
|
59
|
+
ComponentDescriptorHash hashed() const {
|
|
60
|
+
std::size_t archetype_name_h =
|
|
61
|
+
std::hash<std::optional<std::string_view>>{}(this->archetype_name);
|
|
62
|
+
std::size_t component_name_h = std::hash<std::string_view>{}(this->component_name);
|
|
63
|
+
std::size_t archetype_field_name_h =
|
|
64
|
+
std::hash<std::optional<std::string_view>>{}(this->archetype_field_name);
|
|
65
|
+
return archetype_name_h ^ component_name_h ^ archetype_field_name_h;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/// Unconditionally sets `archetype_name` to the given one.
|
|
69
|
+
ComponentDescriptor with_archetype_name(std::optional<std::string_view> archetype_name_
|
|
70
|
+
) const {
|
|
71
|
+
ComponentDescriptor descriptor = *this;
|
|
72
|
+
descriptor.archetype_name = archetype_name_;
|
|
73
|
+
return descriptor;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/// Unconditionally sets `archetype_name` to the given one.
|
|
77
|
+
ComponentDescriptor with_archetype_name(const char* archetype_name_) const {
|
|
78
|
+
ComponentDescriptor descriptor = *this;
|
|
79
|
+
descriptor.archetype_name = archetype_name_;
|
|
80
|
+
return descriptor;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/// Unconditionally sets `archetype_field_name` to the given one.
|
|
84
|
+
ComponentDescriptor with_archetype_field_name(
|
|
85
|
+
std::optional<std::string_view> archetype_field_name_
|
|
86
|
+
) const {
|
|
87
|
+
ComponentDescriptor descriptor = *this;
|
|
88
|
+
descriptor.archetype_field_name = archetype_field_name_;
|
|
89
|
+
return descriptor;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/// Unconditionally sets `archetype_field_name` to the given one.
|
|
93
|
+
ComponentDescriptor with_archetype_field_name(const char* archetype_field_name_) const {
|
|
94
|
+
ComponentDescriptor descriptor = *this;
|
|
95
|
+
descriptor.archetype_field_name = archetype_field_name_;
|
|
96
|
+
return descriptor;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/// Sets `archetype_name` to the given one iff it's not already set.
|
|
100
|
+
ComponentDescriptor or_with_archetype_name(std::optional<std::string_view> archetype_name_
|
|
101
|
+
) const {
|
|
102
|
+
if (this->archetype_field_name.has_value()) {
|
|
103
|
+
return *this;
|
|
104
|
+
}
|
|
105
|
+
ComponentDescriptor descriptor = *this;
|
|
106
|
+
descriptor.archetype_name = archetype_name_;
|
|
107
|
+
return descriptor;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/// Sets `archetype_name` to the given one iff it's not already set.
|
|
111
|
+
ComponentDescriptor or_with_archetype_name(const char* archetype_name_) const {
|
|
112
|
+
if (this->archetype_field_name.has_value()) {
|
|
113
|
+
return *this;
|
|
114
|
+
}
|
|
115
|
+
ComponentDescriptor descriptor = *this;
|
|
116
|
+
descriptor.archetype_name = archetype_name_;
|
|
117
|
+
return descriptor;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/// Sets `archetype_field_name` to the given one iff it's not already set.
|
|
121
|
+
ComponentDescriptor or_with_archetype_field_name(
|
|
122
|
+
std::optional<std::string_view> archetype_field_name_
|
|
123
|
+
) const {
|
|
124
|
+
if (this->archetype_field_name.has_value()) {
|
|
125
|
+
return *this;
|
|
126
|
+
}
|
|
127
|
+
ComponentDescriptor descriptor = *this;
|
|
128
|
+
descriptor.archetype_field_name = archetype_field_name_;
|
|
129
|
+
return descriptor;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/// Sets `archetype_field_name` to the given one iff it's not already set.
|
|
133
|
+
ComponentDescriptor or_with_archetype_field_name(const char* archetype_field_name_) const {
|
|
134
|
+
if (this->archetype_field_name.has_value()) {
|
|
135
|
+
return *this;
|
|
136
|
+
}
|
|
137
|
+
ComponentDescriptor descriptor = *this;
|
|
138
|
+
descriptor.archetype_field_name = archetype_field_name_;
|
|
139
|
+
return descriptor;
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
} // namespace rerun
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
|
|
3
|
+
#include <memory>
|
|
4
|
+
|
|
5
|
+
#include "component_descriptor.hpp"
|
|
6
|
+
#include "result.hpp"
|
|
7
|
+
|
|
8
|
+
namespace arrow {
|
|
9
|
+
class DataType;
|
|
10
|
+
} // namespace arrow
|
|
11
|
+
|
|
12
|
+
namespace rerun {
|
|
13
|
+
/// Handle to a registered component types.
|
|
14
|
+
using ComponentTypeHandle = uint32_t;
|
|
15
|
+
|
|
16
|
+
/// A type of component that can be registered.
|
|
17
|
+
///
|
|
18
|
+
/// All built-in components automatically register their types lazily upon first serialization.
|
|
19
|
+
struct ComponentType {
|
|
20
|
+
ComponentDescriptor descriptor;
|
|
21
|
+
const std::shared_ptr<arrow::DataType>& arrow_datatype;
|
|
22
|
+
|
|
23
|
+
ComponentType(
|
|
24
|
+
const ComponentDescriptor& descriptor_,
|
|
25
|
+
const std::shared_ptr<arrow::DataType>& arrow_datatype_
|
|
26
|
+
)
|
|
27
|
+
: descriptor(descriptor_), arrow_datatype(arrow_datatype_) {}
|
|
28
|
+
|
|
29
|
+
/// Registers a component type with the SDK.
|
|
30
|
+
///
|
|
31
|
+
/// There is currently no deregistration mechanism.
|
|
32
|
+
/// Ideally, this method is only ever called once per component type.
|
|
33
|
+
Result<ComponentTypeHandle> register_component() const;
|
|
34
|
+
};
|
|
35
|
+
} // namespace rerun
|
|
@@ -0,0 +1,76 @@
|
|
|
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/components/aggregation_policy.fbs".
|
|
3
|
+
|
|
4
|
+
#pragma once
|
|
5
|
+
|
|
6
|
+
#include "../component_descriptor.hpp"
|
|
7
|
+
#include "../result.hpp"
|
|
8
|
+
|
|
9
|
+
#include <cstdint>
|
|
10
|
+
#include <memory>
|
|
11
|
+
|
|
12
|
+
namespace arrow {
|
|
13
|
+
/// \private
|
|
14
|
+
template <typename T>
|
|
15
|
+
class NumericBuilder;
|
|
16
|
+
|
|
17
|
+
class Array;
|
|
18
|
+
class DataType;
|
|
19
|
+
class UInt8Type;
|
|
20
|
+
using UInt8Builder = NumericBuilder<UInt8Type>;
|
|
21
|
+
} // namespace arrow
|
|
22
|
+
|
|
23
|
+
namespace rerun::components {
|
|
24
|
+
/// **Component**: Policy for aggregation of multiple scalar plot values.
|
|
25
|
+
///
|
|
26
|
+
/// This is used for lines in plots when the X axis distance of individual points goes below a single pixel,
|
|
27
|
+
/// i.e. a single pixel covers more than one tick worth of data. It can greatly improve performance
|
|
28
|
+
/// (and readability) in such situations as it prevents overdraw.
|
|
29
|
+
enum class AggregationPolicy : uint8_t {
|
|
30
|
+
|
|
31
|
+
/// No aggregation.
|
|
32
|
+
Off = 1,
|
|
33
|
+
|
|
34
|
+
/// Average all points in the range together.
|
|
35
|
+
Average = 2,
|
|
36
|
+
|
|
37
|
+
/// Keep only the maximum values in the range.
|
|
38
|
+
Max = 3,
|
|
39
|
+
|
|
40
|
+
/// Keep only the minimum values in the range.
|
|
41
|
+
Min = 4,
|
|
42
|
+
|
|
43
|
+
/// Keep both the minimum and maximum values in the range.
|
|
44
|
+
///
|
|
45
|
+
/// This will yield two aggregated points instead of one, effectively creating a vertical line.
|
|
46
|
+
MinMax = 5,
|
|
47
|
+
|
|
48
|
+
/// Find both the minimum and maximum values in the range, then use the average of those.
|
|
49
|
+
MinMaxAverage = 6,
|
|
50
|
+
};
|
|
51
|
+
} // namespace rerun::components
|
|
52
|
+
|
|
53
|
+
namespace rerun {
|
|
54
|
+
template <typename T>
|
|
55
|
+
struct Loggable;
|
|
56
|
+
|
|
57
|
+
/// \private
|
|
58
|
+
template <>
|
|
59
|
+
struct Loggable<components::AggregationPolicy> {
|
|
60
|
+
static constexpr ComponentDescriptor Descriptor = "rerun.components.AggregationPolicy";
|
|
61
|
+
|
|
62
|
+
/// Returns the arrow data type this type corresponds to.
|
|
63
|
+
static const std::shared_ptr<arrow::DataType>& arrow_datatype();
|
|
64
|
+
|
|
65
|
+
/// Serializes an array of `rerun::components::AggregationPolicy` into an arrow array.
|
|
66
|
+
static Result<std::shared_ptr<arrow::Array>> to_arrow(
|
|
67
|
+
const components::AggregationPolicy* instances, size_t num_instances
|
|
68
|
+
);
|
|
69
|
+
|
|
70
|
+
/// Fills an arrow array builder with an array of this type.
|
|
71
|
+
static rerun::Error fill_arrow_array_builder(
|
|
72
|
+
arrow::UInt8Builder* builder, const components::AggregationPolicy* elements,
|
|
73
|
+
size_t num_elements
|
|
74
|
+
);
|
|
75
|
+
};
|
|
76
|
+
} // namespace rerun
|
|
@@ -0,0 +1,74 @@
|
|
|
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/components/albedo_factor.fbs".
|
|
3
|
+
|
|
4
|
+
#pragma once
|
|
5
|
+
|
|
6
|
+
#include "../component_descriptor.hpp"
|
|
7
|
+
#include "../datatypes/rgba32.hpp"
|
|
8
|
+
#include "../result.hpp"
|
|
9
|
+
|
|
10
|
+
#include <cstdint>
|
|
11
|
+
#include <memory>
|
|
12
|
+
|
|
13
|
+
namespace rerun::components {
|
|
14
|
+
/// **Component**: A color multiplier, usually applied to a whole entity, e.g. a mesh.
|
|
15
|
+
struct AlbedoFactor {
|
|
16
|
+
rerun::datatypes::Rgba32 albedo_factor;
|
|
17
|
+
|
|
18
|
+
public:
|
|
19
|
+
AlbedoFactor() = default;
|
|
20
|
+
|
|
21
|
+
AlbedoFactor(rerun::datatypes::Rgba32 albedo_factor_) : albedo_factor(albedo_factor_) {}
|
|
22
|
+
|
|
23
|
+
AlbedoFactor& operator=(rerun::datatypes::Rgba32 albedo_factor_) {
|
|
24
|
+
albedo_factor = albedo_factor_;
|
|
25
|
+
return *this;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
AlbedoFactor(uint32_t rgba_) : albedo_factor(rgba_) {}
|
|
29
|
+
|
|
30
|
+
AlbedoFactor& operator=(uint32_t rgba_) {
|
|
31
|
+
albedo_factor = rgba_;
|
|
32
|
+
return *this;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/// Cast to the underlying Rgba32 datatype
|
|
36
|
+
operator rerun::datatypes::Rgba32() const {
|
|
37
|
+
return albedo_factor;
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
} // namespace rerun::components
|
|
41
|
+
|
|
42
|
+
namespace rerun {
|
|
43
|
+
static_assert(sizeof(rerun::datatypes::Rgba32) == sizeof(components::AlbedoFactor));
|
|
44
|
+
|
|
45
|
+
/// \private
|
|
46
|
+
template <>
|
|
47
|
+
struct Loggable<components::AlbedoFactor> {
|
|
48
|
+
static constexpr ComponentDescriptor Descriptor = "rerun.components.AlbedoFactor";
|
|
49
|
+
|
|
50
|
+
/// Returns the arrow data type this type corresponds to.
|
|
51
|
+
static const std::shared_ptr<arrow::DataType>& arrow_datatype() {
|
|
52
|
+
return Loggable<rerun::datatypes::Rgba32>::arrow_datatype();
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/// Serializes an array of `rerun::components::AlbedoFactor` into an arrow array.
|
|
56
|
+
static Result<std::shared_ptr<arrow::Array>> to_arrow(
|
|
57
|
+
const components::AlbedoFactor* instances, size_t num_instances
|
|
58
|
+
) {
|
|
59
|
+
if (num_instances == 0) {
|
|
60
|
+
return Loggable<rerun::datatypes::Rgba32>::to_arrow(nullptr, 0);
|
|
61
|
+
} else if (instances == nullptr) {
|
|
62
|
+
return rerun::Error(
|
|
63
|
+
ErrorCode::UnexpectedNullArgument,
|
|
64
|
+
"Passed array instances is null when num_elements> 0."
|
|
65
|
+
);
|
|
66
|
+
} else {
|
|
67
|
+
return Loggable<rerun::datatypes::Rgba32>::to_arrow(
|
|
68
|
+
&instances->albedo_factor,
|
|
69
|
+
num_instances
|
|
70
|
+
);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
} // namespace rerun
|