pymomentum-cpu 0.1.77.post30__cp313-cp313-manylinux_2_39_x86_64.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 +128 -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 +126 -0
- include/momentum/character_solver/vertex_vertex_distance_error_function.h +151 -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 +29 -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 +54 -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/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/librerun_c__linux_x64.a +0 -0
- lib/librerun_sdk.a +0 -0
- lib64/cmake/axel/axel-config.cmake +45 -0
- lib64/cmake/axel/axelTargets-release.cmake +19 -0
- lib64/cmake/axel/axelTargets.cmake +108 -0
- lib64/cmake/momentum/Findre2.cmake +52 -0
- lib64/cmake/momentum/momentum-config.cmake +67 -0
- lib64/cmake/momentum/momentumTargets-release.cmake +259 -0
- lib64/cmake/momentum/momentumTargets.cmake +377 -0
- lib64/libaxel.a +0 -0
- lib64/libmomentum_app_utils.a +0 -0
- lib64/libmomentum_character.a +0 -0
- lib64/libmomentum_character_sequence_solver.a +0 -0
- lib64/libmomentum_character_solver.a +0 -0
- lib64/libmomentum_common.a +0 -0
- lib64/libmomentum_diff_ik.a +0 -0
- lib64/libmomentum_io.a +0 -0
- lib64/libmomentum_io_common.a +0 -0
- lib64/libmomentum_io_fbx.a +0 -0
- lib64/libmomentum_io_gltf.a +0 -0
- lib64/libmomentum_io_legacy_json.a +0 -0
- lib64/libmomentum_io_marker.a +0 -0
- lib64/libmomentum_io_motion.a +0 -0
- lib64/libmomentum_io_shape.a +0 -0
- lib64/libmomentum_io_skeleton.a +0 -0
- lib64/libmomentum_io_urdf.a +0 -0
- lib64/libmomentum_marker_tracker.a +0 -0
- lib64/libmomentum_math.a +0 -0
- lib64/libmomentum_online_qr.a +0 -0
- lib64/libmomentum_process_markers.a +0 -0
- lib64/libmomentum_rerun.a +0 -0
- lib64/libmomentum_simd_constraints.a +0 -0
- lib64/libmomentum_simd_generalized_loss.a +0 -0
- lib64/libmomentum_skeleton.a +0 -0
- lib64/libmomentum_solver.a +0 -0
- pymomentum/axel.cpython-313-x86_64-linux-gnu.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-x86_64-linux-gnu.so +0 -0
- pymomentum/marker_tracking.cpython-313-x86_64-linux-gnu.so +0 -0
- pymomentum/quaternion.py +740 -0
- pymomentum/skel_state.py +514 -0
- pymomentum/solver.cpython-313-x86_64-linux-gnu.so +0 -0
- pymomentum/solver2.cpython-313-x86_64-linux-gnu.so +0 -0
- pymomentum/torch/character.py +809 -0
- pymomentum/torch/parameter_limits.py +494 -0
- pymomentum/torch/utility.py +20 -0
- pymomentum/trs.py +535 -0
- pymomentum_cpu-0.1.77.post30.dist-info/METADATA +208 -0
- pymomentum_cpu-0.1.77.post30.dist-info/RECORD +555 -0
- pymomentum_cpu-0.1.77.post30.dist-info/WHEEL +5 -0
- pymomentum_cpu-0.1.77.post30.dist-info/licenses/LICENSE +21 -0
- pymomentum_cpu.libs/libabsl_base-86f3b38c.so.2505.0.0 +0 -0
- pymomentum_cpu.libs/libabsl_city-31b65ca2.so.2505.0.0 +0 -0
- pymomentum_cpu.libs/libabsl_debugging_internal-38680253.so.2505.0.0 +0 -0
- pymomentum_cpu.libs/libabsl_decode_rust_punycode-750652c3.so.2505.0.0 +0 -0
- pymomentum_cpu.libs/libabsl_demangle_internal-9a0351a3.so.2505.0.0 +0 -0
- pymomentum_cpu.libs/libabsl_demangle_rust-71629506.so.2505.0.0 +0 -0
- pymomentum_cpu.libs/libabsl_examine_stack-57661ecd.so.2505.0.0 +0 -0
- pymomentum_cpu.libs/libabsl_hash-8c523b7e.so.2505.0.0 +0 -0
- pymomentum_cpu.libs/libabsl_hashtablez_sampler-b5c3e343.so.2505.0.0 +0 -0
- pymomentum_cpu.libs/libabsl_int128-295bfed5.so.2505.0.0 +0 -0
- pymomentum_cpu.libs/libabsl_kernel_timeout_internal-29296ac1.so.2505.0.0 +0 -0
- pymomentum_cpu.libs/libabsl_log_globals-6cfa8af5.so.2505.0.0 +0 -0
- pymomentum_cpu.libs/libabsl_log_internal_format-a5c79460.so.2505.0.0 +0 -0
- pymomentum_cpu.libs/libabsl_log_internal_globals-481e9a7c.so.2505.0.0 +0 -0
- pymomentum_cpu.libs/libabsl_log_internal_log_sink_set-ac08f942.so.2505.0.0 +0 -0
- pymomentum_cpu.libs/libabsl_log_internal_message-7dfe150a.so.2505.0.0 +0 -0
- pymomentum_cpu.libs/libabsl_log_internal_nullguard-883adc72.so.2505.0.0 +0 -0
- pymomentum_cpu.libs/libabsl_log_internal_proto-a5da8c75.so.2505.0.0 +0 -0
- pymomentum_cpu.libs/libabsl_log_internal_structured_proto-e601fd9b.so.2505.0.0 +0 -0
- pymomentum_cpu.libs/libabsl_log_sink-894261b2.so.2505.0.0 +0 -0
- pymomentum_cpu.libs/libabsl_low_level_hash-a3284638.so.2505.0.0 +0 -0
- pymomentum_cpu.libs/libabsl_malloc_internal-814569de.so.2505.0.0 +0 -0
- pymomentum_cpu.libs/libabsl_raw_hash_set-922d64ad.so.2505.0.0 +0 -0
- pymomentum_cpu.libs/libabsl_raw_logging_internal-477f78ec.so.2505.0.0 +0 -0
- pymomentum_cpu.libs/libabsl_spinlock_wait-8b85a473.so.2505.0.0 +0 -0
- pymomentum_cpu.libs/libabsl_stacktrace-7369e71d.so.2505.0.0 +0 -0
- pymomentum_cpu.libs/libabsl_str_format_internal-98de729d.so.2505.0.0 +0 -0
- pymomentum_cpu.libs/libabsl_strerror-39a52998.so.2505.0.0 +0 -0
- pymomentum_cpu.libs/libabsl_strings-a57d5127.so.2505.0.0 +0 -0
- pymomentum_cpu.libs/libabsl_strings_internal-ed8c7c0d.so.2505.0.0 +0 -0
- pymomentum_cpu.libs/libabsl_symbolize-eba17dd1.so.2505.0.0 +0 -0
- pymomentum_cpu.libs/libabsl_synchronization-2f8cf326.so.2505.0.0 +0 -0
- pymomentum_cpu.libs/libabsl_time-066c0dde.so.2505.0.0 +0 -0
- pymomentum_cpu.libs/libabsl_time_zone-72867365.so.2505.0.0 +0 -0
- pymomentum_cpu.libs/libabsl_tracing_internal-021e37ee.so.2505.0.0 +0 -0
- pymomentum_cpu.libs/libabsl_utf8_for_code_point-de2a4d4a.so.2505.0.0 +0 -0
- pymomentum_cpu.libs/libconsole_bridge-f26e11cc.so.1.0 +0 -0
- pymomentum_cpu.libs/libdeflate-577b71e3.so.0 +0 -0
- pymomentum_cpu.libs/libdispenso-67ac1721.so.1.4.0 +0 -0
- pymomentum_cpu.libs/libezc3d-4a95ab2c.so +0 -0
- pymomentum_cpu.libs/libre2-985fb83c.so.11 +0 -0
- pymomentum_cpu.libs/libtinyxml2-8d10763c.so.11.0.0 +0 -0
- pymomentum_cpu.libs/liburdfdom_model-7b26ae88.so.4.0 +0 -0
|
@@ -0,0 +1,529 @@
|
|
|
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/datatypes/tensor_buffer.fbs".
|
|
3
|
+
|
|
4
|
+
#pragma once
|
|
5
|
+
|
|
6
|
+
#include "../collection.hpp"
|
|
7
|
+
#include "../component_descriptor.hpp"
|
|
8
|
+
#include "../half.hpp"
|
|
9
|
+
#include "../result.hpp"
|
|
10
|
+
#include "../type_traits.hpp"
|
|
11
|
+
|
|
12
|
+
#include <cstdint>
|
|
13
|
+
#include <cstring>
|
|
14
|
+
#include <memory>
|
|
15
|
+
#include <new>
|
|
16
|
+
#include <utility>
|
|
17
|
+
|
|
18
|
+
namespace arrow {
|
|
19
|
+
class Array;
|
|
20
|
+
class DataType;
|
|
21
|
+
class DenseUnionBuilder;
|
|
22
|
+
} // namespace arrow
|
|
23
|
+
|
|
24
|
+
namespace rerun::datatypes {
|
|
25
|
+
namespace detail {
|
|
26
|
+
/// \private
|
|
27
|
+
enum class TensorBufferTag : uint8_t {
|
|
28
|
+
/// Having a special empty state makes it possible to implement move-semantics. We need to be able to leave the object in a state which we can run the destructor on.
|
|
29
|
+
None = 0,
|
|
30
|
+
U8,
|
|
31
|
+
U16,
|
|
32
|
+
U32,
|
|
33
|
+
U64,
|
|
34
|
+
I8,
|
|
35
|
+
I16,
|
|
36
|
+
I32,
|
|
37
|
+
I64,
|
|
38
|
+
F16,
|
|
39
|
+
F32,
|
|
40
|
+
F64,
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
/// \private
|
|
44
|
+
union TensorBufferData {
|
|
45
|
+
/// 8bit unsigned integer.
|
|
46
|
+
rerun::Collection<uint8_t> u8;
|
|
47
|
+
|
|
48
|
+
/// 16bit unsigned integer.
|
|
49
|
+
rerun::Collection<uint16_t> u16;
|
|
50
|
+
|
|
51
|
+
/// 32bit unsigned integer.
|
|
52
|
+
rerun::Collection<uint32_t> u32;
|
|
53
|
+
|
|
54
|
+
/// 64bit unsigned integer.
|
|
55
|
+
rerun::Collection<uint64_t> u64;
|
|
56
|
+
|
|
57
|
+
/// 8bit signed integer.
|
|
58
|
+
rerun::Collection<int8_t> i8;
|
|
59
|
+
|
|
60
|
+
/// 16bit signed integer.
|
|
61
|
+
rerun::Collection<int16_t> i16;
|
|
62
|
+
|
|
63
|
+
/// 32bit signed integer.
|
|
64
|
+
rerun::Collection<int32_t> i32;
|
|
65
|
+
|
|
66
|
+
/// 64bit signed integer.
|
|
67
|
+
rerun::Collection<int64_t> i64;
|
|
68
|
+
|
|
69
|
+
/// 16bit IEEE-754 floating point, also known as `half`.
|
|
70
|
+
rerun::Collection<rerun::half> f16;
|
|
71
|
+
|
|
72
|
+
/// 32bit IEEE-754 floating point, also known as `float` or `single`.
|
|
73
|
+
rerun::Collection<float> f32;
|
|
74
|
+
|
|
75
|
+
/// 64bit IEEE-754 floating point, also known as `double`.
|
|
76
|
+
rerun::Collection<double> f64;
|
|
77
|
+
|
|
78
|
+
TensorBufferData() {
|
|
79
|
+
std::memset(reinterpret_cast<void*>(this), 0, sizeof(TensorBufferData));
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
~TensorBufferData() {}
|
|
83
|
+
|
|
84
|
+
void swap(TensorBufferData& other) noexcept {
|
|
85
|
+
// This bitwise swap would fail for self-referential types, but we don't have any of those.
|
|
86
|
+
char temp[sizeof(TensorBufferData)];
|
|
87
|
+
void* otherbytes = reinterpret_cast<void*>(&other);
|
|
88
|
+
void* thisbytes = reinterpret_cast<void*>(this);
|
|
89
|
+
std::memcpy(temp, thisbytes, sizeof(TensorBufferData));
|
|
90
|
+
std::memcpy(thisbytes, otherbytes, sizeof(TensorBufferData));
|
|
91
|
+
std::memcpy(otherbytes, temp, sizeof(TensorBufferData));
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
} // namespace detail
|
|
95
|
+
|
|
96
|
+
/// **Datatype**: The underlying storage for `archetypes::Tensor`.
|
|
97
|
+
///
|
|
98
|
+
/// Tensor elements are stored in a contiguous buffer of a single type.
|
|
99
|
+
struct TensorBuffer {
|
|
100
|
+
TensorBuffer() : _tag(detail::TensorBufferTag::None) {}
|
|
101
|
+
|
|
102
|
+
/// Copy constructor
|
|
103
|
+
TensorBuffer(const TensorBuffer& other) : _tag(other._tag) {
|
|
104
|
+
switch (other._tag) {
|
|
105
|
+
case detail::TensorBufferTag::U8: {
|
|
106
|
+
using TypeAlias = rerun::Collection<uint8_t>;
|
|
107
|
+
new (&_data.u8) TypeAlias(other._data.u8);
|
|
108
|
+
} break;
|
|
109
|
+
case detail::TensorBufferTag::U16: {
|
|
110
|
+
using TypeAlias = rerun::Collection<uint16_t>;
|
|
111
|
+
new (&_data.u16) TypeAlias(other._data.u16);
|
|
112
|
+
} break;
|
|
113
|
+
case detail::TensorBufferTag::U32: {
|
|
114
|
+
using TypeAlias = rerun::Collection<uint32_t>;
|
|
115
|
+
new (&_data.u32) TypeAlias(other._data.u32);
|
|
116
|
+
} break;
|
|
117
|
+
case detail::TensorBufferTag::U64: {
|
|
118
|
+
using TypeAlias = rerun::Collection<uint64_t>;
|
|
119
|
+
new (&_data.u64) TypeAlias(other._data.u64);
|
|
120
|
+
} break;
|
|
121
|
+
case detail::TensorBufferTag::I8: {
|
|
122
|
+
using TypeAlias = rerun::Collection<int8_t>;
|
|
123
|
+
new (&_data.i8) TypeAlias(other._data.i8);
|
|
124
|
+
} break;
|
|
125
|
+
case detail::TensorBufferTag::I16: {
|
|
126
|
+
using TypeAlias = rerun::Collection<int16_t>;
|
|
127
|
+
new (&_data.i16) TypeAlias(other._data.i16);
|
|
128
|
+
} break;
|
|
129
|
+
case detail::TensorBufferTag::I32: {
|
|
130
|
+
using TypeAlias = rerun::Collection<int32_t>;
|
|
131
|
+
new (&_data.i32) TypeAlias(other._data.i32);
|
|
132
|
+
} break;
|
|
133
|
+
case detail::TensorBufferTag::I64: {
|
|
134
|
+
using TypeAlias = rerun::Collection<int64_t>;
|
|
135
|
+
new (&_data.i64) TypeAlias(other._data.i64);
|
|
136
|
+
} break;
|
|
137
|
+
case detail::TensorBufferTag::F16: {
|
|
138
|
+
using TypeAlias = rerun::Collection<rerun::half>;
|
|
139
|
+
new (&_data.f16) TypeAlias(other._data.f16);
|
|
140
|
+
} break;
|
|
141
|
+
case detail::TensorBufferTag::F32: {
|
|
142
|
+
using TypeAlias = rerun::Collection<float>;
|
|
143
|
+
new (&_data.f32) TypeAlias(other._data.f32);
|
|
144
|
+
} break;
|
|
145
|
+
case detail::TensorBufferTag::F64: {
|
|
146
|
+
using TypeAlias = rerun::Collection<double>;
|
|
147
|
+
new (&_data.f64) TypeAlias(other._data.f64);
|
|
148
|
+
} break;
|
|
149
|
+
case detail::TensorBufferTag::None: {
|
|
150
|
+
} break;
|
|
151
|
+
default:
|
|
152
|
+
assert(false && "unreachable");
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
TensorBuffer& operator=(const TensorBuffer& other) noexcept {
|
|
157
|
+
TensorBuffer tmp(other);
|
|
158
|
+
this->swap(tmp);
|
|
159
|
+
return *this;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
TensorBuffer(TensorBuffer&& other) noexcept : TensorBuffer() {
|
|
163
|
+
this->swap(other);
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
TensorBuffer& operator=(TensorBuffer&& other) noexcept {
|
|
167
|
+
this->swap(other);
|
|
168
|
+
return *this;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
~TensorBuffer() {
|
|
172
|
+
switch (this->_tag) {
|
|
173
|
+
case detail::TensorBufferTag::None: {
|
|
174
|
+
// Nothing to destroy
|
|
175
|
+
} break;
|
|
176
|
+
case detail::TensorBufferTag::U8: {
|
|
177
|
+
using TypeAlias = rerun::Collection<uint8_t>;
|
|
178
|
+
_data.u8.~TypeAlias();
|
|
179
|
+
} break;
|
|
180
|
+
case detail::TensorBufferTag::U16: {
|
|
181
|
+
using TypeAlias = rerun::Collection<uint16_t>;
|
|
182
|
+
_data.u16.~TypeAlias();
|
|
183
|
+
} break;
|
|
184
|
+
case detail::TensorBufferTag::U32: {
|
|
185
|
+
using TypeAlias = rerun::Collection<uint32_t>;
|
|
186
|
+
_data.u32.~TypeAlias();
|
|
187
|
+
} break;
|
|
188
|
+
case detail::TensorBufferTag::U64: {
|
|
189
|
+
using TypeAlias = rerun::Collection<uint64_t>;
|
|
190
|
+
_data.u64.~TypeAlias();
|
|
191
|
+
} break;
|
|
192
|
+
case detail::TensorBufferTag::I8: {
|
|
193
|
+
using TypeAlias = rerun::Collection<int8_t>;
|
|
194
|
+
_data.i8.~TypeAlias();
|
|
195
|
+
} break;
|
|
196
|
+
case detail::TensorBufferTag::I16: {
|
|
197
|
+
using TypeAlias = rerun::Collection<int16_t>;
|
|
198
|
+
_data.i16.~TypeAlias();
|
|
199
|
+
} break;
|
|
200
|
+
case detail::TensorBufferTag::I32: {
|
|
201
|
+
using TypeAlias = rerun::Collection<int32_t>;
|
|
202
|
+
_data.i32.~TypeAlias();
|
|
203
|
+
} break;
|
|
204
|
+
case detail::TensorBufferTag::I64: {
|
|
205
|
+
using TypeAlias = rerun::Collection<int64_t>;
|
|
206
|
+
_data.i64.~TypeAlias();
|
|
207
|
+
} break;
|
|
208
|
+
case detail::TensorBufferTag::F16: {
|
|
209
|
+
using TypeAlias = rerun::Collection<rerun::half>;
|
|
210
|
+
_data.f16.~TypeAlias();
|
|
211
|
+
} break;
|
|
212
|
+
case detail::TensorBufferTag::F32: {
|
|
213
|
+
using TypeAlias = rerun::Collection<float>;
|
|
214
|
+
_data.f32.~TypeAlias();
|
|
215
|
+
} break;
|
|
216
|
+
case detail::TensorBufferTag::F64: {
|
|
217
|
+
using TypeAlias = rerun::Collection<double>;
|
|
218
|
+
_data.f64.~TypeAlias();
|
|
219
|
+
} break;
|
|
220
|
+
default:
|
|
221
|
+
assert(false && "unreachable");
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
public: // START of extensions from tensor_buffer_ext.cpp:
|
|
226
|
+
/// Construct a `TensorBuffer` from any container type that has a `value_type` member and for which a
|
|
227
|
+
/// `rerun::ContainerAdapter` exists.
|
|
228
|
+
///
|
|
229
|
+
/// This constructor assumes the type of tensor buffer you want to use is defined by `TContainer::value_type`
|
|
230
|
+
/// and then forwards the argument as-is to the appropriate `rerun::Container` constructor.
|
|
231
|
+
/// \see rerun::ContainerAdapter, rerun::Container
|
|
232
|
+
template <typename TContainer, typename value_type = traits::value_type_of_t<TContainer>>
|
|
233
|
+
TensorBuffer(TContainer&& container)
|
|
234
|
+
: TensorBuffer(Collection<value_type>(std::forward<TContainer>(container))) {}
|
|
235
|
+
|
|
236
|
+
/// Number of elements in the buffer.
|
|
237
|
+
///
|
|
238
|
+
/// You may NOT call this for NV12 or YUY2.
|
|
239
|
+
size_t num_elems() const;
|
|
240
|
+
|
|
241
|
+
// END of extensions from tensor_buffer_ext.cpp, start of generated code:
|
|
242
|
+
|
|
243
|
+
void swap(TensorBuffer& other) noexcept {
|
|
244
|
+
std::swap(this->_tag, other._tag);
|
|
245
|
+
this->_data.swap(other._data);
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
/// 8bit unsigned integer.
|
|
249
|
+
TensorBuffer(rerun::Collection<uint8_t> u8) : TensorBuffer() {
|
|
250
|
+
*this = TensorBuffer::u8(std::move(u8));
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
/// 16bit unsigned integer.
|
|
254
|
+
TensorBuffer(rerun::Collection<uint16_t> u16) : TensorBuffer() {
|
|
255
|
+
*this = TensorBuffer::u16(std::move(u16));
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
/// 32bit unsigned integer.
|
|
259
|
+
TensorBuffer(rerun::Collection<uint32_t> u32) : TensorBuffer() {
|
|
260
|
+
*this = TensorBuffer::u32(std::move(u32));
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
/// 64bit unsigned integer.
|
|
264
|
+
TensorBuffer(rerun::Collection<uint64_t> u64) : TensorBuffer() {
|
|
265
|
+
*this = TensorBuffer::u64(std::move(u64));
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
/// 8bit signed integer.
|
|
269
|
+
TensorBuffer(rerun::Collection<int8_t> i8) : TensorBuffer() {
|
|
270
|
+
*this = TensorBuffer::i8(std::move(i8));
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
/// 16bit signed integer.
|
|
274
|
+
TensorBuffer(rerun::Collection<int16_t> i16) : TensorBuffer() {
|
|
275
|
+
*this = TensorBuffer::i16(std::move(i16));
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
/// 32bit signed integer.
|
|
279
|
+
TensorBuffer(rerun::Collection<int32_t> i32) : TensorBuffer() {
|
|
280
|
+
*this = TensorBuffer::i32(std::move(i32));
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
/// 64bit signed integer.
|
|
284
|
+
TensorBuffer(rerun::Collection<int64_t> i64) : TensorBuffer() {
|
|
285
|
+
*this = TensorBuffer::i64(std::move(i64));
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
/// 16bit IEEE-754 floating point, also known as `half`.
|
|
289
|
+
TensorBuffer(rerun::Collection<rerun::half> f16) : TensorBuffer() {
|
|
290
|
+
*this = TensorBuffer::f16(std::move(f16));
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
/// 32bit IEEE-754 floating point, also known as `float` or `single`.
|
|
294
|
+
TensorBuffer(rerun::Collection<float> f32) : TensorBuffer() {
|
|
295
|
+
*this = TensorBuffer::f32(std::move(f32));
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
/// 64bit IEEE-754 floating point, also known as `double`.
|
|
299
|
+
TensorBuffer(rerun::Collection<double> f64) : TensorBuffer() {
|
|
300
|
+
*this = TensorBuffer::f64(std::move(f64));
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
/// 8bit unsigned integer.
|
|
304
|
+
static TensorBuffer u8(rerun::Collection<uint8_t> u8) {
|
|
305
|
+
TensorBuffer self;
|
|
306
|
+
self._tag = detail::TensorBufferTag::U8;
|
|
307
|
+
new (&self._data.u8) rerun::Collection<uint8_t>(std::move(u8));
|
|
308
|
+
return self;
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
/// 16bit unsigned integer.
|
|
312
|
+
static TensorBuffer u16(rerun::Collection<uint16_t> u16) {
|
|
313
|
+
TensorBuffer self;
|
|
314
|
+
self._tag = detail::TensorBufferTag::U16;
|
|
315
|
+
new (&self._data.u16) rerun::Collection<uint16_t>(std::move(u16));
|
|
316
|
+
return self;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
/// 32bit unsigned integer.
|
|
320
|
+
static TensorBuffer u32(rerun::Collection<uint32_t> u32) {
|
|
321
|
+
TensorBuffer self;
|
|
322
|
+
self._tag = detail::TensorBufferTag::U32;
|
|
323
|
+
new (&self._data.u32) rerun::Collection<uint32_t>(std::move(u32));
|
|
324
|
+
return self;
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
/// 64bit unsigned integer.
|
|
328
|
+
static TensorBuffer u64(rerun::Collection<uint64_t> u64) {
|
|
329
|
+
TensorBuffer self;
|
|
330
|
+
self._tag = detail::TensorBufferTag::U64;
|
|
331
|
+
new (&self._data.u64) rerun::Collection<uint64_t>(std::move(u64));
|
|
332
|
+
return self;
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
/// 8bit signed integer.
|
|
336
|
+
static TensorBuffer i8(rerun::Collection<int8_t> i8) {
|
|
337
|
+
TensorBuffer self;
|
|
338
|
+
self._tag = detail::TensorBufferTag::I8;
|
|
339
|
+
new (&self._data.i8) rerun::Collection<int8_t>(std::move(i8));
|
|
340
|
+
return self;
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
/// 16bit signed integer.
|
|
344
|
+
static TensorBuffer i16(rerun::Collection<int16_t> i16) {
|
|
345
|
+
TensorBuffer self;
|
|
346
|
+
self._tag = detail::TensorBufferTag::I16;
|
|
347
|
+
new (&self._data.i16) rerun::Collection<int16_t>(std::move(i16));
|
|
348
|
+
return self;
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
/// 32bit signed integer.
|
|
352
|
+
static TensorBuffer i32(rerun::Collection<int32_t> i32) {
|
|
353
|
+
TensorBuffer self;
|
|
354
|
+
self._tag = detail::TensorBufferTag::I32;
|
|
355
|
+
new (&self._data.i32) rerun::Collection<int32_t>(std::move(i32));
|
|
356
|
+
return self;
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
/// 64bit signed integer.
|
|
360
|
+
static TensorBuffer i64(rerun::Collection<int64_t> i64) {
|
|
361
|
+
TensorBuffer self;
|
|
362
|
+
self._tag = detail::TensorBufferTag::I64;
|
|
363
|
+
new (&self._data.i64) rerun::Collection<int64_t>(std::move(i64));
|
|
364
|
+
return self;
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
/// 16bit IEEE-754 floating point, also known as `half`.
|
|
368
|
+
static TensorBuffer f16(rerun::Collection<rerun::half> f16) {
|
|
369
|
+
TensorBuffer self;
|
|
370
|
+
self._tag = detail::TensorBufferTag::F16;
|
|
371
|
+
new (&self._data.f16) rerun::Collection<rerun::half>(std::move(f16));
|
|
372
|
+
return self;
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
/// 32bit IEEE-754 floating point, also known as `float` or `single`.
|
|
376
|
+
static TensorBuffer f32(rerun::Collection<float> f32) {
|
|
377
|
+
TensorBuffer self;
|
|
378
|
+
self._tag = detail::TensorBufferTag::F32;
|
|
379
|
+
new (&self._data.f32) rerun::Collection<float>(std::move(f32));
|
|
380
|
+
return self;
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
/// 64bit IEEE-754 floating point, also known as `double`.
|
|
384
|
+
static TensorBuffer f64(rerun::Collection<double> f64) {
|
|
385
|
+
TensorBuffer self;
|
|
386
|
+
self._tag = detail::TensorBufferTag::F64;
|
|
387
|
+
new (&self._data.f64) rerun::Collection<double>(std::move(f64));
|
|
388
|
+
return self;
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
/// Return a pointer to u8 if the union is in that state, otherwise `nullptr`.
|
|
392
|
+
const rerun::Collection<uint8_t>* get_u8() const {
|
|
393
|
+
if (_tag == detail::TensorBufferTag::U8) {
|
|
394
|
+
return &_data.u8;
|
|
395
|
+
} else {
|
|
396
|
+
return nullptr;
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
/// Return a pointer to u16 if the union is in that state, otherwise `nullptr`.
|
|
401
|
+
const rerun::Collection<uint16_t>* get_u16() const {
|
|
402
|
+
if (_tag == detail::TensorBufferTag::U16) {
|
|
403
|
+
return &_data.u16;
|
|
404
|
+
} else {
|
|
405
|
+
return nullptr;
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
/// Return a pointer to u32 if the union is in that state, otherwise `nullptr`.
|
|
410
|
+
const rerun::Collection<uint32_t>* get_u32() const {
|
|
411
|
+
if (_tag == detail::TensorBufferTag::U32) {
|
|
412
|
+
return &_data.u32;
|
|
413
|
+
} else {
|
|
414
|
+
return nullptr;
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
/// Return a pointer to u64 if the union is in that state, otherwise `nullptr`.
|
|
419
|
+
const rerun::Collection<uint64_t>* get_u64() const {
|
|
420
|
+
if (_tag == detail::TensorBufferTag::U64) {
|
|
421
|
+
return &_data.u64;
|
|
422
|
+
} else {
|
|
423
|
+
return nullptr;
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
/// Return a pointer to i8 if the union is in that state, otherwise `nullptr`.
|
|
428
|
+
const rerun::Collection<int8_t>* get_i8() const {
|
|
429
|
+
if (_tag == detail::TensorBufferTag::I8) {
|
|
430
|
+
return &_data.i8;
|
|
431
|
+
} else {
|
|
432
|
+
return nullptr;
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
/// Return a pointer to i16 if the union is in that state, otherwise `nullptr`.
|
|
437
|
+
const rerun::Collection<int16_t>* get_i16() const {
|
|
438
|
+
if (_tag == detail::TensorBufferTag::I16) {
|
|
439
|
+
return &_data.i16;
|
|
440
|
+
} else {
|
|
441
|
+
return nullptr;
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
/// Return a pointer to i32 if the union is in that state, otherwise `nullptr`.
|
|
446
|
+
const rerun::Collection<int32_t>* get_i32() const {
|
|
447
|
+
if (_tag == detail::TensorBufferTag::I32) {
|
|
448
|
+
return &_data.i32;
|
|
449
|
+
} else {
|
|
450
|
+
return nullptr;
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
/// Return a pointer to i64 if the union is in that state, otherwise `nullptr`.
|
|
455
|
+
const rerun::Collection<int64_t>* get_i64() const {
|
|
456
|
+
if (_tag == detail::TensorBufferTag::I64) {
|
|
457
|
+
return &_data.i64;
|
|
458
|
+
} else {
|
|
459
|
+
return nullptr;
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
/// Return a pointer to f16 if the union is in that state, otherwise `nullptr`.
|
|
464
|
+
const rerun::Collection<rerun::half>* get_f16() const {
|
|
465
|
+
if (_tag == detail::TensorBufferTag::F16) {
|
|
466
|
+
return &_data.f16;
|
|
467
|
+
} else {
|
|
468
|
+
return nullptr;
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
/// Return a pointer to f32 if the union is in that state, otherwise `nullptr`.
|
|
473
|
+
const rerun::Collection<float>* get_f32() const {
|
|
474
|
+
if (_tag == detail::TensorBufferTag::F32) {
|
|
475
|
+
return &_data.f32;
|
|
476
|
+
} else {
|
|
477
|
+
return nullptr;
|
|
478
|
+
}
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
/// Return a pointer to f64 if the union is in that state, otherwise `nullptr`.
|
|
482
|
+
const rerun::Collection<double>* get_f64() const {
|
|
483
|
+
if (_tag == detail::TensorBufferTag::F64) {
|
|
484
|
+
return &_data.f64;
|
|
485
|
+
} else {
|
|
486
|
+
return nullptr;
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
|
|
490
|
+
/// \private
|
|
491
|
+
const detail::TensorBufferData& get_union_data() const {
|
|
492
|
+
return _data;
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
/// \private
|
|
496
|
+
detail::TensorBufferTag get_union_tag() const {
|
|
497
|
+
return _tag;
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
private:
|
|
501
|
+
detail::TensorBufferTag _tag;
|
|
502
|
+
detail::TensorBufferData _data;
|
|
503
|
+
};
|
|
504
|
+
} // namespace rerun::datatypes
|
|
505
|
+
|
|
506
|
+
namespace rerun {
|
|
507
|
+
template <typename T>
|
|
508
|
+
struct Loggable;
|
|
509
|
+
|
|
510
|
+
/// \private
|
|
511
|
+
template <>
|
|
512
|
+
struct Loggable<datatypes::TensorBuffer> {
|
|
513
|
+
static constexpr ComponentDescriptor Descriptor = "rerun.datatypes.TensorBuffer";
|
|
514
|
+
|
|
515
|
+
/// Returns the arrow data type this type corresponds to.
|
|
516
|
+
static const std::shared_ptr<arrow::DataType>& arrow_datatype();
|
|
517
|
+
|
|
518
|
+
/// Serializes an array of `rerun::datatypes::TensorBuffer` into an arrow array.
|
|
519
|
+
static Result<std::shared_ptr<arrow::Array>> to_arrow(
|
|
520
|
+
const datatypes::TensorBuffer* instances, size_t num_instances
|
|
521
|
+
);
|
|
522
|
+
|
|
523
|
+
/// Fills an arrow array builder with an array of this type.
|
|
524
|
+
static rerun::Error fill_arrow_array_builder(
|
|
525
|
+
arrow::DenseUnionBuilder* builder, const datatypes::TensorBuffer* elements,
|
|
526
|
+
size_t num_elements
|
|
527
|
+
);
|
|
528
|
+
};
|
|
529
|
+
} // namespace rerun
|
|
@@ -0,0 +1,100 @@
|
|
|
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/datatypes/tensor_data.fbs".
|
|
3
|
+
|
|
4
|
+
#pragma once
|
|
5
|
+
|
|
6
|
+
#include "../collection.hpp"
|
|
7
|
+
#include "../component_descriptor.hpp"
|
|
8
|
+
#include "../result.hpp"
|
|
9
|
+
#include "tensor_buffer.hpp"
|
|
10
|
+
|
|
11
|
+
#include <cstdint>
|
|
12
|
+
#include <memory>
|
|
13
|
+
#include <optional>
|
|
14
|
+
#include <string>
|
|
15
|
+
|
|
16
|
+
namespace arrow {
|
|
17
|
+
class Array;
|
|
18
|
+
class DataType;
|
|
19
|
+
class StructBuilder;
|
|
20
|
+
} // namespace arrow
|
|
21
|
+
|
|
22
|
+
namespace rerun::datatypes {
|
|
23
|
+
/// **Datatype**: An N-dimensional array of numbers.
|
|
24
|
+
///
|
|
25
|
+
/// The number of dimensions and their respective lengths is specified by the `shape` field.
|
|
26
|
+
/// The dimensions are ordered from outermost to innermost. For example, in the common case of
|
|
27
|
+
/// a 2D RGB Image, the shape would be `[height, width, channel]`.
|
|
28
|
+
///
|
|
29
|
+
/// These dimensions are combined with an index to look up values from the `buffer` field,
|
|
30
|
+
/// which stores a contiguous array of typed values.
|
|
31
|
+
struct TensorData {
|
|
32
|
+
/// The shape of the tensor, i.e. the length of each dimension.
|
|
33
|
+
rerun::Collection<uint64_t> shape;
|
|
34
|
+
|
|
35
|
+
/// The names of the dimensions of the tensor (optional).
|
|
36
|
+
///
|
|
37
|
+
/// If set, should be the same length as `datatypes::TensorData::shape`.
|
|
38
|
+
/// If it has a different length your names may show up improperly,
|
|
39
|
+
/// and some constructors may produce a warning or even an error.
|
|
40
|
+
///
|
|
41
|
+
/// Example: `["height", "width", "channel", "batch"]`.
|
|
42
|
+
std::optional<rerun::Collection<std::string>> names;
|
|
43
|
+
|
|
44
|
+
/// The content/data.
|
|
45
|
+
rerun::datatypes::TensorBuffer buffer;
|
|
46
|
+
|
|
47
|
+
public: // START of extensions from tensor_data_ext.cpp:
|
|
48
|
+
/// New tensor data from shape and tensor buffer.
|
|
49
|
+
///
|
|
50
|
+
/// \param shape_ Shape of the tensor.
|
|
51
|
+
/// \param buffer_ The tensor buffer containing the tensor's data.
|
|
52
|
+
TensorData(Collection<uint64_t> shape_, datatypes::TensorBuffer buffer_)
|
|
53
|
+
: shape(std::move(shape_)), buffer(std::move(buffer_)) {}
|
|
54
|
+
|
|
55
|
+
/// New tensor data from dimensions and pointer to tensor data.
|
|
56
|
+
///
|
|
57
|
+
/// Type must be one of the types supported by `rerun::datatypes::TensorData`.
|
|
58
|
+
/// \param shape_ Shape of the tensor. Determines the number of elements expected to be in `data`.
|
|
59
|
+
/// \param data Target of the pointer must outlive the archetype.
|
|
60
|
+
template <typename TElement>
|
|
61
|
+
explicit TensorData(Collection<uint64_t> shape_, const TElement* data)
|
|
62
|
+
: shape(std::move(shape_)) {
|
|
63
|
+
size_t num_elements = shape.empty() ? 0 : 1;
|
|
64
|
+
for (const auto& dim : shape) {
|
|
65
|
+
num_elements *= dim;
|
|
66
|
+
}
|
|
67
|
+
buffer = rerun::Collection<TElement>::borrow(data, num_elements);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// END of extensions from tensor_data_ext.cpp, start of generated code:
|
|
71
|
+
|
|
72
|
+
public:
|
|
73
|
+
TensorData() = default;
|
|
74
|
+
};
|
|
75
|
+
} // namespace rerun::datatypes
|
|
76
|
+
|
|
77
|
+
namespace rerun {
|
|
78
|
+
template <typename T>
|
|
79
|
+
struct Loggable;
|
|
80
|
+
|
|
81
|
+
/// \private
|
|
82
|
+
template <>
|
|
83
|
+
struct Loggable<datatypes::TensorData> {
|
|
84
|
+
static constexpr ComponentDescriptor Descriptor = "rerun.datatypes.TensorData";
|
|
85
|
+
|
|
86
|
+
/// Returns the arrow data type this type corresponds to.
|
|
87
|
+
static const std::shared_ptr<arrow::DataType>& arrow_datatype();
|
|
88
|
+
|
|
89
|
+
/// Serializes an array of `rerun::datatypes::TensorData` into an arrow array.
|
|
90
|
+
static Result<std::shared_ptr<arrow::Array>> to_arrow(
|
|
91
|
+
const datatypes::TensorData* instances, size_t num_instances
|
|
92
|
+
);
|
|
93
|
+
|
|
94
|
+
/// Fills an arrow array builder with an array of this type.
|
|
95
|
+
static rerun::Error fill_arrow_array_builder(
|
|
96
|
+
arrow::StructBuilder* builder, const datatypes::TensorData* elements,
|
|
97
|
+
size_t num_elements
|
|
98
|
+
);
|
|
99
|
+
};
|
|
100
|
+
} // namespace rerun
|
|
@@ -0,0 +1,58 @@
|
|
|
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/datatypes/tensor_dimension_selection.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
|
+
class Array;
|
|
14
|
+
class DataType;
|
|
15
|
+
class StructBuilder;
|
|
16
|
+
} // namespace arrow
|
|
17
|
+
|
|
18
|
+
namespace rerun::datatypes {
|
|
19
|
+
/// **Datatype**: Indexing a specific tensor dimension.
|
|
20
|
+
///
|
|
21
|
+
/// Selecting `dimension=2` and `index=42` is similar to doing `tensor[:, :, 42, :, :, …]` in numpy.
|
|
22
|
+
struct TensorDimensionIndexSelection {
|
|
23
|
+
/// The dimension number to select.
|
|
24
|
+
uint32_t dimension;
|
|
25
|
+
|
|
26
|
+
/// The index along the dimension to use.
|
|
27
|
+
uint64_t index;
|
|
28
|
+
|
|
29
|
+
public:
|
|
30
|
+
TensorDimensionIndexSelection() = default;
|
|
31
|
+
};
|
|
32
|
+
} // namespace rerun::datatypes
|
|
33
|
+
|
|
34
|
+
namespace rerun {
|
|
35
|
+
template <typename T>
|
|
36
|
+
struct Loggable;
|
|
37
|
+
|
|
38
|
+
/// \private
|
|
39
|
+
template <>
|
|
40
|
+
struct Loggable<datatypes::TensorDimensionIndexSelection> {
|
|
41
|
+
static constexpr ComponentDescriptor Descriptor =
|
|
42
|
+
"rerun.datatypes.TensorDimensionIndexSelection";
|
|
43
|
+
|
|
44
|
+
/// Returns the arrow data type this type corresponds to.
|
|
45
|
+
static const std::shared_ptr<arrow::DataType>& arrow_datatype();
|
|
46
|
+
|
|
47
|
+
/// Serializes an array of `rerun::datatypes::TensorDimensionIndexSelection` into an arrow array.
|
|
48
|
+
static Result<std::shared_ptr<arrow::Array>> to_arrow(
|
|
49
|
+
const datatypes::TensorDimensionIndexSelection* instances, size_t num_instances
|
|
50
|
+
);
|
|
51
|
+
|
|
52
|
+
/// Fills an arrow array builder with an array of this type.
|
|
53
|
+
static rerun::Error fill_arrow_array_builder(
|
|
54
|
+
arrow::StructBuilder* builder, const datatypes::TensorDimensionIndexSelection* elements,
|
|
55
|
+
size_t num_elements
|
|
56
|
+
);
|
|
57
|
+
};
|
|
58
|
+
} // namespace rerun
|