|
Physics.Hipmunk.Common | Portability | portable (needs FFI) | Stability | provisional | Maintainer | felipe.lessa@gmail.com |
|
|
|
|
|
Description |
Functionality used by various modules and routines for
initialization and change of global variables.
|
|
Synopsis |
|
|
|
|
Initialization
|
|
|
Initilizes the Chipmunk library. This should be called
once before using any functions of this library.
|
|
Basic data types
|
|
|
The floating point type used internally in Chipmunk.
|
|
|
infinity may be used to create bodies with
an infinite mass.
|
|
|
Type synonym used to hint that the argument or result
represents time.
|
|
|
Type synonym used to hint that the argument or result
represents an angle in radians.
|
|
Global variables
|
|
Chipmunk tries to maintein a very few number of global
variables to allow multiple Physics.Hipmunk.Space.Spaces
to be used simultaneously, however there are some.
|
|
Shape counter
|
|
The shape counter is a global counter used for creating
unique hash identifiers to the shapes.
|
|
|
resetShapeCounter reset the shape counter to its default value.
This is used to add determinism to a simulation. As the ids
created with this counter may affect the order in which the
collisions happen, there may be very slight differences in
different simulations.
However, be careful as you should not use shapes created
before a call to resetCounter with shapes created after
it as they may have the same id.
|
|
Contact persistence
|
|
This variable determines how long contacts should persist.
It should be small as the cached contacts will only be
close for a short time. (default is 3)
|
|
|
|
|
|
Collision slop
|
|
The collision slop is the amount that shapes are allowed to
penetrate. Setting this to zero will work just fine, but using a
small positive amount will help prevent oscillating
contacts. (default is 0.1)
|
|
|
|
|
|
Bias coefficient
|
|
The amount of penetration to reduce in each step. Values should
range from 0 to 1. Using large values will eliminate penetration in
fewer steps, but can cause vibration. (default is 0.1)
|
|
|
|
|
|
Joint bias coefficient
|
|
Similar to the bias coefficient, but for all joints. In the
future, joints might have their own bias coefficient
instead. (default is 0.1)
|
|
|
|
|
|
Vectors
|
|
|
A two-dimensional vector. It is an instance of Num
however the operations signum and '(*)' are not
supported.
| Constructors | | Instances | |
|
|
|
Type synonym used to hint that the argument or result
represents a position.
|
|
|
Constructs an unitary vector pointing to the given
angle (in radians).
|
|
|
The length of a vector.
|
|
|
Normalizes the vector (i.e. divides it by its length).
|
|
|
Scales the components of a vector by the same amount.
|
|
|
toAngle v is the angle that v has
with the vector Vector 1 0 (modulo 2*pi).
|
|
|
v1 `dot` v2 computes the familiar dot operation.
|
|
|
v1 `cross` v2 computes the familiar cross operation.
|
|
|
perp v is a vector of same length as v but perpendicular
to v (i.e. toAngle (perp v) - toAngle v equals pi/2
modulo 2*pi).
|
|
|
v1 `project` v2 is the vector projection of v1 onto v2.
|
|
|
v1 `rotate` v2 uses complex multiplication
to rotate (and scale) v1 by v2.
|
|
|
The inverse operation of rotate, such that
unrotate (rotate v1 v2) v2 equals v1.
|
|
Produced by Haddock version 2.3.0 |