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,109 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <momentum/solver/fwd.h>
|
|
11
|
+
#include <momentum/solver/solver.h>
|
|
12
|
+
|
|
13
|
+
namespace momentum {
|
|
14
|
+
|
|
15
|
+
/// Extended options for the Subset Gauss-Newton optimization algorithm
|
|
16
|
+
///
|
|
17
|
+
/// Provides configuration specific to the subset-based Gauss-Newton solver
|
|
18
|
+
/// that optimizes only a selected subset of parameters
|
|
19
|
+
struct SubsetGaussNewtonSolverOptions : SolverOptions {
|
|
20
|
+
/// Damping parameter added to Hessian diagonal for numerical stability; see
|
|
21
|
+
/// https://en.wikipedia.org/wiki/Levenberg%E2%80%93Marquardt_algorithm
|
|
22
|
+
///
|
|
23
|
+
/// Higher values improve stability but may slow convergence
|
|
24
|
+
float regularization = 0.05f;
|
|
25
|
+
|
|
26
|
+
/// Enables backtracking line search to ensure error reduction at each step
|
|
27
|
+
bool doLineSearch = false;
|
|
28
|
+
|
|
29
|
+
/// Default constructor
|
|
30
|
+
SubsetGaussNewtonSolverOptions() = default;
|
|
31
|
+
|
|
32
|
+
/// Construct from base solver options while preserving Subset Gauss-Newton defaults
|
|
33
|
+
/* implicit */ SubsetGaussNewtonSolverOptions(const SolverOptions& baseOptions)
|
|
34
|
+
: SolverOptions(baseOptions) {}
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
/// Gauss-Newton solver that optimizes only a selected subset of parameters
|
|
38
|
+
///
|
|
39
|
+
/// This specialized solver efficiently handles cases where only some parameters
|
|
40
|
+
/// need to be optimized while others remain fixed. It remaps the active parameters
|
|
41
|
+
/// to a smaller optimization problem, reducing computational cost.
|
|
42
|
+
template <typename T>
|
|
43
|
+
class SubsetGaussNewtonSolverT : public SolverT<T> {
|
|
44
|
+
public:
|
|
45
|
+
/// Creates a solver with the specified options and function to optimize
|
|
46
|
+
SubsetGaussNewtonSolverT(const SolverOptions& options, SolverFunctionT<T>* solver);
|
|
47
|
+
|
|
48
|
+
/// Returns "SubsetGaussNewton" as the solver name
|
|
49
|
+
[[nodiscard]] std::string_view getName() const override;
|
|
50
|
+
|
|
51
|
+
/// Updates solver configuration, handling both base and Subset Gauss-Newton specific options
|
|
52
|
+
void setOptions(const SolverOptions& options) final;
|
|
53
|
+
|
|
54
|
+
/// Specifies which parameters should be optimized
|
|
55
|
+
///
|
|
56
|
+
/// Updates the internal mapping between full parameter space and optimization subset
|
|
57
|
+
void setEnabledParameters(const ParameterSet& parameters) final;
|
|
58
|
+
|
|
59
|
+
protected:
|
|
60
|
+
/// Performs one iteration of the Subset Gauss-Newton algorithm
|
|
61
|
+
///
|
|
62
|
+
/// Computes the Jacobian, forms a reduced optimization problem for the enabled parameters,
|
|
63
|
+
/// solves it, and updates the full parameter vector
|
|
64
|
+
void doIteration() final;
|
|
65
|
+
|
|
66
|
+
/// Initializes solver state before optimization begins
|
|
67
|
+
void initializeSolver() final;
|
|
68
|
+
|
|
69
|
+
private:
|
|
70
|
+
/// Whether the solver has been initialized
|
|
71
|
+
bool initialized_{};
|
|
72
|
+
|
|
73
|
+
/// Jacobian matrix for the full parameter space
|
|
74
|
+
Eigen::MatrixX<T> jacobian_;
|
|
75
|
+
|
|
76
|
+
/// Residual vector
|
|
77
|
+
Eigen::VectorX<T> residual_;
|
|
78
|
+
|
|
79
|
+
/// Hessian approximation (JᵀJ) for the subset of enabled parameters
|
|
80
|
+
Eigen::MatrixX<T> subsetHessian_;
|
|
81
|
+
|
|
82
|
+
/// Gradient vector (JᵀR) for the subset of enabled parameters
|
|
83
|
+
Eigen::VectorX<T> subsetGradient_;
|
|
84
|
+
|
|
85
|
+
/// Cholesky factorization solver for the subset problem
|
|
86
|
+
Eigen::LLT<Eigen::MatrixX<T>> llt_;
|
|
87
|
+
|
|
88
|
+
/// Regularization parameter for numerical stability
|
|
89
|
+
float regularization_;
|
|
90
|
+
|
|
91
|
+
/// Whether to perform line search during parameter updates
|
|
92
|
+
bool doLineSearch_;
|
|
93
|
+
|
|
94
|
+
/// Step direction in the full parameter space
|
|
95
|
+
Eigen::VectorX<T> delta_;
|
|
96
|
+
|
|
97
|
+
/// Step direction in the reduced parameter space
|
|
98
|
+
Eigen::VectorX<T> subsetDelta_;
|
|
99
|
+
|
|
100
|
+
/// Mapping from subset parameter indices to full parameter indices
|
|
101
|
+
std::vector<int> enabledParameters_;
|
|
102
|
+
|
|
103
|
+
/// Updates the mapping between full and subset parameter spaces
|
|
104
|
+
///
|
|
105
|
+
/// Called when the set of enabled parameters changes
|
|
106
|
+
void updateEnabledParameters();
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
} // namespace momentum
|
|
@@ -0,0 +1,157 @@
|
|
|
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/annotation_context.fbs".
|
|
3
|
+
|
|
4
|
+
#pragma once
|
|
5
|
+
|
|
6
|
+
#include "../collection.hpp"
|
|
7
|
+
#include "../component_batch.hpp"
|
|
8
|
+
#include "../component_column.hpp"
|
|
9
|
+
#include "../components/annotation_context.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**: The annotation context provides additional information on how to display entities.
|
|
20
|
+
///
|
|
21
|
+
/// Entities can use `components::ClassId`s and `components::KeypointId`s to provide annotations, and
|
|
22
|
+
/// the labels and colors will be looked up in the appropriate
|
|
23
|
+
/// annotation context. We use the *first* annotation context we find in the
|
|
24
|
+
/// path-hierarchy when searching up through the ancestors of a given entity
|
|
25
|
+
/// path.
|
|
26
|
+
///
|
|
27
|
+
/// See also `datatypes::ClassDescription`.
|
|
28
|
+
///
|
|
29
|
+
/// ## Example
|
|
30
|
+
///
|
|
31
|
+
/// ### Segmentation
|
|
32
|
+
/// 
|
|
33
|
+
///
|
|
34
|
+
/// ```cpp
|
|
35
|
+
/// #include <rerun.hpp>
|
|
36
|
+
///
|
|
37
|
+
/// #include <algorithm> // fill_n
|
|
38
|
+
/// #include <vector>
|
|
39
|
+
///
|
|
40
|
+
/// int main() {
|
|
41
|
+
/// const auto rec = rerun::RecordingStream("rerun_example_annotation_context_segmentation");
|
|
42
|
+
/// rec.spawn().exit_on_failure();
|
|
43
|
+
///
|
|
44
|
+
/// // create an annotation context to describe the classes
|
|
45
|
+
/// rec.log_static(
|
|
46
|
+
/// "segmentation",
|
|
47
|
+
/// rerun::AnnotationContext({
|
|
48
|
+
/// rerun::AnnotationInfo(1, "red", rerun::Rgba32(255, 0, 0)),
|
|
49
|
+
/// rerun::AnnotationInfo(2, "green", rerun::Rgba32(0, 255, 0)),
|
|
50
|
+
/// })
|
|
51
|
+
/// );
|
|
52
|
+
///
|
|
53
|
+
/// // create a segmentation image
|
|
54
|
+
/// const int HEIGHT = 200;
|
|
55
|
+
/// const int WIDTH = 300;
|
|
56
|
+
/// std::vector<uint8_t> data(WIDTH * HEIGHT, 0);
|
|
57
|
+
/// for (auto y = 50; y <100; ++y) {
|
|
58
|
+
/// std::fill_n(data.begin() + y * WIDTH + 50, 70, static_cast<uint8_t>(1));
|
|
59
|
+
/// }
|
|
60
|
+
/// for (auto y = 100; y <180; ++y) {
|
|
61
|
+
/// std::fill_n(data.begin() + y * WIDTH + 130, 150, static_cast<uint8_t>(2));
|
|
62
|
+
/// }
|
|
63
|
+
///
|
|
64
|
+
/// rec.log("segmentation/image", rerun::SegmentationImage(data.data(), {WIDTH, HEIGHT}));
|
|
65
|
+
/// }
|
|
66
|
+
/// ```
|
|
67
|
+
///
|
|
68
|
+
/// ⚠ **This type is _unstable_ and may change significantly in a way that the data won't be backwards compatible.**
|
|
69
|
+
///
|
|
70
|
+
struct AnnotationContext {
|
|
71
|
+
/// List of class descriptions, mapping class indices to class names, colors etc.
|
|
72
|
+
std::optional<ComponentBatch> context;
|
|
73
|
+
|
|
74
|
+
public:
|
|
75
|
+
static constexpr const char IndicatorComponentName[] =
|
|
76
|
+
"rerun.components.AnnotationContextIndicator";
|
|
77
|
+
|
|
78
|
+
/// Indicator component, used to identify the archetype when converting to a list of components.
|
|
79
|
+
using IndicatorComponent = rerun::components::IndicatorComponent<IndicatorComponentName>;
|
|
80
|
+
/// The name of the archetype as used in `ComponentDescriptor`s.
|
|
81
|
+
static constexpr const char ArchetypeName[] = "rerun.archetypes.AnnotationContext";
|
|
82
|
+
|
|
83
|
+
/// `ComponentDescriptor` for the `context` field.
|
|
84
|
+
static constexpr auto Descriptor_context = ComponentDescriptor(
|
|
85
|
+
ArchetypeName, "context",
|
|
86
|
+
Loggable<rerun::components::AnnotationContext>::Descriptor.component_name
|
|
87
|
+
);
|
|
88
|
+
|
|
89
|
+
public:
|
|
90
|
+
AnnotationContext() = default;
|
|
91
|
+
AnnotationContext(AnnotationContext&& other) = default;
|
|
92
|
+
AnnotationContext(const AnnotationContext& other) = default;
|
|
93
|
+
AnnotationContext& operator=(const AnnotationContext& other) = default;
|
|
94
|
+
AnnotationContext& operator=(AnnotationContext&& other) = default;
|
|
95
|
+
|
|
96
|
+
explicit AnnotationContext(rerun::components::AnnotationContext _context)
|
|
97
|
+
: context(ComponentBatch::from_loggable(std::move(_context), Descriptor_context)
|
|
98
|
+
.value_or_throw()) {}
|
|
99
|
+
|
|
100
|
+
/// Update only some specific fields of a `AnnotationContext`.
|
|
101
|
+
static AnnotationContext update_fields() {
|
|
102
|
+
return AnnotationContext();
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/// Clear all the fields of a `AnnotationContext`.
|
|
106
|
+
static AnnotationContext clear_fields();
|
|
107
|
+
|
|
108
|
+
/// List of class descriptions, mapping class indices to class names, colors etc.
|
|
109
|
+
AnnotationContext with_context(const rerun::components::AnnotationContext& _context) && {
|
|
110
|
+
context = ComponentBatch::from_loggable(_context, Descriptor_context).value_or_throw();
|
|
111
|
+
return std::move(*this);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/// This method makes it possible to pack multiple `context` in a single component batch.
|
|
115
|
+
///
|
|
116
|
+
/// This only makes sense when used in conjunction with `columns`. `with_context` should
|
|
117
|
+
/// be used when logging a single row's worth of data.
|
|
118
|
+
AnnotationContext with_many_context(
|
|
119
|
+
const Collection<rerun::components::AnnotationContext>& _context
|
|
120
|
+
) && {
|
|
121
|
+
context = ComponentBatch::from_loggable(_context, Descriptor_context).value_or_throw();
|
|
122
|
+
return std::move(*this);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/// Partitions the component data into multiple sub-batches.
|
|
126
|
+
///
|
|
127
|
+
/// Specifically, this transforms the existing `ComponentBatch` data into `ComponentColumn`s
|
|
128
|
+
/// instead, via `ComponentBatch::partitioned`.
|
|
129
|
+
///
|
|
130
|
+
/// This makes it possible to use `RecordingStream::send_columns` to send columnar data directly into Rerun.
|
|
131
|
+
///
|
|
132
|
+
/// The specified `lengths` must sum to the total length of the component batch.
|
|
133
|
+
Collection<ComponentColumn> columns(const Collection<uint32_t>& lengths_);
|
|
134
|
+
|
|
135
|
+
/// Partitions the component data into unit-length sub-batches.
|
|
136
|
+
///
|
|
137
|
+
/// This is semantically similar to calling `columns` with `std::vector<uint32_t>(n, 1)`,
|
|
138
|
+
/// where `n` is automatically guessed.
|
|
139
|
+
Collection<ComponentColumn> columns();
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
} // namespace rerun::archetypes
|
|
143
|
+
|
|
144
|
+
namespace rerun {
|
|
145
|
+
/// \private
|
|
146
|
+
template <typename T>
|
|
147
|
+
struct AsComponents;
|
|
148
|
+
|
|
149
|
+
/// \private
|
|
150
|
+
template <>
|
|
151
|
+
struct AsComponents<archetypes::AnnotationContext> {
|
|
152
|
+
/// Serialize all set component batches.
|
|
153
|
+
static Result<Collection<ComponentBatch>> as_batches(
|
|
154
|
+
const archetypes::AnnotationContext& archetype
|
|
155
|
+
);
|
|
156
|
+
};
|
|
157
|
+
} // namespace rerun
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
// DO NOT EDIT! This file was auto-generated by crates/build/re_types_builder/src/codegen/cpp/mod.rs
|
|
2
|
+
// Based on "crates/store/re_types/definitions/rerun/archetypes/arrows2d.fbs".
|
|
3
|
+
|
|
4
|
+
#pragma once
|
|
5
|
+
|
|
6
|
+
#include "../collection.hpp"
|
|
7
|
+
#include "../component_batch.hpp"
|
|
8
|
+
#include "../component_column.hpp"
|
|
9
|
+
#include "../components/class_id.hpp"
|
|
10
|
+
#include "../components/color.hpp"
|
|
11
|
+
#include "../components/draw_order.hpp"
|
|
12
|
+
#include "../components/position2d.hpp"
|
|
13
|
+
#include "../components/radius.hpp"
|
|
14
|
+
#include "../components/show_labels.hpp"
|
|
15
|
+
#include "../components/text.hpp"
|
|
16
|
+
#include "../components/vector2d.hpp"
|
|
17
|
+
#include "../indicator_component.hpp"
|
|
18
|
+
#include "../result.hpp"
|
|
19
|
+
|
|
20
|
+
#include <cstdint>
|
|
21
|
+
#include <optional>
|
|
22
|
+
#include <utility>
|
|
23
|
+
#include <vector>
|
|
24
|
+
|
|
25
|
+
namespace rerun::archetypes {
|
|
26
|
+
/// **Archetype**: 2D arrows with optional colors, radii, labels, etc.
|
|
27
|
+
///
|
|
28
|
+
/// ## Example
|
|
29
|
+
///
|
|
30
|
+
/// ### Simple batch of 2D arrows
|
|
31
|
+
/// 
|
|
32
|
+
///
|
|
33
|
+
/// ```cpp
|
|
34
|
+
/// #include <rerun.hpp>
|
|
35
|
+
///
|
|
36
|
+
/// int main() {
|
|
37
|
+
/// const auto rec = rerun::RecordingStream("rerun_example_arrow2d");
|
|
38
|
+
/// rec.spawn().exit_on_failure();
|
|
39
|
+
///
|
|
40
|
+
/// rec.log(
|
|
41
|
+
/// "arrows",
|
|
42
|
+
/// rerun::Arrows2D::from_vectors({{1.0f, 0.0f}, {0.0f, -1.0f}, {-0.7f, 0.7f}})
|
|
43
|
+
/// .with_radii(0.025f)
|
|
44
|
+
/// .with_origins({{0.25f, 0.0f}, {0.25f, 0.0f}, {-0.1f, -0.1f}})
|
|
45
|
+
/// .with_colors({{255, 0, 0}, {0, 255, 0}, {127, 0, 255}})
|
|
46
|
+
/// .with_labels({"right", "up", "left-down"})
|
|
47
|
+
/// );
|
|
48
|
+
/// }
|
|
49
|
+
/// ```
|
|
50
|
+
struct Arrows2D {
|
|
51
|
+
/// All the vectors for each arrow in the batch.
|
|
52
|
+
std::optional<ComponentBatch> vectors;
|
|
53
|
+
|
|
54
|
+
/// All the origin (base) positions for each arrow in the batch.
|
|
55
|
+
///
|
|
56
|
+
/// If no origins are set, (0, 0) is used as the origin for each arrow.
|
|
57
|
+
std::optional<ComponentBatch> origins;
|
|
58
|
+
|
|
59
|
+
/// Optional radii for the arrows.
|
|
60
|
+
///
|
|
61
|
+
/// The shaft is rendered as a line with `radius = 0.5 * radius`.
|
|
62
|
+
/// The tip is rendered with `height = 2.0 * radius` and `radius = 1.0 * radius`.
|
|
63
|
+
std::optional<ComponentBatch> radii;
|
|
64
|
+
|
|
65
|
+
/// Optional colors for the points.
|
|
66
|
+
std::optional<ComponentBatch> colors;
|
|
67
|
+
|
|
68
|
+
/// Optional text labels for the arrows.
|
|
69
|
+
///
|
|
70
|
+
/// If there's a single label present, it will be placed at the center of the entity.
|
|
71
|
+
/// Otherwise, each instance will have its own label.
|
|
72
|
+
std::optional<ComponentBatch> labels;
|
|
73
|
+
|
|
74
|
+
/// Optional choice of whether the text labels should be shown by default.
|
|
75
|
+
std::optional<ComponentBatch> show_labels;
|
|
76
|
+
|
|
77
|
+
/// An optional floating point value that specifies the 2D drawing order.
|
|
78
|
+
///
|
|
79
|
+
/// Objects with higher values are drawn on top of those with lower values.
|
|
80
|
+
std::optional<ComponentBatch> draw_order;
|
|
81
|
+
|
|
82
|
+
/// Optional class Ids for the points.
|
|
83
|
+
///
|
|
84
|
+
/// The `components::ClassId` provides colors and labels if not specified explicitly.
|
|
85
|
+
std::optional<ComponentBatch> class_ids;
|
|
86
|
+
|
|
87
|
+
public:
|
|
88
|
+
static constexpr const char IndicatorComponentName[] = "rerun.components.Arrows2DIndicator";
|
|
89
|
+
|
|
90
|
+
/// Indicator component, used to identify the archetype when converting to a list of components.
|
|
91
|
+
using IndicatorComponent = rerun::components::IndicatorComponent<IndicatorComponentName>;
|
|
92
|
+
/// The name of the archetype as used in `ComponentDescriptor`s.
|
|
93
|
+
static constexpr const char ArchetypeName[] = "rerun.archetypes.Arrows2D";
|
|
94
|
+
|
|
95
|
+
/// `ComponentDescriptor` for the `vectors` field.
|
|
96
|
+
static constexpr auto Descriptor_vectors = ComponentDescriptor(
|
|
97
|
+
ArchetypeName, "vectors",
|
|
98
|
+
Loggable<rerun::components::Vector2D>::Descriptor.component_name
|
|
99
|
+
);
|
|
100
|
+
/// `ComponentDescriptor` for the `origins` field.
|
|
101
|
+
static constexpr auto Descriptor_origins = ComponentDescriptor(
|
|
102
|
+
ArchetypeName, "origins",
|
|
103
|
+
Loggable<rerun::components::Position2D>::Descriptor.component_name
|
|
104
|
+
);
|
|
105
|
+
/// `ComponentDescriptor` for the `radii` field.
|
|
106
|
+
static constexpr auto Descriptor_radii = ComponentDescriptor(
|
|
107
|
+
ArchetypeName, "radii", Loggable<rerun::components::Radius>::Descriptor.component_name
|
|
108
|
+
);
|
|
109
|
+
/// `ComponentDescriptor` for the `colors` field.
|
|
110
|
+
static constexpr auto Descriptor_colors = ComponentDescriptor(
|
|
111
|
+
ArchetypeName, "colors", Loggable<rerun::components::Color>::Descriptor.component_name
|
|
112
|
+
);
|
|
113
|
+
/// `ComponentDescriptor` for the `labels` field.
|
|
114
|
+
static constexpr auto Descriptor_labels = ComponentDescriptor(
|
|
115
|
+
ArchetypeName, "labels", Loggable<rerun::components::Text>::Descriptor.component_name
|
|
116
|
+
);
|
|
117
|
+
/// `ComponentDescriptor` for the `show_labels` field.
|
|
118
|
+
static constexpr auto Descriptor_show_labels = ComponentDescriptor(
|
|
119
|
+
ArchetypeName, "show_labels",
|
|
120
|
+
Loggable<rerun::components::ShowLabels>::Descriptor.component_name
|
|
121
|
+
);
|
|
122
|
+
/// `ComponentDescriptor` for the `draw_order` field.
|
|
123
|
+
static constexpr auto Descriptor_draw_order = ComponentDescriptor(
|
|
124
|
+
ArchetypeName, "draw_order",
|
|
125
|
+
Loggable<rerun::components::DrawOrder>::Descriptor.component_name
|
|
126
|
+
);
|
|
127
|
+
/// `ComponentDescriptor` for the `class_ids` field.
|
|
128
|
+
static constexpr auto Descriptor_class_ids = ComponentDescriptor(
|
|
129
|
+
ArchetypeName, "class_ids",
|
|
130
|
+
Loggable<rerun::components::ClassId>::Descriptor.component_name
|
|
131
|
+
);
|
|
132
|
+
|
|
133
|
+
public: // START of extensions from arrows2d_ext.cpp:
|
|
134
|
+
/// Creates new 2D arrows pointing in the given directions, with a base at the origin (0, 0).
|
|
135
|
+
static Arrows2D from_vectors(Collection<components::Vector2D> vectors_) {
|
|
136
|
+
return Arrows2D().with_vectors(vectors_);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
// END of extensions from arrows2d_ext.cpp, start of generated code:
|
|
140
|
+
|
|
141
|
+
public:
|
|
142
|
+
Arrows2D() = default;
|
|
143
|
+
Arrows2D(Arrows2D&& other) = default;
|
|
144
|
+
Arrows2D(const Arrows2D& other) = default;
|
|
145
|
+
Arrows2D& operator=(const Arrows2D& other) = default;
|
|
146
|
+
Arrows2D& operator=(Arrows2D&& other) = default;
|
|
147
|
+
|
|
148
|
+
/// Update only some specific fields of a `Arrows2D`.
|
|
149
|
+
static Arrows2D update_fields() {
|
|
150
|
+
return Arrows2D();
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/// Clear all the fields of a `Arrows2D`.
|
|
154
|
+
static Arrows2D clear_fields();
|
|
155
|
+
|
|
156
|
+
/// All the vectors for each arrow in the batch.
|
|
157
|
+
Arrows2D with_vectors(const Collection<rerun::components::Vector2D>& _vectors) && {
|
|
158
|
+
vectors = ComponentBatch::from_loggable(_vectors, Descriptor_vectors).value_or_throw();
|
|
159
|
+
return std::move(*this);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
/// All the origin (base) positions for each arrow in the batch.
|
|
163
|
+
///
|
|
164
|
+
/// If no origins are set, (0, 0) is used as the origin for each arrow.
|
|
165
|
+
Arrows2D with_origins(const Collection<rerun::components::Position2D>& _origins) && {
|
|
166
|
+
origins = ComponentBatch::from_loggable(_origins, Descriptor_origins).value_or_throw();
|
|
167
|
+
return std::move(*this);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
/// Optional radii for the arrows.
|
|
171
|
+
///
|
|
172
|
+
/// The shaft is rendered as a line with `radius = 0.5 * radius`.
|
|
173
|
+
/// The tip is rendered with `height = 2.0 * radius` and `radius = 1.0 * radius`.
|
|
174
|
+
Arrows2D with_radii(const Collection<rerun::components::Radius>& _radii) && {
|
|
175
|
+
radii = ComponentBatch::from_loggable(_radii, Descriptor_radii).value_or_throw();
|
|
176
|
+
return std::move(*this);
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/// Optional colors for the points.
|
|
180
|
+
Arrows2D with_colors(const Collection<rerun::components::Color>& _colors) && {
|
|
181
|
+
colors = ComponentBatch::from_loggable(_colors, Descriptor_colors).value_or_throw();
|
|
182
|
+
return std::move(*this);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
/// Optional text labels for the arrows.
|
|
186
|
+
///
|
|
187
|
+
/// If there's a single label present, it will be placed at the center of the entity.
|
|
188
|
+
/// Otherwise, each instance will have its own label.
|
|
189
|
+
Arrows2D with_labels(const Collection<rerun::components::Text>& _labels) && {
|
|
190
|
+
labels = ComponentBatch::from_loggable(_labels, Descriptor_labels).value_or_throw();
|
|
191
|
+
return std::move(*this);
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
/// Optional choice of whether the text labels should be shown by default.
|
|
195
|
+
Arrows2D with_show_labels(const rerun::components::ShowLabels& _show_labels) && {
|
|
196
|
+
show_labels = ComponentBatch::from_loggable(_show_labels, Descriptor_show_labels)
|
|
197
|
+
.value_or_throw();
|
|
198
|
+
return std::move(*this);
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
/// This method makes it possible to pack multiple `show_labels` in a single component batch.
|
|
202
|
+
///
|
|
203
|
+
/// This only makes sense when used in conjunction with `columns`. `with_show_labels` should
|
|
204
|
+
/// be used when logging a single row's worth of data.
|
|
205
|
+
Arrows2D with_many_show_labels(const Collection<rerun::components::ShowLabels>& _show_labels
|
|
206
|
+
) && {
|
|
207
|
+
show_labels = ComponentBatch::from_loggable(_show_labels, Descriptor_show_labels)
|
|
208
|
+
.value_or_throw();
|
|
209
|
+
return std::move(*this);
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
/// An optional floating point value that specifies the 2D drawing order.
|
|
213
|
+
///
|
|
214
|
+
/// Objects with higher values are drawn on top of those with lower values.
|
|
215
|
+
Arrows2D with_draw_order(const rerun::components::DrawOrder& _draw_order) && {
|
|
216
|
+
draw_order =
|
|
217
|
+
ComponentBatch::from_loggable(_draw_order, Descriptor_draw_order).value_or_throw();
|
|
218
|
+
return std::move(*this);
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
/// This method makes it possible to pack multiple `draw_order` in a single component batch.
|
|
222
|
+
///
|
|
223
|
+
/// This only makes sense when used in conjunction with `columns`. `with_draw_order` should
|
|
224
|
+
/// be used when logging a single row's worth of data.
|
|
225
|
+
Arrows2D with_many_draw_order(const Collection<rerun::components::DrawOrder>& _draw_order
|
|
226
|
+
) && {
|
|
227
|
+
draw_order =
|
|
228
|
+
ComponentBatch::from_loggable(_draw_order, Descriptor_draw_order).value_or_throw();
|
|
229
|
+
return std::move(*this);
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
/// Optional class Ids for the points.
|
|
233
|
+
///
|
|
234
|
+
/// The `components::ClassId` provides colors and labels if not specified explicitly.
|
|
235
|
+
Arrows2D with_class_ids(const Collection<rerun::components::ClassId>& _class_ids) && {
|
|
236
|
+
class_ids =
|
|
237
|
+
ComponentBatch::from_loggable(_class_ids, Descriptor_class_ids).value_or_throw();
|
|
238
|
+
return std::move(*this);
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
/// Partitions the component data into multiple sub-batches.
|
|
242
|
+
///
|
|
243
|
+
/// Specifically, this transforms the existing `ComponentBatch` data into `ComponentColumn`s
|
|
244
|
+
/// instead, via `ComponentBatch::partitioned`.
|
|
245
|
+
///
|
|
246
|
+
/// This makes it possible to use `RecordingStream::send_columns` to send columnar data directly into Rerun.
|
|
247
|
+
///
|
|
248
|
+
/// The specified `lengths` must sum to the total length of the component batch.
|
|
249
|
+
Collection<ComponentColumn> columns(const Collection<uint32_t>& lengths_);
|
|
250
|
+
|
|
251
|
+
/// Partitions the component data into unit-length sub-batches.
|
|
252
|
+
///
|
|
253
|
+
/// This is semantically similar to calling `columns` with `std::vector<uint32_t>(n, 1)`,
|
|
254
|
+
/// where `n` is automatically guessed.
|
|
255
|
+
Collection<ComponentColumn> columns();
|
|
256
|
+
};
|
|
257
|
+
|
|
258
|
+
} // namespace rerun::archetypes
|
|
259
|
+
|
|
260
|
+
namespace rerun {
|
|
261
|
+
/// \private
|
|
262
|
+
template <typename T>
|
|
263
|
+
struct AsComponents;
|
|
264
|
+
|
|
265
|
+
/// \private
|
|
266
|
+
template <>
|
|
267
|
+
struct AsComponents<archetypes::Arrows2D> {
|
|
268
|
+
/// Serialize all set component batches.
|
|
269
|
+
static Result<Collection<ComponentBatch>> as_batches(const archetypes::Arrows2D& archetype);
|
|
270
|
+
};
|
|
271
|
+
} // namespace rerun
|