
=head1 NAME

Box2D::b2Mat22 - A 2-by-2 matrix.

=head1 SYNOPSIS

  my $matrix = Box2D::b2Mat22->new( $a11, $a12, $a21, $a22 );

=head1 DESCRIPTION

A 2-by-2 matrix. Stored in column-major order.

=head1 METHODS

=head2 new( $a11, $a12, $a21, $a22 )

Construct this matrix using scalars.

Parameters:

=over 4

=item * C<float32> C<$a11>

=item * C<float32> C<$a12>

=item * C<float32> C<$a21>

=item * C<float32> C<$a22>

=back

=head2 GetAngle()

Extract the angle from this matrix (assumed to be a rotation matrix).

Returns a C<float32>

=head2 GetInverse()

Returns a C<Box2D::b2Mat22>

=head2 Set( $c1, $c2 )

Initialize this matrix using columns.

Parameters:

=over 4

=item * C<Box2D::b2Vec2> C<$c1>

=item * C<Box2D::b2Vec2> C<$c2>

=back

=head2 SetIdentity()

Set this to the identity matrix.

=head2 SetZero()

Set this matrix to all zeros.

=head2 col1()

=head2 col1( $col1 )

Parameters:

=over 4

=item * C<Box2D::b2Vec2> C<$col1> (optional)

=back

Returns a C<Box2D::b2Vec2>

=head2 col2()

=head2 col2( $col2 )

Parameters:

=over 4

=item * C<Box2D::b2Vec2> C<$col2> (optional)

=back

Returns a C<Box2D::b2Vec2>

=head1 SEE ALSO

=over 4

=item * L<Box2D>

=back

=head1 BUGS

See L<Box2D/BUGS>

=head1 AUTHORS

See L<Box2D/AUTHORS>

=head1 COPYRIGHT & LICENSE

See L<Box2D/"COPYRIGHT & LICENSE">

=cut
