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,153 @@
|
|
|
1
|
+
// DO NOT EDIT! This file was auto-generated by crates/build/re_types_builder/src/codegen/cpp/mod.rs
|
|
2
|
+
// Based on "crates/store/re_types/definitions/rerun/archetypes/scalars.fbs".
|
|
3
|
+
|
|
4
|
+
#pragma once
|
|
5
|
+
|
|
6
|
+
#include "../collection.hpp"
|
|
7
|
+
#include "../component_batch.hpp"
|
|
8
|
+
#include "../component_column.hpp"
|
|
9
|
+
#include "../components/scalar.hpp"
|
|
10
|
+
#include "../indicator_component.hpp"
|
|
11
|
+
#include "../result.hpp"
|
|
12
|
+
|
|
13
|
+
#include <cstdint>
|
|
14
|
+
#include <optional>
|
|
15
|
+
#include <utility>
|
|
16
|
+
#include <vector>
|
|
17
|
+
|
|
18
|
+
namespace rerun::archetypes {
|
|
19
|
+
/// **Archetype**: One or more double-precision scalar values, e.g. for use for time-series plots.
|
|
20
|
+
///
|
|
21
|
+
/// The current timeline value will be used for the time/X-axis, hence scalars
|
|
22
|
+
/// should not be static.
|
|
23
|
+
/// Number of scalars per timestamp is expected to be the same over time.
|
|
24
|
+
///
|
|
25
|
+
/// When used to produce a plot, this archetype is used to provide the data that
|
|
26
|
+
/// is referenced by `archetypes::SeriesLines` or `archetypes::SeriesPoints`. You can do
|
|
27
|
+
/// this by logging both archetypes to the same path, or alternatively configuring
|
|
28
|
+
/// the plot-specific archetypes through the blueprint.
|
|
29
|
+
///
|
|
30
|
+
/// ## Examples
|
|
31
|
+
///
|
|
32
|
+
/// ### Update a scalar over time
|
|
33
|
+
/// 
|
|
34
|
+
///
|
|
35
|
+
/// ```cpp
|
|
36
|
+
/// #include <cmath>
|
|
37
|
+
///
|
|
38
|
+
/// #include <rerun.hpp>
|
|
39
|
+
///
|
|
40
|
+
/// int main() {
|
|
41
|
+
/// const auto rec = rerun::RecordingStream("rerun_example_scalar_row_updates");
|
|
42
|
+
/// rec.spawn().exit_on_failure();
|
|
43
|
+
///
|
|
44
|
+
/// for (int step = 0; step <64; ++step) {
|
|
45
|
+
/// rec.set_time_sequence("step", step);
|
|
46
|
+
/// rec.log("scalars", rerun::Scalars(sin(static_cast<double>(step) / 10.0)));
|
|
47
|
+
/// }
|
|
48
|
+
/// }
|
|
49
|
+
/// ```
|
|
50
|
+
///
|
|
51
|
+
/// ### Update a scalar over time, in a single operation
|
|
52
|
+
/// 
|
|
53
|
+
///
|
|
54
|
+
/// ```cpp
|
|
55
|
+
/// #include <cmath>
|
|
56
|
+
/// #include <numeric>
|
|
57
|
+
/// #include <vector>
|
|
58
|
+
///
|
|
59
|
+
/// #include <rerun.hpp>
|
|
60
|
+
///
|
|
61
|
+
/// int main() {
|
|
62
|
+
/// const auto rec = rerun::RecordingStream("rerun_example_scalar_column_updates");
|
|
63
|
+
/// rec.spawn().exit_on_failure();
|
|
64
|
+
///
|
|
65
|
+
/// // Native scalars & times.
|
|
66
|
+
/// std::vector<double> scalar_data(64);
|
|
67
|
+
/// for (size_t i = 0; i <64; ++i) {
|
|
68
|
+
/// scalar_data[i] = sin(static_cast<double>(i) / 10.0);
|
|
69
|
+
/// }
|
|
70
|
+
/// std::vector<int64_t> times(64);
|
|
71
|
+
/// std::iota(times.begin(), times.end(), 0);
|
|
72
|
+
///
|
|
73
|
+
/// // Serialize to columns and send.
|
|
74
|
+
/// rec.send_columns(
|
|
75
|
+
/// "scalars",
|
|
76
|
+
/// rerun::TimeColumn::from_sequence("step", std::move(times)),
|
|
77
|
+
/// rerun::Scalars(std::move(scalar_data)).columns()
|
|
78
|
+
/// );
|
|
79
|
+
/// }
|
|
80
|
+
/// ```
|
|
81
|
+
struct Scalars {
|
|
82
|
+
/// The scalar values to log.
|
|
83
|
+
std::optional<ComponentBatch> scalars;
|
|
84
|
+
|
|
85
|
+
public:
|
|
86
|
+
static constexpr const char IndicatorComponentName[] = "rerun.components.ScalarsIndicator";
|
|
87
|
+
|
|
88
|
+
/// Indicator component, used to identify the archetype when converting to a list of components.
|
|
89
|
+
using IndicatorComponent = rerun::components::IndicatorComponent<IndicatorComponentName>;
|
|
90
|
+
/// The name of the archetype as used in `ComponentDescriptor`s.
|
|
91
|
+
static constexpr const char ArchetypeName[] = "rerun.archetypes.Scalars";
|
|
92
|
+
|
|
93
|
+
/// `ComponentDescriptor` for the `scalars` field.
|
|
94
|
+
static constexpr auto Descriptor_scalars = ComponentDescriptor(
|
|
95
|
+
ArchetypeName, "scalars", Loggable<rerun::components::Scalar>::Descriptor.component_name
|
|
96
|
+
);
|
|
97
|
+
|
|
98
|
+
public:
|
|
99
|
+
Scalars() = default;
|
|
100
|
+
Scalars(Scalars&& other) = default;
|
|
101
|
+
Scalars(const Scalars& other) = default;
|
|
102
|
+
Scalars& operator=(const Scalars& other) = default;
|
|
103
|
+
Scalars& operator=(Scalars&& other) = default;
|
|
104
|
+
|
|
105
|
+
explicit Scalars(Collection<rerun::components::Scalar> _scalars)
|
|
106
|
+
: scalars(ComponentBatch::from_loggable(std::move(_scalars), Descriptor_scalars)
|
|
107
|
+
.value_or_throw()) {}
|
|
108
|
+
|
|
109
|
+
/// Update only some specific fields of a `Scalars`.
|
|
110
|
+
static Scalars update_fields() {
|
|
111
|
+
return Scalars();
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/// Clear all the fields of a `Scalars`.
|
|
115
|
+
static Scalars clear_fields();
|
|
116
|
+
|
|
117
|
+
/// The scalar values to log.
|
|
118
|
+
Scalars with_scalars(const Collection<rerun::components::Scalar>& _scalars) && {
|
|
119
|
+
scalars = ComponentBatch::from_loggable(_scalars, Descriptor_scalars).value_or_throw();
|
|
120
|
+
return std::move(*this);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
/// Partitions the component data into multiple sub-batches.
|
|
124
|
+
///
|
|
125
|
+
/// Specifically, this transforms the existing `ComponentBatch` data into `ComponentColumn`s
|
|
126
|
+
/// instead, via `ComponentBatch::partitioned`.
|
|
127
|
+
///
|
|
128
|
+
/// This makes it possible to use `RecordingStream::send_columns` to send columnar data directly into Rerun.
|
|
129
|
+
///
|
|
130
|
+
/// The specified `lengths` must sum to the total length of the component batch.
|
|
131
|
+
Collection<ComponentColumn> columns(const Collection<uint32_t>& lengths_);
|
|
132
|
+
|
|
133
|
+
/// Partitions the component data into unit-length sub-batches.
|
|
134
|
+
///
|
|
135
|
+
/// This is semantically similar to calling `columns` with `std::vector<uint32_t>(n, 1)`,
|
|
136
|
+
/// where `n` is automatically guessed.
|
|
137
|
+
Collection<ComponentColumn> columns();
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
} // namespace rerun::archetypes
|
|
141
|
+
|
|
142
|
+
namespace rerun {
|
|
143
|
+
/// \private
|
|
144
|
+
template <typename T>
|
|
145
|
+
struct AsComponents;
|
|
146
|
+
|
|
147
|
+
/// \private
|
|
148
|
+
template <>
|
|
149
|
+
struct AsComponents<archetypes::Scalars> {
|
|
150
|
+
/// Serialize all set component batches.
|
|
151
|
+
static Result<Collection<ComponentBatch>> as_batches(const archetypes::Scalars& archetype);
|
|
152
|
+
};
|
|
153
|
+
} // namespace rerun
|
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
// DO NOT EDIT! This file was auto-generated by crates/build/re_types_builder/src/codegen/cpp/mod.rs
|
|
2
|
+
// Based on "crates/store/re_types/definitions/rerun/archetypes/segmentation_image.fbs".
|
|
3
|
+
|
|
4
|
+
#pragma once
|
|
5
|
+
|
|
6
|
+
#include "../collection.hpp"
|
|
7
|
+
#include "../component_batch.hpp"
|
|
8
|
+
#include "../component_column.hpp"
|
|
9
|
+
#include "../components/draw_order.hpp"
|
|
10
|
+
#include "../components/image_buffer.hpp"
|
|
11
|
+
#include "../components/image_format.hpp"
|
|
12
|
+
#include "../components/opacity.hpp"
|
|
13
|
+
#include "../image_utils.hpp"
|
|
14
|
+
#include "../indicator_component.hpp"
|
|
15
|
+
#include "../result.hpp"
|
|
16
|
+
|
|
17
|
+
#include <cstdint>
|
|
18
|
+
#include <optional>
|
|
19
|
+
#include <utility>
|
|
20
|
+
#include <vector>
|
|
21
|
+
|
|
22
|
+
namespace rerun::archetypes {
|
|
23
|
+
/// **Archetype**: An image made up of integer `components::ClassId`s.
|
|
24
|
+
///
|
|
25
|
+
/// Each pixel corresponds to a `components::ClassId` that will be mapped to a color based on `archetypes::AnnotationContext`.
|
|
26
|
+
///
|
|
27
|
+
/// In the case of floating point images, the label will be looked up based on rounding to the nearest
|
|
28
|
+
/// integer value.
|
|
29
|
+
///
|
|
30
|
+
/// Use `archetypes::AnnotationContext` to associate each class with a color and a label.
|
|
31
|
+
///
|
|
32
|
+
/// Since the underlying `rerun::datatypes::TensorData` uses `rerun::Collection` internally,
|
|
33
|
+
/// data can be passed in without a copy from raw pointers or by reference from `std::vector`/`std::array`/c-arrays.
|
|
34
|
+
/// If needed, this "borrow-behavior" can be extended by defining your own `rerun::CollectionAdapter`.
|
|
35
|
+
///
|
|
36
|
+
/// ## Example
|
|
37
|
+
///
|
|
38
|
+
/// ### Simple segmentation image
|
|
39
|
+
/// 
|
|
40
|
+
///
|
|
41
|
+
/// ```cpp
|
|
42
|
+
/// #include <rerun.hpp>
|
|
43
|
+
///
|
|
44
|
+
/// #include <algorithm> // std::fill_n
|
|
45
|
+
/// #include <vector>
|
|
46
|
+
///
|
|
47
|
+
/// int main() {
|
|
48
|
+
/// const auto rec = rerun::RecordingStream("rerun_example_segmentation_image");
|
|
49
|
+
/// rec.spawn().exit_on_failure();
|
|
50
|
+
///
|
|
51
|
+
/// // Create a segmentation image
|
|
52
|
+
/// const int HEIGHT = 8;
|
|
53
|
+
/// const int WIDTH = 12;
|
|
54
|
+
/// std::vector<uint8_t> data(WIDTH * HEIGHT, 0);
|
|
55
|
+
/// for (auto y = 0; y <4; ++y) { // top half
|
|
56
|
+
/// std::fill_n(data.begin() + y * WIDTH, 6, static_cast<uint8_t>(1)); // left half
|
|
57
|
+
/// }
|
|
58
|
+
/// for (auto y = 4; y <8; ++y) { // bottom half
|
|
59
|
+
/// std::fill_n(data.begin() + y * WIDTH + 6, 6, static_cast<uint8_t>(2)); // right half
|
|
60
|
+
/// }
|
|
61
|
+
///
|
|
62
|
+
/// // create an annotation context to describe the classes
|
|
63
|
+
/// rec.log_static(
|
|
64
|
+
/// "/",
|
|
65
|
+
/// rerun::AnnotationContext({
|
|
66
|
+
/// rerun::AnnotationInfo(1, "red", rerun::Rgba32(255, 0, 0)),
|
|
67
|
+
/// rerun::AnnotationInfo(2, "green", rerun::Rgba32(0, 255, 0)),
|
|
68
|
+
/// })
|
|
69
|
+
/// );
|
|
70
|
+
///
|
|
71
|
+
/// rec.log("image", rerun::SegmentationImage(data.data(), {WIDTH, HEIGHT}));
|
|
72
|
+
/// }
|
|
73
|
+
/// ```
|
|
74
|
+
struct SegmentationImage {
|
|
75
|
+
/// The raw image data.
|
|
76
|
+
std::optional<ComponentBatch> buffer;
|
|
77
|
+
|
|
78
|
+
/// The format of the image.
|
|
79
|
+
std::optional<ComponentBatch> format;
|
|
80
|
+
|
|
81
|
+
/// Opacity of the image, useful for layering the segmentation image on top of another image.
|
|
82
|
+
///
|
|
83
|
+
/// Defaults to 0.5 if there's any other images in the scene, otherwise 1.0.
|
|
84
|
+
std::optional<ComponentBatch> opacity;
|
|
85
|
+
|
|
86
|
+
/// An optional floating point value that specifies the 2D drawing order.
|
|
87
|
+
///
|
|
88
|
+
/// Objects with higher values are drawn on top of those with lower values.
|
|
89
|
+
/// Defaults to `0.0`.
|
|
90
|
+
std::optional<ComponentBatch> draw_order;
|
|
91
|
+
|
|
92
|
+
public:
|
|
93
|
+
static constexpr const char IndicatorComponentName[] =
|
|
94
|
+
"rerun.components.SegmentationImageIndicator";
|
|
95
|
+
|
|
96
|
+
/// Indicator component, used to identify the archetype when converting to a list of components.
|
|
97
|
+
using IndicatorComponent = rerun::components::IndicatorComponent<IndicatorComponentName>;
|
|
98
|
+
/// The name of the archetype as used in `ComponentDescriptor`s.
|
|
99
|
+
static constexpr const char ArchetypeName[] = "rerun.archetypes.SegmentationImage";
|
|
100
|
+
|
|
101
|
+
/// `ComponentDescriptor` for the `buffer` field.
|
|
102
|
+
static constexpr auto Descriptor_buffer = ComponentDescriptor(
|
|
103
|
+
ArchetypeName, "buffer",
|
|
104
|
+
Loggable<rerun::components::ImageBuffer>::Descriptor.component_name
|
|
105
|
+
);
|
|
106
|
+
/// `ComponentDescriptor` for the `format` field.
|
|
107
|
+
static constexpr auto Descriptor_format = ComponentDescriptor(
|
|
108
|
+
ArchetypeName, "format",
|
|
109
|
+
Loggable<rerun::components::ImageFormat>::Descriptor.component_name
|
|
110
|
+
);
|
|
111
|
+
/// `ComponentDescriptor` for the `opacity` field.
|
|
112
|
+
static constexpr auto Descriptor_opacity = ComponentDescriptor(
|
|
113
|
+
ArchetypeName, "opacity",
|
|
114
|
+
Loggable<rerun::components::Opacity>::Descriptor.component_name
|
|
115
|
+
);
|
|
116
|
+
/// `ComponentDescriptor` for the `draw_order` field.
|
|
117
|
+
static constexpr auto Descriptor_draw_order = ComponentDescriptor(
|
|
118
|
+
ArchetypeName, "draw_order",
|
|
119
|
+
Loggable<rerun::components::DrawOrder>::Descriptor.component_name
|
|
120
|
+
);
|
|
121
|
+
|
|
122
|
+
public: // START of extensions from segmentation_image_ext.cpp:
|
|
123
|
+
/// Constructs image from pointer + resolution, inferring the datatype from the pointer type.
|
|
124
|
+
///
|
|
125
|
+
/// @param pixels The raw image data.
|
|
126
|
+
/// ⚠️ Does not take ownership of the data, the caller must ensure the data outlives the image.
|
|
127
|
+
/// The number of elements is assumed to be `W * H`.
|
|
128
|
+
/// @param resolution The resolution of the image as {width, height}.
|
|
129
|
+
template <typename TElement>
|
|
130
|
+
SegmentationImage(const TElement* pixels, WidthHeight resolution)
|
|
131
|
+
: SegmentationImage{
|
|
132
|
+
reinterpret_cast<const uint8_t*>(pixels), resolution, get_datatype(pixels)} {}
|
|
133
|
+
|
|
134
|
+
/// Constructs image from pixel data + resolution with datatype inferred from the passed collection.
|
|
135
|
+
///
|
|
136
|
+
/// @param pixels The raw image data.
|
|
137
|
+
/// If the data does not outlive the image, use `std::move` or create the `rerun::Collection`
|
|
138
|
+
/// explicitly ahead of time with `rerun::Collection::take_ownership`.
|
|
139
|
+
/// The length of the data should be `W * H`.
|
|
140
|
+
/// @param resolution The resolution of the image as {width, height}.
|
|
141
|
+
template <typename TElement>
|
|
142
|
+
SegmentationImage(Collection<TElement> pixels, WidthHeight resolution)
|
|
143
|
+
: SegmentationImage{pixels.to_uint8(), resolution, get_datatype(pixels.data())} {}
|
|
144
|
+
|
|
145
|
+
/// Constructs image from pixel data + resolution with explicit datatype. Borrows data from a pointer (i.e. data must outlive the image!).
|
|
146
|
+
///
|
|
147
|
+
/// @param bytes The raw image data.
|
|
148
|
+
/// ⚠️ Does not take ownership of the data, the caller must ensure the data outlives the image.
|
|
149
|
+
/// The byte size of the data is assumed to be `W * H * datatype.size`
|
|
150
|
+
/// @param resolution The resolution of the image as {width, height}.
|
|
151
|
+
/// @param datatype How the data should be interpreted.
|
|
152
|
+
SegmentationImage(
|
|
153
|
+
const void* bytes, WidthHeight resolution, datatypes::ChannelDatatype datatype
|
|
154
|
+
)
|
|
155
|
+
: SegmentationImage{
|
|
156
|
+
Collection<uint8_t>::borrow(bytes, num_bytes(resolution, datatype)),
|
|
157
|
+
resolution,
|
|
158
|
+
datatype} {}
|
|
159
|
+
|
|
160
|
+
/// Constructs image from pixel data + resolution + datatype.
|
|
161
|
+
///
|
|
162
|
+
/// @param bytes The raw image data as bytes.
|
|
163
|
+
/// If the data does not outlive the image, use `std::move` or create the `rerun::Collection`
|
|
164
|
+
/// explicitly ahead of time with `rerun::Collection::take_ownership`.
|
|
165
|
+
/// The length of the data should be `W * H`.
|
|
166
|
+
/// @param resolution The resolution of the image as {width, height}.
|
|
167
|
+
/// @param datatype How the data should be interpreted.
|
|
168
|
+
SegmentationImage(
|
|
169
|
+
Collection<uint8_t> bytes, WidthHeight resolution, datatypes::ChannelDatatype datatype
|
|
170
|
+
) {
|
|
171
|
+
auto image_format = datatypes::ImageFormat{resolution, datatype};
|
|
172
|
+
if (bytes.size() != image_format.num_bytes()) {
|
|
173
|
+
Error(
|
|
174
|
+
ErrorCode::InvalidTensorDimension,
|
|
175
|
+
"SegmentationImage buffer has the wrong size. Got " +
|
|
176
|
+
std::to_string(bytes.size()) + " bytes, expected " +
|
|
177
|
+
std::to_string(image_format.num_bytes())
|
|
178
|
+
)
|
|
179
|
+
.handle();
|
|
180
|
+
}
|
|
181
|
+
*this = std::move(*this).with_buffer(bytes).with_format(image_format);
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
// END of extensions from segmentation_image_ext.cpp, start of generated code:
|
|
185
|
+
|
|
186
|
+
public:
|
|
187
|
+
SegmentationImage() = default;
|
|
188
|
+
SegmentationImage(SegmentationImage&& other) = default;
|
|
189
|
+
SegmentationImage(const SegmentationImage& other) = default;
|
|
190
|
+
SegmentationImage& operator=(const SegmentationImage& other) = default;
|
|
191
|
+
SegmentationImage& operator=(SegmentationImage&& other) = default;
|
|
192
|
+
|
|
193
|
+
/// Update only some specific fields of a `SegmentationImage`.
|
|
194
|
+
static SegmentationImage update_fields() {
|
|
195
|
+
return SegmentationImage();
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
/// Clear all the fields of a `SegmentationImage`.
|
|
199
|
+
static SegmentationImage clear_fields();
|
|
200
|
+
|
|
201
|
+
/// The raw image data.
|
|
202
|
+
SegmentationImage with_buffer(const rerun::components::ImageBuffer& _buffer) && {
|
|
203
|
+
buffer = ComponentBatch::from_loggable(_buffer, Descriptor_buffer).value_or_throw();
|
|
204
|
+
return std::move(*this);
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
/// This method makes it possible to pack multiple `buffer` in a single component batch.
|
|
208
|
+
///
|
|
209
|
+
/// This only makes sense when used in conjunction with `columns`. `with_buffer` should
|
|
210
|
+
/// be used when logging a single row's worth of data.
|
|
211
|
+
SegmentationImage with_many_buffer(const Collection<rerun::components::ImageBuffer>& _buffer
|
|
212
|
+
) && {
|
|
213
|
+
buffer = ComponentBatch::from_loggable(_buffer, Descriptor_buffer).value_or_throw();
|
|
214
|
+
return std::move(*this);
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
/// The format of the image.
|
|
218
|
+
SegmentationImage with_format(const rerun::components::ImageFormat& _format) && {
|
|
219
|
+
format = ComponentBatch::from_loggable(_format, Descriptor_format).value_or_throw();
|
|
220
|
+
return std::move(*this);
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
/// This method makes it possible to pack multiple `format` in a single component batch.
|
|
224
|
+
///
|
|
225
|
+
/// This only makes sense when used in conjunction with `columns`. `with_format` should
|
|
226
|
+
/// be used when logging a single row's worth of data.
|
|
227
|
+
SegmentationImage with_many_format(const Collection<rerun::components::ImageFormat>& _format
|
|
228
|
+
) && {
|
|
229
|
+
format = ComponentBatch::from_loggable(_format, Descriptor_format).value_or_throw();
|
|
230
|
+
return std::move(*this);
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
/// Opacity of the image, useful for layering the segmentation image on top of another image.
|
|
234
|
+
///
|
|
235
|
+
/// Defaults to 0.5 if there's any other images in the scene, otherwise 1.0.
|
|
236
|
+
SegmentationImage with_opacity(const rerun::components::Opacity& _opacity) && {
|
|
237
|
+
opacity = ComponentBatch::from_loggable(_opacity, Descriptor_opacity).value_or_throw();
|
|
238
|
+
return std::move(*this);
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
/// This method makes it possible to pack multiple `opacity` in a single component batch.
|
|
242
|
+
///
|
|
243
|
+
/// This only makes sense when used in conjunction with `columns`. `with_opacity` should
|
|
244
|
+
/// be used when logging a single row's worth of data.
|
|
245
|
+
SegmentationImage with_many_opacity(const Collection<rerun::components::Opacity>& _opacity
|
|
246
|
+
) && {
|
|
247
|
+
opacity = ComponentBatch::from_loggable(_opacity, Descriptor_opacity).value_or_throw();
|
|
248
|
+
return std::move(*this);
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
/// An optional floating point value that specifies the 2D drawing order.
|
|
252
|
+
///
|
|
253
|
+
/// Objects with higher values are drawn on top of those with lower values.
|
|
254
|
+
/// Defaults to `0.0`.
|
|
255
|
+
SegmentationImage with_draw_order(const rerun::components::DrawOrder& _draw_order) && {
|
|
256
|
+
draw_order =
|
|
257
|
+
ComponentBatch::from_loggable(_draw_order, Descriptor_draw_order).value_or_throw();
|
|
258
|
+
return std::move(*this);
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
/// This method makes it possible to pack multiple `draw_order` in a single component batch.
|
|
262
|
+
///
|
|
263
|
+
/// This only makes sense when used in conjunction with `columns`. `with_draw_order` should
|
|
264
|
+
/// be used when logging a single row's worth of data.
|
|
265
|
+
SegmentationImage with_many_draw_order(
|
|
266
|
+
const Collection<rerun::components::DrawOrder>& _draw_order
|
|
267
|
+
) && {
|
|
268
|
+
draw_order =
|
|
269
|
+
ComponentBatch::from_loggable(_draw_order, Descriptor_draw_order).value_or_throw();
|
|
270
|
+
return std::move(*this);
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
/// Partitions the component data into multiple sub-batches.
|
|
274
|
+
///
|
|
275
|
+
/// Specifically, this transforms the existing `ComponentBatch` data into `ComponentColumn`s
|
|
276
|
+
/// instead, via `ComponentBatch::partitioned`.
|
|
277
|
+
///
|
|
278
|
+
/// This makes it possible to use `RecordingStream::send_columns` to send columnar data directly into Rerun.
|
|
279
|
+
///
|
|
280
|
+
/// The specified `lengths` must sum to the total length of the component batch.
|
|
281
|
+
Collection<ComponentColumn> columns(const Collection<uint32_t>& lengths_);
|
|
282
|
+
|
|
283
|
+
/// Partitions the component data into unit-length sub-batches.
|
|
284
|
+
///
|
|
285
|
+
/// This is semantically similar to calling `columns` with `std::vector<uint32_t>(n, 1)`,
|
|
286
|
+
/// where `n` is automatically guessed.
|
|
287
|
+
Collection<ComponentColumn> columns();
|
|
288
|
+
};
|
|
289
|
+
|
|
290
|
+
} // namespace rerun::archetypes
|
|
291
|
+
|
|
292
|
+
namespace rerun {
|
|
293
|
+
/// \private
|
|
294
|
+
template <typename T>
|
|
295
|
+
struct AsComponents;
|
|
296
|
+
|
|
297
|
+
/// \private
|
|
298
|
+
template <>
|
|
299
|
+
struct AsComponents<archetypes::SegmentationImage> {
|
|
300
|
+
/// Serialize all set component batches.
|
|
301
|
+
static Result<Collection<ComponentBatch>> as_batches(
|
|
302
|
+
const archetypes::SegmentationImage& archetype
|
|
303
|
+
);
|
|
304
|
+
};
|
|
305
|
+
} // namespace rerun
|