
Physics.Hipmunk.Body  Portability  portable (needs FFI)  Stability  provisional  Maintainer  felipe.lessa@gmail.com 





Description 
Rigid bodies and their properties.


Synopsis 




Creating



A rigid body representing the physical properties of an object,
but without a shape. It may help to think as a particle that
is able to rotate.
 Instances  



newBody mass inertia creates a new Body with
the given mass and moment of inertia.
It is recommended to call setPosition afterwards.


Static properties


Basic


Mass








Moment of inertia








Linear components of motion


Position





Note that using this function to change the position
on every step is not recommended as it may leave
the velocity out of sync.


Velocity








Force








Angular components of motion


Angle






Angular velocity








Torque








Dynamic properties



slew b newpos dt changes the body b's velocity
so that it reaches newpos in dt time.
It is usually used to change the position of a
static body in the world. In that case, remember
to reset the velocity to zero afterwards!



updateVelocity b gravity damping dt redefines body b's
linear and angular velocity to account for the force/torque
being applied to it, the gravity and a damping factor
during dt time using Euler integration.
Note that this function only needs to be called if you
are not adding the body to a space.



updatePosition b dt redefines the body position like
updateVelocity (and it also shouldn't be called if you
are adding this body to a space).



resetForces b redefines as zero all forces and torque
acting on body b.



applyForce b f r applies to the body b the force
f with offset r, both vectors in world coordinates.
This is the most stable way to change a body's velocity.
Note that the force is accumulated in the body, so you
may need to call applyOnlyForce.



applyOnlyForce b f r applies a force like applyForce,
but calling resetForces before. Note that using this
function is preferable as it is optimized over this common
case.



applyImpulse b j r applies to the body b the impulse
j with offset r, both vectors in world coordinates.



dampedSpring (b1,a1) (b2,a2) rlen k dmp dt applies a damped
spring force between bodies b1 and b2 at anchors
a1 and a2, respectively. k is the spring constant
(force/distance), rlen is the rest length of the spring,
dmp is the damping constant (force/velocity), and dt
is the time step to apply the force over. Both anchors are
in body coordinates.
Note: not solving the damping forces in the impulse solver
causes problems with large damping values. This function
will eventually be replaced by a new constraint (joint) type.


Utilities



For a vector p in body b's coordinates,
localToWorld b p returns the corresponding vector
in world coordinates.



For a vector p in world coordinates,
worldToLocal b p returns the corresponding vector
in body b's coordinates.


Produced by Haddock version 2.3.0 