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,30 @@
|
|
|
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/marker.h>
|
|
11
|
+
#include <momentum/io/marker/coordinate_system.h>
|
|
12
|
+
|
|
13
|
+
namespace momentum {
|
|
14
|
+
|
|
15
|
+
/// Loads all the subjects from a C3D file into a vector of MarkerSequences.
|
|
16
|
+
///
|
|
17
|
+
/// The function reads the given C3D file and stores the marker data as a MarkerSequence. The unit
|
|
18
|
+
/// of the input file will be read from the file and converted to the momentum unit (i.e., cm). The
|
|
19
|
+
/// UpVector parameter 'up' is the up-vector convention of the input marker file.
|
|
20
|
+
///
|
|
21
|
+
/// @param[in] filename The C3D file to load marker data from.
|
|
22
|
+
/// @param[in] up (Optional) The up-vector convention of the input marker file (default:
|
|
23
|
+
/// UpVector::Y).
|
|
24
|
+
/// @return std::vector<MarkerSequence> A vector containing the marker sequences from the C3D file.
|
|
25
|
+
[[nodiscard]] std::vector<MarkerSequence> loadC3d(
|
|
26
|
+
const std::string& filename,
|
|
27
|
+
UpVector up = UpVector::Y,
|
|
28
|
+
std::span<const std::string> validMarkerNames = {});
|
|
29
|
+
|
|
30
|
+
} // namespace momentum
|
|
@@ -0,0 +1,57 @@
|
|
|
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/io/marker/coordinate_system.h>
|
|
11
|
+
#include <momentum/math/types.h>
|
|
12
|
+
|
|
13
|
+
namespace momentum {
|
|
14
|
+
|
|
15
|
+
/// @brief This function converts a 3D vector in the mocap marker coordinate system to the Momentum
|
|
16
|
+
/// coordinate system.
|
|
17
|
+
///
|
|
18
|
+
/// The mocap marker coordinate system uses a spatial index with a specified up-axis (default Z),
|
|
19
|
+
/// right-handedness, and units specified in the 'unit' parameter (default millimeters). The
|
|
20
|
+
/// Momentum coordinate system uses a spatial index with Y as the up-axis, right-handedness, and
|
|
21
|
+
/// units in centimeters.
|
|
22
|
+
///
|
|
23
|
+
/// @tparam T The numeric type of the input and output 3D vectors.
|
|
24
|
+
/// @param[in] vec The 3D vector in the mocap marker coordinate system to be converted.
|
|
25
|
+
/// @param[in] up (Optional) The up-axis convention of the input marker coordinate system (default:
|
|
26
|
+
/// UpVector::Z).
|
|
27
|
+
/// @param[in] unit (Optional) The units of measurement used in the input marker coordinate system
|
|
28
|
+
/// (default: Unit::MM).
|
|
29
|
+
/// @returns A 3D vector in the Momentum coordinate system.
|
|
30
|
+
///
|
|
31
|
+
/// @note This conversion has only been tested for TRC and C3D formats.
|
|
32
|
+
template <typename T>
|
|
33
|
+
[[nodiscard]] Vector3<T>
|
|
34
|
+
toMomentumVector3(const Vector3<T>& vec, UpVector up = UpVector::Z, Unit unit = Unit::MM);
|
|
35
|
+
|
|
36
|
+
/// @brief This function converts a 3D vector in the mocap marker coordinate system to the Momentum
|
|
37
|
+
/// coordinate system, using a string to specify the unit.
|
|
38
|
+
///
|
|
39
|
+
/// The mocap marker coordinate system uses a spatial index with a specified up-axis (default Z),
|
|
40
|
+
/// right-handedness, and units specified in the 'unitStr' parameter (e.g., "m", "cm", "mm"). The
|
|
41
|
+
/// Momentum coordinate system uses a spatial index with Y as the up-axis, right-handedness, and
|
|
42
|
+
/// units in centimeters.
|
|
43
|
+
///
|
|
44
|
+
/// @tparam T The numeric type of the input and output 3D vectors.
|
|
45
|
+
/// @param[in] vec The 3D vector in the mocap marker coordinate system to be converted.
|
|
46
|
+
/// @param[in] up (Optional) The up-axis convention of the input marker coordinate system (default:
|
|
47
|
+
/// UpVector::Z).
|
|
48
|
+
/// @param[in] unitStr The string representation of the units of measurement used in the input
|
|
49
|
+
/// marker coordinate system.
|
|
50
|
+
/// @returns A 3D vector in the Momentum coordinate system.
|
|
51
|
+
///
|
|
52
|
+
/// @note This conversion has only been tested for TRC and C3D formats.
|
|
53
|
+
template <typename T>
|
|
54
|
+
[[nodiscard]] Vector3<T>
|
|
55
|
+
toMomentumVector3(const Vector3<T>& vec, UpVector up, const std::string& unitStr);
|
|
56
|
+
|
|
57
|
+
} // namespace momentum
|
|
@@ -0,0 +1,30 @@
|
|
|
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
|
+
namespace momentum {
|
|
11
|
+
|
|
12
|
+
/// This enumeration is used to define the primary up vector directions for various coordinate
|
|
13
|
+
/// systems and orientations in a 3D environment.
|
|
14
|
+
enum class UpVector {
|
|
15
|
+
X = 0, ///< X-axis up vector
|
|
16
|
+
Y, ///< Y-axis up vector
|
|
17
|
+
Z, ///< Z-axis up vector
|
|
18
|
+
YNeg, ///< Negative Y-axis up vector
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
/// An enumeration representing the units of measurement used in marker data files.
|
|
22
|
+
enum class Unit {
|
|
23
|
+
M, ///< Meters
|
|
24
|
+
DM, ///< Decimeter
|
|
25
|
+
CM, ///< Centimeters
|
|
26
|
+
MM, ///< Millimeters
|
|
27
|
+
Unknown, ///< Unknown unit of measurement
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
} // namespace momentum
|
|
@@ -0,0 +1,56 @@
|
|
|
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/marker.h>
|
|
11
|
+
#include <momentum/io/marker/coordinate_system.h>
|
|
12
|
+
|
|
13
|
+
#include <optional>
|
|
14
|
+
#include <vector>
|
|
15
|
+
|
|
16
|
+
namespace momentum {
|
|
17
|
+
|
|
18
|
+
/// Loads all actor sequences from a marker file (c3d, trc, glb) and converts the positions
|
|
19
|
+
/// to the target coordinate system. Default target coordinate system is: (Y-up, right-handed,
|
|
20
|
+
/// centimeter units).
|
|
21
|
+
///
|
|
22
|
+
/// @param[in] filename The marker file to load data from.
|
|
23
|
+
/// @param[in] up (Optional) The up-vector convention of the input marker file (default:
|
|
24
|
+
/// UpVector::Y).
|
|
25
|
+
/// @return std::vector<MarkerSequence> A vector of MarkerSequences containing the marker data from
|
|
26
|
+
/// the file.
|
|
27
|
+
[[nodiscard]] std::vector<MarkerSequence> loadMarkers(
|
|
28
|
+
const std::string& filename,
|
|
29
|
+
UpVector up = UpVector::Y,
|
|
30
|
+
std::span<const std::string> validMarkerNames = {});
|
|
31
|
+
|
|
32
|
+
/// Loads the main subject's marker data from a marker file (c3d, trc, glb) and converts the
|
|
33
|
+
/// positions to the target coordinate system. Default target coordinate system is: (Y-up,
|
|
34
|
+
/// right-handed, centimeter units). The main subject is determined as the one with the most number
|
|
35
|
+
/// of visible markers in the first frame.
|
|
36
|
+
///
|
|
37
|
+
/// @param[in] filename The marker file to load data from.
|
|
38
|
+
/// @param[in] up (Optional) The up-vector convention of the input marker file (default:
|
|
39
|
+
/// UpVector::Y).
|
|
40
|
+
/// @return std::optional<MarkerSequence> A MarkerSequence containing the main subject's marker
|
|
41
|
+
/// data, or an empty optional if no main subject is found.
|
|
42
|
+
[[nodiscard]] std::optional<MarkerSequence> loadMarkersForMainSubject(
|
|
43
|
+
const std::string& filename,
|
|
44
|
+
UpVector up = UpVector::Y,
|
|
45
|
+
std::span<const std::string> validMarkerNames = {});
|
|
46
|
+
|
|
47
|
+
/// Finds the "main subject" from a vector of MarkerSequences. The main subject is currently defined
|
|
48
|
+
/// as a named actor with the maximum number of visible markers in the sequence.
|
|
49
|
+
///
|
|
50
|
+
/// @param[in] markerSequences A vector of MarkerSequences to search for the main subject.
|
|
51
|
+
/// @return int The main subject's index in the input vector. If no main subject found, -1 is
|
|
52
|
+
/// returned.
|
|
53
|
+
/// @note This function is exposed mainly for unit tests.
|
|
54
|
+
[[nodiscard]] int findMainSubjectIndex(gsl::span<const MarkerSequence> markerSequences);
|
|
55
|
+
|
|
56
|
+
} // 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 <momentum/character/marker.h>
|
|
11
|
+
#include <momentum/io/marker/coordinate_system.h>
|
|
12
|
+
|
|
13
|
+
namespace momentum {
|
|
14
|
+
|
|
15
|
+
/// Loads marker data from a TRC file into a MarkerSequence.
|
|
16
|
+
///
|
|
17
|
+
/// The function reads the given TRC file and stores the marker data as a MarkerSequence. The unit
|
|
18
|
+
/// of the input file will be read from the file and converted to the momentum unit (i.e., cm). The
|
|
19
|
+
/// UpVector parameter 'up' is the up-vector convention of the input marker file.
|
|
20
|
+
///
|
|
21
|
+
/// @param[in] filename The TRC file to load marker data from.
|
|
22
|
+
/// @param[in] up (Optional) The up-vector convention of the input marker file (default:
|
|
23
|
+
/// UpVector::Y).
|
|
24
|
+
/// @return MarkerSequence A MarkerSequence containing the marker data from the TRC file.
|
|
25
|
+
[[nodiscard]] MarkerSequence loadTrc(const std::string& filename, UpVector up = UpVector::Y);
|
|
26
|
+
|
|
27
|
+
} // namespace momentum
|
|
@@ -0,0 +1,97 @@
|
|
|
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/fwd.h>
|
|
11
|
+
#include <momentum/math/types.h>
|
|
12
|
+
|
|
13
|
+
namespace momentum {
|
|
14
|
+
|
|
15
|
+
/// Save motion data using character parameter mapping
|
|
16
|
+
///
|
|
17
|
+
/// @param filename Output file path
|
|
18
|
+
/// @param poses Motion poses as span of vectors, each vector represents one frame
|
|
19
|
+
/// @param scale Joint scale parameters
|
|
20
|
+
/// @param character Character definition for parameter mapping
|
|
21
|
+
void saveMmo(
|
|
22
|
+
const std::string& filename,
|
|
23
|
+
gsl::span<const VectorXf> poses,
|
|
24
|
+
const VectorXf& scale,
|
|
25
|
+
const Character& character);
|
|
26
|
+
|
|
27
|
+
/// Save motion data with optional additional parameters
|
|
28
|
+
///
|
|
29
|
+
/// @param filename Output file path
|
|
30
|
+
/// @param poses Motion poses matrix (parameters x frames)
|
|
31
|
+
/// @param scale Joint scale parameters
|
|
32
|
+
/// @param character Character definition for parameter mapping
|
|
33
|
+
/// @param additionalParameters Extra parameters to store alongside poses
|
|
34
|
+
/// @param additionalParameterNames Names for additional parameters
|
|
35
|
+
void saveMmo(
|
|
36
|
+
const std::string& filename,
|
|
37
|
+
const MatrixXf& poses,
|
|
38
|
+
const VectorXf& scale,
|
|
39
|
+
const Character& character,
|
|
40
|
+
const MatrixXf& additionalParameters = MatrixXf(),
|
|
41
|
+
gsl::span<const std::string> additionalParameterNames = std::vector<std::string>());
|
|
42
|
+
|
|
43
|
+
/// Save motion data with explicit parameter and joint names
|
|
44
|
+
///
|
|
45
|
+
/// @param filename Output file path
|
|
46
|
+
/// @param poses Motion poses matrix (parameters x frames)
|
|
47
|
+
/// @param scale Joint scale parameters
|
|
48
|
+
/// @param parameterNames Names of motion parameters
|
|
49
|
+
/// @param jointNames Names of skeleton joints
|
|
50
|
+
void saveMmo(
|
|
51
|
+
const std::string& filename,
|
|
52
|
+
const MatrixXf& poses,
|
|
53
|
+
const VectorXf& scale,
|
|
54
|
+
gsl::span<const std::string> parameterNames,
|
|
55
|
+
gsl::span<const std::string> jointNames);
|
|
56
|
+
|
|
57
|
+
/// Load motion data from file
|
|
58
|
+
///
|
|
59
|
+
/// @param filename Input file path
|
|
60
|
+
/// @return Tuple of (poses, scale, parameter names, joint names)
|
|
61
|
+
std::tuple<MatrixXf, VectorXf, std::vector<std::string>, std::vector<std::string>> loadMmo(
|
|
62
|
+
const std::string& filename);
|
|
63
|
+
|
|
64
|
+
/// Load motion data and map to character parameter space
|
|
65
|
+
///
|
|
66
|
+
/// @param filename Input file path
|
|
67
|
+
/// @param character Target character for parameter mapping
|
|
68
|
+
/// @return Tuple of (mapped poses, mapped scale)
|
|
69
|
+
std::tuple<MatrixXf, VectorXf> loadMmo(const std::string& filename, const Character& character);
|
|
70
|
+
|
|
71
|
+
/// Extract auxiliary data from motion parameters
|
|
72
|
+
///
|
|
73
|
+
/// Auxiliary parameters are identified by names wrapped with double underscores (e.g., "__param__")
|
|
74
|
+
///
|
|
75
|
+
/// @param poses Motion poses matrix
|
|
76
|
+
/// @param parameterNames Names of all parameters
|
|
77
|
+
/// @return Tuple of (auxiliary data matrix, auxiliary parameter names without underscores)
|
|
78
|
+
std::tuple<MatrixXf, std::vector<std::string>> getAuxiliaryDataFromMotion(
|
|
79
|
+
const MatrixXf& poses,
|
|
80
|
+
gsl::span<const std::string> parameterNames);
|
|
81
|
+
|
|
82
|
+
/// Map motion data from one parameter space to character parameter space
|
|
83
|
+
///
|
|
84
|
+
/// @param poses Source motion poses
|
|
85
|
+
/// @param offsets Source joint offsets
|
|
86
|
+
/// @param parameterNames Source parameter names
|
|
87
|
+
/// @param jointNames Source joint names
|
|
88
|
+
/// @param character Target character definition
|
|
89
|
+
/// @return Tuple of (mapped poses, mapped offsets)
|
|
90
|
+
std::tuple<MatrixXf, VectorXf> mapMotionToCharacter(
|
|
91
|
+
const MatrixXf& poses,
|
|
92
|
+
const VectorXf& offsets,
|
|
93
|
+
gsl::span<const std::string> parameterNames,
|
|
94
|
+
gsl::span<const std::string> jointNames,
|
|
95
|
+
const Character& character);
|
|
96
|
+
|
|
97
|
+
} // 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 <momentum/character/blend_shape.h>
|
|
11
|
+
#include <momentum/common/filesystem.h>
|
|
12
|
+
|
|
13
|
+
#include <iosfwd>
|
|
14
|
+
|
|
15
|
+
namespace momentum {
|
|
16
|
+
|
|
17
|
+
/// Loads blend shape vectors from a file without base shape.
|
|
18
|
+
///
|
|
19
|
+
/// @param filename Path to the blend shape base data file
|
|
20
|
+
/// @param expectedShapes Limits number of shape vectors loaded if > 0, otherwise loads all
|
|
21
|
+
/// @param expectedVertices Limits number of vertices loaded if > 0, otherwise loads all
|
|
22
|
+
/// @return BlendShapeBase object with loaded shape vectors
|
|
23
|
+
BlendShapeBase loadBlendShapeBase(
|
|
24
|
+
const filesystem::path& filename,
|
|
25
|
+
int expectedShapes = -1,
|
|
26
|
+
int expectedVertices = -1);
|
|
27
|
+
|
|
28
|
+
/// Loads blend shape vectors from a stream without base shape.
|
|
29
|
+
///
|
|
30
|
+
/// @param data Input stream containing blend shape base data
|
|
31
|
+
/// @param expectedShapes Limits number of shape vectors loaded if > 0, otherwise loads all
|
|
32
|
+
/// @param expectedVertices Limits number of vertices loaded if > 0, otherwise loads all
|
|
33
|
+
/// @return BlendShapeBase object with loaded shape vectors
|
|
34
|
+
BlendShapeBase
|
|
35
|
+
loadBlendShapeBase(std::istream& data, int expectedShapes = -1, int expectedVertices = -1);
|
|
36
|
+
|
|
37
|
+
/// Loads a blend shape from a file, including base shape and shape vectors.
|
|
38
|
+
///
|
|
39
|
+
/// @param filename Path to the blend shape data file
|
|
40
|
+
/// @param expectedShapes Limits number of shape vectors loaded if > 0, otherwise loads all
|
|
41
|
+
/// @param expectedVertices Limits number of vertices loaded if > 0, otherwise loads all
|
|
42
|
+
/// @return BlendShape object with loaded data
|
|
43
|
+
///
|
|
44
|
+
/// @note Only supports local files. For non-local paths, use the stream version.
|
|
45
|
+
BlendShape loadBlendShape(
|
|
46
|
+
const filesystem::path& filename,
|
|
47
|
+
int expectedShapes = -1,
|
|
48
|
+
int expectedVertices = -1);
|
|
49
|
+
|
|
50
|
+
/// Loads a blend shape from a stream, including base shape and shape vectors.
|
|
51
|
+
///
|
|
52
|
+
/// @param data Input stream containing blend shape data
|
|
53
|
+
/// @param expectedShapes Limits number of shape vectors loaded if > 0, otherwise loads all
|
|
54
|
+
/// @param expectedVertices Limits number of vertices loaded if > 0, otherwise loads all
|
|
55
|
+
/// @return BlendShape object with loaded data
|
|
56
|
+
BlendShape loadBlendShape(std::istream& data, int expectedShapes = -1, int expectedVertices = -1);
|
|
57
|
+
|
|
58
|
+
/// Saves a blend shape to a file.
|
|
59
|
+
///
|
|
60
|
+
/// @param filename Output file path for the blend shape data
|
|
61
|
+
/// @param blendShape BlendShape object to save
|
|
62
|
+
void saveBlendShape(const filesystem::path& filename, const BlendShape& blendShape);
|
|
63
|
+
|
|
64
|
+
/// Saves a blend shape to a stream.
|
|
65
|
+
///
|
|
66
|
+
/// @param os Output stream to write blend shape data
|
|
67
|
+
/// @param blendShape BlendShape object to save
|
|
68
|
+
void saveBlendShape(std::ostream& os, const BlendShape& blendShape);
|
|
69
|
+
|
|
70
|
+
} // namespace momentum
|
|
@@ -0,0 +1,21 @@
|
|
|
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/pose_shape.h>
|
|
11
|
+
|
|
12
|
+
namespace momentum {
|
|
13
|
+
|
|
14
|
+
/// Loads pose shape data from a binary file.
|
|
15
|
+
///
|
|
16
|
+
/// @param filename Path to the pose shape data file
|
|
17
|
+
/// @param character Character containing skeleton and mesh for validation and joint mapping
|
|
18
|
+
/// @return PoseShape with loaded data, or empty PoseShape if file cannot be opened
|
|
19
|
+
PoseShape loadPoseShape(const std::string& filename, const Character& character);
|
|
20
|
+
|
|
21
|
+
} // namespace momentum
|
|
@@ -0,0 +1,41 @@
|
|
|
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/fwd.h>
|
|
11
|
+
#include <momentum/character/locator.h>
|
|
12
|
+
|
|
13
|
+
#include <momentum/common/filesystem.h>
|
|
14
|
+
#include <gsl/span>
|
|
15
|
+
|
|
16
|
+
namespace momentum {
|
|
17
|
+
|
|
18
|
+
enum class LocatorSpace {
|
|
19
|
+
Local = 0, // local offset in the joint space; useful for transferring locators from one model to
|
|
20
|
+
// another.
|
|
21
|
+
Global = 1, // global offset in the character's space; useful for authoring in Maya/Blender
|
|
22
|
+
// without parenting the locators.
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
LocatorList loadLocators(
|
|
26
|
+
const filesystem::path& filename,
|
|
27
|
+
const Skeleton& skeleton,
|
|
28
|
+
const ParameterTransform& parameterTransform);
|
|
29
|
+
|
|
30
|
+
LocatorList loadLocatorsFromBuffer(
|
|
31
|
+
gsl::span<const std::byte> rawData,
|
|
32
|
+
const Skeleton& skeleton,
|
|
33
|
+
const ParameterTransform& parameterTransform);
|
|
34
|
+
|
|
35
|
+
void saveLocators(
|
|
36
|
+
const filesystem::path& filename,
|
|
37
|
+
const LocatorList& locators,
|
|
38
|
+
const Skeleton& skeleton,
|
|
39
|
+
LocatorSpace space = LocatorSpace::Global);
|
|
40
|
+
|
|
41
|
+
} // namespace momentum
|
|
@@ -0,0 +1,26 @@
|
|
|
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/math/fwd.h>
|
|
11
|
+
|
|
12
|
+
#include <gsl/span>
|
|
13
|
+
|
|
14
|
+
#include <istream>
|
|
15
|
+
|
|
16
|
+
namespace momentum {
|
|
17
|
+
|
|
18
|
+
std::shared_ptr<const Mppca> loadMppca(std::istream& inputStream);
|
|
19
|
+
|
|
20
|
+
std::shared_ptr<const Mppca> loadMppca(const std::string& name);
|
|
21
|
+
|
|
22
|
+
std::shared_ptr<const Mppca> loadMppca(gsl::span<const unsigned char> posePriorDataRaw);
|
|
23
|
+
|
|
24
|
+
void saveMppca(const Mppca& mppca, const std::string& name);
|
|
25
|
+
|
|
26
|
+
} // namespace momentum
|
|
@@ -0,0 +1,25 @@
|
|
|
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/fwd.h>
|
|
11
|
+
#include <momentum/character/parameter_limits.h>
|
|
12
|
+
|
|
13
|
+
namespace momentum {
|
|
14
|
+
|
|
15
|
+
ParameterLimits parseParameterLimits(
|
|
16
|
+
const std::string& data,
|
|
17
|
+
const Skeleton& skeleton,
|
|
18
|
+
const ParameterTransform& parameterTransform);
|
|
19
|
+
|
|
20
|
+
std::string writeParameterLimits(
|
|
21
|
+
const ParameterLimits& parameterLimits,
|
|
22
|
+
const Skeleton& skeleton,
|
|
23
|
+
const ParameterTransform& parameterTransform);
|
|
24
|
+
|
|
25
|
+
} // namespace momentum
|
|
@@ -0,0 +1,41 @@
|
|
|
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/parameter_limits.h>
|
|
11
|
+
#include <momentum/character/parameter_transform.h>
|
|
12
|
+
#include <momentum/common/filesystem.h>
|
|
13
|
+
|
|
14
|
+
#include <gsl/span>
|
|
15
|
+
|
|
16
|
+
#include <string>
|
|
17
|
+
#include <unordered_map>
|
|
18
|
+
|
|
19
|
+
namespace momentum {
|
|
20
|
+
|
|
21
|
+
std::unordered_map<std::string, std::string> loadMomentumModel(const filesystem::path& filename);
|
|
22
|
+
|
|
23
|
+
std::unordered_map<std::string, std::string> loadMomentumModelFromBuffer(
|
|
24
|
+
gsl::span<const std::byte> buffer);
|
|
25
|
+
|
|
26
|
+
ParameterTransform parseParameterTransform(const std::string& data, const Skeleton& skeleton);
|
|
27
|
+
|
|
28
|
+
ParameterSets parseParameterSets(const std::string& data, const ParameterTransform& pt);
|
|
29
|
+
|
|
30
|
+
PoseConstraints parsePoseConstraints(const std::string& data, const ParameterTransform& pt);
|
|
31
|
+
|
|
32
|
+
// load transform definition from file
|
|
33
|
+
std::tuple<ParameterTransform, ParameterLimits> loadModelDefinition(
|
|
34
|
+
const filesystem::path& filename,
|
|
35
|
+
const Skeleton& skeleton);
|
|
36
|
+
|
|
37
|
+
std::tuple<ParameterTransform, ParameterLimits> loadModelDefinition(
|
|
38
|
+
gsl::span<const std::byte> rawData,
|
|
39
|
+
const Skeleton& skeleton);
|
|
40
|
+
|
|
41
|
+
} // namespace momentum
|
|
@@ -0,0 +1,20 @@
|
|
|
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/fwd.h>
|
|
11
|
+
|
|
12
|
+
#include <string>
|
|
13
|
+
#include <unordered_map>
|
|
14
|
+
|
|
15
|
+
namespace momentum {
|
|
16
|
+
|
|
17
|
+
// Load the input parameters onto the character
|
|
18
|
+
void loadParameters(std::unordered_map<std::string, std::string>& param, Character& character);
|
|
19
|
+
|
|
20
|
+
} // namespace momentum
|
|
@@ -0,0 +1,26 @@
|
|
|
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/common/filesystem.h>
|
|
12
|
+
#include <momentum/math/types.h>
|
|
13
|
+
|
|
14
|
+
#include <gsl/span>
|
|
15
|
+
|
|
16
|
+
namespace momentum {
|
|
17
|
+
|
|
18
|
+
/// Loads a character from a URDF file.
|
|
19
|
+
template <typename T = float>
|
|
20
|
+
[[nodiscard]] CharacterT<T> loadUrdfCharacter(const filesystem::path& filepath);
|
|
21
|
+
|
|
22
|
+
/// Loads a character from a URDF file using the provided byte data.
|
|
23
|
+
template <typename T = float>
|
|
24
|
+
[[nodiscard]] CharacterT<T> loadUrdfCharacter(gsl::span<const std::byte> bytes);
|
|
25
|
+
|
|
26
|
+
} // namespace momentum
|
|
@@ -0,0 +1,36 @@
|
|
|
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/fwd.h>
|
|
11
|
+
#include <momentum/common/filesystem.h>
|
|
12
|
+
#include <momentum/math/types.h>
|
|
13
|
+
|
|
14
|
+
#include <gsl/span>
|
|
15
|
+
|
|
16
|
+
namespace momentum {
|
|
17
|
+
|
|
18
|
+
/// Load a USD character from a local file path.
|
|
19
|
+
///
|
|
20
|
+
/// @param[in] inputPath The path to the USD character file.
|
|
21
|
+
/// @return The loaded Character object.
|
|
22
|
+
Character loadUsdCharacter(const filesystem::path& inputPath);
|
|
23
|
+
|
|
24
|
+
/// Load a USD character from a buffer.
|
|
25
|
+
///
|
|
26
|
+
/// @param[in] inputSpan The buffer containing the USD character data.
|
|
27
|
+
/// @return The loaded Character object.
|
|
28
|
+
Character loadUsdCharacter(gsl::span<const std::byte> inputSpan);
|
|
29
|
+
|
|
30
|
+
/// Save a character to a USD file.
|
|
31
|
+
///
|
|
32
|
+
/// @param[in] filename The path to save the USD file.
|
|
33
|
+
/// @param[in] character The Character object to save.
|
|
34
|
+
void saveUsd(const filesystem::path& filename, const Character& character);
|
|
35
|
+
|
|
36
|
+
} // namespace momentum
|