Milky2018/moon_rapier/dynamics does not have a README file
pub(all) enum AxisState3DReal {
Free
Locked
Limited(Float, Float)
}pub struct BodyPair {
body1 : RigidBodyHandle
body2 : RigidBodyHandle
}
fn BodyPair::BodyPair(body1 : RigidBodyHandle, body2 : RigidBodyHandle) -> BodyPairfn CCDSolver::clamp_motions(self : CCDSolver, dt : Float, bodies : RigidBodySet, impacts : PredictedImpacts) -> Unitfn CCDSolver::clamp_motions3(self : CCDSolver, dt : Float, bodies : RigidBodySet3, impacts : PredictedImpacts) -> Unitfn CCDSolver::find_first_impact(self : CCDSolver, impacts : PredictedImpacts) -> (RigidBodyHandle, Float)?fn CCDSolver::predict_impacts_at_next_positions(self : CCDSolver, _bodies : RigidBodySet, _dt : Float) -> PredictedImpactsfn CCDSolver::update_ccd_active_flags(self : CCDSolver, islands : IslandManager, bodies : RigidBodySet, dt : Float, include_forces : Bool) -> Boolfn CCDSolver::update_ccd_active_flags3(self : CCDSolver, islands : IslandManager3, bodies : RigidBodySet3, dt : Float, include_forces : Bool) -> Boolpub(all) enum CoefficientCombineRule {
Average
Min
Multiply
Max
ClampedSum
}fn CoefficientCombineRule::combine(coeff1 : Float, coeff2 : Float, rule_value1 : CoefficientCombineRule, rule_value2 : CoefficientCombineRule) -> Floatpub struct ContactGraph {
pairs : Array[(RigidBodyHandle, RigidBodyHandle)]
}
fn ContactGraph::ContactGraph() -> ContactGraphfn ContactGraph::add_pair(self : ContactGraph, body1 : RigidBodyHandle, body2 : RigidBodyHandle) -> Unittype DVectorpub struct FixedJoint {
local_anchor1 : Vec2
local_anchor2 : Vec2
}
fn FixedJoint::FixedJoint() -> FixedJointpub struct FixedJoint3DRealBuilder {
inner : GenericJoint3DRealBuilder
}
fn FixedJoint3DRealBuilder::FixedJoint3DRealBuilder() -> FixedJoint3DRealBuilderfn FixedJoint3DRealBuilder::local_anchor1(self : FixedJoint3DRealBuilder, a : Vec3) -> FixedJoint3DRealBuilderfn FixedJoint3DRealBuilder::local_anchor2(self : FixedJoint3DRealBuilder, a : Vec3) -> FixedJoint3DRealBuilderfn FixedJoint3DRealBuilder::local_basis1(self : FixedJoint3DRealBuilder, q : Quat) -> FixedJoint3DRealBuilderfn FixedJoint3DRealBuilder::local_basis2(self : FixedJoint3DRealBuilder, q : Quat) -> FixedJoint3DRealBuilderpub struct FixedJointBuilder {
// private fields
}
fn FixedJointBuilder::FixedJointBuilder() -> FixedJointBuilderpub enum FrictionModel {
Simplified
Coulomb
}pub struct GenericJoint {
local_frame1 : Isometry2
local_frame2 : Isometry2
axis3 : Vec3
local_anchor1_3 : Vec3
local_anchor2_3 : Vec3
local_frame1_rotation : Quat
local_frame2_rotation : Quat
locked_axes : JointAxesMask
limit_axes : JointAxesMask
motor_axes : JointAxesMask
coupled_axes : JointAxesMask
limits : JointLimits3
motors : JointMotors3
softness : SpringCoefficients
contacts_enabled : Bool
enabled : JointEnabled
user_data : Int
}
fn GenericJoint::GenericJoint(locked_axes : JointAxesMask) -> GenericJointfn GenericJoint::set_enabled_by_attached_body(self : GenericJoint, attached_enabled : Bool) -> GenericJointfn GenericJoint::set_limits_axis(self : GenericJoint, axis : JointAxis, min : Float, max : Float) -> GenericJointfn GenericJoint::set_motor(self : GenericJoint, axis : JointAxis, target_pos : Float, target_vel : Float, stiffness : Float, damping : Float) -> GenericJointfn GenericJoint::set_motor_max_force(self : GenericJoint, axis : JointAxis, max_force : Float) -> GenericJointfn GenericJoint::set_motor_model(self : GenericJoint, axis : JointAxis, model : MotorModel) -> GenericJointfn GenericJoint::set_motor_position(self : GenericJoint, axis : JointAxis, target_pos : Float, stiffness : Float, damping : Float) -> GenericJointfn GenericJoint::set_motor_velocity(self : GenericJoint, axis : JointAxis, target_vel : Float, factor : Float) -> GenericJointpub struct GenericJoint3DReal {
local_frame1 : Isometry3
local_frame2 : Isometry3
axis_states : Array[AxisState3DReal]
motors : Array[MotorState3DReal]
coupled_axes : JointAxesMask3DReal
contacts_enabled : Bool
}pub struct GenericJoint3DRealBuilder {
locked_axes : JointAxesMask3DReal
contacts_enabled : Bool
coupled_axes : JointAxesMask3DReal
local_anchor1 : Vec3
local_anchor2 : Vec3
local_basis1 : Quat
local_basis2 : Quat
axis_states : Array[AxisState3DReal]
motors : Array[MotorState3DReal]
}
fn GenericJoint3DRealBuilder::GenericJoint3DRealBuilder(locked_axes : JointAxesMask3DReal) -> GenericJoint3DRealBuilderfn GenericJoint3DRealBuilder::contacts_enabled(self : GenericJoint3DRealBuilder, enabled : Bool) -> GenericJoint3DRealBuilderfn GenericJoint3DRealBuilder::coupled_axes(self : GenericJoint3DRealBuilder, coupled_axes : JointAxesMask3DReal) -> GenericJoint3DRealBuilderfn GenericJoint3DRealBuilder::limits(self : GenericJoint3DRealBuilder, axis : JointAxis3DReal, min : Float, max : Float) -> GenericJoint3DRealBuilderfn GenericJoint3DRealBuilder::local_anchor1(self : GenericJoint3DRealBuilder, local_anchor1 : Vec3) -> GenericJoint3DRealBuilderfn GenericJoint3DRealBuilder::local_anchor2(self : GenericJoint3DRealBuilder, local_anchor2 : Vec3) -> GenericJoint3DRealBuilderfn GenericJoint3DRealBuilder::local_axis1(self : GenericJoint3DRealBuilder, axis : Vec3) -> GenericJoint3DRealBuilderfn GenericJoint3DRealBuilder::local_axis2(self : GenericJoint3DRealBuilder, axis : Vec3) -> GenericJoint3DRealBuilderfn GenericJoint3DRealBuilder::local_basis1(self : GenericJoint3DRealBuilder, local_basis1 : Quat) -> GenericJoint3DRealBuilderfn GenericJoint3DRealBuilder::local_basis2(self : GenericJoint3DRealBuilder, local_basis2 : Quat) -> GenericJoint3DRealBuilderfn GenericJoint3DRealBuilder::motor_max_force(self : GenericJoint3DRealBuilder, axis : JointAxis3DReal, max_force : Float) -> GenericJoint3DRealBuilderfn GenericJoint3DRealBuilder::motor_position(self : GenericJoint3DRealBuilder, axis : JointAxis3DReal, target_pos : Float, stiffness : Float, damping : Float) -> GenericJoint3DRealBuilderfn GenericJoint3DRealBuilder::motor_velocity(self : GenericJoint3DRealBuilder, axis : JointAxis3DReal, target_vel : Float, damping : Float) -> GenericJoint3DRealBuilderpub struct GenericJointConstraint {
is_rigid_body1 : Bool
is_rigid_body2 : Bool
solver_vel1 : Int
solver_vel2 : Int
ndofs1 : Int
j_id1 : Int
ndofs2 : Int
j_id2 : Int
joint_id : Int
impulse : Float
impulse_bounds : (Float, Float)
inv_lhs : Float
rhs : Float
rhs_wo_bias : Float
cfm_coeff : Float
cfm_gain : Float
writeback_id : WritebackId
}pub struct GenericJointConstraint3DReal {
body1 : RigidBodyHandle
body2 : RigidBodyHandle
data : GenericJoint3DReal
}pub struct ImpulseJoint {
body1 : RigidBodyHandle
body2 : RigidBodyHandle
data : GenericJoint
impulses : Vec2
ang_impulse : Float
handle : ImpulseJointHandle
}fn ImpulseJoint::set_enabled_by_attached_body(self : ImpulseJoint, attached_enabled : Bool) -> ImpulseJointpub struct ImpulseJointGraph {
nodes : Array[RigidBodyHandle]
edges : Array[(RigidBodyHandle, RigidBodyHandle, ImpulseJoint)]
}fn ImpulseJointGraph::edges(self : ImpulseJointGraph) -> Array[(RigidBodyHandle, RigidBodyHandle, ImpulseJoint)]pub struct ImpulseJointHandle {
id : Int
generation : Int
}pub struct ImpulseJointSet {
// private fields
}
fn ImpulseJointSet::ImpulseJointSet() -> ImpulseJointSetfn ImpulseJointSet::attached_enabled_joints(self : ImpulseJointSet, handle : RigidBodyHandle) -> Array[(RigidBodyHandle, RigidBodyHandle, ImpulseJointHandle, ImpulseJoint)]fn ImpulseJointSet::attached_joints(self : ImpulseJointSet, handle : RigidBodyHandle) -> Array[(RigidBodyHandle, RigidBodyHandle, ImpulseJointHandle, ImpulseJoint)]fn ImpulseJointSet::get_mut(self : ImpulseJointSet, handle : ImpulseJointHandle, wake_up : Bool) -> ImpulseJoint?fn ImpulseJointSet::get_unknown_gen(self : ImpulseJointSet, id : Int) -> (ImpulseJoint, ImpulseJointHandle)?fn ImpulseJointSet::get_unknown_gen_mut(self : ImpulseJointSet, id : Int) -> (ImpulseJoint, ImpulseJointHandle)?fn ImpulseJointSet::insert(self : ImpulseJointSet, body1 : RigidBodyHandle, body2 : RigidBodyHandle, joint : GenericJoint, wake_up : Bool) -> ImpulseJointHandlefn ImpulseJointSet::joints_between(self : ImpulseJointSet, body1 : RigidBodyHandle, body2 : RigidBodyHandle) -> Array[(ImpulseJointHandle, ImpulseJoint)]fn ImpulseJointSet::map_attached_joints_mut(self : ImpulseJointSet, handle : RigidBodyHandle, f : (RigidBodyHandle, RigidBodyHandle, ImpulseJointHandle, ImpulseJoint) -> Unit) -> Unitfn ImpulseJointSet::remove(self : ImpulseJointSet, handle : ImpulseJointHandle, wake_up : Bool) -> ImpulseJoint?fn ImpulseJointSet::remove_joints_attached_to_rigid_body(self : ImpulseJointSet, handle : RigidBodyHandle) -> Array[ImpulseJointHandle]fn ImpulseJointSet::select_active_interactions(self : ImpulseJointSet, islands : IslandManager, bodies : RigidBodySet, out : Array[Array[Int]]) -> Unitfn ImpulseJointSet::set_enabled(self : ImpulseJointSet, handle : ImpulseJointHandle, enabled : Bool) -> Unitfn ImpulseJointSet::set_impulses(self : ImpulseJointSet, handle : ImpulseJointHandle, impulses : Vec2) -> Unitfn ImpulseJointSet::set_solver_impulses(self : ImpulseJointSet, handle : ImpulseJointHandle, impulses : Vec2, ang_impulse : Float, motor_lin_x : Float, motor_lin_y : Float, motor_ang_z : Float, limit_lin_x : Float, limit_lin_y : Float, limit_ang_z : Float) -> Unitfn ImpulseJointSet::take_to_join(self : ImpulseJointSet) -> Array[(RigidBodyHandle, RigidBodyHandle)]pub struct ImpulseJointSet3 {
// private fields
}
fn ImpulseJointSet3::ImpulseJointSet3() -> ImpulseJointSet3fn ImpulseJointSet3::attached_enabled_joints(self : ImpulseJointSet3, handle : RigidBodyHandle) -> Array[(RigidBodyHandle, RigidBodyHandle, ImpulseJointHandle, ImpulseJoint)]fn ImpulseJointSet3::attached_joints(self : ImpulseJointSet3, handle : RigidBodyHandle) -> Array[(RigidBodyHandle, RigidBodyHandle, ImpulseJointHandle, ImpulseJoint)]fn ImpulseJointSet3::get_mut(self : ImpulseJointSet3, handle : ImpulseJointHandle, wake_up : Bool) -> ImpulseJoint?fn ImpulseJointSet3::get_unknown_gen(self : ImpulseJointSet3, id : Int) -> (ImpulseJoint, ImpulseJointHandle)?fn ImpulseJointSet3::get_unknown_gen_mut(self : ImpulseJointSet3, id : Int) -> (ImpulseJoint, ImpulseJointHandle)?fn ImpulseJointSet3::insert(self : ImpulseJointSet3, body1 : RigidBodyHandle, body2 : RigidBodyHandle, joint : GenericJoint, wake_up : Bool) -> ImpulseJointHandlefn ImpulseJointSet3::joints_between(self : ImpulseJointSet3, body1 : RigidBodyHandle, body2 : RigidBodyHandle) -> Array[(ImpulseJointHandle, ImpulseJoint)]fn ImpulseJointSet3::map_attached_joints_mut(self : ImpulseJointSet3, handle : RigidBodyHandle, f : (RigidBodyHandle, RigidBodyHandle, ImpulseJointHandle, ImpulseJoint) -> Unit) -> Unitfn ImpulseJointSet3::remove(self : ImpulseJointSet3, handle : ImpulseJointHandle, wake_up : Bool) -> ImpulseJoint?fn ImpulseJointSet3::remove_joints_attached_to_rigid_body(self : ImpulseJointSet3, handle : RigidBodyHandle) -> Array[ImpulseJointHandle]fn ImpulseJointSet3::select_active_interactions(self : ImpulseJointSet3, islands : IslandManager, bodies : RigidBodySet, out : Array[Array[Int]]) -> Unitfn ImpulseJointSet3::set_enabled(self : ImpulseJointSet3, handle : ImpulseJointHandle, enabled : Bool) -> Unitfn ImpulseJointSet3::set_impulses(self : ImpulseJointSet3, handle : ImpulseJointHandle, impulses : Vec2) -> Unitfn ImpulseJointSet3::set_solver_impulses(self : ImpulseJointSet3, handle : ImpulseJointHandle, impulses : Vec2, ang_impulse : Float, motor_lin_x : Float, motor_lin_y : Float, motor_ang_z : Float, limit_lin_x : Float, limit_lin_y : Float, limit_ang_z : Float) -> Unitfn ImpulseJointSet3::take_to_join(self : ImpulseJointSet3) -> Array[(RigidBodyHandle, RigidBodyHandle)]fn IndexSequence::rearrange_columns(self : IndexSequence, vec : RowDVector, keep_columns : Bool) -> Unitfn IndexSequence::with_rearranged_rows_mut(self : IndexSequence, vec : DVector, action : (DVector) -> Unit) -> Unitpub struct IntegrationParameters {
dt : Float
min_ccd_dt : Float
contact_softness : SpringCoefficients
warmstart_coefficient : Float
length_unit : Float
normalized_allowed_linear_error : Float
normalized_max_corrective_velocity : Float
normalized_prediction_distance : Float
num_solver_iterations : Int
num_internal_pgs_iterations : Int
num_internal_stabilization_iterations : Int
min_island_size : Int
max_ccd_substeps : Int
friction_model : FrictionModel
}
fn IntegrationParameters::IntegrationParameters() -> IntegrationParametersfn IntegrationParameters::set_contact_softness(self : IntegrationParameters, contact_softness : SpringCoefficients) -> IntegrationParametersfn IntegrationParameters::set_inv_dt(self : IntegrationParameters, inv_dt : Float) -> IntegrationParametersfn IntegrationParameters::set_length_unit(self : IntegrationParameters, length_unit : Float) -> IntegrationParametersfn IntegrationParameters::set_max_ccd_substeps(self : IntegrationParameters, max_ccd_substeps : Int) -> IntegrationParametersfn IntegrationParameters::set_min_ccd_dt(self : IntegrationParameters, min_ccd_dt : Float) -> IntegrationParametersfn IntegrationParameters::set_min_island_size(self : IntegrationParameters, min_island_size : Int) -> IntegrationParametersfn IntegrationParameters::set_normalized_allowed_linear_error(self : IntegrationParameters, normalized_allowed_linear_error : Float) -> IntegrationParametersfn IntegrationParameters::set_normalized_max_corrective_velocity(self : IntegrationParameters, normalized_max_corrective_velocity : Float) -> IntegrationParametersfn IntegrationParameters::set_normalized_prediction_distance(self : IntegrationParameters, normalized_prediction_distance : Float) -> IntegrationParametersfn IntegrationParameters::set_num_internal_pgs_iterations(self : IntegrationParameters, num_internal_pgs_iterations : Int) -> IntegrationParametersfn IntegrationParameters::set_num_internal_stabilization_iterations(self : IntegrationParameters, num_internal_stabilization_iterations : Int) -> IntegrationParametersfn IntegrationParameters::set_num_solver_iterations(self : IntegrationParameters, num_solver_iterations : Int) -> IntegrationParametersfn IntegrationParameters::set_warmstart_coefficient(self : IntegrationParameters, warmstart_coefficient : Float) -> IntegrationParametersfn IntegrationParameters::with_dt(self : IntegrationParameters, dt : Float) -> IntegrationParameterspub struct InteractionGroups {
memberships : Group
filter : Group
test_mode : InteractionTestMode
}
fn InteractionGroups::InteractionGroups(memberships : Group, filter : Group, test_mode : InteractionTestMode) -> InteractionGroupsfn InteractionGroups::with_memberships(self : InteractionGroups, memberships : Group) -> InteractionGroupspub struct InverseKinematicsOption {
damping : Float
max_iters : Int
constrained_axes : JointAxesMask
epsilon_linear : Float
epsilon_angular : Float
}fn InverseKinematicsOption::set_constrained_axes(self : InverseKinematicsOption, constrained_axes : JointAxesMask) -> InverseKinematicsOptionfn InverseKinematicsOption::set_damping(self : InverseKinematicsOption, damping : Float) -> InverseKinematicsOptionfn InverseKinematicsOption::set_epsilon_angular(self : InverseKinematicsOption, epsilon_angular : Float) -> InverseKinematicsOptionfn InverseKinematicsOption::set_epsilon_linear(self : InverseKinematicsOption, epsilon_linear : Float) -> InverseKinematicsOptionfn InverseKinematicsOption::set_max_iters(self : InverseKinematicsOption, max_iters : Int) -> InverseKinematicsOptionpub struct IslandManager {
islands : Array[Island?]
awake_islands : Array[Int]
free_islands : Array[Int]
traversal_candidates : Array[SleepCandidate]
traversal_timestamp : Int
optimizer : IslandsOptimizer
stack : Array[RigidBodyHandle]
body_island_ids : Array[Int]
body_island_generations : Array[Int]
body_island_indices : Array[Int]
body_state_generations : Array[Int]
}
fn IslandManager::IslandManager() -> IslandManagerfn IslandManager::interaction_started_or_stopped(self : IslandManager, bodies : RigidBodySet, handle1 : RigidBodyHandle?, handle2 : RigidBodyHandle?, started : Bool, wake_up : Bool) -> Unitfn IslandManager::rigid_body_removed_or_disabled(self : IslandManager, handle : RigidBodyHandle, bodies : RigidBodySet) -> Unitfn IslandManager::rigid_body_updated(self : IslandManager, handle : RigidBodyHandle, bodies : RigidBodySet) -> Unitfn IslandManager::update_islands(self : IslandManager, dt : Float, length_unit : Float, bodies : RigidBodySet, contacts : ContactGraph, impulse_joints : ImpulseJointSet, multibody_joints : MultibodyJointSet) -> Unitfn IslandManager::wake_up(self : IslandManager, bodies : RigidBodySet, handle : RigidBodyHandle, strong : Bool) -> Unitpub struct IslandManager3 {
inner : IslandManager
}
fn IslandManager3::IslandManager3() -> IslandManager3fn IslandManager3::interaction_started_or_stopped(self : IslandManager3, bodies : RigidBodySet3, handle1 : RigidBodyHandle?, handle2 : RigidBodyHandle?, started : Bool, stop_on_same_island : Bool) -> Unitfn IslandManager3::rigid_body_removed_or_disabled(self : IslandManager3, handle : RigidBodyHandle, bodies : RigidBodySet3) -> Unitfn IslandManager3::rigid_body_updated(self : IslandManager3, handle : RigidBodyHandle, bodies : RigidBodySet3) -> Unitfn IslandManager3::update_islands(self : IslandManager3, dt : Float, length_unit : Float, bodies : RigidBodySet3, contacts : ContactGraph, impulse_joints : ImpulseJointSet3, multibody_joints : MultibodyJointSet3) -> Unitfn IslandManager3::wake_up(self : IslandManager3, bodies : RigidBodySet3, handle : RigidBodyHandle, strong : Bool) -> Unitpub struct IslandManager3D {
active_bodies : Array[RigidBodyHandle]
islands : Array[Array[RigidBodyHandle]]
island_solver_iterations : Array[Int]
island_nodes : Array[Island3D?]
awake_island_ids : Array[Int]
free_island_ids : Array[Int]
body_island_ids : Array[Int]
body_island_generations : Array[Int]
body_island_indices : Array[Int]
body_sleep_state_generations : Array[Int]
body_sleep_states : Array[Int]
body_traversal_timestamps : Array[Int]
stack : Array[RigidBodyHandle]
optimizer : IslandsOptimizer3D
traversal_timestamp : Int
}
fn IslandManager3D::IslandManager3D() -> IslandManager3Dfn IslandManager3D::island_additional_solver_iterations(self : IslandManager3D, island_id : Int) -> Intfn IslandManager3D::island_bodies(self : IslandManager3D, island_id : Int) -> Array[RigidBodyHandle]fn IslandManager3D::update(self : IslandManager3D, bodies : RigidBodySet3D, interactions : Array[(RigidBodyHandle, RigidBodyHandle)]) -> Unittype Jacobianpub struct JointAxesMask3DReal {
bits : Int
}
fn JointAxesMask3DReal::JointAxesMask3DReal(bits : Int) -> JointAxesMask3DRealfn JointAxesMask3DReal::intersection(self : JointAxesMask3DReal, other : JointAxesMask3DReal) -> JointAxesMask3DRealfn JointAxesMask3DReal::or(self : JointAxesMask3DReal, other : JointAxesMask3DReal) -> JointAxesMask3DRealpub struct JointHandle3DReal {
index : Int
}pub struct JointLimits {
min : Float
max : Float
impulse : Float
}
fn JointLimits::JointLimits(min : Float, max : Float) -> JointLimitspub struct JointLimits3 {
lin_x : JointLimits
lin_y : JointLimits
lin_z : JointLimits
ang_x : JointLimits
ang_y : JointLimits
ang_z : JointLimits
}pub struct JointMotor {
target_vel : Float
target_pos : Float
stiffness : Float
damping : Float
max_force : Float
impulse : Float
model : MotorModel
}pub struct JointMotors3 {
lin_x : JointMotor
lin_y : JointMotor
lin_z : JointMotor
ang_x : JointMotor
ang_y : JointMotor
ang_z : JointMotor
}pub struct JointSet3DReal {
spherical : Array[SphericalJoint3DReal]
prismatic : Array[PrismaticJoint3DReal]
spherical_motors : Array[SphericalMotor3DReal]
generic : Array[GenericJointConstraint3DReal]
springs : Array[SpringJoint3DReal]
spherical_impulses : Array[Vec3]
prismatic_lock_impulses : Array[Vec2]
prismatic_motor_impulses : Array[Float]
prismatic_angular_impulses : Array[Vec3]
spherical_motor_impulses : Array[Vec3]
generic_lock_impulses : Array[Array[Float]]
generic_limit_impulses : Array[Array[Float]]
generic_motor_impulses : Array[Array[Float]]
generic_coupled_impulses : Array[Float]
spring_impulses : Array[Float]
}
fn JointSet3DReal::JointSet3DReal() -> JointSet3DRealfn JointSet3DReal::disabled_contact_pairs(self : JointSet3DReal) -> Array[(RigidBodyHandle, RigidBodyHandle)]fn JointSet3DReal::insert_generic(self : JointSet3DReal, body1 : RigidBodyHandle, body2 : RigidBodyHandle, data : GenericJoint3DReal, wake_up : Bool) -> JointHandle3DRealfn JointSet3DReal::insert_prismatic_motor_position(self : JointSet3DReal, body1 : RigidBodyHandle, body2 : RigidBodyHandle, local_axis1 : Vec3, local_anchor1 : Vec3, local_anchor2 : Vec3, target : Float, stiffness : Float, damping : Float) -> Unitfn JointSet3DReal::insert_revolute(self : JointSet3DReal, body1 : RigidBodyHandle, body2 : RigidBodyHandle, axis : Vec3, local_anchor1 : Vec3, local_anchor2 : Vec3, wake_up : Bool) -> JointHandle3DRealfn JointSet3DReal::insert_spherical(self : JointSet3DReal, body1 : RigidBodyHandle, body2 : RigidBodyHandle, local_anchor1 : Vec3, local_anchor2 : Vec3) -> Unitfn JointSet3DReal::insert_spherical_motor_rotation(self : JointSet3DReal, body1 : RigidBodyHandle, body2 : RigidBodyHandle, target_rel_rotation : Quat, stiffness : Float, damping : Float) -> Unitfn JointSet3DReal::insert_spring(self : JointSet3DReal, body1 : RigidBodyHandle, body2 : RigidBodyHandle, local_anchor1 : Vec3, local_anchor2 : Vec3, rest_length : Float, stiffness : Float, damping : Float, wake_up : Bool) -> Unitfn JointSet3DReal::interaction_pairs(self : JointSet3DReal) -> Array[(RigidBodyHandle, RigidBodyHandle)]fn JointSet3DReal::set_motor_position(self : JointSet3DReal, handle : JointHandle3DReal, axis : JointAxis3DReal, target_pos : Float, stiffness : Float, damping : Float, max_force : Float) -> Unitfn JointSet3DReal::set_motor_velocity(self : JointSet3DReal, handle : JointHandle3DReal, axis : JointAxis3DReal, target_vel : Float, damping : Float, max_force : Float) -> Unitfn JointSet3DReal::solve(self : JointSet3DReal, bodies : RigidBodySet3D, dt : Float, iterations : Int) -> Unitfn JointSet3DReal::solve_with_island_stamp(self : JointSet3DReal, bodies : RigidBodySet3D, dt : Float, iterations : Int, island_stamps : Array[Int]?, island_stamp : Int) -> Unitpub(all) enum MotorModel {
AccelerationBased
ForceBased
}fn MotorModel::combine_coefficients(self : MotorModel, dt : Float, stiffness : Float, damping : Float) -> (Float, Float, Float)pub(all) enum MotorState3DReal {
Disabled
Velocity(Float, Float, Float)
Position(Float, Float, Float, Float)
}fn Multibody::forward_kinematics(self : Multibody, bodies : RigidBodySet, update_positions : Bool) -> Unitfn Multibody::inverse_kinematics(self : Multibody, bodies : RigidBodySet, link_id : LinkId, options : InverseKinematicsOption, target_pose : Isometry2, joint_can_move : (MultibodyLink) -> Bool, displacements : DVector) -> Unitfn Multibody3::forward_kinematics(self : Multibody3, bodies : RigidBodySet3, update_dofs : Bool) -> Unitfn Multibody3::forward_kinematics_single_link(self : Multibody3, bodies : RigidBodySet3, id : LinkId, displacements : Array[Float]?, jacobian : Jacobian3?) -> Isometry3fn Multibody3::inverse_kinematics(self : Multibody3, bodies : RigidBodySet3, id : LinkId, options : InverseKinematicsOption, target : Isometry3, can_move : (MultibodyLink) -> Bool, displacements : DVector) -> Unitfn Multibody3DReal::apply_displacements(self : Multibody3DReal, displacements : Array[Float]) -> Unitfn Multibody3DReal::forward_kinematics(self : Multibody3DReal, bodies : RigidBodySet3D, update_dofs : Bool) -> Unitfn Multibody3DReal::forward_kinematics_single_link(self : Multibody3DReal, bodies : RigidBodySet3D, id : LinkId, displacements : Array[Float]?, jacobian : Jacobian3?) -> Isometry3fn Multibody3DReal::inverse_kinematics(self : Multibody3DReal, bodies : RigidBodySet3D, id : LinkId, options : InverseKinematicsOption, target : Isometry3, can_move : (MultibodyLink) -> Bool, displacements : DVector) -> Unittype MultibodyIndexpub struct MultibodyJoint {
data : GenericJoint
kinematic : Bool
coords : Vec2
angle : Float
joint_rot : Rot2
lin_coords3 : Vec3
ang_coords3 : Vec3
joint_rot3 : Quat
axis3 : Vec3
local_anchor1_3 : Vec3
local_anchor2_3 : Vec3
local_frame1_rotation : Quat
local_frame2_rotation : Quat
solver_lin_impulses : Vec2
}
fn MultibodyJoint::MultibodyJoint(data : GenericJoint, kinematic : Bool) -> MultibodyJointfn MultibodyJoint::jacobian_mul_coordinates(self : MultibodyJoint, coords : Array[Float]) -> RigidBodyVelocityfn MultibodyJoint::velocity_constraints(self : MultibodyJoint, params : IntegrationParameters, multibody : Multibody, link : MultibodyLink, j_id : Int, jacobians : DVector, constraints : Array[GenericJointConstraint]) -> Inttype MultibodyJointHandlepub struct MultibodyJointSet {
// private fields
}
fn MultibodyJointSet::MultibodyJointSet() -> MultibodyJointSetfn MultibodyJointSet::attached_bodies(self : MultibodyJointSet, handle : RigidBodyHandle) -> Array[RigidBodyHandle]fn MultibodyJointSet::attached_joints(self : MultibodyJointSet, handle : RigidBodyHandle) -> Array[(RigidBodyHandle, RigidBodyHandle, MultibodyJointHandle)]fn MultibodyJointSet::bodies_attached_with_enabled_joint(self : MultibodyJointSet, handle : RigidBodyHandle) -> Array[RigidBodyHandle]fn MultibodyJointSet::get(self : MultibodyJointSet, handle : MultibodyJointHandle) -> (Multibody, LinkId)?fn MultibodyJointSet::get_multibody_mut(self : MultibodyJointSet, index : MultibodyIndex) -> Multibody?fn MultibodyJointSet::get_multibody_mut_internal(self : MultibodyJointSet, index : MultibodyIndex) -> Multibody?fn MultibodyJointSet::get_mut(self : MultibodyJointSet, handle : MultibodyJointHandle) -> (Multibody, LinkId)?fn MultibodyJointSet::get_mut_internal(self : MultibodyJointSet, handle : MultibodyJointHandle) -> (Multibody, LinkId)?fn MultibodyJointSet::get_unknown_gen(self : MultibodyJointSet, id : Int) -> (Multibody, LinkId, MultibodyJointHandle)?fn MultibodyJointSet::insert(self : MultibodyJointSet, parent : RigidBodyHandle, child : RigidBodyHandle, joint : GenericJoint, wake_up : Bool) -> MultibodyJointHandle?fn MultibodyJointSet::insert_kinematic(self : MultibodyJointSet, parent : RigidBodyHandle, child : RigidBodyHandle, joint : GenericJoint, wake_up : Bool) -> MultibodyJointHandle?fn MultibodyJointSet::iter(self : MultibodyJointSet) -> Array[(MultibodyJointHandle, MultibodyLinkId, Multibody, MultibodyLink)]fn MultibodyJointSet::joint_between(self : MultibodyJointSet, body1 : RigidBodyHandle, body2 : RigidBodyHandle) -> (MultibodyJointHandle, Multibody, MultibodyLink)?fn MultibodyJointSet::remove(self : MultibodyJointSet, handle : MultibodyJointHandle, wake_up : Bool) -> Unitfn MultibodyJointSet::remove_multibody_articulations(self : MultibodyJointSet, handle : RigidBodyHandle, wake_up : Bool) -> Unitfn MultibodyJointSet::revolute_joint_descriptors(self : MultibodyJointSet) -> Array[MultibodyRevoluteJointDesc]fn MultibodyJointSet::rigid_body_link(self : MultibodyJointSet, handle : RigidBodyHandle) -> MultibodyLinkId?fn MultibodyJointSet::set_revolute_joint_solver_impulses(self : MultibodyJointSet, link : MultibodyLinkId, lin_impulses : Vec2, motor_impulse : Float, limit_impulse : Float) -> Unitfn MultibodyJointSet::sync_rigid_bodies_from_multibodies(self : MultibodyJointSet, bodies : RigidBodySet) -> Unitfn MultibodyJointSet::take_to_join(self : MultibodyJointSet) -> Array[(RigidBodyHandle, RigidBodyHandle)]pub struct MultibodyJointSet3 {
// private fields
}
fn MultibodyJointSet3::MultibodyJointSet3() -> MultibodyJointSet3fn MultibodyJointSet3::attached_bodies(self : MultibodyJointSet3, handle : RigidBodyHandle) -> Array[RigidBodyHandle]fn MultibodyJointSet3::attached_joints(self : MultibodyJointSet3, handle : RigidBodyHandle) -> Array[(RigidBodyHandle, RigidBodyHandle, MultibodyJointHandle)]fn MultibodyJointSet3::bodies_attached_with_enabled_joint(self : MultibodyJointSet3, handle : RigidBodyHandle) -> Array[RigidBodyHandle]fn MultibodyJointSet3::disabled_contact_pairs(self : MultibodyJointSet3) -> Array[(RigidBodyHandle, RigidBodyHandle)]fn MultibodyJointSet3::get(self : MultibodyJointSet3, handle : MultibodyJointHandle) -> (Multibody3, LinkId)?fn MultibodyJointSet3::get_multibody(self : MultibodyJointSet3, index : MultibodyIndex) -> Multibody3?fn MultibodyJointSet3::get_multibody_mut(self : MultibodyJointSet3, index : MultibodyIndex) -> Multibody3?fn MultibodyJointSet3::get_multibody_mut_internal(self : MultibodyJointSet3, index : MultibodyIndex) -> Multibody3?fn MultibodyJointSet3::get_mut(self : MultibodyJointSet3, handle : MultibodyJointHandle) -> (Multibody3, LinkId)?fn MultibodyJointSet3::get_mut_internal(self : MultibodyJointSet3, handle : MultibodyJointHandle) -> (Multibody3, LinkId)?fn MultibodyJointSet3::get_unknown_gen(self : MultibodyJointSet3, id : Int) -> (Multibody3, LinkId, MultibodyJointHandle)?fn MultibodyJointSet3::insert(self : MultibodyJointSet3, parent : RigidBodyHandle, child : RigidBodyHandle, joint : GenericJoint, wake_up : Bool) -> MultibodyJointHandle?fn MultibodyJointSet3::insert_kinematic(self : MultibodyJointSet3, parent : RigidBodyHandle, child : RigidBodyHandle, joint : GenericJoint, wake_up : Bool) -> MultibodyJointHandle?fn MultibodyJointSet3::interaction_pairs(self : MultibodyJointSet3) -> Array[(RigidBodyHandle, RigidBodyHandle)]fn MultibodyJointSet3::iter(self : MultibodyJointSet3) -> Array[(MultibodyJointHandle, MultibodyLinkId, Multibody3, MultibodyLink)]fn MultibodyJointSet3::joint_between(self : MultibodyJointSet3, body1 : RigidBodyHandle, body2 : RigidBodyHandle) -> (MultibodyJointHandle, Multibody3, MultibodyLink)?fn MultibodyJointSet3::remove(self : MultibodyJointSet3, handle : MultibodyJointHandle, wake_up : Bool) -> Unitfn MultibodyJointSet3::remove_multibody_articulations(self : MultibodyJointSet3, handle : RigidBodyHandle, wake_up : Bool) -> Unitfn MultibodyJointSet3::revolute_joint_descriptors(self : MultibodyJointSet3) -> Array[MultibodyRevoluteJointDesc]fn MultibodyJointSet3::rigid_body_link(self : MultibodyJointSet3, handle : RigidBodyHandle) -> MultibodyLinkId?fn MultibodyJointSet3::set_revolute_joint_solver_impulses(self : MultibodyJointSet3, link : MultibodyLinkId, lin_impulses : Vec2, motor_impulse : Float, limit_impulse : Float) -> Unitfn MultibodyJointSet3::sync_rigid_bodies_from_multibodies(self : MultibodyJointSet3, bodies : RigidBodySet3) -> Unitfn MultibodyJointSet3::take_to_join(self : MultibodyJointSet3) -> Array[(RigidBodyHandle, RigidBodyHandle)]pub struct MultibodyJointSet3DReal {
inner : MultibodyJointSet3
}
fn MultibodyJointSet3DReal::MultibodyJointSet3DReal() -> MultibodyJointSet3DRealfn MultibodyJointSet3DReal::attached_bodies(self : MultibodyJointSet3DReal, handle : RigidBodyHandle) -> Array[RigidBodyHandle]fn MultibodyJointSet3DReal::attached_joints(self : MultibodyJointSet3DReal, handle : RigidBodyHandle) -> Array[(RigidBodyHandle, RigidBodyHandle, MultibodyJointHandle)]fn MultibodyJointSet3DReal::bodies_attached_with_enabled_joint(self : MultibodyJointSet3DReal, handle : RigidBodyHandle) -> Array[RigidBodyHandle]fn MultibodyJointSet3DReal::disabled_contact_pairs(self : MultibodyJointSet3DReal) -> Array[(RigidBodyHandle, RigidBodyHandle)]fn MultibodyJointSet3DReal::get(self : MultibodyJointSet3DReal, handle : MultibodyJointHandle) -> (Multibody3DReal, LinkId)?fn MultibodyJointSet3DReal::get_multibody(self : MultibodyJointSet3DReal, index : MultibodyIndex) -> Multibody3DReal?fn MultibodyJointSet3DReal::get_multibody_mut(self : MultibodyJointSet3DReal, index : MultibodyIndex) -> Multibody3DReal?fn MultibodyJointSet3DReal::get_mut(self : MultibodyJointSet3DReal, handle : MultibodyJointHandle) -> (Multibody3DReal, LinkId)?fn MultibodyJointSet3DReal::get_unknown_gen(self : MultibodyJointSet3DReal, id : Int) -> (Multibody3DReal, LinkId, MultibodyJointHandle)?fn MultibodyJointSet3DReal::insert(self : MultibodyJointSet3DReal, parent : RigidBodyHandle, child : RigidBodyHandle, joint : GenericJoint3DReal, wake_up : Bool) -> MultibodyJointHandle?fn MultibodyJointSet3DReal::insert_kinematic(self : MultibodyJointSet3DReal, parent : RigidBodyHandle, child : RigidBodyHandle, joint : GenericJoint3DReal, wake_up : Bool) -> MultibodyJointHandle?fn MultibodyJointSet3DReal::interaction_pairs(self : MultibodyJointSet3DReal) -> Array[(RigidBodyHandle, RigidBodyHandle)]fn MultibodyJointSet3DReal::iter(self : MultibodyJointSet3DReal) -> Array[(MultibodyJointHandle, MultibodyLinkId, Multibody3DReal, MultibodyLink)]fn MultibodyJointSet3DReal::joint_between(self : MultibodyJointSet3DReal, body1 : RigidBodyHandle, body2 : RigidBodyHandle) -> (MultibodyJointHandle, Multibody3DReal, MultibodyLink)?fn MultibodyJointSet3DReal::remove(self : MultibodyJointSet3DReal, handle : MultibodyJointHandle, wake_up : Bool) -> Unitfn MultibodyJointSet3DReal::remove_multibody_articulations(self : MultibodyJointSet3DReal, handle : RigidBodyHandle, wake_up : Bool) -> Unitfn MultibodyJointSet3DReal::revolute_joint_descriptors(self : MultibodyJointSet3DReal) -> Array[MultibodyRevoluteJointDesc]fn MultibodyJointSet3DReal::rigid_body_link(self : MultibodyJointSet3DReal, handle : RigidBodyHandle) -> MultibodyLinkId?fn MultibodyJointSet3DReal::set_revolute_joint_solver_impulses(self : MultibodyJointSet3DReal, link : MultibodyLinkId, lin_impulses : Vec2, motor_impulse : Float, limit_impulse : Float) -> Unitfn MultibodyJointSet3DReal::sync_rigid_bodies_from_multibodies(self : MultibodyJointSet3DReal, bodies : RigidBodySet3D) -> Unitfn MultibodyJointSet3DReal::take_to_join(self : MultibodyJointSet3DReal) -> Array[(RigidBodyHandle, RigidBodyHandle)]pub struct MultibodyLink {
// private fields
}
fn MultibodyLink::MultibodyLink(rigid_body : RigidBodyHandle, internal_id : Int, assembly_id : Int, parent_internal_id : Int, joint : MultibodyJoint, local_to_world : Isometry2, local_to_parent : Isometry2) -> MultibodyLinktype MultibodyLinkIdpub struct MultibodyRevoluteJointDesc {
link : MultibodyLinkId
parent : RigidBodyHandle
child : RigidBodyHandle
joint : RevoluteJoint
solver_lin_impulses : Vec2
}pub struct PinSlotJoint {
axis : Vec2
local_anchor1 : Vec2
local_anchor2 : Vec2
limits : JointLimits
limits_enabled : Bool
}
fn PinSlotJoint::PinSlotJoint(axis : Vec2) -> PinSlotJointpub struct PinSlotJointBuilder {
axis : Vec2
local_anchor1 : Vec2
local_anchor2 : Vec2
limits : JointLimits
limits_enabled : Bool
}
fn PinSlotJointBuilder::PinSlotJointBuilder(axis : Vec2) -> PinSlotJointBuilderfn PinSlotJointBuilder::limits(self : PinSlotJointBuilder, min : Float, max : Float) -> PinSlotJointBuilderfn PinSlotJointBuilder::local_anchor1(self : PinSlotJointBuilder, anchor : Vec2) -> PinSlotJointBuilderfn PinSlotJointBuilder::local_anchor2(self : PinSlotJointBuilder, anchor : Vec2) -> PinSlotJointBuilderpub(all) enum PredictedImpacts {
Impacts(Array[(RigidBodyHandle, Float)])
ImpactsAfterEndTime(Float)
NoImpacts
}pub struct PrismaticJoint {
axis : Vec2
local_anchor1 : Vec2
local_anchor2 : Vec2
axis3 : Vec3
local_anchor1_3 : Vec3
local_anchor2_3 : Vec3
local_frame1_rotation : Quat
local_frame2_rotation : Quat
is_spatial : Bool
softness : SpringCoefficients
motor : JointMotor
motor_enabled : Bool
limits : JointLimits
limits_enabled : Bool
}
fn PrismaticJoint::PrismaticJoint(axis : Vec2) -> PrismaticJointpub struct PrismaticJoint3DReal {
body1 : RigidBodyHandle
body2 : RigidBodyHandle
local_anchor1 : Vec3
local_anchor2 : Vec3
local_axis1 : Vec3
motor_target : Float
motor_stiffness : Float
motor_damping : Float
motor_enabled : Bool
}pub struct PrismaticJoint3DRealBuilder {
inner : GenericJoint3DRealBuilder
}
fn PrismaticJoint3DRealBuilder::PrismaticJoint3DRealBuilder(axis : Vec3) -> PrismaticJoint3DRealBuilderfn PrismaticJoint3DRealBuilder::limits(self : PrismaticJoint3DRealBuilder, min : Float, max : Float) -> PrismaticJoint3DRealBuilderfn PrismaticJoint3DRealBuilder::local_anchor1(self : PrismaticJoint3DRealBuilder, a : Vec3) -> PrismaticJoint3DRealBuilderfn PrismaticJoint3DRealBuilder::local_anchor2(self : PrismaticJoint3DRealBuilder, a : Vec3) -> PrismaticJoint3DRealBuilderfn PrismaticJoint3DRealBuilder::motor_max_force(self : PrismaticJoint3DRealBuilder, max_force : Float) -> PrismaticJoint3DRealBuilderfn PrismaticJoint3DRealBuilder::motor_position(self : PrismaticJoint3DRealBuilder, target_pos : Float, stiffness : Float, damping : Float) -> PrismaticJoint3DRealBuilderfn PrismaticJoint3DRealBuilder::motor_velocity(self : PrismaticJoint3DRealBuilder, target_vel : Float, damping : Float) -> PrismaticJoint3DRealBuilderpub struct PrismaticJointBuilder {
// private fields
}
fn PrismaticJointBuilder::PrismaticJointBuilder(axis : Vec2) -> PrismaticJointBuilderfn PrismaticJointBuilder::limits(self : PrismaticJointBuilder, min : Float, max : Float) -> PrismaticJointBuilderfn PrismaticJointBuilder::local_anchor1(self : PrismaticJointBuilder, anchor : Vec2) -> PrismaticJointBuilderfn PrismaticJointBuilder::local_anchor2(self : PrismaticJointBuilder, anchor : Vec2) -> PrismaticJointBuilderfn PrismaticJointBuilder::motor_max_force(self : PrismaticJointBuilder, max_force : Float) -> PrismaticJointBuilderfn PrismaticJointBuilder::motor_model(self : PrismaticJointBuilder, model : MotorModel) -> PrismaticJointBuilderfn PrismaticJointBuilder::motor_position(self : PrismaticJointBuilder, target_pos : Float, stiffness : Float, damping : Float) -> PrismaticJointBuilderfn PrismaticJointBuilder::motor_velocity(self : PrismaticJointBuilder, target_vel : Float, factor : Float) -> PrismaticJointBuilderfn PrismaticJointBuilder::softness(self : PrismaticJointBuilder, softness : SpringCoefficients) -> PrismaticJointBuilderpub struct PrismaticJointBuilder3 {
inner : PrismaticJointBuilder
axis : Vec3
local_anchor1_3 : Vec3
local_anchor2_3 : Vec3
}
fn PrismaticJointBuilder3::PrismaticJointBuilder3(axis : Vec3) -> PrismaticJointBuilder3fn PrismaticJointBuilder3::limits(self : PrismaticJointBuilder3, min : Float, max : Float) -> PrismaticJointBuilder3fn PrismaticJointBuilder3::local_anchor1(self : PrismaticJointBuilder3, anchor1 : Vec3) -> PrismaticJointBuilder3fn PrismaticJointBuilder3::local_anchor2(self : PrismaticJointBuilder3, anchor2 : Vec3) -> PrismaticJointBuilder3fn PrismaticJointBuilder3::motor_max_force(self : PrismaticJointBuilder3, max_force : Float) -> PrismaticJointBuilder3fn PrismaticJointBuilder3::motor_model(self : PrismaticJointBuilder3, model : MotorModel) -> PrismaticJointBuilder3fn PrismaticJointBuilder3::motor_position(self : PrismaticJointBuilder3, target_pos : Float, stiffness : Float, damping : Float) -> PrismaticJointBuilder3fn PrismaticJointBuilder3::motor_velocity(self : PrismaticJointBuilder3, target_vel : Float, factor : Float) -> PrismaticJointBuilder3fn PrismaticJointBuilder3::softness(self : PrismaticJointBuilder3, softness : SpringCoefficients) -> PrismaticJointBuilder3pub struct RevoluteJoint3 {
axis : Vec3
local_frame1_rotation : Quat
local_frame2_rotation : Quat
}
fn RevoluteJoint3::RevoluteJoint3(axis : Vec3) -> RevoluteJoint3pub struct RevoluteJoint3DRealBuilder {
inner : GenericJoint3DRealBuilder
}
fn RevoluteJoint3DRealBuilder::RevoluteJoint3DRealBuilder(axis : Vec3) -> RevoluteJoint3DRealBuilderfn RevoluteJoint3DRealBuilder::limits(self : RevoluteJoint3DRealBuilder, min : Float, max : Float) -> RevoluteJoint3DRealBuilderfn RevoluteJoint3DRealBuilder::local_anchor1(self : RevoluteJoint3DRealBuilder, a : Vec3) -> RevoluteJoint3DRealBuilderfn RevoluteJoint3DRealBuilder::local_anchor2(self : RevoluteJoint3DRealBuilder, a : Vec3) -> RevoluteJoint3DRealBuilderfn RevoluteJoint3DRealBuilder::motor_max_force(self : RevoluteJoint3DRealBuilder, max_force : Float) -> RevoluteJoint3DRealBuilderfn RevoluteJoint3DRealBuilder::motor_position(self : RevoluteJoint3DRealBuilder, target_pos : Float, stiffness : Float, damping : Float) -> RevoluteJoint3DRealBuilderfn RevoluteJoint3DRealBuilder::motor_velocity(self : RevoluteJoint3DRealBuilder, target_vel : Float, damping : Float) -> RevoluteJoint3DRealBuilderpub struct RevoluteJointBuilder {
// private fields
}
fn RevoluteJointBuilder::RevoluteJointBuilder() -> RevoluteJointBuilderfn RevoluteJointBuilder::limits(self : RevoluteJointBuilder, min : Float, max : Float) -> RevoluteJointBuilderfn RevoluteJointBuilder::local_anchor1(self : RevoluteJointBuilder, anchor : Vec2) -> RevoluteJointBuilderfn RevoluteJointBuilder::local_anchor2(self : RevoluteJointBuilder, anchor : Vec2) -> RevoluteJointBuilderfn RevoluteJointBuilder::motor_max_force(self : RevoluteJointBuilder, max_force : Float) -> RevoluteJointBuilderfn RevoluteJointBuilder::motor_model(self : RevoluteJointBuilder, model : MotorModel) -> RevoluteJointBuilderfn RevoluteJointBuilder::motor_position(self : RevoluteJointBuilder, target_pos : Float, stiffness : Float, damping : Float) -> RevoluteJointBuilderfn RevoluteJointBuilder::motor_velocity(self : RevoluteJointBuilder, target_vel : Float, factor : Float) -> RevoluteJointBuilderfn RevoluteJointBuilder::softness(self : RevoluteJointBuilder, softness : SpringCoefficients) -> RevoluteJointBuilderpub struct RevoluteJointBuilder3 {
inner : RevoluteJointBuilder
axis : Vec3
local_anchor1_3 : Vec3
local_anchor2_3 : Vec3
}
fn RevoluteJointBuilder3::RevoluteJointBuilder3(axis : Vec3) -> RevoluteJointBuilder3fn RevoluteJointBuilder3::limits(self : RevoluteJointBuilder3, min : Float, max : Float) -> RevoluteJointBuilder3fn RevoluteJointBuilder3::local_anchor1(self : RevoluteJointBuilder3, anchor1 : Vec3) -> RevoluteJointBuilder3fn RevoluteJointBuilder3::local_anchor2(self : RevoluteJointBuilder3, anchor2 : Vec3) -> RevoluteJointBuilder3fn RevoluteJointBuilder3::motor_max_force(self : RevoluteJointBuilder3, max_force : Float) -> RevoluteJointBuilder3fn RevoluteJointBuilder3::motor_model(self : RevoluteJointBuilder3, model : MotorModel) -> RevoluteJointBuilder3fn RevoluteJointBuilder3::motor_position(self : RevoluteJointBuilder3, target_pos : Float, stiffness : Float, damping : Float) -> RevoluteJointBuilder3fn RevoluteJointBuilder3::motor_velocity(self : RevoluteJointBuilder3, target_vel : Float, factor : Float) -> RevoluteJointBuilder3fn RevoluteJointBuilder3::softness(self : RevoluteJointBuilder3, softness : SpringCoefficients) -> RevoluteJointBuilder3pub struct RigidBody {
ids : RigidBodyIds
user_data : UserData128
position : RigidBodyPosition
body_type : RigidBodyType
locked_translations : Bool
locked_rotations : Bool
dominance : RigidBodyDominance
enabled : Bool
activation : RigidBodyActivation
damping : RigidBodyDamping
vels : RigidBodyVelocity
forces : RigidBodyForces
ccd : RigidBodyCcd
mass_props : RigidBodyMassProps
colliders : RigidBodyColliders
additional_mass : Float
additional_solver_iterations : Int
changes : RigidBodyChanges
}fn RigidBody::set_additional_mass_properties(self : RigidBody, props : RigidBodyAdditionalMassProps, wake_up : Bool) -> RigidBodyfn RigidBody::set_body_type(self : RigidBody, body_type : RigidBodyType, wake_up : Bool) -> RigidBodyfn RigidBody::set_kinematic_position_based_vels(self : RigidBody, vels : RigidBodyVelocity) -> RigidBodypub struct RigidBody3D {
body_type : RigidBodyType
user_data : UserData128
position : Isometry3
next_position : Isometry3
velocity : RigidBodyVelocity3D
locked_translations : Bool
trans_x_enabled : Bool
trans_y_enabled : Bool
trans_z_enabled : Bool
locked_rotations : Bool
rot_x_enabled : Bool
rot_y_enabled : Bool
rot_z_enabled : Bool
ccd_active : Bool
ccd_enabled : Bool
soft_ccd_prediction : Float
gyroscopic_forces_enabled : Bool
linear_damping : Float
angular_damping : Float
gravity_scale : Float
mass_properties : MassProperties3
additional_solver_iterations : Int
activation : RigidBodyActivation3D
can_sleep : Bool
dominance_group : Int
}fn RigidBody3D::apply_impulse_at_point(self : RigidBody3D, impulse : Vec3, point : Vec3, wake_up : Bool) -> Unitfn RigidBody3D::restrict_rotations(self : RigidBody3D, allow_x : Bool, allow_y : Bool, allow_z : Bool, wake_up : Bool) -> Unitfn RigidBody3D::restrict_translations(self : RigidBody3D, allow_x : Bool, allow_y : Bool, allow_z : Bool, wake_up : Bool) -> Unitfn RigidBody3D::set_additional_solver_iterations(self : RigidBody3D, additional_iterations : Int) -> Unitfn RigidBody3D::set_enabled_rotations(self : RigidBody3D, allow_x : Bool, allow_y : Bool, allow_z : Bool, wake_up : Bool) -> Unitfn RigidBody3D::set_enabled_translations(self : RigidBody3D, allow_x : Bool, allow_y : Bool, allow_z : Bool, wake_up : Bool) -> Unitfn RigidBody3D::set_locked_axes(self : RigidBody3D, locked_axes : LockedAxes, wake_up : Bool) -> Unitpub struct RigidBodyActivation {
normalized_linear_threshold : Float
angular_threshold : Float
time_until_sleep : Float
time_since_can_sleep : Float
sleeping : Bool
sleep_root_state : SleepRootState
}fn RigidBodyActivation::update_energy(self : RigidBodyActivation, body_type : RigidBodyType, length_unit : Float, sq_linvel : Float, sq_angvel : Float, dt : Float) -> RigidBodyActivationpub struct RigidBodyActivation3D {
normalized_linear_threshold : Float
angular_threshold : Float
time_until_sleep : Float
time_since_can_sleep : Float
sleeping : Bool
}fn RigidBodyActivation3D::update(self : RigidBodyActivation3D, dt : Float, length_unit : Float, body_type : RigidBodyType, vels : RigidBodyVelocity3D) -> RigidBodyActivation3Dpub enum RigidBodyAdditionalMassProps {
Mass(Float)
MassProps(MassProperties)
MassProperties(MassProperties)
}fn RigidBodyAdditionalMassProps::mass_properties(mass_properties : MassProperties) -> RigidBodyAdditionalMassPropsfn RigidBodyAdditionalMassProps::mass_props(mass_props : MassProperties) -> RigidBodyAdditionalMassPropspub struct RigidBodyBuilder {
position : Isometry2
linvel : Vec2
angvel : Float
gravity_scale : Float
linear_damping : Float
angular_damping : Float
body_type : RigidBodyType
lock_translations : Bool
lock_rotations : Bool
additional_mass : Float
additional_local_mprops : MassProperties
additional_solver_iterations : Int
can_sleep : Bool
sleeping : Bool
enabled : Bool
ccd_enabled : Bool
soft_ccd_prediction : Float
dominance_group : Int
user_data : UserData128
}
fn RigidBodyBuilder::RigidBodyBuilder(body_type : RigidBodyType) -> RigidBodyBuilderfn RigidBodyBuilder::additional_mass_properties(self : RigidBodyBuilder, props : RigidBodyAdditionalMassProps) -> RigidBodyBuilderfn RigidBodyBuilder::additional_solver_iterations(self : RigidBodyBuilder, additional_iterations : Int) -> RigidBodyBuilderfn RigidBodyBuilder::enabled_translations(self : RigidBodyBuilder, allow_x : Bool, allow_y : Bool, allow_z : Bool) -> RigidBodyBuilderfn RigidBodyBuilder::restrict_rotations(self : RigidBodyBuilder, allow_x : Bool, allow_y : Bool, allow_z : Bool) -> RigidBodyBuilderfn RigidBodyBuilder::restrict_translations(self : RigidBodyBuilder, allow_x : Bool, allow_y : Bool, allow_z : Bool) -> RigidBodyBuilderfn RigidBodyBuilder::soft_ccd_prediction(self : RigidBodyBuilder, prediction_distance : Float) -> RigidBodyBuilder#alias(RigidBodyBuilder3Compat)
#alias(RigidBodyBuilder3)
pub struct RigidBodyBuilder3D {
body_type : RigidBodyType
translation : Vec3
rotation : Quat
linvel : Vec3
angvel : Vec3
locked_translations : Bool
trans_x_enabled : Bool
trans_y_enabled : Bool
trans_z_enabled : Bool
locked_rotations : Bool
rot_x_enabled : Bool
rot_y_enabled : Bool
rot_z_enabled : Bool
ccd_enabled : Bool
soft_ccd_prediction : Float
gyroscopic_forces_enabled : Bool
linear_damping : Float
angular_damping : Float
gravity_scale : Float
mass_properties : MassProperties3
additional_solver_iterations : Int
can_sleep : Bool
sleeping : Bool
user_data : UserData128
dominance_group : Int
}fn RigidBodyBuilder3D::additional_mass(self : RigidBodyBuilder3D, mass : Float) -> RigidBodyBuilder3Dfn RigidBodyBuilder3D::additional_mass_properties(self : RigidBodyBuilder3D, props : MassProperties3) -> RigidBodyBuilder3Dfn RigidBodyBuilder3D::additional_solver_iterations(self : RigidBodyBuilder3D, additional_iterations : Int) -> RigidBodyBuilder3Dfn RigidBodyBuilder3D::angular_damping(self : RigidBodyBuilder3D, damping : Float) -> RigidBodyBuilder3Dfn RigidBodyBuilder3D::dominance_group(self : RigidBodyBuilder3D, group : Int) -> RigidBodyBuilder3Dfn RigidBodyBuilder3D::enabled_rotations(self : RigidBodyBuilder3D, x : Bool, y : Bool, z : Bool) -> RigidBodyBuilder3Dfn RigidBodyBuilder3D::enabled_translations(self : RigidBodyBuilder3D, x : Bool, y : Bool, z : Bool) -> RigidBodyBuilder3Dfn RigidBodyBuilder3D::gravity_scale(self : RigidBodyBuilder3D, scale : Float) -> RigidBodyBuilder3Dfn RigidBodyBuilder3D::gyroscopic_forces_enabled(self : RigidBodyBuilder3D, enabled : Bool) -> RigidBodyBuilder3Dfn RigidBodyBuilder3D::linear_damping(self : RigidBodyBuilder3D, damping : Float) -> RigidBodyBuilder3Dfn RigidBodyBuilder3D::locked_axes(self : RigidBodyBuilder3D, locked_axes : LockedAxes) -> RigidBodyBuilder3Dfn RigidBodyBuilder3D::mass_properties(self : RigidBodyBuilder3D, props : MassProperties3) -> RigidBodyBuilder3Dfn RigidBodyBuilder3D::restrict_rotations(self : RigidBodyBuilder3D, x : Bool, y : Bool, z : Bool) -> RigidBodyBuilder3Dfn RigidBodyBuilder3D::restrict_translations(self : RigidBodyBuilder3D, x : Bool, y : Bool, z : Bool) -> RigidBodyBuilder3Dfn RigidBodyBuilder3D::rotation_scaled_axis(self : RigidBodyBuilder3D, scaled_axis : Vec3) -> RigidBodyBuilder3Dfn RigidBodyBuilder3D::soft_ccd_prediction(self : RigidBodyBuilder3D, prediction : Float) -> RigidBodyBuilder3Dfn RigidBodyBuilder3D::user_data128(self : RigidBodyBuilder3D, data : UserData128) -> RigidBodyBuilder3Dpub struct RigidBodyCcd {
ccd_thickness : Float
ccd_max_dist : Float
ccd_active : Bool
ccd_enabled : Bool
soft_ccd_prediction : Float
}fn RigidBodyCcd::is_moving_fast(self : RigidBodyCcd, dt : Float, vels : RigidBodyVelocity, forces : RigidBodyForces?) -> Boolpub struct RigidBodyChanges {
bits : Int
}pub struct RigidBodyColliders {
colliders : Array[(Int, Int)]
}
fn RigidBodyColliders::RigidBodyColliders() -> RigidBodyCollidersfn RigidBodyColliders::attach_collider(self : RigidBodyColliders, handle : Int) -> RigidBodyCollidersfn RigidBodyColliders::attach_collider_raw(self : RigidBodyColliders, id : Int, generation : Int) -> RigidBodyCollidersfn RigidBodyColliders::detach_collider(self : RigidBodyColliders, handle : Int) -> RigidBodyCollidersfn RigidBodyColliders::detach_collider_raw(self : RigidBodyColliders, id : Int, generation : Int) -> RigidBodyColliderspub struct RigidBodyDamping {
linear_damping : Float
angular_damping : Float
}pub struct RigidBodyDominance {
group : Int
}
fn RigidBodyDominance::RigidBodyDominance(group : Int) -> RigidBodyDominancefn RigidBodyForces::apply_force_at_point(self : RigidBodyForces, rb_mprops : RigidBodyMassProps, force : Vec2, point : Vec2) -> RigidBodyForcesfn RigidBodyForces::compute_effective_force_and_torque(self : RigidBodyForces, gravity : Vec2, mass : Vec2) -> RigidBodyForcesfn RigidBodyForces::integrate(self : RigidBodyForces, dt : Float, init_vels : RigidBodyVelocity, mprops : RigidBodyMassProps) -> RigidBodyVelocitypub struct RigidBodyHandle {
id : Int
generation : Int
}pub struct RigidBodyIds {
active_island_id : Int
active_set_id : Int
active_set_timestamp : Int
}pub struct RigidBodyMassProps {
world_com : Vec2
effective_inv_mass : Vec2
effective_world_inv_inertia : Float
collider_local_mprops : MassProperties
local_mprops : MassProperties
additional_local_mprops : MassProperties
}fn RigidBodyMassProps::recompute_mass_properties_from_colliders(self : RigidBodyMassProps) -> RigidBodyMassPropsfn RigidBodyMassProps::set_effective_inv_mass(self : RigidBodyMassProps, inv_mass : Vec2) -> RigidBodyMassPropsfn RigidBodyMassProps::set_effective_world_inv_inertia(self : RigidBodyMassProps, inv_inertia : Float) -> RigidBodyMassPropsfn RigidBodyMassProps::update_world_mass_properties(self : RigidBodyMassProps, body_type : RigidBodyType, position : Isometry2) -> RigidBodyMassPropspub struct RigidBodyPosition {
position : Isometry2
next_position : Isometry2
}
fn RigidBodyPosition::RigidBodyPosition(position : Isometry2, next_position : Isometry2) -> RigidBodyPositionfn RigidBodyPosition::integrate_forces_and_velocities(self : RigidBodyPosition, dt : Float, forces : RigidBodyForces, vels : RigidBodyVelocity, mprops : RigidBodyMassProps) -> Isometry2fn RigidBodyPosition::interpolate_velocity(self : RigidBodyPosition, inv_dt : Float, local_com : Vec2) -> RigidBodyVelocitypub struct RigidBodyPosition3 {
position : Isometry3
next_position : Isometry3
}
fn RigidBodyPosition3::RigidBodyPosition3(position : Isometry3, next_position : Isometry3) -> RigidBodyPosition3fn RigidBodyPosition3::interpolate_velocity(self : RigidBodyPosition3, inv_dt : Float, local_com : Vec3) -> RigidBodyVelocity3pub struct RigidBodyPosition3D {
position : Isometry3
next_position : Isometry3
}
fn RigidBodyPosition3D::RigidBodyPosition3D(position : Isometry3, next_position : Isometry3) -> RigidBodyPosition3Dfn RigidBodyPosition3D::interpolate_velocity(self : RigidBodyPosition3D, inv_dt : Float, local_com : Vec3) -> RigidBodyVelocity3Dpub struct RigidBodySet {
bodies : Array[RigidBody?]
generations : Array[Int]
free_list : Array[Int]
modified_bodies : Array[RigidBodyHandle]
pending_collider_position_updates : Array[(Int, Int, Isometry2)]
}
fn RigidBodySet::RigidBodySet() -> RigidBodySetfn RigidBodySet::get_mut_internal_with_modification_tracking(self : RigidBodySet, handle : RigidBodyHandle) -> RigidBody?fn RigidBodySet::get_pair_mut(self : RigidBodySet, handle1 : RigidBodyHandle, handle2 : RigidBodyHandle) -> (RigidBody?, RigidBody?)fn RigidBodySet::get_unknown_gen_mut(self : RigidBodySet, id : Int) -> (RigidBody, RigidBodyHandle)?fn RigidBodySet::remove(self : RigidBodySet, handle : RigidBodyHandle, islands : IslandManager, colliders : Unit, impulse_joints : ImpulseJointSet, multibody_joints : MultibodyJointSet, remove_attached_colliders : Bool) -> RigidBody?fn RigidBodySet::take_pending_collider_position_updates(self : RigidBodySet) -> Array[(Int, Int, Isometry2)]fn RigidBodySet3::remove(self : RigidBodySet3, handle : RigidBodyHandle, islands : IslandManager3, colliders : Unit, impulse_joints : ImpulseJointSet3, multibody_joints : MultibodyJointSet3, wake_up : Bool) -> RigidBody?pub struct RigidBodySet3D {
bodies : Array[RigidBody3D?]
generations : Array[Int]
free_list : Array[Int]
}
fn RigidBodySet3D::RigidBodySet3D() -> RigidBodySet3D#alias(BodyStatus)
pub(all) enum RigidBodyType {
Dynamic
Fixed
KinematicPositionBased
KinematicVelocityBased
}pub struct RigidBodyVelocity {
linvel : Vec2
angvel : Float
}
fn RigidBodyVelocity::RigidBodyVelocity(linvel : Vec2, angvel : Float) -> RigidBodyVelocityfn RigidBodyVelocity::apply_damping(self : RigidBodyVelocity, dt : Float, damping : RigidBodyDamping) -> RigidBodyVelocityfn RigidBodyVelocity::integrate(self : RigidBodyVelocity, dt : Float, curr_pos : Isometry2, local_com : Vec2) -> Isometry2fn RigidBodyVelocity::kinetic_energy(self : RigidBodyVelocity, rb_mprops : RigidBodyMassProps) -> Floatfn RigidBodyVelocity::velocity_at_point(self : RigidBodyVelocity, point : Vec2, world_com : Vec2) -> Vec2fn RigidBodyVelocity3::integrate(self : RigidBodyVelocity3, dt : Float, curr_pos : Isometry3, local_com : Vec3) -> Isometry3fn RigidBodyVelocity3D::apply_damping(self : RigidBodyVelocity3D, dt : Float, linear_damping : Float, angular_damping : Float) -> RigidBodyVelocity3Dfn RigidBodyVelocity3D::integrate(self : RigidBodyVelocity3D, dt : Float, curr_pos : Isometry3, local_com : Vec3) -> Isometry3pub struct RopeJoint {
max_length : Float
local_anchor1 : Vec2
local_anchor2 : Vec2
local_anchor1_3 : Vec3
local_anchor2_3 : Vec3
is_spatial : Bool
softness : SpringCoefficients
motor : JointMotor
motor_enabled : Bool
}
fn RopeJoint::RopeJoint(max_length : Float) -> RopeJointpub struct RopeJointBuilder {
max_length : Float
local_anchor1 : Vec2
local_anchor2 : Vec2
local_anchor1_3 : Vec3
local_anchor2_3 : Vec3
is_spatial : Bool
softness : SpringCoefficients
motor : JointMotor
motor_enabled : Bool
}
fn RopeJointBuilder::RopeJointBuilder(max_length : Float) -> RopeJointBuilderfn RopeJointBuilder::motor_max_force(self : RopeJointBuilder, max_force : Float) -> RopeJointBuilderfn RopeJointBuilder::motor_position(self : RopeJointBuilder, target_pos : Float, stiffness : Float, damping : Float) -> RopeJointBuilderfn RopeJointBuilder::motor_velocity(self : RopeJointBuilder, target_vel : Float, factor : Float) -> RopeJointBuilderfn RopeJointBuilder::softness(self : RopeJointBuilder, softness : SpringCoefficients) -> RopeJointBuilderpub struct RopeJointBuilder3 {
inner : RopeJointBuilder
local_anchor1_3 : Vec3
local_anchor2_3 : Vec3
}
fn RopeJointBuilder3::RopeJointBuilder3(max_length : Float) -> RopeJointBuilder3fn RopeJointBuilder3::max_distance(self : RopeJointBuilder3, max_distance : Float) -> RopeJointBuilder3fn RopeJointBuilder3::motor_max_force(self : RopeJointBuilder3, max_force : Float) -> RopeJointBuilder3fn RopeJointBuilder3::motor_model(self : RopeJointBuilder3, model : MotorModel) -> RopeJointBuilder3fn RopeJointBuilder3::motor_position(self : RopeJointBuilder3, target_pos : Float, stiffness : Float, damping : Float) -> RopeJointBuilder3fn RopeJointBuilder3::motor_velocity(self : RopeJointBuilder3, target_vel : Float, factor : Float) -> RopeJointBuilder3fn RopeJointBuilder3::softness(self : RopeJointBuilder3, softness : SpringCoefficients) -> RopeJointBuilder3pub struct RopeJointSet3DReal {
joints : Array[RopeJoint3DReal]
}
fn RopeJointSet3DReal::RopeJointSet3DReal() -> RopeJointSet3DRealfn RopeJointSet3DReal::insert(self : RopeJointSet3DReal, body1 : RigidBodyHandle, body2 : RigidBodyHandle, max_length : Float) -> Unitfn RopeJointSet3DReal::interaction_pairs(self : RopeJointSet3DReal) -> Array[(RigidBodyHandle, RigidBodyHandle)]fn RopeJointSet3DReal::solve(self : RopeJointSet3DReal, bodies : RigidBodySet3D, dt : Float) -> Unitfn RopeJointSet3DReal::solve_with_island_stamp(self : RopeJointSet3DReal, bodies : RigidBodySet3D, dt : Float, island_stamps : Array[Int]?, island_stamp : Int) -> Unittype RowDVectorpub struct SphericalJoint3DReal {
body1 : RigidBodyHandle
body2 : RigidBodyHandle
local_anchor1 : Vec3
local_anchor2 : Vec3
}pub struct SphericalJoint3DRealBuilder {
inner : GenericJoint3DRealBuilder
}
fn SphericalJoint3DRealBuilder::SphericalJoint3DRealBuilder() -> SphericalJoint3DRealBuilderfn SphericalJoint3DRealBuilder::limits(self : SphericalJoint3DRealBuilder, axis : JointAxis3DReal, min : Float, max : Float) -> SphericalJoint3DRealBuilderfn SphericalJoint3DRealBuilder::local_anchor1(self : SphericalJoint3DRealBuilder, a : Vec3) -> SphericalJoint3DRealBuilderfn SphericalJoint3DRealBuilder::local_anchor2(self : SphericalJoint3DRealBuilder, a : Vec3) -> SphericalJoint3DRealBuilderfn SphericalJoint3DRealBuilder::motor_max_force(self : SphericalJoint3DRealBuilder, axis : JointAxis3DReal, max_force : Float) -> SphericalJoint3DRealBuilderfn SphericalJoint3DRealBuilder::motor_position(self : SphericalJoint3DRealBuilder, axis : JointAxis3DReal, target_pos : Float, stiffness : Float, damping : Float) -> SphericalJoint3DRealBuilderfn SphericalJoint3DRealBuilder::motor_velocity(self : SphericalJoint3DRealBuilder, axis : JointAxis3DReal, target_vel : Float, damping : Float) -> SphericalJoint3DRealBuilderpub struct SphericalMotor3DReal {
body1 : RigidBodyHandle
body2 : RigidBodyHandle
target_rel_rotation : Quat
stiffness : Float
damping : Float
}pub struct SpringCoefficients {
natural_frequency : Float
damping_ratio : Float
}
fn SpringCoefficients::SpringCoefficients(natural_frequency : Float, damping_ratio : Float) -> SpringCoefficientspub struct SpringJoint {
data : GenericJoint
}
fn SpringJoint::SpringJoint(rest_length : Float, stiffness : Float, damping : Float) -> SpringJointpub struct SpringJoint3DReal {
body1 : RigidBodyHandle
body2 : RigidBodyHandle
local_anchor1 : Vec3
local_anchor2 : Vec3
rest_length : Float
stiffness : Float
damping : Float
}pub struct SpringJointBuilder {
inner : SpringJoint
}
fn SpringJointBuilder::SpringJointBuilder(rest_length : Float, stiffness : Float, damping : Float) -> SpringJointBuilderfn SpringJointBuilder::contacts_enabled(self : SpringJointBuilder, enabled : Bool) -> SpringJointBuilderfn SpringJointBuilder::local_anchor1(self : SpringJointBuilder, anchor : Vec2) -> SpringJointBuilderfn SpringJointBuilder::local_anchor2(self : SpringJointBuilder, anchor : Vec2) -> SpringJointBuilderfn SpringJointBuilder::spring_model(self : SpringJointBuilder, model : MotorModel) -> SpringJointBuilderpub(all) enum WritebackId {
Dof(Int)
Limit(Int)
Motor(Int)
}fn unit_joint_limit_constraint(params : IntegrationParameters, multibody : Multibody, link : MultibodyLink, limits : (Float, Float), curr_pos : Float, dof_id : Int, j_id : Int, jacobians : DVector, constraints : Array[GenericJointConstraint], insert_at : Int) -> Unitfn unit_joint_motor_constraint(params : IntegrationParameters, multibody : Multibody, link : MultibodyLink, motor : JointMotor, curr_pos : Float, limits : (Float, Float)?, dof_id : Int, j_id : Int, jacobians : DVector, constraints : Array[GenericJointConstraint], insert_at : Int) -> UnitInstall
Download zipA Physics library in MoonBit.