var searchIndex = {}; searchIndex["nphysics2d"] = {"doc":"nphysics\n========\n**nphysics** is a 2 and 3-dimensional physics engine for games and animations.\nIt uses [ncollide](http://ncollide.org) for collision detection, and\n[nalgebra](http://nalgebra.org) for vector/matrix math. 2D and 3D\nimplementations both share the same code!","items":[[0,"aliases","nphysics2d","Aliases for complicated parameterized types.",null,null],[6,"DefaultBroadPhase","nphysics2d::aliases","The type of the broad phase used by the world by default.",null,null],[0,"integration","nphysics2d","Position and orientation update of rigid bodies.",null,null],[3,"BodyExpEulerIntegrator","nphysics2d::integration","An explicit Euler integrator.",null,null],[3,"BodySmpEulerIntegrator","","A semi-implicit Euler integrator.",null,null],[3,"BodyForceGenerator","","A constant linear and angular force generator.",null,null],[3,"BodyDamping","","A linear and angular velocity damper.",null,null],[3,"TranslationalCCDMotionClamping","","Handles Continuous Collision Detection.",null,null],[0,"integrator","","Trait implemented by every integrators.",null,null],[8,"Integrator","nphysics2d::integration::integrator","Trait implemented by every integrator.",null,null],[10,"update","","Updates the position and orientation of the object `o` after a time step of `dt`.",0,null],[11,"new","nphysics2d::integration","Creates a new `BodyExpEulerIntegrator`.",1,{"inputs":[],"output":{"name":"bodyexpeulerintegrator"}}],[11,"update","","",1,null],[11,"new","","Creates a new `BodySmpEulerIntegrator`.",2,{"inputs":[],"output":{"name":"bodysmpeulerintegrator"}}],[11,"update","","",2,null],[11,"new","","Creates a new `BodyForceGenerator`.",3,{"inputs":[{"name":"vector"},{"name":"orientation"}],"output":{"name":"bodyforcegenerator"}}],[11,"lin_acc","","The linear acceleration applied by this force generator.",3,null],[11,"set_lin_acc","","Sets the linear acceleration applied by this force generator.",3,null],[11,"ang_acc","","The angular acceleration applied by this force generator.",3,null],[11,"set_ang_acc","","Sets the angular acceleration applied by this force generator.",3,null],[11,"update","","",3,null],[11,"new","","Creates a new `BodyDamping`.",4,{"inputs":[{"name":"n"},{"name":"n"}],"output":{"name":"bodydamping"}}],[11,"update","","",4,null],[11,"new","","Creates a new `TranslationalCCDMotionClamping` to enable continuous collision detection to\nfast-moving rigid bodies.",5,{"inputs":[],"output":{"name":"translationalccdmotionclamping"}}],[11,"add_ccd_to","","Enables continuous collision for the given rigid body.",5,null],[11,"remove_ccd_from","","Remove continuous collision from the given rigid body.",5,null],[11,"update","","Update the time of impacts and apply motion clamping when necessary.",5,null],[0,"euler","","Euler integration functions.",null,null],[5,"explicit_integrate","nphysics2d::integration::euler","Explicit Euler integrator.",null,null],[5,"explicit_integrate_wo_rotation","","Explicit Euler integrator. This will not update the rotational components.",null,null],[5,"semi_implicit_integrate","","Semi-implicit Euler integrator.",null,null],[5,"semi_implicit_integrate_wo_rotation","","Semi-implicit Euler integrator. This will not update the rotational components.",null,null],[5,"displacement","","Computes the transformation matrix required to move an object with a `lin_vel` linear velocity,\na `ang_vil` angular velocity, and a center of mass `center_of_mass`, during the time step `dt`.",null,{"inputs":[{"name":"n"},{"name":"matrix"},{"name":"point"},{"name":"vector"},{"name":"orientation"}],"output":{"name":"matrix"}}],[0,"detection","nphysics2d","Collision detection and joints.",null,null],[3,"ActivationManager","nphysics2d::detection","Structure that monitors island-based activation/deactivation of objects.",null,null],[0,"constraint","","Data structure to describe a constraint between two rigid bodies.",null,null],[4,"Constraint","nphysics2d::detection::constraint","A constraint between two rigid bodies.",null,null],[13,"RBRB","","A contact.",6,null],[13,"BallInSocket","","A ball-in-socket joint.",6,null],[13,"Fixed","","A fixed joint.",6,null],[11,"clone","","",6,null],[0,"detector","nphysics2d::detection","Collision detector.",null,null],[8,"Detector","nphysics2d::detection::detector","Trait implemented by collision detectors.",null,null],[10,"update","","Updates the collision detector, given an (already updated) broad-phase, and an activation\nmanager.",7,null],[10,"interferences","","Collects every interferences detected by this collision detector.",7,null],[0,"joint","nphysics2d::detection","Joint handling.",null,null],[3,"Anchor","nphysics2d::detection::joint","One of the two end points of a joint.",null,null],[12,"body","","The body attached to this anchor.",8,null],[12,"position","","The attach position, in local coordinates of the attached body.",8,null],[3,"BallInSocket","","A ball-in-socket joint.",null,null],[3,"Fixed","","A joint that prevents any relative movement (linear and angular) between two objects.",null,null],[3,"JointManager","","Structure that handles creation and removal of joints.",null,null],[11,"new","","Creates a new `JointManager`.",9,{"inputs":[],"output":{"name":"jointmanager"}}],[11,"joints","","Joints handled by this manager.",9,null],[11,"joints_with_body","","List of joints attached to a specific body.",9,null],[11,"add_ball_in_socket","","Add a `BallInSocket` joint to this manager.",9,null],[11,"remove_ball_in_socket","","Removes a `BallInSocket` joint from this manager.",9,null],[11,"add_fixed","","Add a `Fixed` joint to this manager.",9,null],[11,"remove_joint","","Removes a joint from this manager.",9,null],[11,"remove","","Removes every joint attached to a given rigid body.",9,null],[11,"update","","Activates the objects that interact with an activated object through a joint.",9,null],[11,"interferences","","Collects all the constraints caused by joints.",9,null],[11,"new","","Creates a new `Anchor` at a given `position` on a `body` local space.",8,{"inputs":[{"name":"option"},{"name":"p"}],"output":{"name":"anchor"}}],[11,"center_of_mass","","The center of mass of the body attached to this anchor.",8,null],[11,"new","","Creates a ball-in-socket joint.",10,{"inputs":[{"name":"anchor"},{"name":"anchor"}],"output":{"name":"ballinsocket"}}],[11,"up_to_date","","Tells if this joint has been modified by the user.",10,null],[11,"set_local1","","Sets the the second anchor position.",10,null],[11,"set_local2","","Sets the the second anchor position.",10,null],[11,"anchor1","","The first anchor affected by this joint.",10,null],[11,"anchor2","","The second anchor affected by this joint.",10,null],[11,"anchor1_pos","","The first attach point in global coordinates.",10,null],[11,"anchor2_pos","","The second attach point in global coordinates.",10,null],[11,"new","","Creates a new `Fixed` joint.",11,{"inputs":[{"name":"anchor"},{"name":"anchor"}],"output":{"name":"fixed"}}],[11,"up_to_date","","Tells if the joint has been modified by the user.",11,null],[11,"set_local1","","Sets the the second anchor position.",11,null],[11,"set_local2","","Sets the the second anchor position.",11,null],[11,"anchor1","","The first anchor affected by this joint.",11,null],[11,"anchor2","","The second anchor affected by this joint.",11,null],[11,"anchor1_pos","","The first attach point in global coordinates.",11,null],[11,"anchor2_pos","","The second attach point in global coordinates.",11,null],[0,"joint","","",null,null],[8,"Joint","nphysics2d::detection::joint::joint","Trait implemented by every joint.",null,null],[10,"anchor1","","The first anchor affected by this joint.",12,null],[10,"anchor2","","The second anchor affected by this joint.",12,null],[10,"anchor1_pos","","The first attach point in global coordinates.",12,null],[10,"anchor2_pos","","The second attach point in global coordinates.",12,null],[11,"new","nphysics2d::detection","Creates a new `ActivationManager`.",13,{"inputs":[{"name":"n"}],"output":{"name":"activationmanager"}}],[11,"deferred_activate","","Notify the `ActivationManager` that is has to activate an object at the next update.",13,null],[11,"update","","Update the activation manager, activating and deactivating objects when needed.",13,null],[0,"resolution","nphysics2d","Constraint resolution.",null,null],[3,"AccumulatedImpulseSolver","nphysics2d::resolution","Constraint solver using the projected gauss seidel algorithm and warm-starting.",null,null],[3,"Velocities","","Structure holding the result of the projected gauss seidel solver.",null,null],[12,"lv","","Linear velocity.",14,null],[12,"av","","Angular velocity.",14,null],[3,"ImpulseCache","","",null,null],[3,"ContactIdentifier","","The identifier of a contact stored in the impulse cache.",null,null],[3,"VelocityConstraint","","A constraint of velocity at a point of contact.",null,null],[12,"normal","","The contact normal.",15,null],[12,"weighted_normal1","","The contact normal multiplied by the first body's inverse mass.",15,null],[12,"weighted_normal2","","The contact normal multiplied by the second body's inverse mass.",15,null],[12,"rot_axis1","","The first body rotation axis.",15,null],[12,"weighted_rot_axis1","","The first body rotation axis multiplied by its inverse inertia.",15,null],[12,"rot_axis2","","The second body rotation axis.",15,null],[12,"weighted_rot_axis2","","The second body rotation axis multiplied by its inverse inertia.",15,null],[12,"inv_projected_mass","","The inverse of the sum of linear and angular inertia of both bodies.",15,null],[12,"impulse","","The total impulse applied.",15,null],[12,"lobound","","The lower bound of the impulse.",15,null],[12,"hibound","","The upper bound of the impulse.",15,null],[12,"objective","","The target delta velocity.",15,null],[12,"id1","","The id of the first body.",15,null],[12,"id2","","The id of the second body.",15,null],[12,"friction_limit_id","","The id of the friction constraint.",15,null],[12,"friction_coeff","","The friction coefficient on this contact.",15,null],[4,"CorrectionMode","","The correction coefficient used by the constraint solver.",null,null],[13,"Velocity","","Penetration are solved by the penalty method.",16,null],[13,"VelocityAndPosition","","Penetration are solved by the penalty method together with a hard repositioning.",16,null],[13,"VelocityAndPositionThresold","","Penetration are solved by the penalty method together with a hard repositioning.",16,null],[5,"projected_gauss_seidel_solve","","Solve a set of velocity constraints using the projected gauss seidel solver.",null,null],[0,"solver","","",null,null],[8,"Solver","nphysics2d::resolution::solver","Trait implemented by constraint solvers.",null,null],[10,"solve","","Solve the set of constraints of type `I`.",17,null],[11,"eq","nphysics2d::resolution","",18,null],[11,"ne","","",18,null],[11,"hash","","",18,null],[11,"new","","",18,{"inputs":[{"name":"usize"},{"name":"usize"},{"name":"point"},{"name":"n"}],"output":{"name":"contactidentifier"}}],[11,"new","","",19,{"inputs":[{"name":"n"},{"name":"usize"}],"output":{"name":"impulsecache"}}],[11,"insert","","",19,null],[11,"hash","","",19,null],[11,"hash_mut","","",19,null],[11,"push_impulsions","","",19,null],[11,"reserved_impulse_offset","","",19,null],[11,"impulsions_at","","",19,null],[11,"len","","",19,null],[11,"clear","","",19,null],[11,"swap","","",19,null],[11,"new","","Creates a new `AccumulatedImpulseSolver`.",20,{"inputs":[{"name":"n"},{"name":"correctionmode"},{"name":"n"},{"name":"n"},{"name":"usize"},{"name":"usize"}],"output":{"name":"accumulatedimpulsesolver"}}],[11,"num_first_order_iter","","Gets the number of iteration done by the penetration depth correction solver.",20,null],[11,"set_num_first_order_iter","","Sets the number of iteration done by the penetration depth correction solver.",20,null],[11,"num_second_order_iter","","Gets the number of iteration done by the velocity constraint solver.",20,null],[11,"set_num_second_order_iter","","Sets the number of iteration done by the velocity constraint solver.",20,null],[11,"solve","","",20,null],[11,"clone","","",14,null],[11,"fmt","","",14,null],[11,"eq","","",14,null],[11,"ne","","",14,null],[11,"new","","Creates a new `Velocities`.",14,{"inputs":[],"output":{"name":"velocities"}}],[11,"reset","","Reset this structure to zero.",14,null],[11,"clone","","",15,null],[11,"fmt","","",15,null],[11,"eq","","",15,null],[11,"ne","","",15,null],[11,"new","","Creates a new velocity constraint with all terms initialized to zero.",15,{"inputs":[],"output":{"name":"velocityconstraint"}}],[11,"vel_corr_factor","","The velocity correction coefficient.",16,null],[11,"pos_corr_factor","","The position correction coefficient.",16,null],[11,"min_depth_for_pos_corr","","The minimum penetration depth required to switch on the hard repositioning based method.",16,null],[11,"max_depth_for_vel_corr","","The max penetration depth the velocity correction will attempt to correct.",16,null],[0,"world","nphysics2d","The physics world.",null,null],[3,"World","nphysics2d::world","The physical world.",null,null],[11,"new","","Creates a new physics world.",21,{"inputs":[],"output":{"name":"world"}}],[11,"step","","Updates the physics world.",21,null],[11,"add_body","","Adds a rigid body to the physics world.",21,null],[11,"remove_body","","Remove a rigid body from the physics world.",21,null],[11,"forces_generator","","Gets a mutable reference to the force generator.",21,null],[11,"integrator","","Gets a mutable reference to the position and orientation integrator.",21,null],[11,"ccd_manager","","Gets a mutable reference to the CCD manager.",21,null],[11,"joint_manager","","Gets a mutable reference to the joint manager.",21,null],[11,"constraints_solver","","Gets a mutable reference to the constraint solver.",21,null],[11,"collision_world","","Gets the underlying collision world.",21,null],[11,"set_gravity","","Sets the linear acceleration afecting every dynamic rigid body.",21,null],[11,"gravity","","Sets the angular acceleration afecting every dynamic rigid body.\nGets the linear acceleration afecting every dynamic rigid body.",21,null],[11,"add_ccd_to","","Gets the angular acceleration afecting every dynamic rigid body.\nAdds continuous collision detection to the given rigid body.",21,null],[11,"add_ball_in_socket","","Adds a ball-in-socket joint to the world.",21,null],[11,"remove_ball_in_socket","","Removes a ball-in-socket joint from the world.",21,null],[11,"add_fixed","","Adds a fixed joint to the world.",21,null],[11,"remove_fixed","","Removes a fixed joint from the world.",21,null],[11,"interferences","","Collects every interferences detected since the last update.",21,null],[11,"bodies","","An iterator visiting all rigid bodies on this world.",21,null],[11,"register_contact_signal_handler","","Registers a handler for contact start/stop events.",21,null],[11,"unregister_contact_signal_handler","","Unregisters a handler for contact start/stop events.",21,null],[6,"WorldBroadPhase","","The default broad phase.",null,null],[6,"RigidBodyCollisionWorld","","Type of the collision world containing rigid bodies.",null,null],[0,"object","nphysics2d","Rigid bodies.",null,null],[3,"RigidBody","nphysics2d::object","The rigid body structure.",null,null],[4,"ActivationState","","The activation state of a rigid body.",null,null],[13,"Active","","The rigid body is active with a not-zero energy.",22,null],[13,"Inactive","","The rigid body is inactive.",22,null],[13,"Deleted","","The rigid body has been removed from the physics engine.",22,null],[4,"RigidBodyState","","The movement state of a rigid body.",null,null],[13,"Static","","The rigid body cannot move.",23,null],[13,"Dynamic","","The rigid body can move.",23,null],[11,"decode","","",23,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"encode","","",23,null],[11,"clone","","",23,null],[11,"eq","","",23,null],[11,"fmt","","",23,null],[11,"decode","","",22,{"inputs":[{"name":"__dn"}],"output":{"name":"result"}}],[11,"encode","","",22,null],[11,"clone","","",22,null],[11,"eq","","",22,null],[11,"ne","","",22,null],[11,"fmt","","",22,null],[11,"energy","","The energy accumulated other several frames.",22,null],[11,"clone","","Clones this rigid body but not its associated user-data.",24,null],[11,"position","","Gets a reference to this body's transform.",24,null],[11,"shape_ref","","Gets a reference to this body's shape.",24,null],[11,"shape","","Gets a copy of this body's shared shape.",24,null],[11,"margin","","The margin surrounding this object's shape.",24,null],[11,"center_of_mass","","Gets a reference to this body's center of mass.",24,null],[11,"restitution","","Gets this body's restitution coefficent.",24,null],[11,"friction","","Gets this body's friction coefficient.",24,null],[11,"is_active","","Indicates whether or not this rigid body is active.",24,null],[11,"deactivation_threshold","","The velocity threshold bellow whith the rigid body might be deactivated.",24,null],[11,"set_deactivation_threshold","","Set the velocity threshold bellow whith the rigid body might be deactivated.",24,null],[11,"new_dynamic","","Creates a new rigid body that can move.",24,{"inputs":[{"name":"g"},{"name":"n"},{"name":"n"},{"name":"n"}],"output":{"name":"rigidbody"}}],[11,"new_static","","Creates a new rigid body that cannot move.",24,{"inputs":[{"name":"g"},{"name":"n"},{"name":"n"}],"output":{"name":"rigidbody"}}],[11,"new","","Creates a new rigid body with a given shape.",24,{"inputs":[{"name":"arc"},{"name":"option"},{"name":"n"},{"name":"n"}],"output":{"name":"rigidbody"}}],[11,"can_move","","Indicates whether this rigid body is static or dynamic.",24,null],[11,"lin_acc_scale","","Gets the linear acceleraction scale of this rigid body.",24,null],[11,"set_lin_acc_scale","","Sets the linear acceleration scale of this rigid body.",24,null],[11,"ang_acc_scale","","Gets the angular acceleration scale of this rigid body.",24,null],[11,"set_ang_acc_scale","","Sets the angular acceleration scale of this rigid body.",24,null],[11,"lin_vel","","Get the linear velocity of this rigid body.",24,null],[11,"set_lin_vel","","Sets the linear velocity of this rigid body.",24,null],[11,"lin_acc","","Gets the linear acceleration of this rigid body.",24,null],[11,"set_lin_acc","","Sets the linear acceleration of this rigid body.",24,null],[11,"ang_vel","","Gets the angular velocity of this rigid body.",24,null],[11,"set_ang_vel","","Sets the angular velocity of this rigid body.",24,null],[11,"ang_acc","","Gets the angular acceleration of this rigid body.",24,null],[11,"set_ang_acc","","Sets the angular acceleration of this rigid body.",24,null],[11,"clear_forces","","Resets linear and angular force.",24,null],[11,"clear_linear_force","","Resets linear force.",24,null],[11,"clear_angular_force","","Resets angular force.",24,null],[11,"append_lin_force","","Adds an additional linear force.",24,null],[11,"append_ang_force","","Adds an additional angular force.",24,null],[11,"append_force_wrt_point","","Adds an additional force acting at a point different to the center of mass.",24,null],[11,"apply_central_impulse","","Applies a one-time central impulse.",24,null],[11,"apply_angular_momentum","","Applies a one-time angular impulse.",24,null],[11,"apply_impulse_wrt_point","","Applies a one-time impulse to a point relative to the center of mass.",24,null],[11,"inv_mass","","Gets the inverse mass of this rigid body.",24,null],[11,"set_inv_mass","","Sets the inverse mass of this rigid body.",24,null],[11,"inv_inertia","","Gets the inverse inertia tensor of this rigid body.",24,null],[11,"set_inv_inertia","","Sets the inverse inertia tensor of this rigid body.",24,null],[11,"append_transformation","","Appends a transformation to this rigid body.",24,null],[11,"prepend_transformation","","Prepends a transformation to this rigid body.",24,null],[11,"set_transformation","","Sets the transformation of this rigid body.",24,null],[11,"append_translation","","Appends a translation to this rigid body.",24,null],[11,"prepend_translation","","Prepends a translation to this rigid body.",24,null],[11,"set_translation","","Stes the translation of this rigid body.",24,null],[11,"append_rotation","","Appends a rotation to this rigid body.",24,null],[11,"prepend_rotation","","Prepends a rotation to this rigid body.",24,null],[11,"set_rotation","","Sets the rotation of this rigid body.",24,null],[11,"user_data","","Reference to user-defined data attached to this rigid body.",24,null],[11,"user_data_mut","","Mutable reference to user-defined data attached to this rigid body.",24,null],[11,"bounding_volume","","",24,null],[11,"bounding_volume","","",24,null],[6,"RigidBodyHandle","","A shared, mutable, rigid body.",null,null],[0,"utils","nphysics2d","Miscellaneous utilities.",null,null],[3,"DeterministicState","nphysics2d::utils","A hasher builder that creates `SipHasher` with default keys.",null,null],[0,"union_find","","The union find algorithm.",null,null],[3,"UnionFindSet","nphysics2d::utils::union_find","An element used by the union-find algorithm.",null,null],[5,"find","","Performs the `find` part of the union-find algorithm.",null,null],[5,"union","","Performs the `union` part of the union-find algorithm.",null,null],[11,"clone","","",25,null],[11,"new","","Creates a new `UnionFindSet`.",25,{"inputs":[{"name":"usize"}],"output":{"name":"unionfindset"}}],[11,"reinit","","Reinitialize this set.",25,null],[11,"new","nphysics2d::utils","Creates a new `DeterministicState` that builds `SipHasher` with default keys.",26,{"inputs":[],"output":{"name":"deterministicstate"}}],[11,"build_hasher","","",26,null],[0,"volumetric","nphysics2d","Volume and inertia tensor computation.",null,null],[5,"ball_volume","nphysics2d::volumetric","The volume of a ball.",null,{"inputs":[{"name":"usize"},{"name":"n"}],"output":{"name":"n"}}],[5,"ball_surface","","The surface of a ball.",null,{"inputs":[{"name":"usize"},{"name":"n"}],"output":{"name":"n"}}],[5,"ball_center_of_mass","","The center of mass of a ball.",null,{"inputs":[],"output":{"name":"p"}}],[5,"ball_unit_angular_inertia","","The unit angular inertia of a ball.",null,{"inputs":[{"name":"usize"},{"name":"n"}],"output":{"name":"i"}}],[5,"cylinder_volume","","The volume of a cylinder.",null,{"inputs":[{"name":"usize"},{"name":"n"},{"name":"n"}],"output":{"name":"n"}}],[5,"cylinder_surface","","The surface of a cylinder.",null,{"inputs":[{"name":"usize"},{"name":"n"},{"name":"n"}],"output":{"name":"n"}}],[5,"cylinder_center_of_mass","","The center of mass of a cylinder.",null,{"inputs":[],"output":{"name":"p"}}],[5,"cylinder_unit_angular_inertia","","The unit angular inertia of a cylinder.",null,{"inputs":[{"name":"usize"},{"name":"n"},{"name":"n"}],"output":{"name":"i"}}],[5,"cone_volume","","The volume of a cone.",null,{"inputs":[{"name":"usize"},{"name":"n"},{"name":"n"}],"output":{"name":"n"}}],[5,"cone_surface","","The surface of a cone.",null,{"inputs":[{"name":"usize"},{"name":"n"},{"name":"n"}],"output":{"name":"n"}}],[5,"cone_center_of_mass","","The center of mass of a cone.",null,{"inputs":[{"name":"n"}],"output":{"name":"p"}}],[5,"cone_unit_angular_inertia","","The unit angular inertia of a cone.",null,{"inputs":[{"name":"usize"},{"name":"n"},{"name":"n"}],"output":{"name":"i"}}],[5,"cuboid_volume","","The volume of a cuboid.",null,{"inputs":[{"name":"usize"},{"name":"v"}],"output":{"name":"n"}}],[5,"cuboid_surface","","The surface of a cuboid.",null,{"inputs":[{"name":"usize"},{"name":"v"}],"output":{"name":"n"}}],[5,"cuboid_center_of_mass","","The center of mass of a cuboid.",null,{"inputs":[],"output":{"name":"p"}}],[5,"cuboid_unit_angular_inertia","","The unit angular inertia of a cuboid.",null,{"inputs":[{"name":"usize"},{"name":"v"}],"output":{"name":"i"}}],[5,"convex_mesh_surface","","The surface of a convex mesh.",null,null],[5,"convex_mesh_volume_and_center_of_mass","","The volume and center of mass of a convex mesh.",null,null],[5,"convex_mesh_mass_properties","","The mass properties of a convex mesh.",null,null],[5,"convex_hull_surface","","The surface of a convex hull.",null,null],[5,"convex_hull_volume","","The volume of the convex hull of a set of points.",null,null],[5,"convex_hull_center_of_mass","","The center of mass of the convex hull of a set of points.",null,null],[5,"convex_hull_unit_angular_inertia","","The angular inertia of the convex hull of a set of points.",null,null],[8,"Volumetric","","Trait implemented by objects which have a mass, a center of mass, and an inertia tensor.",null,null],[10,"surface","","Computes the surface of this object.",27,null],[10,"volume","","Computes the volume of this object.",27,null],[10,"center_of_mass","","Computes the center of mass of this object.",27,null],[10,"unit_angular_inertia","","Computes the angular inertia tensor of this object.",27,null],[11,"mass","","Given its density, this computes the mass of this object.",27,null],[11,"angular_inertia","","Given its mass, this computes the angular inertia of this object.",27,null],[11,"mass_properties","","Given its density, this computes the mass, center of mass, and inertia tensor of this object.",27,null],[8,"InertiaTensor","","Trait implemented by inertia tensors.",null,null],[10,"apply","","Applies this inertia tensor to a vector.",28,null],[10,"to_world_space","","Transforms this inertia tensor from local space to world space.",28,null],[10,"to_relative_wrt_point","","Computes this inertia tensor relative to a given point.",28,null],[0,"math","nphysics2d","Compilation flags dependent aliases for mathematical types.",null,null],[6,"Point","nphysics2d::math","The point type.",null,null],[6,"Vector","","The vector type.",null,null],[6,"Orientation","","The orientation type.",null,null],[6,"Matrix","","The transformation matrix type.",null,null],[6,"RotationMatrix","","The rotation matrix type.",null,null],[6,"AngularInertia","","The inertia tensor type.",null,null],[11,"mass","nphysics2d::volumetric","Given its density, this computes the mass of this object.",27,null],[11,"angular_inertia","","Given its mass, this computes the angular inertia of this object.",27,null],[11,"mass_properties","","Given its density, this computes the mass, center of mass, and inertia tensor of this object.",27,null]],"paths":[[8,"Integrator"],[3,"BodyExpEulerIntegrator"],[3,"BodySmpEulerIntegrator"],[3,"BodyForceGenerator"],[3,"BodyDamping"],[3,"TranslationalCCDMotionClamping"],[4,"Constraint"],[8,"Detector"],[3,"Anchor"],[3,"JointManager"],[3,"BallInSocket"],[3,"Fixed"],[8,"Joint"],[3,"ActivationManager"],[3,"Velocities"],[3,"VelocityConstraint"],[4,"CorrectionMode"],[8,"Solver"],[3,"ContactIdentifier"],[3,"ImpulseCache"],[3,"AccumulatedImpulseSolver"],[3,"World"],[4,"ActivationState"],[4,"RigidBodyState"],[3,"RigidBody"],[3,"UnionFindSet"],[3,"DeterministicState"],[8,"Volumetric"],[8,"InertiaTensor"]]}; initSearch(searchIndex);