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,404 @@
|
|
|
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/random.h>
|
|
11
|
+
#include <momentum/math/types.h>
|
|
12
|
+
|
|
13
|
+
namespace momentum {
|
|
14
|
+
|
|
15
|
+
namespace detail {
|
|
16
|
+
|
|
17
|
+
template <typename RealType>
|
|
18
|
+
using UniformRealDist = std::uniform_real_distribution<RealType>;
|
|
19
|
+
|
|
20
|
+
template <typename IntType>
|
|
21
|
+
using UniformIntDist = std::uniform_int_distribution<IntType>;
|
|
22
|
+
|
|
23
|
+
template <typename RealType>
|
|
24
|
+
using NormalRealDist = std::normal_distribution<RealType>;
|
|
25
|
+
|
|
26
|
+
/// Check whether \c T can be used for std::uniform_int_distribution<T>
|
|
27
|
+
/// Reference:
|
|
28
|
+
/// https://en.cppreference.com/w/cpp/numeric/random/uniform_int_distribution
|
|
29
|
+
template <typename T>
|
|
30
|
+
struct is_compatible_to_uniform_int_distribution
|
|
31
|
+
: std::disjunction<
|
|
32
|
+
std::is_same<std::remove_cv_t<T>, short>,
|
|
33
|
+
std::is_same<std::remove_cv_t<T>, int>,
|
|
34
|
+
std::is_same<std::remove_cv_t<T>, long>,
|
|
35
|
+
std::is_same<std::remove_cv_t<T>, long long>,
|
|
36
|
+
std::is_same<std::remove_cv_t<T>, unsigned short>,
|
|
37
|
+
std::is_same<std::remove_cv_t<T>, unsigned int>,
|
|
38
|
+
std::is_same<std::remove_cv_t<T>, unsigned long>,
|
|
39
|
+
std::is_same<std::remove_cv_t<T>, unsigned long long>> {};
|
|
40
|
+
|
|
41
|
+
template <typename T>
|
|
42
|
+
inline constexpr bool is_compatible_to_uniform_int_distribution_v =
|
|
43
|
+
is_compatible_to_uniform_int_distribution<T>::value;
|
|
44
|
+
|
|
45
|
+
template <template <typename...> class C, typename... Ts>
|
|
46
|
+
std::true_type is_base_of_template_impl(const C<Ts...>*);
|
|
47
|
+
|
|
48
|
+
template <template <typename...> class C>
|
|
49
|
+
std::false_type is_base_of_template_impl(...);
|
|
50
|
+
|
|
51
|
+
template <template <typename...> class C, typename T>
|
|
52
|
+
using is_base_of_template = decltype(is_base_of_template_impl<C>(std::declval<T*>()));
|
|
53
|
+
|
|
54
|
+
template <typename T>
|
|
55
|
+
using is_base_of_matrix = is_base_of_template<Eigen::MatrixBase, T>;
|
|
56
|
+
|
|
57
|
+
template <typename T>
|
|
58
|
+
inline constexpr bool is_base_of_matrix_v = is_base_of_matrix<T>::value;
|
|
59
|
+
|
|
60
|
+
template <typename T, typename Generator>
|
|
61
|
+
[[nodiscard]] T generateScalarUniform(const T& min, const T& max, Generator& generator) {
|
|
62
|
+
// Real types
|
|
63
|
+
if constexpr (std::is_floating_point_v<T>) {
|
|
64
|
+
UniformRealDist<T> dist(min, max);
|
|
65
|
+
return dist(generator);
|
|
66
|
+
}
|
|
67
|
+
// Integer types
|
|
68
|
+
else if constexpr (is_compatible_to_uniform_int_distribution_v<T>) {
|
|
69
|
+
UniformIntDist<T> dist(min, max);
|
|
70
|
+
return dist(generator);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// Generates a random vector/matrix element-wisely
|
|
75
|
+
template <typename Derived, typename Generator>
|
|
76
|
+
[[nodiscard]] typename Derived::PlainObject generateMatrixUniform(
|
|
77
|
+
const Eigen::MatrixBase<Derived>& min,
|
|
78
|
+
const Eigen::MatrixBase<Derived>& max,
|
|
79
|
+
Generator& generator) {
|
|
80
|
+
// Dynamic matrix
|
|
81
|
+
if constexpr (!Derived::IsVectorAtCompileTime && Derived::SizeAtCompileTime == Eigen::Dynamic) {
|
|
82
|
+
return Derived::PlainObject::NullaryExpr(
|
|
83
|
+
min.rows(), min.cols(), [&](const Eigen::Index i, const Eigen::Index j) {
|
|
84
|
+
return generateScalarUniform<typename Derived::Scalar>(min(i, j), max(i, j), generator);
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
// Fixed matrix
|
|
88
|
+
else if constexpr (
|
|
89
|
+
!Derived::IsVectorAtCompileTime && Derived::SizeAtCompileTime != Eigen::Dynamic) {
|
|
90
|
+
return Derived::PlainObject::NullaryExpr([&](const Eigen::Index i, const Eigen::Index j) {
|
|
91
|
+
return generateScalarUniform<typename Derived::Scalar>(min(i, j), max(i, j), generator);
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
// Dynamic vector
|
|
95
|
+
else if constexpr (
|
|
96
|
+
Derived::IsVectorAtCompileTime && Derived::SizeAtCompileTime == Eigen::Dynamic) {
|
|
97
|
+
return Derived::PlainObject::NullaryExpr(min.size(), [&](const Eigen::Index i) {
|
|
98
|
+
return generateScalarUniform<typename Derived::Scalar>(min[i], max[i], generator);
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
// Fixed vector
|
|
102
|
+
else if constexpr (
|
|
103
|
+
Derived::IsVectorAtCompileTime && Derived::SizeAtCompileTime != Eigen::Dynamic) {
|
|
104
|
+
return Derived::PlainObject::NullaryExpr([&](const Eigen::Index i) {
|
|
105
|
+
return generateScalarUniform<typename Derived::Scalar>(min[i], max[i], generator);
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
template <typename T, typename Generator>
|
|
111
|
+
[[nodiscard]] T generateUniform(const T& min, const T& max, Generator& generator) {
|
|
112
|
+
// Scalar types
|
|
113
|
+
if constexpr (std::is_arithmetic_v<T>) {
|
|
114
|
+
return generateScalarUniform(min, max, generator);
|
|
115
|
+
}
|
|
116
|
+
// Matrix types
|
|
117
|
+
else if constexpr (is_base_of_matrix_v<T>) {
|
|
118
|
+
return generateMatrixUniform(min, max, generator);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
template <typename T, typename Generator>
|
|
123
|
+
[[nodiscard]] T generateScalarNormal(const T& mean, const T& sigma, Generator& generator) {
|
|
124
|
+
// Real types
|
|
125
|
+
if constexpr (std::is_floating_point_v<T>) {
|
|
126
|
+
NormalRealDist<T> dist(mean, sigma);
|
|
127
|
+
return dist(generator);
|
|
128
|
+
}
|
|
129
|
+
// Integer types
|
|
130
|
+
else if constexpr (is_compatible_to_uniform_int_distribution_v<T>) {
|
|
131
|
+
const float realNumber = NormalRealDist<float>(mean, sigma)(generator);
|
|
132
|
+
return std::round(realNumber);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
// Generates a random vector/matrix element-wisely
|
|
137
|
+
template <typename Derived, typename Generator>
|
|
138
|
+
[[nodiscard]] typename Derived::PlainObject generateMatrixNormal(
|
|
139
|
+
const Eigen::MatrixBase<Derived>& mean,
|
|
140
|
+
const Eigen::MatrixBase<Derived>& sigma,
|
|
141
|
+
Generator& generator) {
|
|
142
|
+
// Dynamic matrix
|
|
143
|
+
if constexpr (!Derived::IsVectorAtCompileTime && Derived::SizeAtCompileTime == Eigen::Dynamic) {
|
|
144
|
+
return Derived::PlainObject::NullaryExpr(
|
|
145
|
+
mean.rows(), mean.cols(), [&](const Eigen::Index i, const Eigen::Index j) {
|
|
146
|
+
return generateScalarNormal<typename Derived::Scalar>(mean(i, j), sigma(i, j), generator);
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
// Fixed matrix
|
|
150
|
+
else if constexpr (
|
|
151
|
+
!Derived::IsVectorAtCompileTime && Derived::SizeAtCompileTime != Eigen::Dynamic) {
|
|
152
|
+
return Derived::PlainObject::NullaryExpr([&](const Eigen::Index i, const Eigen::Index j) {
|
|
153
|
+
return generateScalarNormal<typename Derived::Scalar>(mean(i, j), sigma(i, j), generator);
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
// Dynamic vector
|
|
157
|
+
else if constexpr (
|
|
158
|
+
Derived::IsVectorAtCompileTime && Derived::SizeAtCompileTime == Eigen::Dynamic) {
|
|
159
|
+
return Derived::PlainObject::NullaryExpr(mean.size(), [&](const Eigen::Index i) {
|
|
160
|
+
return generateScalarNormal<typename Derived::Scalar>(mean[i], sigma[i], generator);
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
// Fixed vector
|
|
164
|
+
else if constexpr (
|
|
165
|
+
Derived::IsVectorAtCompileTime && Derived::SizeAtCompileTime != Eigen::Dynamic) {
|
|
166
|
+
return Derived::PlainObject::NullaryExpr([&](const Eigen::Index i) {
|
|
167
|
+
return generateScalarNormal<typename Derived::Scalar>(mean[i], sigma[i], generator);
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
template <typename T, typename Generator>
|
|
173
|
+
[[nodiscard]] T generateNormal(const T& mean, const T& sigma, Generator& generator) {
|
|
174
|
+
// Scalar types
|
|
175
|
+
if constexpr (std::is_arithmetic_v<T>) {
|
|
176
|
+
return generateScalarNormal(mean, sigma, generator);
|
|
177
|
+
}
|
|
178
|
+
// Matrix types
|
|
179
|
+
else if constexpr (is_base_of_matrix_v<T>) {
|
|
180
|
+
return generateMatrixNormal(mean, sigma, generator);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
} // namespace detail
|
|
185
|
+
|
|
186
|
+
template <typename Generator>
|
|
187
|
+
Random<Generator>& Random<Generator>::GetSingleton() {
|
|
188
|
+
static Random<Generator> singleton;
|
|
189
|
+
return singleton;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
template <typename Generator>
|
|
193
|
+
Random<Generator>::Random(uint32_t seed) : seed_(seed), generator_(seed_) {
|
|
194
|
+
// Do nothing
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
template <typename Generator>
|
|
198
|
+
template <typename T>
|
|
199
|
+
T Random<Generator>::uniform(const T& min, const T& max) {
|
|
200
|
+
return detail::generateUniform(min, max, generator_);
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
template <typename Generator>
|
|
204
|
+
template <typename FixedSizeT>
|
|
205
|
+
FixedSizeT Random<Generator>::uniform(
|
|
206
|
+
typename FixedSizeT::Scalar min,
|
|
207
|
+
typename FixedSizeT::Scalar max) {
|
|
208
|
+
return detail::generateMatrixUniform(
|
|
209
|
+
FixedSizeT::Constant(min), FixedSizeT::Constant(max), generator_);
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
template <typename Generator>
|
|
213
|
+
template <typename DynamicVector>
|
|
214
|
+
DynamicVector Random<Generator>::uniform(
|
|
215
|
+
Eigen::Index size,
|
|
216
|
+
typename DynamicVector::Scalar min,
|
|
217
|
+
typename DynamicVector::Scalar max) {
|
|
218
|
+
return detail::generateMatrixUniform(
|
|
219
|
+
DynamicVector::Constant(size, min), DynamicVector::Constant(size, max), generator_);
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
template <typename Generator>
|
|
223
|
+
template <typename DynamicMatrix>
|
|
224
|
+
DynamicMatrix Random<Generator>::uniform(
|
|
225
|
+
Eigen::Index rows,
|
|
226
|
+
Eigen::Index cols,
|
|
227
|
+
typename DynamicMatrix::Scalar min,
|
|
228
|
+
typename DynamicMatrix::Scalar max) {
|
|
229
|
+
return detail::generateMatrixUniform(
|
|
230
|
+
DynamicMatrix::Constant(rows, cols, min),
|
|
231
|
+
DynamicMatrix::Constant(rows, cols, max),
|
|
232
|
+
generator_);
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
template <typename Generator>
|
|
236
|
+
template <typename T>
|
|
237
|
+
Quaternion<T> Random<Generator>::uniformQuaternion() {
|
|
238
|
+
return Quaternion<T>::UnitRandom();
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
template <typename Generator>
|
|
242
|
+
template <typename T>
|
|
243
|
+
Matrix3<T> Random<Generator>::uniformRotationMatrix() {
|
|
244
|
+
return uniformQuaternion<T>().toRotationMatrix();
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
template <typename Generator>
|
|
248
|
+
template <typename T>
|
|
249
|
+
Isometry3<T> Random<Generator>::uniformIsometry3(const Vector3<T>& min, const Vector3<T>& max) {
|
|
250
|
+
Isometry3<T> out = Isometry3<T>::Identity();
|
|
251
|
+
out.linear() = uniformRotationMatrix<T>();
|
|
252
|
+
out.translation() = uniform<Vector3<T>>(min, max);
|
|
253
|
+
return out;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
template <typename Generator>
|
|
257
|
+
template <typename T>
|
|
258
|
+
Affine3<T> Random<Generator>::uniformAffine3(
|
|
259
|
+
T scaleMin,
|
|
260
|
+
T scaleMax,
|
|
261
|
+
const Vector3<T>& min,
|
|
262
|
+
const Vector3<T>& max) {
|
|
263
|
+
Affine3<T> out = Affine3<T>::Identity();
|
|
264
|
+
out.linear() = uniformRotationMatrix<T>() * uniform<T>(scaleMin, scaleMax);
|
|
265
|
+
out.translation().noalias() = uniform<Vector3<T>>(min, max);
|
|
266
|
+
return out;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
template <typename Generator>
|
|
270
|
+
template <typename T>
|
|
271
|
+
T Random<Generator>::normal(const T& mean, const T& sigma) {
|
|
272
|
+
return detail::generateNormal(mean, sigma, generator_);
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
template <typename Generator>
|
|
276
|
+
template <typename FixedSizeT>
|
|
277
|
+
FixedSizeT Random<Generator>::normal(
|
|
278
|
+
typename FixedSizeT::Scalar mean,
|
|
279
|
+
typename FixedSizeT::Scalar sigma) {
|
|
280
|
+
return detail::generateMatrixNormal(
|
|
281
|
+
FixedSizeT::Constant(mean), FixedSizeT::Constant(sigma), generator_);
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
template <typename Generator>
|
|
285
|
+
template <typename DynamicVector>
|
|
286
|
+
DynamicVector Random<Generator>::normal(
|
|
287
|
+
Eigen::Index size,
|
|
288
|
+
typename DynamicVector::Scalar mean,
|
|
289
|
+
typename DynamicVector::Scalar sigma) {
|
|
290
|
+
return detail::generateMatrixNormal(
|
|
291
|
+
DynamicVector::Constant(size, mean), DynamicVector::Constant(size, sigma), generator_);
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
template <typename Generator>
|
|
295
|
+
template <typename DynamicMatrix>
|
|
296
|
+
DynamicMatrix Random<Generator>::normal(
|
|
297
|
+
Eigen::Index rows,
|
|
298
|
+
Eigen::Index cols,
|
|
299
|
+
typename DynamicMatrix::Scalar mean,
|
|
300
|
+
typename DynamicMatrix::Scalar sigma) {
|
|
301
|
+
return detail::generateMatrixNormal(
|
|
302
|
+
DynamicMatrix::Constant(rows, cols, mean),
|
|
303
|
+
DynamicMatrix::Constant(rows, cols, sigma),
|
|
304
|
+
generator_);
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
template <typename Generator>
|
|
308
|
+
uint32_t Random<Generator>::getSeed() const {
|
|
309
|
+
return seed_;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
template <typename Generator>
|
|
313
|
+
void Random<Generator>::setSeed(uint32_t seed) {
|
|
314
|
+
if (seed == seed_) {
|
|
315
|
+
return;
|
|
316
|
+
}
|
|
317
|
+
seed_ = seed;
|
|
318
|
+
generator_.seed(seed_);
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
template <typename T>
|
|
322
|
+
T uniform(const T& min, const T& max) {
|
|
323
|
+
auto& rand = Random<>::GetSingleton();
|
|
324
|
+
return rand.uniform(min, max);
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
template <typename FixedSizeT>
|
|
328
|
+
FixedSizeT uniform(typename FixedSizeT::Scalar min, typename FixedSizeT::Scalar max) {
|
|
329
|
+
auto& rand = Random<>::GetSingleton();
|
|
330
|
+
return rand.uniform<FixedSizeT>(min, max);
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
template <typename DynamicVector>
|
|
334
|
+
DynamicVector
|
|
335
|
+
uniform(Eigen::Index size, typename DynamicVector::Scalar min, typename DynamicVector::Scalar max) {
|
|
336
|
+
auto& rand = Random<>::GetSingleton();
|
|
337
|
+
return rand.uniform<DynamicVector>(size, min, max);
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
template <typename DynamicMatrix>
|
|
341
|
+
DynamicMatrix uniform(
|
|
342
|
+
Eigen::Index rows,
|
|
343
|
+
Eigen::Index cols,
|
|
344
|
+
typename DynamicMatrix::Scalar min,
|
|
345
|
+
typename DynamicMatrix::Scalar max) {
|
|
346
|
+
auto& rand = Random<>::GetSingleton();
|
|
347
|
+
return rand.uniform<DynamicMatrix>(rows, cols, min, max);
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
template <typename T>
|
|
351
|
+
Quaternion<T> uniformQuaternion() {
|
|
352
|
+
auto& rand = Random<>::GetSingleton();
|
|
353
|
+
return rand.uniformQuaternion<T>();
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
template <typename T>
|
|
357
|
+
Matrix3<T> uniformRotationMatrix() {
|
|
358
|
+
return uniformQuaternion<T>().toRotationMatrix();
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
template <typename T>
|
|
362
|
+
Isometry3<T> uniformIsometry3(const Vector3<T>& min, const Vector3<T>& max) {
|
|
363
|
+
auto& rand = Random<>::GetSingleton();
|
|
364
|
+
return rand.uniformIsometry3<T>(min, max);
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
template <typename T>
|
|
368
|
+
Affine3<T> uniformAffine3(T scaleMin, T scaleMax, const Vector3<T>& min, const Vector3<T>& max) {
|
|
369
|
+
auto& rand = Random<>::GetSingleton();
|
|
370
|
+
return rand.uniformAffine3<T>(scaleMin, scaleMax, min, max);
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
template <typename T>
|
|
374
|
+
T normal(const T& mean, const T& sigma) {
|
|
375
|
+
auto& rand = Random<>::GetSingleton();
|
|
376
|
+
return rand.normal(mean, sigma);
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
template <typename FixedSizeT>
|
|
380
|
+
FixedSizeT normal(typename FixedSizeT::Scalar mean, typename FixedSizeT::Scalar sigma) {
|
|
381
|
+
auto& rand = Random<>::GetSingleton();
|
|
382
|
+
return rand.normal<FixedSizeT>(mean, sigma);
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
template <typename DynamicVector>
|
|
386
|
+
DynamicVector normal(
|
|
387
|
+
Eigen::Index size,
|
|
388
|
+
typename DynamicVector::Scalar mean,
|
|
389
|
+
typename DynamicVector::Scalar sigma) {
|
|
390
|
+
auto& rand = Random<>::GetSingleton();
|
|
391
|
+
return rand.normal<DynamicVector>(size, mean, sigma);
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
template <typename DynamicMatrix>
|
|
395
|
+
DynamicMatrix normal(
|
|
396
|
+
Eigen::Index rows,
|
|
397
|
+
Eigen::Index cols,
|
|
398
|
+
typename DynamicMatrix::Scalar mean,
|
|
399
|
+
typename DynamicMatrix::Scalar sigma) {
|
|
400
|
+
auto& rand = Random<>::GetSingleton();
|
|
401
|
+
return rand.normal<DynamicMatrix>(rows, cols, mean, sigma);
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
} // namespace momentum
|