NAME
Box2D::b2Manifold - Manifold for two touching convex shapes.
SYNOPSIS
my $manifold = $contact->GetManifold();
my $normal = $manifold->localNormal();
my $point = $manifold->localPoint();
DESCRIPTION
A manifold for two touching convex shapes.
Box2D
supports multiple types of contact:
clip point versus plane with radius
point versus point with radius (circles)
The local point usage depends on the manifold type:
e_circles
: the local center of circleAe_faceA
: the center of faceAe_faceB
: the center of faceB
Similarly the local normal usage:
e_circles
: not usede_faceA
: the normal on polygonAe_faceB
: the normal on polygonB
We store contacts in this way so that position correction can account for movement, which is critical for continuous physics. All contact scenarios must be expressed in one of these types. This structure is stored across time steps, so we keep it small.
METHODS
new()
Default constructor.
localNormal()
localNormal( $localNormal )
not use for Type::e_points
Parameters:
Box2D::b2Vec2
$localNormal
(optional)
Returns a Box2D::b2Vec2
localPoint()
localPoint( $localPoint )
usage depends on manifold type
Parameters:
Box2D::b2Vec2
$localPoint
(optional)
Returns a Box2D::b2Vec2
pointCount()
pointCount( $pointCount )
the number of manifold points
Parameters:
int32
$pointCount
(optional)
Returns a int32
SEE ALSO
BUGS
See "BUGS" in Box2D