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,385 @@
|
|
|
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
|
+
// This file is @generated by gen_fwd.py
|
|
9
|
+
// Do not edit this file directly, instead update gen_fwd_input.toml and run:
|
|
10
|
+
// buck run @arvr/mode/platform010/opt //arvr/libraries/momentum:gen_fwd
|
|
11
|
+
|
|
12
|
+
#pragma once
|
|
13
|
+
|
|
14
|
+
#include <memory>
|
|
15
|
+
|
|
16
|
+
namespace momentum {
|
|
17
|
+
|
|
18
|
+
template <typename T>
|
|
19
|
+
struct ErrorFunctionDerivativesT;
|
|
20
|
+
using ErrorFunctionDerivatives = ErrorFunctionDerivativesT<float>;
|
|
21
|
+
using ErrorFunctionDerivativesd = ErrorFunctionDerivativesT<double>;
|
|
22
|
+
|
|
23
|
+
using ErrorFunctionDerivatives_p = ::std::shared_ptr<ErrorFunctionDerivatives>;
|
|
24
|
+
using ErrorFunctionDerivatives_u = ::std::unique_ptr<ErrorFunctionDerivatives>;
|
|
25
|
+
using ErrorFunctionDerivatives_w = ::std::weak_ptr<ErrorFunctionDerivatives>;
|
|
26
|
+
using ErrorFunctionDerivatives_const_p = ::std::shared_ptr<const ErrorFunctionDerivatives>;
|
|
27
|
+
using ErrorFunctionDerivatives_const_u = ::std::unique_ptr<const ErrorFunctionDerivatives>;
|
|
28
|
+
using ErrorFunctionDerivatives_const_w = ::std::weak_ptr<const ErrorFunctionDerivatives>;
|
|
29
|
+
|
|
30
|
+
using ErrorFunctionDerivativesd_p = ::std::shared_ptr<ErrorFunctionDerivativesd>;
|
|
31
|
+
using ErrorFunctionDerivativesd_u = ::std::unique_ptr<ErrorFunctionDerivativesd>;
|
|
32
|
+
using ErrorFunctionDerivativesd_w = ::std::weak_ptr<ErrorFunctionDerivativesd>;
|
|
33
|
+
using ErrorFunctionDerivativesd_const_p = ::std::shared_ptr<const ErrorFunctionDerivativesd>;
|
|
34
|
+
using ErrorFunctionDerivativesd_const_u = ::std::unique_ptr<const ErrorFunctionDerivativesd>;
|
|
35
|
+
using ErrorFunctionDerivativesd_const_w = ::std::weak_ptr<const ErrorFunctionDerivativesd>;
|
|
36
|
+
|
|
37
|
+
template <typename T>
|
|
38
|
+
struct OrientationConstraintT;
|
|
39
|
+
using OrientationConstraint = OrientationConstraintT<float>;
|
|
40
|
+
using OrientationConstraintd = OrientationConstraintT<double>;
|
|
41
|
+
|
|
42
|
+
using OrientationConstraint_p = ::std::shared_ptr<OrientationConstraint>;
|
|
43
|
+
using OrientationConstraint_u = ::std::unique_ptr<OrientationConstraint>;
|
|
44
|
+
using OrientationConstraint_w = ::std::weak_ptr<OrientationConstraint>;
|
|
45
|
+
using OrientationConstraint_const_p = ::std::shared_ptr<const OrientationConstraint>;
|
|
46
|
+
using OrientationConstraint_const_u = ::std::unique_ptr<const OrientationConstraint>;
|
|
47
|
+
using OrientationConstraint_const_w = ::std::weak_ptr<const OrientationConstraint>;
|
|
48
|
+
|
|
49
|
+
using OrientationConstraintd_p = ::std::shared_ptr<OrientationConstraintd>;
|
|
50
|
+
using OrientationConstraintd_u = ::std::unique_ptr<OrientationConstraintd>;
|
|
51
|
+
using OrientationConstraintd_w = ::std::weak_ptr<OrientationConstraintd>;
|
|
52
|
+
using OrientationConstraintd_const_p = ::std::shared_ptr<const OrientationConstraintd>;
|
|
53
|
+
using OrientationConstraintd_const_u = ::std::unique_ptr<const OrientationConstraintd>;
|
|
54
|
+
using OrientationConstraintd_const_w = ::std::weak_ptr<const OrientationConstraintd>;
|
|
55
|
+
|
|
56
|
+
template <typename T>
|
|
57
|
+
struct OrientationConstraintStateT;
|
|
58
|
+
using OrientationConstraintState = OrientationConstraintStateT<float>;
|
|
59
|
+
using OrientationConstraintStated = OrientationConstraintStateT<double>;
|
|
60
|
+
|
|
61
|
+
using OrientationConstraintState_p = ::std::shared_ptr<OrientationConstraintState>;
|
|
62
|
+
using OrientationConstraintState_u = ::std::unique_ptr<OrientationConstraintState>;
|
|
63
|
+
using OrientationConstraintState_w = ::std::weak_ptr<OrientationConstraintState>;
|
|
64
|
+
using OrientationConstraintState_const_p = ::std::shared_ptr<const OrientationConstraintState>;
|
|
65
|
+
using OrientationConstraintState_const_u = ::std::unique_ptr<const OrientationConstraintState>;
|
|
66
|
+
using OrientationConstraintState_const_w = ::std::weak_ptr<const OrientationConstraintState>;
|
|
67
|
+
|
|
68
|
+
using OrientationConstraintStated_p = ::std::shared_ptr<OrientationConstraintStated>;
|
|
69
|
+
using OrientationConstraintStated_u = ::std::unique_ptr<OrientationConstraintStated>;
|
|
70
|
+
using OrientationConstraintStated_w = ::std::weak_ptr<OrientationConstraintStated>;
|
|
71
|
+
using OrientationConstraintStated_const_p = ::std::shared_ptr<const OrientationConstraintStated>;
|
|
72
|
+
using OrientationConstraintStated_const_u = ::std::unique_ptr<const OrientationConstraintStated>;
|
|
73
|
+
using OrientationConstraintStated_const_w = ::std::weak_ptr<const OrientationConstraintStated>;
|
|
74
|
+
|
|
75
|
+
template <typename T>
|
|
76
|
+
struct PositionConstraintT;
|
|
77
|
+
using PositionConstraint = PositionConstraintT<float>;
|
|
78
|
+
using PositionConstraintd = PositionConstraintT<double>;
|
|
79
|
+
|
|
80
|
+
using PositionConstraint_p = ::std::shared_ptr<PositionConstraint>;
|
|
81
|
+
using PositionConstraint_u = ::std::unique_ptr<PositionConstraint>;
|
|
82
|
+
using PositionConstraint_w = ::std::weak_ptr<PositionConstraint>;
|
|
83
|
+
using PositionConstraint_const_p = ::std::shared_ptr<const PositionConstraint>;
|
|
84
|
+
using PositionConstraint_const_u = ::std::unique_ptr<const PositionConstraint>;
|
|
85
|
+
using PositionConstraint_const_w = ::std::weak_ptr<const PositionConstraint>;
|
|
86
|
+
|
|
87
|
+
using PositionConstraintd_p = ::std::shared_ptr<PositionConstraintd>;
|
|
88
|
+
using PositionConstraintd_u = ::std::unique_ptr<PositionConstraintd>;
|
|
89
|
+
using PositionConstraintd_w = ::std::weak_ptr<PositionConstraintd>;
|
|
90
|
+
using PositionConstraintd_const_p = ::std::shared_ptr<const PositionConstraintd>;
|
|
91
|
+
using PositionConstraintd_const_u = ::std::unique_ptr<const PositionConstraintd>;
|
|
92
|
+
using PositionConstraintd_const_w = ::std::weak_ptr<const PositionConstraintd>;
|
|
93
|
+
|
|
94
|
+
template <typename T>
|
|
95
|
+
struct PositionConstraintStateT;
|
|
96
|
+
using PositionConstraintState = PositionConstraintStateT<float>;
|
|
97
|
+
using PositionConstraintStated = PositionConstraintStateT<double>;
|
|
98
|
+
|
|
99
|
+
using PositionConstraintState_p = ::std::shared_ptr<PositionConstraintState>;
|
|
100
|
+
using PositionConstraintState_u = ::std::unique_ptr<PositionConstraintState>;
|
|
101
|
+
using PositionConstraintState_w = ::std::weak_ptr<PositionConstraintState>;
|
|
102
|
+
using PositionConstraintState_const_p = ::std::shared_ptr<const PositionConstraintState>;
|
|
103
|
+
using PositionConstraintState_const_u = ::std::unique_ptr<const PositionConstraintState>;
|
|
104
|
+
using PositionConstraintState_const_w = ::std::weak_ptr<const PositionConstraintState>;
|
|
105
|
+
|
|
106
|
+
using PositionConstraintStated_p = ::std::shared_ptr<PositionConstraintStated>;
|
|
107
|
+
using PositionConstraintStated_u = ::std::unique_ptr<PositionConstraintStated>;
|
|
108
|
+
using PositionConstraintStated_w = ::std::weak_ptr<PositionConstraintStated>;
|
|
109
|
+
using PositionConstraintStated_const_p = ::std::shared_ptr<const PositionConstraintStated>;
|
|
110
|
+
using PositionConstraintStated_const_u = ::std::unique_ptr<const PositionConstraintStated>;
|
|
111
|
+
using PositionConstraintStated_const_w = ::std::weak_ptr<const PositionConstraintStated>;
|
|
112
|
+
|
|
113
|
+
template <typename T>
|
|
114
|
+
class FullyDifferentiableDistanceErrorFunctionT;
|
|
115
|
+
using FullyDifferentiableDistanceErrorFunction = FullyDifferentiableDistanceErrorFunctionT<float>;
|
|
116
|
+
using FullyDifferentiableDistanceErrorFunctiond = FullyDifferentiableDistanceErrorFunctionT<double>;
|
|
117
|
+
|
|
118
|
+
using FullyDifferentiableDistanceErrorFunction_p =
|
|
119
|
+
::std::shared_ptr<FullyDifferentiableDistanceErrorFunction>;
|
|
120
|
+
using FullyDifferentiableDistanceErrorFunction_u =
|
|
121
|
+
::std::unique_ptr<FullyDifferentiableDistanceErrorFunction>;
|
|
122
|
+
using FullyDifferentiableDistanceErrorFunction_w =
|
|
123
|
+
::std::weak_ptr<FullyDifferentiableDistanceErrorFunction>;
|
|
124
|
+
using FullyDifferentiableDistanceErrorFunction_const_p =
|
|
125
|
+
::std::shared_ptr<const FullyDifferentiableDistanceErrorFunction>;
|
|
126
|
+
using FullyDifferentiableDistanceErrorFunction_const_u =
|
|
127
|
+
::std::unique_ptr<const FullyDifferentiableDistanceErrorFunction>;
|
|
128
|
+
using FullyDifferentiableDistanceErrorFunction_const_w =
|
|
129
|
+
::std::weak_ptr<const FullyDifferentiableDistanceErrorFunction>;
|
|
130
|
+
|
|
131
|
+
using FullyDifferentiableDistanceErrorFunctiond_p =
|
|
132
|
+
::std::shared_ptr<FullyDifferentiableDistanceErrorFunctiond>;
|
|
133
|
+
using FullyDifferentiableDistanceErrorFunctiond_u =
|
|
134
|
+
::std::unique_ptr<FullyDifferentiableDistanceErrorFunctiond>;
|
|
135
|
+
using FullyDifferentiableDistanceErrorFunctiond_w =
|
|
136
|
+
::std::weak_ptr<FullyDifferentiableDistanceErrorFunctiond>;
|
|
137
|
+
using FullyDifferentiableDistanceErrorFunctiond_const_p =
|
|
138
|
+
::std::shared_ptr<const FullyDifferentiableDistanceErrorFunctiond>;
|
|
139
|
+
using FullyDifferentiableDistanceErrorFunctiond_const_u =
|
|
140
|
+
::std::unique_ptr<const FullyDifferentiableDistanceErrorFunctiond>;
|
|
141
|
+
using FullyDifferentiableDistanceErrorFunctiond_const_w =
|
|
142
|
+
::std::weak_ptr<const FullyDifferentiableDistanceErrorFunctiond>;
|
|
143
|
+
|
|
144
|
+
template <typename T>
|
|
145
|
+
class FullyDifferentiableMotionErrorFunctionT;
|
|
146
|
+
using FullyDifferentiableMotionErrorFunction = FullyDifferentiableMotionErrorFunctionT<float>;
|
|
147
|
+
using FullyDifferentiableMotionErrorFunctiond = FullyDifferentiableMotionErrorFunctionT<double>;
|
|
148
|
+
|
|
149
|
+
using FullyDifferentiableMotionErrorFunction_p =
|
|
150
|
+
::std::shared_ptr<FullyDifferentiableMotionErrorFunction>;
|
|
151
|
+
using FullyDifferentiableMotionErrorFunction_u =
|
|
152
|
+
::std::unique_ptr<FullyDifferentiableMotionErrorFunction>;
|
|
153
|
+
using FullyDifferentiableMotionErrorFunction_w =
|
|
154
|
+
::std::weak_ptr<FullyDifferentiableMotionErrorFunction>;
|
|
155
|
+
using FullyDifferentiableMotionErrorFunction_const_p =
|
|
156
|
+
::std::shared_ptr<const FullyDifferentiableMotionErrorFunction>;
|
|
157
|
+
using FullyDifferentiableMotionErrorFunction_const_u =
|
|
158
|
+
::std::unique_ptr<const FullyDifferentiableMotionErrorFunction>;
|
|
159
|
+
using FullyDifferentiableMotionErrorFunction_const_w =
|
|
160
|
+
::std::weak_ptr<const FullyDifferentiableMotionErrorFunction>;
|
|
161
|
+
|
|
162
|
+
using FullyDifferentiableMotionErrorFunctiond_p =
|
|
163
|
+
::std::shared_ptr<FullyDifferentiableMotionErrorFunctiond>;
|
|
164
|
+
using FullyDifferentiableMotionErrorFunctiond_u =
|
|
165
|
+
::std::unique_ptr<FullyDifferentiableMotionErrorFunctiond>;
|
|
166
|
+
using FullyDifferentiableMotionErrorFunctiond_w =
|
|
167
|
+
::std::weak_ptr<FullyDifferentiableMotionErrorFunctiond>;
|
|
168
|
+
using FullyDifferentiableMotionErrorFunctiond_const_p =
|
|
169
|
+
::std::shared_ptr<const FullyDifferentiableMotionErrorFunctiond>;
|
|
170
|
+
using FullyDifferentiableMotionErrorFunctiond_const_u =
|
|
171
|
+
::std::unique_ptr<const FullyDifferentiableMotionErrorFunctiond>;
|
|
172
|
+
using FullyDifferentiableMotionErrorFunctiond_const_w =
|
|
173
|
+
::std::weak_ptr<const FullyDifferentiableMotionErrorFunctiond>;
|
|
174
|
+
|
|
175
|
+
template <typename T>
|
|
176
|
+
class FullyDifferentiableOrientationErrorFunctionT;
|
|
177
|
+
using FullyDifferentiableOrientationErrorFunction =
|
|
178
|
+
FullyDifferentiableOrientationErrorFunctionT<float>;
|
|
179
|
+
using FullyDifferentiableOrientationErrorFunctiond =
|
|
180
|
+
FullyDifferentiableOrientationErrorFunctionT<double>;
|
|
181
|
+
|
|
182
|
+
using FullyDifferentiableOrientationErrorFunction_p =
|
|
183
|
+
::std::shared_ptr<FullyDifferentiableOrientationErrorFunction>;
|
|
184
|
+
using FullyDifferentiableOrientationErrorFunction_u =
|
|
185
|
+
::std::unique_ptr<FullyDifferentiableOrientationErrorFunction>;
|
|
186
|
+
using FullyDifferentiableOrientationErrorFunction_w =
|
|
187
|
+
::std::weak_ptr<FullyDifferentiableOrientationErrorFunction>;
|
|
188
|
+
using FullyDifferentiableOrientationErrorFunction_const_p =
|
|
189
|
+
::std::shared_ptr<const FullyDifferentiableOrientationErrorFunction>;
|
|
190
|
+
using FullyDifferentiableOrientationErrorFunction_const_u =
|
|
191
|
+
::std::unique_ptr<const FullyDifferentiableOrientationErrorFunction>;
|
|
192
|
+
using FullyDifferentiableOrientationErrorFunction_const_w =
|
|
193
|
+
::std::weak_ptr<const FullyDifferentiableOrientationErrorFunction>;
|
|
194
|
+
|
|
195
|
+
using FullyDifferentiableOrientationErrorFunctiond_p =
|
|
196
|
+
::std::shared_ptr<FullyDifferentiableOrientationErrorFunctiond>;
|
|
197
|
+
using FullyDifferentiableOrientationErrorFunctiond_u =
|
|
198
|
+
::std::unique_ptr<FullyDifferentiableOrientationErrorFunctiond>;
|
|
199
|
+
using FullyDifferentiableOrientationErrorFunctiond_w =
|
|
200
|
+
::std::weak_ptr<FullyDifferentiableOrientationErrorFunctiond>;
|
|
201
|
+
using FullyDifferentiableOrientationErrorFunctiond_const_p =
|
|
202
|
+
::std::shared_ptr<const FullyDifferentiableOrientationErrorFunctiond>;
|
|
203
|
+
using FullyDifferentiableOrientationErrorFunctiond_const_u =
|
|
204
|
+
::std::unique_ptr<const FullyDifferentiableOrientationErrorFunctiond>;
|
|
205
|
+
using FullyDifferentiableOrientationErrorFunctiond_const_w =
|
|
206
|
+
::std::weak_ptr<const FullyDifferentiableOrientationErrorFunctiond>;
|
|
207
|
+
|
|
208
|
+
template <typename T>
|
|
209
|
+
class FullyDifferentiablePosePriorErrorFunctionT;
|
|
210
|
+
using FullyDifferentiablePosePriorErrorFunction = FullyDifferentiablePosePriorErrorFunctionT<float>;
|
|
211
|
+
using FullyDifferentiablePosePriorErrorFunctiond =
|
|
212
|
+
FullyDifferentiablePosePriorErrorFunctionT<double>;
|
|
213
|
+
|
|
214
|
+
using FullyDifferentiablePosePriorErrorFunction_p =
|
|
215
|
+
::std::shared_ptr<FullyDifferentiablePosePriorErrorFunction>;
|
|
216
|
+
using FullyDifferentiablePosePriorErrorFunction_u =
|
|
217
|
+
::std::unique_ptr<FullyDifferentiablePosePriorErrorFunction>;
|
|
218
|
+
using FullyDifferentiablePosePriorErrorFunction_w =
|
|
219
|
+
::std::weak_ptr<FullyDifferentiablePosePriorErrorFunction>;
|
|
220
|
+
using FullyDifferentiablePosePriorErrorFunction_const_p =
|
|
221
|
+
::std::shared_ptr<const FullyDifferentiablePosePriorErrorFunction>;
|
|
222
|
+
using FullyDifferentiablePosePriorErrorFunction_const_u =
|
|
223
|
+
::std::unique_ptr<const FullyDifferentiablePosePriorErrorFunction>;
|
|
224
|
+
using FullyDifferentiablePosePriorErrorFunction_const_w =
|
|
225
|
+
::std::weak_ptr<const FullyDifferentiablePosePriorErrorFunction>;
|
|
226
|
+
|
|
227
|
+
using FullyDifferentiablePosePriorErrorFunctiond_p =
|
|
228
|
+
::std::shared_ptr<FullyDifferentiablePosePriorErrorFunctiond>;
|
|
229
|
+
using FullyDifferentiablePosePriorErrorFunctiond_u =
|
|
230
|
+
::std::unique_ptr<FullyDifferentiablePosePriorErrorFunctiond>;
|
|
231
|
+
using FullyDifferentiablePosePriorErrorFunctiond_w =
|
|
232
|
+
::std::weak_ptr<FullyDifferentiablePosePriorErrorFunctiond>;
|
|
233
|
+
using FullyDifferentiablePosePriorErrorFunctiond_const_p =
|
|
234
|
+
::std::shared_ptr<const FullyDifferentiablePosePriorErrorFunctiond>;
|
|
235
|
+
using FullyDifferentiablePosePriorErrorFunctiond_const_u =
|
|
236
|
+
::std::unique_ptr<const FullyDifferentiablePosePriorErrorFunctiond>;
|
|
237
|
+
using FullyDifferentiablePosePriorErrorFunctiond_const_w =
|
|
238
|
+
::std::weak_ptr<const FullyDifferentiablePosePriorErrorFunctiond>;
|
|
239
|
+
|
|
240
|
+
template <typename T>
|
|
241
|
+
class FullyDifferentiablePositionErrorFunctionT;
|
|
242
|
+
using FullyDifferentiablePositionErrorFunction = FullyDifferentiablePositionErrorFunctionT<float>;
|
|
243
|
+
using FullyDifferentiablePositionErrorFunctiond = FullyDifferentiablePositionErrorFunctionT<double>;
|
|
244
|
+
|
|
245
|
+
using FullyDifferentiablePositionErrorFunction_p =
|
|
246
|
+
::std::shared_ptr<FullyDifferentiablePositionErrorFunction>;
|
|
247
|
+
using FullyDifferentiablePositionErrorFunction_u =
|
|
248
|
+
::std::unique_ptr<FullyDifferentiablePositionErrorFunction>;
|
|
249
|
+
using FullyDifferentiablePositionErrorFunction_w =
|
|
250
|
+
::std::weak_ptr<FullyDifferentiablePositionErrorFunction>;
|
|
251
|
+
using FullyDifferentiablePositionErrorFunction_const_p =
|
|
252
|
+
::std::shared_ptr<const FullyDifferentiablePositionErrorFunction>;
|
|
253
|
+
using FullyDifferentiablePositionErrorFunction_const_u =
|
|
254
|
+
::std::unique_ptr<const FullyDifferentiablePositionErrorFunction>;
|
|
255
|
+
using FullyDifferentiablePositionErrorFunction_const_w =
|
|
256
|
+
::std::weak_ptr<const FullyDifferentiablePositionErrorFunction>;
|
|
257
|
+
|
|
258
|
+
using FullyDifferentiablePositionErrorFunctiond_p =
|
|
259
|
+
::std::shared_ptr<FullyDifferentiablePositionErrorFunctiond>;
|
|
260
|
+
using FullyDifferentiablePositionErrorFunctiond_u =
|
|
261
|
+
::std::unique_ptr<FullyDifferentiablePositionErrorFunctiond>;
|
|
262
|
+
using FullyDifferentiablePositionErrorFunctiond_w =
|
|
263
|
+
::std::weak_ptr<FullyDifferentiablePositionErrorFunctiond>;
|
|
264
|
+
using FullyDifferentiablePositionErrorFunctiond_const_p =
|
|
265
|
+
::std::shared_ptr<const FullyDifferentiablePositionErrorFunctiond>;
|
|
266
|
+
using FullyDifferentiablePositionErrorFunctiond_const_u =
|
|
267
|
+
::std::unique_ptr<const FullyDifferentiablePositionErrorFunctiond>;
|
|
268
|
+
using FullyDifferentiablePositionErrorFunctiond_const_w =
|
|
269
|
+
::std::weak_ptr<const FullyDifferentiablePositionErrorFunctiond>;
|
|
270
|
+
|
|
271
|
+
template <typename T>
|
|
272
|
+
class FullyDifferentiableProjectionErrorFunctionT;
|
|
273
|
+
using FullyDifferentiableProjectionErrorFunction =
|
|
274
|
+
FullyDifferentiableProjectionErrorFunctionT<float>;
|
|
275
|
+
using FullyDifferentiableProjectionErrorFunctiond =
|
|
276
|
+
FullyDifferentiableProjectionErrorFunctionT<double>;
|
|
277
|
+
|
|
278
|
+
using FullyDifferentiableProjectionErrorFunction_p =
|
|
279
|
+
::std::shared_ptr<FullyDifferentiableProjectionErrorFunction>;
|
|
280
|
+
using FullyDifferentiableProjectionErrorFunction_u =
|
|
281
|
+
::std::unique_ptr<FullyDifferentiableProjectionErrorFunction>;
|
|
282
|
+
using FullyDifferentiableProjectionErrorFunction_w =
|
|
283
|
+
::std::weak_ptr<FullyDifferentiableProjectionErrorFunction>;
|
|
284
|
+
using FullyDifferentiableProjectionErrorFunction_const_p =
|
|
285
|
+
::std::shared_ptr<const FullyDifferentiableProjectionErrorFunction>;
|
|
286
|
+
using FullyDifferentiableProjectionErrorFunction_const_u =
|
|
287
|
+
::std::unique_ptr<const FullyDifferentiableProjectionErrorFunction>;
|
|
288
|
+
using FullyDifferentiableProjectionErrorFunction_const_w =
|
|
289
|
+
::std::weak_ptr<const FullyDifferentiableProjectionErrorFunction>;
|
|
290
|
+
|
|
291
|
+
using FullyDifferentiableProjectionErrorFunctiond_p =
|
|
292
|
+
::std::shared_ptr<FullyDifferentiableProjectionErrorFunctiond>;
|
|
293
|
+
using FullyDifferentiableProjectionErrorFunctiond_u =
|
|
294
|
+
::std::unique_ptr<FullyDifferentiableProjectionErrorFunctiond>;
|
|
295
|
+
using FullyDifferentiableProjectionErrorFunctiond_w =
|
|
296
|
+
::std::weak_ptr<FullyDifferentiableProjectionErrorFunctiond>;
|
|
297
|
+
using FullyDifferentiableProjectionErrorFunctiond_const_p =
|
|
298
|
+
::std::shared_ptr<const FullyDifferentiableProjectionErrorFunctiond>;
|
|
299
|
+
using FullyDifferentiableProjectionErrorFunctiond_const_u =
|
|
300
|
+
::std::unique_ptr<const FullyDifferentiableProjectionErrorFunctiond>;
|
|
301
|
+
using FullyDifferentiableProjectionErrorFunctiond_const_w =
|
|
302
|
+
::std::weak_ptr<const FullyDifferentiableProjectionErrorFunctiond>;
|
|
303
|
+
|
|
304
|
+
template <typename T>
|
|
305
|
+
class FullyDifferentiableSkeletonErrorFunctionT;
|
|
306
|
+
using FullyDifferentiableSkeletonErrorFunction = FullyDifferentiableSkeletonErrorFunctionT<float>;
|
|
307
|
+
using FullyDifferentiableSkeletonErrorFunctiond = FullyDifferentiableSkeletonErrorFunctionT<double>;
|
|
308
|
+
|
|
309
|
+
using FullyDifferentiableSkeletonErrorFunction_p =
|
|
310
|
+
::std::shared_ptr<FullyDifferentiableSkeletonErrorFunction>;
|
|
311
|
+
using FullyDifferentiableSkeletonErrorFunction_u =
|
|
312
|
+
::std::unique_ptr<FullyDifferentiableSkeletonErrorFunction>;
|
|
313
|
+
using FullyDifferentiableSkeletonErrorFunction_w =
|
|
314
|
+
::std::weak_ptr<FullyDifferentiableSkeletonErrorFunction>;
|
|
315
|
+
using FullyDifferentiableSkeletonErrorFunction_const_p =
|
|
316
|
+
::std::shared_ptr<const FullyDifferentiableSkeletonErrorFunction>;
|
|
317
|
+
using FullyDifferentiableSkeletonErrorFunction_const_u =
|
|
318
|
+
::std::unique_ptr<const FullyDifferentiableSkeletonErrorFunction>;
|
|
319
|
+
using FullyDifferentiableSkeletonErrorFunction_const_w =
|
|
320
|
+
::std::weak_ptr<const FullyDifferentiableSkeletonErrorFunction>;
|
|
321
|
+
|
|
322
|
+
using FullyDifferentiableSkeletonErrorFunctiond_p =
|
|
323
|
+
::std::shared_ptr<FullyDifferentiableSkeletonErrorFunctiond>;
|
|
324
|
+
using FullyDifferentiableSkeletonErrorFunctiond_u =
|
|
325
|
+
::std::unique_ptr<FullyDifferentiableSkeletonErrorFunctiond>;
|
|
326
|
+
using FullyDifferentiableSkeletonErrorFunctiond_w =
|
|
327
|
+
::std::weak_ptr<FullyDifferentiableSkeletonErrorFunctiond>;
|
|
328
|
+
using FullyDifferentiableSkeletonErrorFunctiond_const_p =
|
|
329
|
+
::std::shared_ptr<const FullyDifferentiableSkeletonErrorFunctiond>;
|
|
330
|
+
using FullyDifferentiableSkeletonErrorFunctiond_const_u =
|
|
331
|
+
::std::unique_ptr<const FullyDifferentiableSkeletonErrorFunctiond>;
|
|
332
|
+
using FullyDifferentiableSkeletonErrorFunctiond_const_w =
|
|
333
|
+
::std::weak_ptr<const FullyDifferentiableSkeletonErrorFunctiond>;
|
|
334
|
+
|
|
335
|
+
template <typename T>
|
|
336
|
+
class FullyDifferentiableStateErrorFunctionT;
|
|
337
|
+
using FullyDifferentiableStateErrorFunction = FullyDifferentiableStateErrorFunctionT<float>;
|
|
338
|
+
using FullyDifferentiableStateErrorFunctiond = FullyDifferentiableStateErrorFunctionT<double>;
|
|
339
|
+
|
|
340
|
+
using FullyDifferentiableStateErrorFunction_p =
|
|
341
|
+
::std::shared_ptr<FullyDifferentiableStateErrorFunction>;
|
|
342
|
+
using FullyDifferentiableStateErrorFunction_u =
|
|
343
|
+
::std::unique_ptr<FullyDifferentiableStateErrorFunction>;
|
|
344
|
+
using FullyDifferentiableStateErrorFunction_w =
|
|
345
|
+
::std::weak_ptr<FullyDifferentiableStateErrorFunction>;
|
|
346
|
+
using FullyDifferentiableStateErrorFunction_const_p =
|
|
347
|
+
::std::shared_ptr<const FullyDifferentiableStateErrorFunction>;
|
|
348
|
+
using FullyDifferentiableStateErrorFunction_const_u =
|
|
349
|
+
::std::unique_ptr<const FullyDifferentiableStateErrorFunction>;
|
|
350
|
+
using FullyDifferentiableStateErrorFunction_const_w =
|
|
351
|
+
::std::weak_ptr<const FullyDifferentiableStateErrorFunction>;
|
|
352
|
+
|
|
353
|
+
using FullyDifferentiableStateErrorFunctiond_p =
|
|
354
|
+
::std::shared_ptr<FullyDifferentiableStateErrorFunctiond>;
|
|
355
|
+
using FullyDifferentiableStateErrorFunctiond_u =
|
|
356
|
+
::std::unique_ptr<FullyDifferentiableStateErrorFunctiond>;
|
|
357
|
+
using FullyDifferentiableStateErrorFunctiond_w =
|
|
358
|
+
::std::weak_ptr<FullyDifferentiableStateErrorFunctiond>;
|
|
359
|
+
using FullyDifferentiableStateErrorFunctiond_const_p =
|
|
360
|
+
::std::shared_ptr<const FullyDifferentiableStateErrorFunctiond>;
|
|
361
|
+
using FullyDifferentiableStateErrorFunctiond_const_u =
|
|
362
|
+
::std::unique_ptr<const FullyDifferentiableStateErrorFunctiond>;
|
|
363
|
+
using FullyDifferentiableStateErrorFunctiond_const_w =
|
|
364
|
+
::std::weak_ptr<const FullyDifferentiableStateErrorFunctiond>;
|
|
365
|
+
|
|
366
|
+
template <typename T>
|
|
367
|
+
class UnionErrorFunctionT;
|
|
368
|
+
using UnionErrorFunction = UnionErrorFunctionT<float>;
|
|
369
|
+
using UnionErrorFunctiond = UnionErrorFunctionT<double>;
|
|
370
|
+
|
|
371
|
+
using UnionErrorFunction_p = ::std::shared_ptr<UnionErrorFunction>;
|
|
372
|
+
using UnionErrorFunction_u = ::std::unique_ptr<UnionErrorFunction>;
|
|
373
|
+
using UnionErrorFunction_w = ::std::weak_ptr<UnionErrorFunction>;
|
|
374
|
+
using UnionErrorFunction_const_p = ::std::shared_ptr<const UnionErrorFunction>;
|
|
375
|
+
using UnionErrorFunction_const_u = ::std::unique_ptr<const UnionErrorFunction>;
|
|
376
|
+
using UnionErrorFunction_const_w = ::std::weak_ptr<const UnionErrorFunction>;
|
|
377
|
+
|
|
378
|
+
using UnionErrorFunctiond_p = ::std::shared_ptr<UnionErrorFunctiond>;
|
|
379
|
+
using UnionErrorFunctiond_u = ::std::unique_ptr<UnionErrorFunctiond>;
|
|
380
|
+
using UnionErrorFunctiond_w = ::std::weak_ptr<UnionErrorFunctiond>;
|
|
381
|
+
using UnionErrorFunctiond_const_p = ::std::shared_ptr<const UnionErrorFunctiond>;
|
|
382
|
+
using UnionErrorFunctiond_const_u = ::std::unique_ptr<const UnionErrorFunctiond>;
|
|
383
|
+
using UnionErrorFunctiond_const_w = ::std::weak_ptr<const UnionErrorFunctiond>;
|
|
384
|
+
|
|
385
|
+
} // namespace momentum
|
|
@@ -0,0 +1,67 @@
|
|
|
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/character_solver/skeleton_error_function.h>
|
|
11
|
+
#include <momentum/diff_ik/fully_differentiable_skeleton_error_function.h>
|
|
12
|
+
|
|
13
|
+
#include <unordered_map>
|
|
14
|
+
|
|
15
|
+
namespace momentum {
|
|
16
|
+
|
|
17
|
+
template <typename T>
|
|
18
|
+
class UnionErrorFunctionT : public SkeletonErrorFunctionT<T>,
|
|
19
|
+
public virtual FullyDifferentiableSkeletonErrorFunctionT<T> {
|
|
20
|
+
public:
|
|
21
|
+
UnionErrorFunctionT(
|
|
22
|
+
const Skeleton& skel,
|
|
23
|
+
const ParameterTransform& pt,
|
|
24
|
+
const std::vector<std::shared_ptr<SkeletonErrorFunctionT<T>>>& errorFunctions);
|
|
25
|
+
|
|
26
|
+
[[nodiscard]] double getError(
|
|
27
|
+
const ModelParametersT<T>& params,
|
|
28
|
+
const SkeletonStateT<T>& state,
|
|
29
|
+
const MeshStateT<T>& meshState) final;
|
|
30
|
+
double getGradient(
|
|
31
|
+
const ModelParametersT<T>& params,
|
|
32
|
+
const SkeletonStateT<T>& state,
|
|
33
|
+
const MeshStateT<T>& meshState,
|
|
34
|
+
Eigen::Ref<Eigen::VectorX<T>> gradient) final;
|
|
35
|
+
double getJacobian(
|
|
36
|
+
const ModelParametersT<T>& params,
|
|
37
|
+
const SkeletonStateT<T>& state,
|
|
38
|
+
const MeshStateT<T>& meshState,
|
|
39
|
+
Eigen::Ref<Eigen::MatrixX<T>> jacobian,
|
|
40
|
+
Eigen::Ref<Eigen::VectorX<T>> residual,
|
|
41
|
+
int& usedRows) final;
|
|
42
|
+
[[nodiscard]] size_t getJacobianSize() const final;
|
|
43
|
+
|
|
44
|
+
std::vector<std::string> inputs() const override;
|
|
45
|
+
void getInputImp(const std::string& name, Eigen::Ref<Eigen::VectorX<T>> result) const override;
|
|
46
|
+
void setInputImp(const std::string& name, Eigen::Ref<const Eigen::VectorX<T>> value) override;
|
|
47
|
+
Eigen::Index getInputSize(const std::string& name) const override;
|
|
48
|
+
const char* name() const override {
|
|
49
|
+
return name_.c_str();
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
Eigen::VectorX<T> d_gradient_d_input_dot(
|
|
53
|
+
const std::string& inputName,
|
|
54
|
+
const ModelParametersT<T>& modelParams,
|
|
55
|
+
const SkeletonStateT<T>& state,
|
|
56
|
+
Eigen::Ref<const Eigen::VectorX<T>> inputVec) override;
|
|
57
|
+
|
|
58
|
+
private:
|
|
59
|
+
std::vector<std::shared_ptr<SkeletonErrorFunctionT<T>>> errorFunctions_;
|
|
60
|
+
std::vector<std::shared_ptr<FullyDifferentiableSkeletonErrorFunctionT<T>>> diffErrorFunctions_;
|
|
61
|
+
std::string name_;
|
|
62
|
+
|
|
63
|
+
// For each input, which error functions support that input
|
|
64
|
+
std::unordered_map<std::string, std::vector<size_t>> inputs_;
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
} // namespace momentum
|
|
@@ -0,0 +1,70 @@
|
|
|
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 <rerun.hpp>
|
|
11
|
+
#include <Eigen/Core>
|
|
12
|
+
|
|
13
|
+
#include <algorithm>
|
|
14
|
+
#include <cstring>
|
|
15
|
+
#include <vector>
|
|
16
|
+
|
|
17
|
+
namespace rerun {
|
|
18
|
+
|
|
19
|
+
// Rerun Adapter for Eigen::Vector3<T>
|
|
20
|
+
template <typename TElement, typename T>
|
|
21
|
+
struct CollectionAdapter<TElement, std::vector<Eigen::Vector3<T>>> {
|
|
22
|
+
/// Borrow for non-temporary.
|
|
23
|
+
Collection<TElement> operator()(const std::vector<Eigen::Vector3<T>>& container) {
|
|
24
|
+
return Collection<TElement>::borrow(container.data(), container.size());
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// Do a full copy for temporaries (otherwise the data might be deleted when the temporary is
|
|
28
|
+
// destroyed).
|
|
29
|
+
Collection<TElement> operator()(std::vector<Eigen::Vector3<T>>&& container) {
|
|
30
|
+
std::vector<TElement> positions(container.size());
|
|
31
|
+
std::memcpy(positions.data(), container.data(), container.size() * sizeof(Eigen::Vector3<T>));
|
|
32
|
+
return Collection<TElement>::take_ownership(std::move(positions));
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
// Rerun Adapter for Eigen::Vector4<T>
|
|
37
|
+
template <typename TElement, typename T>
|
|
38
|
+
struct CollectionAdapter<TElement, std::vector<Eigen::Vector4<T>>> {
|
|
39
|
+
/// Borrow for non-temporary.
|
|
40
|
+
Collection<TElement> operator()(const std::vector<Eigen::Vector4<T>>& container) {
|
|
41
|
+
return Collection<TElement>::borrow(container.data(), container.size());
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// Do a full copy for temporaries (otherwise the data might be deleted when the temporary is
|
|
45
|
+
// destroyed).
|
|
46
|
+
Collection<TElement> operator()(std::vector<Eigen::Vector4<T>>&& container) {
|
|
47
|
+
std::vector<TElement> positions(container.size());
|
|
48
|
+
std::memcpy(positions.data(), container.data(), container.size() * sizeof(Eigen::Vector4<T>));
|
|
49
|
+
return Collection<TElement>::take_ownership(std::move(positions));
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
// Adapter for converting a vector of Eigen::Vector3b to a vector of rerun::Color
|
|
54
|
+
template <>
|
|
55
|
+
struct CollectionAdapter<Color, std::vector<Eigen::Vector3<uint8_t>>> {
|
|
56
|
+
Collection<Color> operator()(const std::vector<Eigen::Vector3<uint8_t>>& container) {
|
|
57
|
+
std::vector<rerun::Color> colors;
|
|
58
|
+
colors.reserve(container.size());
|
|
59
|
+
std::transform(
|
|
60
|
+
container.cbegin(),
|
|
61
|
+
container.cend(),
|
|
62
|
+
std::back_inserter(colors),
|
|
63
|
+
[](const Eigen::Vector3<uint8_t>& vertexColor) {
|
|
64
|
+
return rerun::Color(vertexColor[0], vertexColor[1], vertexColor[2]);
|
|
65
|
+
});
|
|
66
|
+
return Collection<Color>::take_ownership(std::move(colors));
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
} // namespace rerun
|
|
@@ -0,0 +1,102 @@
|
|
|
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/character/character.h>
|
|
11
|
+
#include <momentum/character/fwd.h>
|
|
12
|
+
#include <momentum/character/locator.h>
|
|
13
|
+
#include <momentum/character/locator_state.h>
|
|
14
|
+
#include <momentum/character/marker.h>
|
|
15
|
+
|
|
16
|
+
#include <rerun.hpp>
|
|
17
|
+
|
|
18
|
+
#include <map>
|
|
19
|
+
#include <string>
|
|
20
|
+
|
|
21
|
+
namespace momentum {
|
|
22
|
+
|
|
23
|
+
/// @param[in] (Optional) The color to use for the mesh. If not provided, the colors stored in the
|
|
24
|
+
/// mesh are used.
|
|
25
|
+
void logMesh(
|
|
26
|
+
const rerun::RecordingStream& rec,
|
|
27
|
+
const std::string& streamName,
|
|
28
|
+
const Mesh& mesh,
|
|
29
|
+
std::optional<rerun::Color> color = std::nullopt);
|
|
30
|
+
|
|
31
|
+
void logJoints(
|
|
32
|
+
const rerun::RecordingStream& rec,
|
|
33
|
+
const std::string& streamName,
|
|
34
|
+
const Skeleton& skeleton,
|
|
35
|
+
const JointStateList& jointStates);
|
|
36
|
+
|
|
37
|
+
void logMarkers(
|
|
38
|
+
const rerun::RecordingStream& rec,
|
|
39
|
+
const std::string& streamName,
|
|
40
|
+
gsl::span<const Marker> markers);
|
|
41
|
+
|
|
42
|
+
void logLocators(
|
|
43
|
+
const rerun::RecordingStream& rec,
|
|
44
|
+
const std::string& streamName,
|
|
45
|
+
const LocatorList& locators,
|
|
46
|
+
const LocatorState& locatorState);
|
|
47
|
+
|
|
48
|
+
void logMarkerLocatorCorrespondence(
|
|
49
|
+
const rerun::RecordingStream& rec,
|
|
50
|
+
const std::string& streamName,
|
|
51
|
+
const std::map<std::string, size_t>& locatorLookup,
|
|
52
|
+
const LocatorState& locatorState,
|
|
53
|
+
gsl::span<const Marker> markers,
|
|
54
|
+
float kPositionErrorThreshold);
|
|
55
|
+
|
|
56
|
+
void logBvh(
|
|
57
|
+
const rerun::RecordingStream& rec,
|
|
58
|
+
const std::string& streamName,
|
|
59
|
+
const CollisionGeometry& collisionGeometry,
|
|
60
|
+
const SkeletonState& skeletonState);
|
|
61
|
+
|
|
62
|
+
void logCollisionGeometry(
|
|
63
|
+
const rerun::RecordingStream& rec,
|
|
64
|
+
const std::string& streamName,
|
|
65
|
+
const CollisionGeometry& collisionGeometry,
|
|
66
|
+
const SkeletonState& skeletonState);
|
|
67
|
+
|
|
68
|
+
void logCharacter(
|
|
69
|
+
const rerun::RecordingStream& rec,
|
|
70
|
+
const std::string& charStreamName,
|
|
71
|
+
const Character& character,
|
|
72
|
+
const CharacterState& characterState,
|
|
73
|
+
const rerun::Color& color = rerun::Color(200, 200, 200));
|
|
74
|
+
|
|
75
|
+
// Separate logs for world parameters vs pose parameters because they are in different scale
|
|
76
|
+
void logModelParams(
|
|
77
|
+
const rerun::RecordingStream& rec,
|
|
78
|
+
const std::string& worldPrefix,
|
|
79
|
+
const std::string& posePrefix,
|
|
80
|
+
gsl::span<const std::string> names,
|
|
81
|
+
const Eigen::VectorXf& params);
|
|
82
|
+
|
|
83
|
+
void logJointParams(
|
|
84
|
+
const rerun::RecordingStream& rec,
|
|
85
|
+
const std::string& worldPrefix,
|
|
86
|
+
const std::string& posePrefix,
|
|
87
|
+
gsl::span<const std::string> names,
|
|
88
|
+
const Eigen::VectorXf& params);
|
|
89
|
+
|
|
90
|
+
void logModelParamNames(
|
|
91
|
+
const rerun::RecordingStream& rec,
|
|
92
|
+
const std::string& worldPrefix,
|
|
93
|
+
const std::string& posePrefix,
|
|
94
|
+
gsl::span<const std::string> names);
|
|
95
|
+
|
|
96
|
+
void logJointParamNames(
|
|
97
|
+
const rerun::RecordingStream& rec,
|
|
98
|
+
const std::string& worldPrefix,
|
|
99
|
+
const std::string& posePrefix,
|
|
100
|
+
gsl::span<const std::string> names);
|
|
101
|
+
|
|
102
|
+
} // namespace momentum
|
|
@@ -0,0 +1,27 @@
|
|
|
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 <rerun.hpp>
|
|
11
|
+
|
|
12
|
+
#include <string>
|
|
13
|
+
|
|
14
|
+
namespace momentum {
|
|
15
|
+
|
|
16
|
+
/// Redirects logs from the XR_LOG framework to the Rerun logger.
|
|
17
|
+
///
|
|
18
|
+
/// This function registers a custom log sink for the XR_LOG framework, redirecting its log messages
|
|
19
|
+
/// to the Rerun logger. The redirection is only performed once, and subsequent calls to this
|
|
20
|
+
/// function have no effect.
|
|
21
|
+
///
|
|
22
|
+
/// @param[in] rec The recording stream to which to write the logs. You should make sure the
|
|
23
|
+
/// lifetime of this is longer than the loggings from momentum libraries.
|
|
24
|
+
/// @return Returns true if the redirection is successful or has already been done.
|
|
25
|
+
bool redirectLogsToRerun(const rerun::RecordingStream& rec);
|
|
26
|
+
|
|
27
|
+
} // namespace momentum
|