
=head1 NAME

Box2D::b2Contact - Manages contact between two shapes.

=head1 SYNOPSIS

  my $fixture_a = $contact->GetFixtureA();
  my $fixture_b = $contact->GetFixtureB();

=head1 DESCRIPTION

The class manages contact between two shapes. A contact exists for each
overlapping AABB in the broad-phase (except if filtered). Therefore a
contact object may exist that has no contact points.

=head1 METHODS

=head2 GetFixtureA()

Get the first fixture in this contact.

Returns a C<Box2D::b2Fixture>

=head2 GetFixtureB()

Get the second fixture in this contact.

Returns a C<Box2D::b2Fixture>

=head2 GetManifold()

Get the contact manifold. Do not modify the manifold unless you
understand the internals of Box2D.

Returns a C<Box2D::b2Manifold>

=head2 GetNext()

Get the next contact in the world's contact list.

Returns a C<Box2D::b2Contact>

=head2 IsEnabled()

Has this contact been disabled?

Returns a C<bool>

=head2 IsTouching()

Is this contact touching?

Returns a C<bool>

=head2 SetEnabled( $flag )

Enable/disable this contact. This can be used inside the pre-solve
contact listener. The contact is only disabled for the current time
step (or sub-step in continuous collisions).

Parameters:

=over 4

=item * C<bool> C<$flag>

=back

=head1 SEE ALSO

=over 4

=item * L<Box2D>

=item * L<Box2D::b2ContactListener>

=back

=head1 BUGS

See L<Box2D/BUGS>

=head1 AUTHORS

See L<Box2D/AUTHORS>

=head1 COPYRIGHT & LICENSE

See L<Box2D/"COPYRIGHT & LICENSE">

=cut
