pymomentum-cpu 0.1.82.post0__cp312-cp312-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-312-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-312-darwin.so +0 -0
- pymomentum/marker_tracking.cpython-312-darwin.so +0 -0
- pymomentum/quaternion.py +740 -0
- pymomentum/skel_state.py +514 -0
- pymomentum/solver.cpython-312-darwin.so +0 -0
- pymomentum/solver2.cpython-312-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,384 @@
|
|
|
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/ellipsoids3d.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/fill_mode.hpp"
|
|
12
|
+
#include "../components/half_size3d.hpp"
|
|
13
|
+
#include "../components/pose_rotation_axis_angle.hpp"
|
|
14
|
+
#include "../components/pose_rotation_quat.hpp"
|
|
15
|
+
#include "../components/pose_translation3d.hpp"
|
|
16
|
+
#include "../components/radius.hpp"
|
|
17
|
+
#include "../components/show_labels.hpp"
|
|
18
|
+
#include "../components/text.hpp"
|
|
19
|
+
#include "../indicator_component.hpp"
|
|
20
|
+
#include "../result.hpp"
|
|
21
|
+
|
|
22
|
+
#include <cstdint>
|
|
23
|
+
#include <optional>
|
|
24
|
+
#include <utility>
|
|
25
|
+
#include <vector>
|
|
26
|
+
|
|
27
|
+
namespace rerun::archetypes {
|
|
28
|
+
/// **Archetype**: 3D ellipsoids or spheres.
|
|
29
|
+
///
|
|
30
|
+
/// This archetype is for ellipsoids or spheres whose size is a key part of the data
|
|
31
|
+
/// (e.g. a bounding sphere).
|
|
32
|
+
/// For points whose radii are for the sake of visualization, use `archetypes::Points3D` instead.
|
|
33
|
+
///
|
|
34
|
+
/// Note that orienting and placing the ellipsoids/spheres is handled via `[archetypes.InstancePoses3D]`.
|
|
35
|
+
/// Some of its component are repeated here for convenience.
|
|
36
|
+
/// If there's more instance poses than half sizes, the last half size will be repeated for the remaining poses.
|
|
37
|
+
///
|
|
38
|
+
/// ## Example
|
|
39
|
+
///
|
|
40
|
+
/// ### Covariance ellipsoid
|
|
41
|
+
/// 
|
|
42
|
+
///
|
|
43
|
+
/// ```cpp
|
|
44
|
+
/// #include <rerun.hpp>
|
|
45
|
+
///
|
|
46
|
+
/// #include <algorithm>
|
|
47
|
+
/// #include <random>
|
|
48
|
+
/// #include <vector>
|
|
49
|
+
///
|
|
50
|
+
/// int main() {
|
|
51
|
+
/// const auto rec = rerun::RecordingStream("rerun_example_ellipsoid_simple");
|
|
52
|
+
/// rec.spawn().exit_on_failure();
|
|
53
|
+
///
|
|
54
|
+
/// const float sigmas[3] = {5.0f, 3.0f, 1.0f};
|
|
55
|
+
///
|
|
56
|
+
/// std::default_random_engine gen;
|
|
57
|
+
/// std::normal_distribution<float> dist(0.0, 1.0f);
|
|
58
|
+
///
|
|
59
|
+
/// std::vector<rerun::Position3D> points3d(50000);
|
|
60
|
+
/// std::generate(points3d.begin(), points3d.end(), [&] {
|
|
61
|
+
/// return rerun::Position3D(
|
|
62
|
+
/// sigmas[0] * dist(gen),
|
|
63
|
+
/// sigmas[1] * dist(gen),
|
|
64
|
+
/// sigmas[2] * dist(gen)
|
|
65
|
+
/// );
|
|
66
|
+
/// });
|
|
67
|
+
///
|
|
68
|
+
/// rec.log(
|
|
69
|
+
/// "points",
|
|
70
|
+
/// rerun::Points3D(points3d).with_radii(0.02f).with_colors(rerun::Rgba32(188, 77, 185))
|
|
71
|
+
/// );
|
|
72
|
+
///
|
|
73
|
+
/// rec.log(
|
|
74
|
+
/// "ellipsoid",
|
|
75
|
+
/// rerun::Ellipsoids3D::from_centers_and_half_sizes(
|
|
76
|
+
/// {
|
|
77
|
+
/// {0.0f, 0.0f, 0.0f},
|
|
78
|
+
/// {0.0f, 0.0f, 0.0f},
|
|
79
|
+
/// },
|
|
80
|
+
/// {
|
|
81
|
+
/// {sigmas[0], sigmas[1], sigmas[2]},
|
|
82
|
+
/// {3.0f * sigmas[0], 3.0f * sigmas[1], 3.0f * sigmas[2]},
|
|
83
|
+
/// }
|
|
84
|
+
/// )
|
|
85
|
+
/// .with_colors({
|
|
86
|
+
/// rerun::Rgba32(255, 255, 0),
|
|
87
|
+
/// rerun::Rgba32(64, 64, 0),
|
|
88
|
+
/// })
|
|
89
|
+
/// );
|
|
90
|
+
/// }
|
|
91
|
+
/// ```
|
|
92
|
+
struct Ellipsoids3D {
|
|
93
|
+
/// For each ellipsoid, half of its size on its three axes.
|
|
94
|
+
///
|
|
95
|
+
/// If all components are equal, then it is a sphere with that radius.
|
|
96
|
+
std::optional<ComponentBatch> half_sizes;
|
|
97
|
+
|
|
98
|
+
/// Optional center positions of the ellipsoids.
|
|
99
|
+
///
|
|
100
|
+
/// If not specified, the centers will be at (0, 0, 0).
|
|
101
|
+
/// Note that this uses a `components::PoseTranslation3D` which is also used by `archetypes::InstancePoses3D`.
|
|
102
|
+
std::optional<ComponentBatch> centers;
|
|
103
|
+
|
|
104
|
+
/// Rotations via axis + angle.
|
|
105
|
+
///
|
|
106
|
+
/// If no rotation is specified, the axes of the ellipsoid align with the axes of the local coordinate system.
|
|
107
|
+
/// Note that this uses a `components::PoseRotationAxisAngle` which is also used by `archetypes::InstancePoses3D`.
|
|
108
|
+
std::optional<ComponentBatch> rotation_axis_angles;
|
|
109
|
+
|
|
110
|
+
/// Rotations via quaternion.
|
|
111
|
+
///
|
|
112
|
+
/// If no rotation is specified, the axes of the ellipsoid align with the axes of the local coordinate system.
|
|
113
|
+
/// Note that this uses a `components::PoseRotationQuat` which is also used by `archetypes::InstancePoses3D`.
|
|
114
|
+
std::optional<ComponentBatch> quaternions;
|
|
115
|
+
|
|
116
|
+
/// Optional colors for the ellipsoids.
|
|
117
|
+
std::optional<ComponentBatch> colors;
|
|
118
|
+
|
|
119
|
+
/// Optional radii for the lines used when the ellipsoid is rendered as a wireframe.
|
|
120
|
+
std::optional<ComponentBatch> line_radii;
|
|
121
|
+
|
|
122
|
+
/// Optionally choose whether the ellipsoids are drawn with lines or solid.
|
|
123
|
+
std::optional<ComponentBatch> fill_mode;
|
|
124
|
+
|
|
125
|
+
/// Optional text labels for the ellipsoids.
|
|
126
|
+
std::optional<ComponentBatch> labels;
|
|
127
|
+
|
|
128
|
+
/// Optional choice of whether the text labels should be shown by default.
|
|
129
|
+
std::optional<ComponentBatch> show_labels;
|
|
130
|
+
|
|
131
|
+
/// Optional class ID for the ellipsoids.
|
|
132
|
+
///
|
|
133
|
+
/// The class ID provides colors and labels if not specified explicitly.
|
|
134
|
+
std::optional<ComponentBatch> class_ids;
|
|
135
|
+
|
|
136
|
+
public:
|
|
137
|
+
static constexpr const char IndicatorComponentName[] =
|
|
138
|
+
"rerun.components.Ellipsoids3DIndicator";
|
|
139
|
+
|
|
140
|
+
/// Indicator component, used to identify the archetype when converting to a list of components.
|
|
141
|
+
using IndicatorComponent = rerun::components::IndicatorComponent<IndicatorComponentName>;
|
|
142
|
+
/// The name of the archetype as used in `ComponentDescriptor`s.
|
|
143
|
+
static constexpr const char ArchetypeName[] = "rerun.archetypes.Ellipsoids3D";
|
|
144
|
+
|
|
145
|
+
/// `ComponentDescriptor` for the `half_sizes` field.
|
|
146
|
+
static constexpr auto Descriptor_half_sizes = ComponentDescriptor(
|
|
147
|
+
ArchetypeName, "half_sizes",
|
|
148
|
+
Loggable<rerun::components::HalfSize3D>::Descriptor.component_name
|
|
149
|
+
);
|
|
150
|
+
/// `ComponentDescriptor` for the `centers` field.
|
|
151
|
+
static constexpr auto Descriptor_centers = ComponentDescriptor(
|
|
152
|
+
ArchetypeName, "centers",
|
|
153
|
+
Loggable<rerun::components::PoseTranslation3D>::Descriptor.component_name
|
|
154
|
+
);
|
|
155
|
+
/// `ComponentDescriptor` for the `rotation_axis_angles` field.
|
|
156
|
+
static constexpr auto Descriptor_rotation_axis_angles = ComponentDescriptor(
|
|
157
|
+
ArchetypeName, "rotation_axis_angles",
|
|
158
|
+
Loggable<rerun::components::PoseRotationAxisAngle>::Descriptor.component_name
|
|
159
|
+
);
|
|
160
|
+
/// `ComponentDescriptor` for the `quaternions` field.
|
|
161
|
+
static constexpr auto Descriptor_quaternions = ComponentDescriptor(
|
|
162
|
+
ArchetypeName, "quaternions",
|
|
163
|
+
Loggable<rerun::components::PoseRotationQuat>::Descriptor.component_name
|
|
164
|
+
);
|
|
165
|
+
/// `ComponentDescriptor` for the `colors` field.
|
|
166
|
+
static constexpr auto Descriptor_colors = ComponentDescriptor(
|
|
167
|
+
ArchetypeName, "colors", Loggable<rerun::components::Color>::Descriptor.component_name
|
|
168
|
+
);
|
|
169
|
+
/// `ComponentDescriptor` for the `line_radii` field.
|
|
170
|
+
static constexpr auto Descriptor_line_radii = ComponentDescriptor(
|
|
171
|
+
ArchetypeName, "line_radii",
|
|
172
|
+
Loggable<rerun::components::Radius>::Descriptor.component_name
|
|
173
|
+
);
|
|
174
|
+
/// `ComponentDescriptor` for the `fill_mode` field.
|
|
175
|
+
static constexpr auto Descriptor_fill_mode = ComponentDescriptor(
|
|
176
|
+
ArchetypeName, "fill_mode",
|
|
177
|
+
Loggable<rerun::components::FillMode>::Descriptor.component_name
|
|
178
|
+
);
|
|
179
|
+
/// `ComponentDescriptor` for the `labels` field.
|
|
180
|
+
static constexpr auto Descriptor_labels = ComponentDescriptor(
|
|
181
|
+
ArchetypeName, "labels", Loggable<rerun::components::Text>::Descriptor.component_name
|
|
182
|
+
);
|
|
183
|
+
/// `ComponentDescriptor` for the `show_labels` field.
|
|
184
|
+
static constexpr auto Descriptor_show_labels = ComponentDescriptor(
|
|
185
|
+
ArchetypeName, "show_labels",
|
|
186
|
+
Loggable<rerun::components::ShowLabels>::Descriptor.component_name
|
|
187
|
+
);
|
|
188
|
+
/// `ComponentDescriptor` for the `class_ids` field.
|
|
189
|
+
static constexpr auto Descriptor_class_ids = ComponentDescriptor(
|
|
190
|
+
ArchetypeName, "class_ids",
|
|
191
|
+
Loggable<rerun::components::ClassId>::Descriptor.component_name
|
|
192
|
+
);
|
|
193
|
+
|
|
194
|
+
public: // START of extensions from ellipsoids3d_ext.cpp:
|
|
195
|
+
/// Creates new `Ellipsoids3D` that are spheres, with `half_sizes` created from radii.
|
|
196
|
+
//
|
|
197
|
+
// TODO(andreas): This should not take an std::vector.
|
|
198
|
+
static Ellipsoids3D from_radii(const std::vector<float>& sizes);
|
|
199
|
+
|
|
200
|
+
/// Creates new `Ellipsoids3D` that are spheres, with `half_sizes` and `centers` created
|
|
201
|
+
/// from centers and radii.
|
|
202
|
+
//
|
|
203
|
+
// TODO(andreas): This should not take an std::vector.
|
|
204
|
+
static Ellipsoids3D from_centers_and_radii(
|
|
205
|
+
const std::vector<datatypes::Vec3D>& centers, const std::vector<float>& radii
|
|
206
|
+
);
|
|
207
|
+
|
|
208
|
+
/// Creates new `Ellipsoids3D` with `half_sizes` centered around the local origin.
|
|
209
|
+
static Ellipsoids3D from_half_sizes(Collection<components::HalfSize3D> half_sizes) {
|
|
210
|
+
return Ellipsoids3D().with_half_sizes(std::move(half_sizes));
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
/// Creates new `Ellipsoids3D` with `centers` and `half_sizes`.
|
|
214
|
+
static Ellipsoids3D from_centers_and_half_sizes(
|
|
215
|
+
Collection<components::PoseTranslation3D> centers,
|
|
216
|
+
Collection<components::HalfSize3D> half_sizes
|
|
217
|
+
) {
|
|
218
|
+
return Ellipsoids3D()
|
|
219
|
+
.with_half_sizes(std::move(half_sizes))
|
|
220
|
+
.with_centers(std::move(centers));
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
// END of extensions from ellipsoids3d_ext.cpp, start of generated code:
|
|
224
|
+
|
|
225
|
+
public:
|
|
226
|
+
Ellipsoids3D() = default;
|
|
227
|
+
Ellipsoids3D(Ellipsoids3D&& other) = default;
|
|
228
|
+
Ellipsoids3D(const Ellipsoids3D& other) = default;
|
|
229
|
+
Ellipsoids3D& operator=(const Ellipsoids3D& other) = default;
|
|
230
|
+
Ellipsoids3D& operator=(Ellipsoids3D&& other) = default;
|
|
231
|
+
|
|
232
|
+
/// Update only some specific fields of a `Ellipsoids3D`.
|
|
233
|
+
static Ellipsoids3D update_fields() {
|
|
234
|
+
return Ellipsoids3D();
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
/// Clear all the fields of a `Ellipsoids3D`.
|
|
238
|
+
static Ellipsoids3D clear_fields();
|
|
239
|
+
|
|
240
|
+
/// For each ellipsoid, half of its size on its three axes.
|
|
241
|
+
///
|
|
242
|
+
/// If all components are equal, then it is a sphere with that radius.
|
|
243
|
+
Ellipsoids3D with_half_sizes(const Collection<rerun::components::HalfSize3D>& _half_sizes
|
|
244
|
+
) && {
|
|
245
|
+
half_sizes =
|
|
246
|
+
ComponentBatch::from_loggable(_half_sizes, Descriptor_half_sizes).value_or_throw();
|
|
247
|
+
return std::move(*this);
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
/// Optional center positions of the ellipsoids.
|
|
251
|
+
///
|
|
252
|
+
/// If not specified, the centers will be at (0, 0, 0).
|
|
253
|
+
/// Note that this uses a `components::PoseTranslation3D` which is also used by `archetypes::InstancePoses3D`.
|
|
254
|
+
Ellipsoids3D with_centers(const Collection<rerun::components::PoseTranslation3D>& _centers
|
|
255
|
+
) && {
|
|
256
|
+
centers = ComponentBatch::from_loggable(_centers, Descriptor_centers).value_or_throw();
|
|
257
|
+
return std::move(*this);
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
/// Rotations via axis + angle.
|
|
261
|
+
///
|
|
262
|
+
/// If no rotation is specified, the axes of the ellipsoid align with the axes of the local coordinate system.
|
|
263
|
+
/// Note that this uses a `components::PoseRotationAxisAngle` which is also used by `archetypes::InstancePoses3D`.
|
|
264
|
+
Ellipsoids3D with_rotation_axis_angles(
|
|
265
|
+
const Collection<rerun::components::PoseRotationAxisAngle>& _rotation_axis_angles
|
|
266
|
+
) && {
|
|
267
|
+
rotation_axis_angles = ComponentBatch::from_loggable(
|
|
268
|
+
_rotation_axis_angles,
|
|
269
|
+
Descriptor_rotation_axis_angles
|
|
270
|
+
)
|
|
271
|
+
.value_or_throw();
|
|
272
|
+
return std::move(*this);
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
/// Rotations via quaternion.
|
|
276
|
+
///
|
|
277
|
+
/// If no rotation is specified, the axes of the ellipsoid align with the axes of the local coordinate system.
|
|
278
|
+
/// Note that this uses a `components::PoseRotationQuat` which is also used by `archetypes::InstancePoses3D`.
|
|
279
|
+
Ellipsoids3D with_quaternions(
|
|
280
|
+
const Collection<rerun::components::PoseRotationQuat>& _quaternions
|
|
281
|
+
) && {
|
|
282
|
+
quaternions = ComponentBatch::from_loggable(_quaternions, Descriptor_quaternions)
|
|
283
|
+
.value_or_throw();
|
|
284
|
+
return std::move(*this);
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
/// Optional colors for the ellipsoids.
|
|
288
|
+
Ellipsoids3D with_colors(const Collection<rerun::components::Color>& _colors) && {
|
|
289
|
+
colors = ComponentBatch::from_loggable(_colors, Descriptor_colors).value_or_throw();
|
|
290
|
+
return std::move(*this);
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
/// Optional radii for the lines used when the ellipsoid is rendered as a wireframe.
|
|
294
|
+
Ellipsoids3D with_line_radii(const Collection<rerun::components::Radius>& _line_radii) && {
|
|
295
|
+
line_radii =
|
|
296
|
+
ComponentBatch::from_loggable(_line_radii, Descriptor_line_radii).value_or_throw();
|
|
297
|
+
return std::move(*this);
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
/// Optionally choose whether the ellipsoids are drawn with lines or solid.
|
|
301
|
+
Ellipsoids3D with_fill_mode(const rerun::components::FillMode& _fill_mode) && {
|
|
302
|
+
fill_mode =
|
|
303
|
+
ComponentBatch::from_loggable(_fill_mode, Descriptor_fill_mode).value_or_throw();
|
|
304
|
+
return std::move(*this);
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
/// This method makes it possible to pack multiple `fill_mode` in a single component batch.
|
|
308
|
+
///
|
|
309
|
+
/// This only makes sense when used in conjunction with `columns`. `with_fill_mode` should
|
|
310
|
+
/// be used when logging a single row's worth of data.
|
|
311
|
+
Ellipsoids3D with_many_fill_mode(const Collection<rerun::components::FillMode>& _fill_mode
|
|
312
|
+
) && {
|
|
313
|
+
fill_mode =
|
|
314
|
+
ComponentBatch::from_loggable(_fill_mode, Descriptor_fill_mode).value_or_throw();
|
|
315
|
+
return std::move(*this);
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
/// Optional text labels for the ellipsoids.
|
|
319
|
+
Ellipsoids3D with_labels(const Collection<rerun::components::Text>& _labels) && {
|
|
320
|
+
labels = ComponentBatch::from_loggable(_labels, Descriptor_labels).value_or_throw();
|
|
321
|
+
return std::move(*this);
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
/// Optional choice of whether the text labels should be shown by default.
|
|
325
|
+
Ellipsoids3D with_show_labels(const rerun::components::ShowLabels& _show_labels) && {
|
|
326
|
+
show_labels = ComponentBatch::from_loggable(_show_labels, Descriptor_show_labels)
|
|
327
|
+
.value_or_throw();
|
|
328
|
+
return std::move(*this);
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
/// This method makes it possible to pack multiple `show_labels` in a single component batch.
|
|
332
|
+
///
|
|
333
|
+
/// This only makes sense when used in conjunction with `columns`. `with_show_labels` should
|
|
334
|
+
/// be used when logging a single row's worth of data.
|
|
335
|
+
Ellipsoids3D with_many_show_labels(
|
|
336
|
+
const Collection<rerun::components::ShowLabels>& _show_labels
|
|
337
|
+
) && {
|
|
338
|
+
show_labels = ComponentBatch::from_loggable(_show_labels, Descriptor_show_labels)
|
|
339
|
+
.value_or_throw();
|
|
340
|
+
return std::move(*this);
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
/// Optional class ID for the ellipsoids.
|
|
344
|
+
///
|
|
345
|
+
/// The class ID provides colors and labels if not specified explicitly.
|
|
346
|
+
Ellipsoids3D with_class_ids(const Collection<rerun::components::ClassId>& _class_ids) && {
|
|
347
|
+
class_ids =
|
|
348
|
+
ComponentBatch::from_loggable(_class_ids, Descriptor_class_ids).value_or_throw();
|
|
349
|
+
return std::move(*this);
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
/// Partitions the component data into multiple sub-batches.
|
|
353
|
+
///
|
|
354
|
+
/// Specifically, this transforms the existing `ComponentBatch` data into `ComponentColumn`s
|
|
355
|
+
/// instead, via `ComponentBatch::partitioned`.
|
|
356
|
+
///
|
|
357
|
+
/// This makes it possible to use `RecordingStream::send_columns` to send columnar data directly into Rerun.
|
|
358
|
+
///
|
|
359
|
+
/// The specified `lengths` must sum to the total length of the component batch.
|
|
360
|
+
Collection<ComponentColumn> columns(const Collection<uint32_t>& lengths_);
|
|
361
|
+
|
|
362
|
+
/// Partitions the component data into unit-length sub-batches.
|
|
363
|
+
///
|
|
364
|
+
/// This is semantically similar to calling `columns` with `std::vector<uint32_t>(n, 1)`,
|
|
365
|
+
/// where `n` is automatically guessed.
|
|
366
|
+
Collection<ComponentColumn> columns();
|
|
367
|
+
};
|
|
368
|
+
|
|
369
|
+
} // namespace rerun::archetypes
|
|
370
|
+
|
|
371
|
+
namespace rerun {
|
|
372
|
+
/// \private
|
|
373
|
+
template <typename T>
|
|
374
|
+
struct AsComponents;
|
|
375
|
+
|
|
376
|
+
/// \private
|
|
377
|
+
template <>
|
|
378
|
+
struct AsComponents<archetypes::Ellipsoids3D> {
|
|
379
|
+
/// Serialize all set component batches.
|
|
380
|
+
static Result<Collection<ComponentBatch>> as_batches(
|
|
381
|
+
const archetypes::Ellipsoids3D& archetype
|
|
382
|
+
);
|
|
383
|
+
};
|
|
384
|
+
} // namespace rerun
|
|
@@ -0,0 +1,250 @@
|
|
|
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/encoded_image.fbs".
|
|
3
|
+
|
|
4
|
+
#pragma once
|
|
5
|
+
|
|
6
|
+
#include "../collection.hpp"
|
|
7
|
+
#include "../component_batch.hpp"
|
|
8
|
+
#include "../component_column.hpp"
|
|
9
|
+
#include "../components/blob.hpp"
|
|
10
|
+
#include "../components/draw_order.hpp"
|
|
11
|
+
#include "../components/media_type.hpp"
|
|
12
|
+
#include "../components/opacity.hpp"
|
|
13
|
+
#include "../indicator_component.hpp"
|
|
14
|
+
#include "../result.hpp"
|
|
15
|
+
|
|
16
|
+
#include <cstdint>
|
|
17
|
+
#include <filesystem>
|
|
18
|
+
#include <optional>
|
|
19
|
+
#include <utility>
|
|
20
|
+
#include <vector>
|
|
21
|
+
|
|
22
|
+
namespace rerun::archetypes {
|
|
23
|
+
/// **Archetype**: An image encoded as e.g. a JPEG or PNG.
|
|
24
|
+
///
|
|
25
|
+
/// Rerun also supports uncompressed images with the `archetypes::Image`.
|
|
26
|
+
/// For images that refer to video frames see `archetypes::VideoFrameReference`.
|
|
27
|
+
///
|
|
28
|
+
/// ## Example
|
|
29
|
+
///
|
|
30
|
+
/// ### encoded_image:
|
|
31
|
+
/// ```cpp
|
|
32
|
+
/// #include <rerun.hpp>
|
|
33
|
+
///
|
|
34
|
+
/// #include <filesystem>
|
|
35
|
+
/// #include <fstream>
|
|
36
|
+
/// #include <iostream>
|
|
37
|
+
/// #include <vector>
|
|
38
|
+
///
|
|
39
|
+
/// namespace fs = std::filesystem;
|
|
40
|
+
///
|
|
41
|
+
/// int main() {
|
|
42
|
+
/// const auto rec = rerun::RecordingStream("rerun_example_encoded_image");
|
|
43
|
+
/// rec.spawn().exit_on_failure();
|
|
44
|
+
///
|
|
45
|
+
/// fs::path image_filepath = fs::path(__FILE__).parent_path() / "ferris.png";
|
|
46
|
+
///
|
|
47
|
+
/// rec.log("image", rerun::EncodedImage::from_file(image_filepath).value_or_throw());
|
|
48
|
+
/// }
|
|
49
|
+
/// ```
|
|
50
|
+
struct EncodedImage {
|
|
51
|
+
/// The encoded content of some image file, e.g. a PNG or JPEG.
|
|
52
|
+
std::optional<ComponentBatch> blob;
|
|
53
|
+
|
|
54
|
+
/// The Media Type of the asset.
|
|
55
|
+
///
|
|
56
|
+
/// Supported values:
|
|
57
|
+
/// * `image/jpeg`
|
|
58
|
+
/// * `image/png`
|
|
59
|
+
///
|
|
60
|
+
/// If omitted, the viewer will try to guess from the data blob.
|
|
61
|
+
/// If it cannot guess, it won't be able to render the asset.
|
|
62
|
+
std::optional<ComponentBatch> media_type;
|
|
63
|
+
|
|
64
|
+
/// Opacity of the image, useful for layering several images.
|
|
65
|
+
///
|
|
66
|
+
/// Defaults to 1.0 (fully opaque).
|
|
67
|
+
std::optional<ComponentBatch> opacity;
|
|
68
|
+
|
|
69
|
+
/// An optional floating point value that specifies the 2D drawing order.
|
|
70
|
+
///
|
|
71
|
+
/// Objects with higher values are drawn on top of those with lower values.
|
|
72
|
+
std::optional<ComponentBatch> draw_order;
|
|
73
|
+
|
|
74
|
+
public:
|
|
75
|
+
static constexpr const char IndicatorComponentName[] =
|
|
76
|
+
"rerun.components.EncodedImageIndicator";
|
|
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.EncodedImage";
|
|
82
|
+
|
|
83
|
+
/// `ComponentDescriptor` for the `blob` field.
|
|
84
|
+
static constexpr auto Descriptor_blob = ComponentDescriptor(
|
|
85
|
+
ArchetypeName, "blob", Loggable<rerun::components::Blob>::Descriptor.component_name
|
|
86
|
+
);
|
|
87
|
+
/// `ComponentDescriptor` for the `media_type` field.
|
|
88
|
+
static constexpr auto Descriptor_media_type = ComponentDescriptor(
|
|
89
|
+
ArchetypeName, "media_type",
|
|
90
|
+
Loggable<rerun::components::MediaType>::Descriptor.component_name
|
|
91
|
+
);
|
|
92
|
+
/// `ComponentDescriptor` for the `opacity` field.
|
|
93
|
+
static constexpr auto Descriptor_opacity = ComponentDescriptor(
|
|
94
|
+
ArchetypeName, "opacity",
|
|
95
|
+
Loggable<rerun::components::Opacity>::Descriptor.component_name
|
|
96
|
+
);
|
|
97
|
+
/// `ComponentDescriptor` for the `draw_order` field.
|
|
98
|
+
static constexpr auto Descriptor_draw_order = ComponentDescriptor(
|
|
99
|
+
ArchetypeName, "draw_order",
|
|
100
|
+
Loggable<rerun::components::DrawOrder>::Descriptor.component_name
|
|
101
|
+
);
|
|
102
|
+
|
|
103
|
+
public: // START of extensions from encoded_image_ext.cpp:
|
|
104
|
+
/// Create a new `EncodedImage` from the contents of a file on disk, e.g. a PNG or JPEG.
|
|
105
|
+
static Result<EncodedImage> from_file(const std::filesystem::path& filepath);
|
|
106
|
+
|
|
107
|
+
/// Create a new `EncodedImage` from the contents of an image file, like a PNG or JPEG.
|
|
108
|
+
///
|
|
109
|
+
/// If no `MediaType` is specified, the Rerun Viewer will try to guess one from the data
|
|
110
|
+
/// at render-time. If it can't, rendering will fail with an error.
|
|
111
|
+
static EncodedImage from_bytes(
|
|
112
|
+
rerun::Collection<uint8_t> image_contents,
|
|
113
|
+
std::optional<rerun::components::MediaType> media_type = {}
|
|
114
|
+
) {
|
|
115
|
+
auto encoded_image = EncodedImage().with_blob(image_contents);
|
|
116
|
+
if (media_type.has_value()) {
|
|
117
|
+
return std::move(encoded_image).with_media_type(media_type.value());
|
|
118
|
+
}
|
|
119
|
+
return encoded_image;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
// END of extensions from encoded_image_ext.cpp, start of generated code:
|
|
123
|
+
|
|
124
|
+
public:
|
|
125
|
+
EncodedImage() = default;
|
|
126
|
+
EncodedImage(EncodedImage&& other) = default;
|
|
127
|
+
EncodedImage(const EncodedImage& other) = default;
|
|
128
|
+
EncodedImage& operator=(const EncodedImage& other) = default;
|
|
129
|
+
EncodedImage& operator=(EncodedImage&& other) = default;
|
|
130
|
+
|
|
131
|
+
/// Update only some specific fields of a `EncodedImage`.
|
|
132
|
+
static EncodedImage update_fields() {
|
|
133
|
+
return EncodedImage();
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/// Clear all the fields of a `EncodedImage`.
|
|
137
|
+
static EncodedImage clear_fields();
|
|
138
|
+
|
|
139
|
+
/// The encoded content of some image file, e.g. a PNG or JPEG.
|
|
140
|
+
EncodedImage with_blob(const rerun::components::Blob& _blob) && {
|
|
141
|
+
blob = ComponentBatch::from_loggable(_blob, Descriptor_blob).value_or_throw();
|
|
142
|
+
return std::move(*this);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/// This method makes it possible to pack multiple `blob` in a single component batch.
|
|
146
|
+
///
|
|
147
|
+
/// This only makes sense when used in conjunction with `columns`. `with_blob` should
|
|
148
|
+
/// be used when logging a single row's worth of data.
|
|
149
|
+
EncodedImage with_many_blob(const Collection<rerun::components::Blob>& _blob) && {
|
|
150
|
+
blob = ComponentBatch::from_loggable(_blob, Descriptor_blob).value_or_throw();
|
|
151
|
+
return std::move(*this);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/// The Media Type of the asset.
|
|
155
|
+
///
|
|
156
|
+
/// Supported values:
|
|
157
|
+
/// * `image/jpeg`
|
|
158
|
+
/// * `image/png`
|
|
159
|
+
///
|
|
160
|
+
/// If omitted, the viewer will try to guess from the data blob.
|
|
161
|
+
/// If it cannot guess, it won't be able to render the asset.
|
|
162
|
+
EncodedImage with_media_type(const rerun::components::MediaType& _media_type) && {
|
|
163
|
+
media_type =
|
|
164
|
+
ComponentBatch::from_loggable(_media_type, Descriptor_media_type).value_or_throw();
|
|
165
|
+
return std::move(*this);
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
/// This method makes it possible to pack multiple `media_type` in a single component batch.
|
|
169
|
+
///
|
|
170
|
+
/// This only makes sense when used in conjunction with `columns`. `with_media_type` should
|
|
171
|
+
/// be used when logging a single row's worth of data.
|
|
172
|
+
EncodedImage with_many_media_type(
|
|
173
|
+
const Collection<rerun::components::MediaType>& _media_type
|
|
174
|
+
) && {
|
|
175
|
+
media_type =
|
|
176
|
+
ComponentBatch::from_loggable(_media_type, Descriptor_media_type).value_or_throw();
|
|
177
|
+
return std::move(*this);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
/// Opacity of the image, useful for layering several images.
|
|
181
|
+
///
|
|
182
|
+
/// Defaults to 1.0 (fully opaque).
|
|
183
|
+
EncodedImage with_opacity(const rerun::components::Opacity& _opacity) && {
|
|
184
|
+
opacity = ComponentBatch::from_loggable(_opacity, Descriptor_opacity).value_or_throw();
|
|
185
|
+
return std::move(*this);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
/// This method makes it possible to pack multiple `opacity` in a single component batch.
|
|
189
|
+
///
|
|
190
|
+
/// This only makes sense when used in conjunction with `columns`. `with_opacity` should
|
|
191
|
+
/// be used when logging a single row's worth of data.
|
|
192
|
+
EncodedImage with_many_opacity(const Collection<rerun::components::Opacity>& _opacity) && {
|
|
193
|
+
opacity = ComponentBatch::from_loggable(_opacity, Descriptor_opacity).value_or_throw();
|
|
194
|
+
return std::move(*this);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
/// An optional floating point value that specifies the 2D drawing order.
|
|
198
|
+
///
|
|
199
|
+
/// Objects with higher values are drawn on top of those with lower values.
|
|
200
|
+
EncodedImage with_draw_order(const rerun::components::DrawOrder& _draw_order) && {
|
|
201
|
+
draw_order =
|
|
202
|
+
ComponentBatch::from_loggable(_draw_order, Descriptor_draw_order).value_or_throw();
|
|
203
|
+
return std::move(*this);
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
/// This method makes it possible to pack multiple `draw_order` in a single component batch.
|
|
207
|
+
///
|
|
208
|
+
/// This only makes sense when used in conjunction with `columns`. `with_draw_order` should
|
|
209
|
+
/// be used when logging a single row's worth of data.
|
|
210
|
+
EncodedImage with_many_draw_order(
|
|
211
|
+
const Collection<rerun::components::DrawOrder>& _draw_order
|
|
212
|
+
) && {
|
|
213
|
+
draw_order =
|
|
214
|
+
ComponentBatch::from_loggable(_draw_order, Descriptor_draw_order).value_or_throw();
|
|
215
|
+
return std::move(*this);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
/// Partitions the component data into multiple sub-batches.
|
|
219
|
+
///
|
|
220
|
+
/// Specifically, this transforms the existing `ComponentBatch` data into `ComponentColumn`s
|
|
221
|
+
/// instead, via `ComponentBatch::partitioned`.
|
|
222
|
+
///
|
|
223
|
+
/// This makes it possible to use `RecordingStream::send_columns` to send columnar data directly into Rerun.
|
|
224
|
+
///
|
|
225
|
+
/// The specified `lengths` must sum to the total length of the component batch.
|
|
226
|
+
Collection<ComponentColumn> columns(const Collection<uint32_t>& lengths_);
|
|
227
|
+
|
|
228
|
+
/// Partitions the component data into unit-length sub-batches.
|
|
229
|
+
///
|
|
230
|
+
/// This is semantically similar to calling `columns` with `std::vector<uint32_t>(n, 1)`,
|
|
231
|
+
/// where `n` is automatically guessed.
|
|
232
|
+
Collection<ComponentColumn> columns();
|
|
233
|
+
};
|
|
234
|
+
|
|
235
|
+
} // namespace rerun::archetypes
|
|
236
|
+
|
|
237
|
+
namespace rerun {
|
|
238
|
+
/// \private
|
|
239
|
+
template <typename T>
|
|
240
|
+
struct AsComponents;
|
|
241
|
+
|
|
242
|
+
/// \private
|
|
243
|
+
template <>
|
|
244
|
+
struct AsComponents<archetypes::EncodedImage> {
|
|
245
|
+
/// Serialize all set component batches.
|
|
246
|
+
static Result<Collection<ComponentBatch>> as_batches(
|
|
247
|
+
const archetypes::EncodedImage& archetype
|
|
248
|
+
);
|
|
249
|
+
};
|
|
250
|
+
} // namespace rerun
|