pymomentum-cpu 0.1.93.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.
- include/axel/BoundingBox.h +59 -0
- include/axel/Bvh.h +708 -0
- include/axel/BvhBase.h +75 -0
- include/axel/BvhCommon.h +43 -0
- include/axel/BvhEmbree.h +87 -0
- include/axel/BvhFactory.h +34 -0
- include/axel/Checks.h +21 -0
- include/axel/DualContouring.h +79 -0
- include/axel/KdTree.h +208 -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 +97 -0
- include/momentum/character/blend_shape_base.h +86 -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 +94 -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 +207 -0
- include/momentum/character/pose_shape.h +65 -0
- include/momentum/character/skeleton.h +85 -0
- include/momentum/character/skeleton_state.h +227 -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 +155 -0
- include/momentum/character_sequence_solver/sequence_solver_function.h +158 -0
- include/momentum/character_sequence_solver/state_sequence_error_function.h +117 -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 +943 -0
- include/momentum/character_solver/gauss_newton_solver_qr.h +64 -0
- include/momentum/character_solver/height_error_function.h +176 -0
- include/momentum/character_solver/joint_to_joint_distance_error_function.h +111 -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 +119 -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 +98 -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 +135 -0
- include/momentum/io/fbx/fbx_memory_stream.h +70 -0
- include/momentum/io/fbx/openfbx_loader.h +62 -0
- include/momentum/io/fbx/polygon_data.h +60 -0
- include/momentum/io/file_save_options.h +107 -0
- include/momentum/io/gltf/gltf_builder.h +141 -0
- include/momentum/io/gltf/gltf_io.h +149 -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 +82 -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 +38 -0
- include/momentum/io/skeleton/parameter_transform_io.h +80 -0
- include/momentum/io/skeleton/parameters_io.h +20 -0
- include/momentum/io/skeleton/utility.h +67 -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 +64 -0
- include/momentum/marker_tracking/marker_tracker.h +221 -0
- include/momentum/marker_tracking/process_markers.h +58 -0
- include/momentum/marker_tracking/tracker_utils.h +99 -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 +324 -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/text_rasterizer.h +89 -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/FindFbxSdk.cmake +115 -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 +385 -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 +631 -0
- pymomentum/backend/trs_backend.py +889 -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 +868 -0
- pymomentum/torch/parameter_limits.py +494 -0
- pymomentum/torch/utility.py +20 -0
- pymomentum/trs.py +535 -0
- pymomentum_cpu-0.1.93.post0.dist-info/METADATA +126 -0
- pymomentum_cpu-0.1.93.post0.dist-info/RECORD +517 -0
- pymomentum_cpu-0.1.93.post0.dist-info/WHEEL +5 -0
- pymomentum_cpu-0.1.93.post0.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,262 @@
|
|
|
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
|
+
struct BlendShape;
|
|
19
|
+
|
|
20
|
+
using BlendShape_p = ::std::shared_ptr<BlendShape>;
|
|
21
|
+
using BlendShape_u = ::std::unique_ptr<BlendShape>;
|
|
22
|
+
using BlendShape_w = ::std::weak_ptr<BlendShape>;
|
|
23
|
+
using BlendShape_const_p = ::std::shared_ptr<const BlendShape>;
|
|
24
|
+
using BlendShape_const_u = ::std::unique_ptr<const BlendShape>;
|
|
25
|
+
using BlendShape_const_w = ::std::weak_ptr<const BlendShape>;
|
|
26
|
+
|
|
27
|
+
struct BlendShapeBase;
|
|
28
|
+
|
|
29
|
+
using BlendShapeBase_p = ::std::shared_ptr<BlendShapeBase>;
|
|
30
|
+
using BlendShapeBase_u = ::std::unique_ptr<BlendShapeBase>;
|
|
31
|
+
using BlendShapeBase_w = ::std::weak_ptr<BlendShapeBase>;
|
|
32
|
+
using BlendShapeBase_const_p = ::std::shared_ptr<const BlendShapeBase>;
|
|
33
|
+
using BlendShapeBase_const_u = ::std::unique_ptr<const BlendShapeBase>;
|
|
34
|
+
using BlendShapeBase_const_w = ::std::weak_ptr<const BlendShapeBase>;
|
|
35
|
+
|
|
36
|
+
struct Locator;
|
|
37
|
+
|
|
38
|
+
using Locator_p = ::std::shared_ptr<Locator>;
|
|
39
|
+
using Locator_u = ::std::unique_ptr<Locator>;
|
|
40
|
+
using Locator_w = ::std::weak_ptr<Locator>;
|
|
41
|
+
using Locator_const_p = ::std::shared_ptr<const Locator>;
|
|
42
|
+
using Locator_const_u = ::std::unique_ptr<const Locator>;
|
|
43
|
+
using Locator_const_w = ::std::weak_ptr<const Locator>;
|
|
44
|
+
|
|
45
|
+
struct PoseShape;
|
|
46
|
+
|
|
47
|
+
using PoseShape_p = ::std::shared_ptr<PoseShape>;
|
|
48
|
+
using PoseShape_u = ::std::unique_ptr<PoseShape>;
|
|
49
|
+
using PoseShape_w = ::std::weak_ptr<PoseShape>;
|
|
50
|
+
using PoseShape_const_p = ::std::shared_ptr<const PoseShape>;
|
|
51
|
+
using PoseShape_const_u = ::std::unique_ptr<const PoseShape>;
|
|
52
|
+
using PoseShape_const_w = ::std::weak_ptr<const PoseShape>;
|
|
53
|
+
|
|
54
|
+
struct SkinWeights;
|
|
55
|
+
|
|
56
|
+
using SkinWeights_p = ::std::shared_ptr<SkinWeights>;
|
|
57
|
+
using SkinWeights_u = ::std::unique_ptr<SkinWeights>;
|
|
58
|
+
using SkinWeights_w = ::std::weak_ptr<SkinWeights>;
|
|
59
|
+
using SkinWeights_const_p = ::std::shared_ptr<const SkinWeights>;
|
|
60
|
+
using SkinWeights_const_u = ::std::unique_ptr<const SkinWeights>;
|
|
61
|
+
using SkinWeights_const_w = ::std::weak_ptr<const SkinWeights>;
|
|
62
|
+
|
|
63
|
+
struct SkinnedLocator;
|
|
64
|
+
|
|
65
|
+
using SkinnedLocator_p = ::std::shared_ptr<SkinnedLocator>;
|
|
66
|
+
using SkinnedLocator_u = ::std::unique_ptr<SkinnedLocator>;
|
|
67
|
+
using SkinnedLocator_w = ::std::weak_ptr<SkinnedLocator>;
|
|
68
|
+
using SkinnedLocator_const_p = ::std::shared_ptr<const SkinnedLocator>;
|
|
69
|
+
using SkinnedLocator_const_u = ::std::unique_ptr<const SkinnedLocator>;
|
|
70
|
+
using SkinnedLocator_const_w = ::std::weak_ptr<const SkinnedLocator>;
|
|
71
|
+
|
|
72
|
+
template <typename T>
|
|
73
|
+
struct CharacterT;
|
|
74
|
+
using Character = CharacterT<float>;
|
|
75
|
+
using Characterd = CharacterT<double>;
|
|
76
|
+
|
|
77
|
+
using Character_p = ::std::shared_ptr<Character>;
|
|
78
|
+
using Character_u = ::std::unique_ptr<Character>;
|
|
79
|
+
using Character_w = ::std::weak_ptr<Character>;
|
|
80
|
+
using Character_const_p = ::std::shared_ptr<const Character>;
|
|
81
|
+
using Character_const_u = ::std::unique_ptr<const Character>;
|
|
82
|
+
using Character_const_w = ::std::weak_ptr<const Character>;
|
|
83
|
+
|
|
84
|
+
using Characterd_p = ::std::shared_ptr<Characterd>;
|
|
85
|
+
using Characterd_u = ::std::unique_ptr<Characterd>;
|
|
86
|
+
using Characterd_w = ::std::weak_ptr<Characterd>;
|
|
87
|
+
using Characterd_const_p = ::std::shared_ptr<const Characterd>;
|
|
88
|
+
using Characterd_const_u = ::std::unique_ptr<const Characterd>;
|
|
89
|
+
using Characterd_const_w = ::std::weak_ptr<const Characterd>;
|
|
90
|
+
|
|
91
|
+
template <typename T>
|
|
92
|
+
struct CharacterStateT;
|
|
93
|
+
using CharacterState = CharacterStateT<float>;
|
|
94
|
+
using CharacterStated = CharacterStateT<double>;
|
|
95
|
+
|
|
96
|
+
using CharacterState_p = ::std::shared_ptr<CharacterState>;
|
|
97
|
+
using CharacterState_u = ::std::unique_ptr<CharacterState>;
|
|
98
|
+
using CharacterState_w = ::std::weak_ptr<CharacterState>;
|
|
99
|
+
using CharacterState_const_p = ::std::shared_ptr<const CharacterState>;
|
|
100
|
+
using CharacterState_const_u = ::std::unique_ptr<const CharacterState>;
|
|
101
|
+
using CharacterState_const_w = ::std::weak_ptr<const CharacterState>;
|
|
102
|
+
|
|
103
|
+
using CharacterStated_p = ::std::shared_ptr<CharacterStated>;
|
|
104
|
+
using CharacterStated_u = ::std::unique_ptr<CharacterStated>;
|
|
105
|
+
using CharacterStated_w = ::std::weak_ptr<CharacterStated>;
|
|
106
|
+
using CharacterStated_const_p = ::std::shared_ptr<const CharacterStated>;
|
|
107
|
+
using CharacterStated_const_u = ::std::unique_ptr<const CharacterStated>;
|
|
108
|
+
using CharacterStated_const_w = ::std::weak_ptr<const CharacterStated>;
|
|
109
|
+
|
|
110
|
+
template <typename T>
|
|
111
|
+
struct CollisionGeometryStateT;
|
|
112
|
+
using CollisionGeometryState = CollisionGeometryStateT<float>;
|
|
113
|
+
using CollisionGeometryStated = CollisionGeometryStateT<double>;
|
|
114
|
+
|
|
115
|
+
using CollisionGeometryState_p = ::std::shared_ptr<CollisionGeometryState>;
|
|
116
|
+
using CollisionGeometryState_u = ::std::unique_ptr<CollisionGeometryState>;
|
|
117
|
+
using CollisionGeometryState_w = ::std::weak_ptr<CollisionGeometryState>;
|
|
118
|
+
using CollisionGeometryState_const_p = ::std::shared_ptr<const CollisionGeometryState>;
|
|
119
|
+
using CollisionGeometryState_const_u = ::std::unique_ptr<const CollisionGeometryState>;
|
|
120
|
+
using CollisionGeometryState_const_w = ::std::weak_ptr<const CollisionGeometryState>;
|
|
121
|
+
|
|
122
|
+
using CollisionGeometryStated_p = ::std::shared_ptr<CollisionGeometryStated>;
|
|
123
|
+
using CollisionGeometryStated_u = ::std::unique_ptr<CollisionGeometryStated>;
|
|
124
|
+
using CollisionGeometryStated_w = ::std::weak_ptr<CollisionGeometryStated>;
|
|
125
|
+
using CollisionGeometryStated_const_p = ::std::shared_ptr<const CollisionGeometryStated>;
|
|
126
|
+
using CollisionGeometryStated_const_u = ::std::unique_ptr<const CollisionGeometryStated>;
|
|
127
|
+
using CollisionGeometryStated_const_w = ::std::weak_ptr<const CollisionGeometryStated>;
|
|
128
|
+
|
|
129
|
+
template <typename T>
|
|
130
|
+
struct JointT;
|
|
131
|
+
using Joint = JointT<float>;
|
|
132
|
+
using Jointd = JointT<double>;
|
|
133
|
+
|
|
134
|
+
using Joint_p = ::std::shared_ptr<Joint>;
|
|
135
|
+
using Joint_u = ::std::unique_ptr<Joint>;
|
|
136
|
+
using Joint_w = ::std::weak_ptr<Joint>;
|
|
137
|
+
using Joint_const_p = ::std::shared_ptr<const Joint>;
|
|
138
|
+
using Joint_const_u = ::std::unique_ptr<const Joint>;
|
|
139
|
+
using Joint_const_w = ::std::weak_ptr<const Joint>;
|
|
140
|
+
|
|
141
|
+
using Jointd_p = ::std::shared_ptr<Jointd>;
|
|
142
|
+
using Jointd_u = ::std::unique_ptr<Jointd>;
|
|
143
|
+
using Jointd_w = ::std::weak_ptr<Jointd>;
|
|
144
|
+
using Jointd_const_p = ::std::shared_ptr<const Jointd>;
|
|
145
|
+
using Jointd_const_u = ::std::unique_ptr<const Jointd>;
|
|
146
|
+
using Jointd_const_w = ::std::weak_ptr<const Jointd>;
|
|
147
|
+
|
|
148
|
+
template <typename T>
|
|
149
|
+
struct JointStateT;
|
|
150
|
+
using JointState = JointStateT<float>;
|
|
151
|
+
using JointStated = JointStateT<double>;
|
|
152
|
+
|
|
153
|
+
using JointState_p = ::std::shared_ptr<JointState>;
|
|
154
|
+
using JointState_u = ::std::unique_ptr<JointState>;
|
|
155
|
+
using JointState_w = ::std::weak_ptr<JointState>;
|
|
156
|
+
using JointState_const_p = ::std::shared_ptr<const JointState>;
|
|
157
|
+
using JointState_const_u = ::std::unique_ptr<const JointState>;
|
|
158
|
+
using JointState_const_w = ::std::weak_ptr<const JointState>;
|
|
159
|
+
|
|
160
|
+
using JointStated_p = ::std::shared_ptr<JointStated>;
|
|
161
|
+
using JointStated_u = ::std::unique_ptr<JointStated>;
|
|
162
|
+
using JointStated_w = ::std::weak_ptr<JointStated>;
|
|
163
|
+
using JointStated_const_p = ::std::shared_ptr<const JointStated>;
|
|
164
|
+
using JointStated_const_u = ::std::unique_ptr<const JointStated>;
|
|
165
|
+
using JointStated_const_w = ::std::weak_ptr<const JointStated>;
|
|
166
|
+
|
|
167
|
+
template <typename T>
|
|
168
|
+
struct ParameterTransformT;
|
|
169
|
+
using ParameterTransform = ParameterTransformT<float>;
|
|
170
|
+
using ParameterTransformd = ParameterTransformT<double>;
|
|
171
|
+
|
|
172
|
+
using ParameterTransform_p = ::std::shared_ptr<ParameterTransform>;
|
|
173
|
+
using ParameterTransform_u = ::std::unique_ptr<ParameterTransform>;
|
|
174
|
+
using ParameterTransform_w = ::std::weak_ptr<ParameterTransform>;
|
|
175
|
+
using ParameterTransform_const_p = ::std::shared_ptr<const ParameterTransform>;
|
|
176
|
+
using ParameterTransform_const_u = ::std::unique_ptr<const ParameterTransform>;
|
|
177
|
+
using ParameterTransform_const_w = ::std::weak_ptr<const ParameterTransform>;
|
|
178
|
+
|
|
179
|
+
using ParameterTransformd_p = ::std::shared_ptr<ParameterTransformd>;
|
|
180
|
+
using ParameterTransformd_u = ::std::unique_ptr<ParameterTransformd>;
|
|
181
|
+
using ParameterTransformd_w = ::std::weak_ptr<ParameterTransformd>;
|
|
182
|
+
using ParameterTransformd_const_p = ::std::shared_ptr<const ParameterTransformd>;
|
|
183
|
+
using ParameterTransformd_const_u = ::std::unique_ptr<const ParameterTransformd>;
|
|
184
|
+
using ParameterTransformd_const_w = ::std::weak_ptr<const ParameterTransformd>;
|
|
185
|
+
|
|
186
|
+
template <typename T>
|
|
187
|
+
struct SkeletonT;
|
|
188
|
+
using Skeleton = SkeletonT<float>;
|
|
189
|
+
using Skeletond = SkeletonT<double>;
|
|
190
|
+
|
|
191
|
+
using Skeleton_p = ::std::shared_ptr<Skeleton>;
|
|
192
|
+
using Skeleton_u = ::std::unique_ptr<Skeleton>;
|
|
193
|
+
using Skeleton_w = ::std::weak_ptr<Skeleton>;
|
|
194
|
+
using Skeleton_const_p = ::std::shared_ptr<const Skeleton>;
|
|
195
|
+
using Skeleton_const_u = ::std::unique_ptr<const Skeleton>;
|
|
196
|
+
using Skeleton_const_w = ::std::weak_ptr<const Skeleton>;
|
|
197
|
+
|
|
198
|
+
using Skeletond_p = ::std::shared_ptr<Skeletond>;
|
|
199
|
+
using Skeletond_u = ::std::unique_ptr<Skeletond>;
|
|
200
|
+
using Skeletond_w = ::std::weak_ptr<Skeletond>;
|
|
201
|
+
using Skeletond_const_p = ::std::shared_ptr<const Skeletond>;
|
|
202
|
+
using Skeletond_const_u = ::std::unique_ptr<const Skeletond>;
|
|
203
|
+
using Skeletond_const_w = ::std::weak_ptr<const Skeletond>;
|
|
204
|
+
|
|
205
|
+
template <typename T>
|
|
206
|
+
struct SkeletonStateT;
|
|
207
|
+
using SkeletonState = SkeletonStateT<float>;
|
|
208
|
+
using SkeletonStated = SkeletonStateT<double>;
|
|
209
|
+
|
|
210
|
+
using SkeletonState_p = ::std::shared_ptr<SkeletonState>;
|
|
211
|
+
using SkeletonState_u = ::std::unique_ptr<SkeletonState>;
|
|
212
|
+
using SkeletonState_w = ::std::weak_ptr<SkeletonState>;
|
|
213
|
+
using SkeletonState_const_p = ::std::shared_ptr<const SkeletonState>;
|
|
214
|
+
using SkeletonState_const_u = ::std::unique_ptr<const SkeletonState>;
|
|
215
|
+
using SkeletonState_const_w = ::std::weak_ptr<const SkeletonState>;
|
|
216
|
+
|
|
217
|
+
using SkeletonStated_p = ::std::shared_ptr<SkeletonStated>;
|
|
218
|
+
using SkeletonStated_u = ::std::unique_ptr<SkeletonStated>;
|
|
219
|
+
using SkeletonStated_w = ::std::weak_ptr<SkeletonStated>;
|
|
220
|
+
using SkeletonStated_const_p = ::std::shared_ptr<const SkeletonStated>;
|
|
221
|
+
using SkeletonStated_const_u = ::std::unique_ptr<const SkeletonStated>;
|
|
222
|
+
using SkeletonStated_const_w = ::std::weak_ptr<const SkeletonStated>;
|
|
223
|
+
|
|
224
|
+
template <typename T>
|
|
225
|
+
struct MeshStateT;
|
|
226
|
+
using MeshState = MeshStateT<float>;
|
|
227
|
+
using MeshStated = MeshStateT<double>;
|
|
228
|
+
|
|
229
|
+
using MeshState_p = ::std::shared_ptr<MeshState>;
|
|
230
|
+
using MeshState_u = ::std::unique_ptr<MeshState>;
|
|
231
|
+
using MeshState_w = ::std::weak_ptr<MeshState>;
|
|
232
|
+
using MeshState_const_p = ::std::shared_ptr<const MeshState>;
|
|
233
|
+
using MeshState_const_u = ::std::unique_ptr<const MeshState>;
|
|
234
|
+
using MeshState_const_w = ::std::weak_ptr<const MeshState>;
|
|
235
|
+
|
|
236
|
+
using MeshStated_p = ::std::shared_ptr<MeshStated>;
|
|
237
|
+
using MeshStated_u = ::std::unique_ptr<MeshStated>;
|
|
238
|
+
using MeshStated_w = ::std::weak_ptr<MeshStated>;
|
|
239
|
+
using MeshStated_const_p = ::std::shared_ptr<const MeshStated>;
|
|
240
|
+
using MeshStated_const_u = ::std::unique_ptr<const MeshStated>;
|
|
241
|
+
using MeshStated_const_w = ::std::weak_ptr<const MeshStated>;
|
|
242
|
+
|
|
243
|
+
template <typename T>
|
|
244
|
+
struct TaperedCapsuleT;
|
|
245
|
+
using TaperedCapsule = TaperedCapsuleT<float>;
|
|
246
|
+
using TaperedCapsuled = TaperedCapsuleT<double>;
|
|
247
|
+
|
|
248
|
+
using TaperedCapsule_p = ::std::shared_ptr<TaperedCapsule>;
|
|
249
|
+
using TaperedCapsule_u = ::std::unique_ptr<TaperedCapsule>;
|
|
250
|
+
using TaperedCapsule_w = ::std::weak_ptr<TaperedCapsule>;
|
|
251
|
+
using TaperedCapsule_const_p = ::std::shared_ptr<const TaperedCapsule>;
|
|
252
|
+
using TaperedCapsule_const_u = ::std::unique_ptr<const TaperedCapsule>;
|
|
253
|
+
using TaperedCapsule_const_w = ::std::weak_ptr<const TaperedCapsule>;
|
|
254
|
+
|
|
255
|
+
using TaperedCapsuled_p = ::std::shared_ptr<TaperedCapsuled>;
|
|
256
|
+
using TaperedCapsuled_u = ::std::unique_ptr<TaperedCapsuled>;
|
|
257
|
+
using TaperedCapsuled_w = ::std::weak_ptr<TaperedCapsuled>;
|
|
258
|
+
using TaperedCapsuled_const_p = ::std::shared_ptr<const TaperedCapsuled>;
|
|
259
|
+
using TaperedCapsuled_const_u = ::std::unique_ptr<const TaperedCapsuled>;
|
|
260
|
+
using TaperedCapsuled_const_w = ::std::weak_ptr<const TaperedCapsuled>;
|
|
261
|
+
|
|
262
|
+
} // namespace momentum
|
|
@@ -0,0 +1,58 @@
|
|
|
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/types.h>
|
|
12
|
+
#include <momentum/math/types.h>
|
|
13
|
+
|
|
14
|
+
#include <Eigen/Sparse>
|
|
15
|
+
|
|
16
|
+
namespace momentum {
|
|
17
|
+
|
|
18
|
+
// Maps from joint parameters back to the model parameters. Because the joint
|
|
19
|
+
// parameters have a much higher dimensionality (7*nJoints) than the number of
|
|
20
|
+
// model parameters, in general we can't always find a set of model parameters
|
|
21
|
+
// that reproduce the passed-in joint parameters. Therefore, the mapping is
|
|
22
|
+
// done in a least squares sense: we find the model parameters that bring use
|
|
23
|
+
// closest to the passed-in joint parameters under L2.
|
|
24
|
+
//
|
|
25
|
+
// Note that this assumes the parameter transform is well-formed, in the sense
|
|
26
|
+
// that it has rank equal to the number of model parameters. Any sane
|
|
27
|
+
// parameter transform should have this property (if not, it would be possible
|
|
28
|
+
// to generate the same set of joint parameters with two different model
|
|
29
|
+
// parameter vectors).
|
|
30
|
+
|
|
31
|
+
template <typename T>
|
|
32
|
+
struct InverseParameterTransformT {
|
|
33
|
+
public:
|
|
34
|
+
const SparseRowMatrix<T> transform;
|
|
35
|
+
const Eigen::SparseQR<Eigen::SparseMatrix<T>, Eigen::COLAMDOrdering<int>> inverseTransform;
|
|
36
|
+
const Eigen::VectorX<T> offsets; // DEPRECATED: constant offset factor for each joint
|
|
37
|
+
|
|
38
|
+
explicit InverseParameterTransformT(const ParameterTransformT<T>& paramTransform);
|
|
39
|
+
|
|
40
|
+
// map joint parameters to model parameters. The residual from the fit is
|
|
41
|
+
// left in the result's offsets vector.
|
|
42
|
+
[[nodiscard]] CharacterParametersT<T> apply(const JointParametersT<T>& parameters) const;
|
|
43
|
+
|
|
44
|
+
// Dimension of the output model parameters vector:
|
|
45
|
+
[[nodiscard]] Eigen::Index numAllModelParameters() const {
|
|
46
|
+
return transform.cols();
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// Dimension of the input joint parameters vector:
|
|
50
|
+
[[nodiscard]] Eigen::Index numJointParameters() const {
|
|
51
|
+
return transform.rows();
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
using InverseParameterTransform = InverseParameterTransformT<float>;
|
|
56
|
+
using InverseParameterTransformd = InverseParameterTransformT<double>;
|
|
57
|
+
|
|
58
|
+
} // namespace momentum
|
|
@@ -0,0 +1,82 @@
|
|
|
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/types.h>
|
|
11
|
+
#include <momentum/math/constants.h>
|
|
12
|
+
#include <momentum/math/types.h>
|
|
13
|
+
|
|
14
|
+
namespace momentum {
|
|
15
|
+
|
|
16
|
+
/// A simplified version of a Maya joint with pre-rotation only (no post-rotation).
|
|
17
|
+
template <typename T>
|
|
18
|
+
struct JointT {
|
|
19
|
+
using Scalar = T;
|
|
20
|
+
|
|
21
|
+
/// Joint name
|
|
22
|
+
std::string name{"uninitialized"};
|
|
23
|
+
|
|
24
|
+
/// Index of the parent joint in the skeleton hierarchy
|
|
25
|
+
size_t parent{kInvalidIndex};
|
|
26
|
+
|
|
27
|
+
// TODO: does it make sense to save its own index too?
|
|
28
|
+
|
|
29
|
+
/// Pre-rotation matrix from its parent's axes to its own axes.
|
|
30
|
+
/// @note: Braces initialization is avoided due to issues with CUDA 11.
|
|
31
|
+
Quaternion<T> preRotation = Quaternion<T>::Identity();
|
|
32
|
+
|
|
33
|
+
/// The constant translation offset from the parent joint to this joint's origin.
|
|
34
|
+
Vector3<T> translationOffset = Vector3<T>::Zero();
|
|
35
|
+
|
|
36
|
+
/// Checks if the current joint is approximately equal to the provided joint.
|
|
37
|
+
[[nodiscard]] bool isApprox(
|
|
38
|
+
const JointT<T>& joint,
|
|
39
|
+
const T& rotTol = Eps<T>(1e-4, 1e-10),
|
|
40
|
+
const T& tranTol = Eigen::NumTraits<Scalar>::dummy_precision()) const {
|
|
41
|
+
if (name != joint.name) {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
if (parent != joint.parent) {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
if (!preRotation.toRotationMatrix().isApprox(joint.preRotation.toRotationMatrix(), rotTol)) {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
if (!translationOffset.isApprox(joint.translationOffset, tranTol)) {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/// Casts the current joint to another scalar type.
|
|
61
|
+
template <typename U>
|
|
62
|
+
[[nodiscard]] auto cast() const {
|
|
63
|
+
if constexpr (std::is_same_v<T, U>) {
|
|
64
|
+
return *this;
|
|
65
|
+
} else {
|
|
66
|
+
JointT<U> newJoint;
|
|
67
|
+
newJoint.name = name;
|
|
68
|
+
newJoint.parent = parent;
|
|
69
|
+
newJoint.preRotation = preRotation.template cast<U>();
|
|
70
|
+
newJoint.translationOffset = translationOffset.template cast<U>();
|
|
71
|
+
return newJoint;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
/// A list of joints (e.g., of a skeleton).
|
|
77
|
+
template <typename T>
|
|
78
|
+
using JointListT = std::vector<JointT<T>>;
|
|
79
|
+
using JointList = JointListT<float>;
|
|
80
|
+
using JointListd = JointListT<double>;
|
|
81
|
+
|
|
82
|
+
} // namespace momentum
|
|
@@ -0,0 +1,241 @@
|
|
|
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/joint.h>
|
|
11
|
+
#include <momentum/character/types.h>
|
|
12
|
+
#include <momentum/math/transform.h>
|
|
13
|
+
#include <momentum/math/types.h>
|
|
14
|
+
|
|
15
|
+
namespace momentum {
|
|
16
|
+
|
|
17
|
+
/// Represents the state of a joint with local and global transformations.
|
|
18
|
+
///
|
|
19
|
+
/// Joint transform hierarchy is defined as:
|
|
20
|
+
/// WorldTransform = ParentWorldTransform * Tz * Ty * Tx * Rpre * R * S
|
|
21
|
+
///
|
|
22
|
+
/// Where:
|
|
23
|
+
/// - Tx, Ty, Tz are translations along each axis
|
|
24
|
+
/// - Rpre is the pre-rotation from the joint definition
|
|
25
|
+
/// - R is the joint rotation (applied in order: rz * ry * rx)
|
|
26
|
+
/// - S is the uniform scale factor
|
|
27
|
+
///
|
|
28
|
+
/// Each joint has 7 parameters: 3 translation, 3 rotation, and 1 scale.
|
|
29
|
+
template <typename T>
|
|
30
|
+
struct JointStateT {
|
|
31
|
+
/// Local transformation relative to parent joint
|
|
32
|
+
///
|
|
33
|
+
/// Defined by the joint parameters (translation, rotation, scale)
|
|
34
|
+
TransformT<T> localTransform;
|
|
35
|
+
|
|
36
|
+
/// Global transformation in world space
|
|
37
|
+
///
|
|
38
|
+
/// Combines parent transformations with local transformation
|
|
39
|
+
TransformT<T> transform;
|
|
40
|
+
|
|
41
|
+
/// Translation axes in global space
|
|
42
|
+
///
|
|
43
|
+
/// Each column represents one translation axis (X, Y, Z) in global coordinates
|
|
44
|
+
Matrix3<T> translationAxis;
|
|
45
|
+
|
|
46
|
+
/// Rotation axes in global space
|
|
47
|
+
///
|
|
48
|
+
/// Each column represents one rotation axis (X, Y, Z) in global coordinates
|
|
49
|
+
Matrix3<T> rotationAxis;
|
|
50
|
+
|
|
51
|
+
/// Indicates if derivative data needs recomputation
|
|
52
|
+
///
|
|
53
|
+
/// When true, derivative methods should not be called as they may return invalid results
|
|
54
|
+
bool derivDirty = true;
|
|
55
|
+
|
|
56
|
+
/// Updates joint state based on joint definition and parameters
|
|
57
|
+
///
|
|
58
|
+
/// Recursively computes all transformations from parent to child, including
|
|
59
|
+
/// local and global transforms, and optionally derivative information.
|
|
60
|
+
///
|
|
61
|
+
/// @param joint The joint definition containing offset and pre-rotation
|
|
62
|
+
/// @param parameters The 7 joint parameters [tx, ty, tz, rx, ry, rz, scale]
|
|
63
|
+
/// @param parentState Optional parent joint state for hierarchical transformations
|
|
64
|
+
/// @param computeDeriv Whether to compute derivative information (translation/rotation axes)
|
|
65
|
+
void set(
|
|
66
|
+
const JointT<T>& joint,
|
|
67
|
+
const JointVectorT<T>& parameters,
|
|
68
|
+
const JointStateT<T>* parentState = nullptr,
|
|
69
|
+
bool computeDeriv = true) noexcept;
|
|
70
|
+
|
|
71
|
+
/// Calculates the derivative of a point with respect to rotation around a specific axis
|
|
72
|
+
///
|
|
73
|
+
/// @param index The rotation axis index (0=X, 1=Y, 2=Z)
|
|
74
|
+
/// @param ref The reference point in global space
|
|
75
|
+
/// @return The derivative vector
|
|
76
|
+
[[nodiscard]] Vector3<T> getRotationDerivative(size_t index, const Vector3<T>& ref) const;
|
|
77
|
+
|
|
78
|
+
/// Calculates the derivative with respect to translation along a specific axis
|
|
79
|
+
///
|
|
80
|
+
/// @param index The translation axis index (0=X, 1=Y, 2=Z)
|
|
81
|
+
/// @return The derivative vector
|
|
82
|
+
[[nodiscard]] Vector3<T> getTranslationDerivative(size_t index) const;
|
|
83
|
+
|
|
84
|
+
/// Calculates the derivative of a point with respect to uniform scaling
|
|
85
|
+
///
|
|
86
|
+
/// @param ref The reference point in global space
|
|
87
|
+
/// @return The derivative vector
|
|
88
|
+
[[nodiscard]] Vector3<T> getScaleDerivative(const Vector3<T>& ref) const noexcept;
|
|
89
|
+
|
|
90
|
+
/// Copies state from another JointState with potentially different scalar type
|
|
91
|
+
///
|
|
92
|
+
/// @tparam T2 Source scalar type
|
|
93
|
+
/// @param rhs Source joint state to copy from
|
|
94
|
+
template <typename T2>
|
|
95
|
+
void set(const JointStateT<T2>& rhs);
|
|
96
|
+
|
|
97
|
+
/// Access the joint's local rotation quaternion
|
|
98
|
+
[[nodiscard]] const Quaternion<T>& localRotation() const {
|
|
99
|
+
return localTransform.rotation;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
/// Access the joint's local rotation quaternion (mutable)
|
|
103
|
+
Quaternion<T>& localRotation() {
|
|
104
|
+
return localTransform.rotation;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/// Access the joint's local translation vector
|
|
108
|
+
[[nodiscard]] const Vector3<T>& localTranslation() const {
|
|
109
|
+
return localTransform.translation;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/// Access the joint's local translation vector (mutable)
|
|
113
|
+
Vector3<T>& localTranslation() {
|
|
114
|
+
return localTransform.translation;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/// Access the joint's local scale factor
|
|
118
|
+
///
|
|
119
|
+
/// This scale propagates to all descendant joints
|
|
120
|
+
[[nodiscard]] const T& localScale() const {
|
|
121
|
+
return localTransform.scale;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/// Access the joint's local scale factor (mutable)
|
|
125
|
+
T& localScale() {
|
|
126
|
+
return localTransform.scale;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/// Access the joint's global rotation quaternion
|
|
130
|
+
[[nodiscard]] const Quaternion<T>& rotation() const {
|
|
131
|
+
return transform.rotation;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/// Access the joint's global rotation quaternion (mutable)
|
|
135
|
+
Quaternion<T>& rotation() {
|
|
136
|
+
return transform.rotation;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/// Access the joint's global position vector
|
|
140
|
+
[[nodiscard]] const Vector3<T>& translation() const {
|
|
141
|
+
return transform.translation;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/// Access the joint's global position vector (mutable)
|
|
145
|
+
Vector3<T>& translation() {
|
|
146
|
+
return transform.translation;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
/// Access the X component of the global position
|
|
150
|
+
[[nodiscard]] const T& x() const {
|
|
151
|
+
return transform.translation.x();
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/// Access the X component of the global position (mutable)
|
|
155
|
+
T& x() {
|
|
156
|
+
return transform.translation.x();
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
/// Access the Y component of the global position
|
|
160
|
+
[[nodiscard]] const T& y() const {
|
|
161
|
+
return transform.translation.y();
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
/// Access the Y component of the global position (mutable)
|
|
165
|
+
T& y() {
|
|
166
|
+
return transform.translation.y();
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
/// Access the Z component of the global position
|
|
170
|
+
[[nodiscard]] const T& z() const {
|
|
171
|
+
return transform.translation.z();
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/// Access the Z component of the global position (mutable)
|
|
175
|
+
T& z() {
|
|
176
|
+
return transform.translation.z();
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/// Access the W component of the global rotation quaternion
|
|
180
|
+
[[nodiscard]] const T& quatW() const {
|
|
181
|
+
return transform.rotation.w();
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
/// Access the W component of the global rotation quaternion (mutable)
|
|
185
|
+
T& quatW() {
|
|
186
|
+
return transform.rotation.w();
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
/// Access the X component of the global rotation quaternion
|
|
190
|
+
[[nodiscard]] const T& quatX() const {
|
|
191
|
+
return transform.rotation.x();
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
/// Access the X component of the global rotation quaternion (mutable)
|
|
195
|
+
T& quatX() {
|
|
196
|
+
return transform.rotation.x();
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
/// Access the Y component of the global rotation quaternion
|
|
200
|
+
[[nodiscard]] const T& quatY() const {
|
|
201
|
+
return transform.rotation.y();
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
/// Access the Y component of the global rotation quaternion (mutable)
|
|
205
|
+
T& quatY() {
|
|
206
|
+
return transform.rotation.y();
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
/// Access the Z component of the global rotation quaternion
|
|
210
|
+
[[nodiscard]] const T& quatZ() const {
|
|
211
|
+
return transform.rotation.z();
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
/// Access the Z component of the global rotation quaternion (mutable)
|
|
215
|
+
T& quatZ() {
|
|
216
|
+
return transform.rotation.z();
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
/// Access the joint's global scale factor
|
|
220
|
+
///
|
|
221
|
+
/// This is the cumulative scale from all parent joints
|
|
222
|
+
[[nodiscard]] const T& scale() const {
|
|
223
|
+
return transform.scale;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
/// Access the joint's global scale factor (mutable)
|
|
227
|
+
T& scale() {
|
|
228
|
+
return transform.scale;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
|
|
232
|
+
};
|
|
233
|
+
|
|
234
|
+
/// Structure describing the state of all joints in a skeleton
|
|
235
|
+
template <typename T>
|
|
236
|
+
using JointStateListT = std::vector<JointStateT<T>>;
|
|
237
|
+
|
|
238
|
+
using JointState = JointStateT<float>;
|
|
239
|
+
using JointStateList = JointStateListT<float>;
|
|
240
|
+
|
|
241
|
+
} // namespace momentum
|