<commit_before>package Chipmunk::Shape;

# ABSTRACT: Defines the shape of a rigid body

use strict;
use warnings;
use Alien::Chipmunk;

require XSLoader;
XSLoader::load( 'Chipmunk::Shape', $Chipmunk::Shape::VERSION );

1;

__END__

=head1 SYNOPSIS

    $space = $shape->get_space();
    $body = $shape->get_body();

=head1 DESCRIPTION

There are currently 3 collision shape types:

=over 4

=item *

Circles: Fastest and simplest collision shape.

=item *

Line segments: Meant mainly as a static shape. Can be beveled in order
to give them a thickness.

=item *

Convex polygons: Slowest, but most flexible collision shape.

=back

You can add as many shapes to a body as you wish. That is why the two
types are separate. This should give you the flexibility to make any
shape you want as well providing different areas of the same object with
different friction, elasticity or callback values.

=head1 METHODS

=head2 cache_bb

=over 4

=item Arguments:

=item Return Value:

=back

Synchronizes the shape with the body its attached to.

=head2 update

=over 4

=item Arguments:

=item Return Value:

=back

Sets the position and rotation of the shape.

=head2 point_query

=over 4

=item Arguments:

=item Return Value:

=back

=head2 get_space
<commit_msg>Add misc shape docs<commit_after>package Chipmunk::Shape;

# ABSTRACT: Defines the shape of a rigid body

use strict;
use warnings;
use Alien::Chipmunk;

require XSLoader;
XSLoader::load( 'Chipmunk::Shape', $Chipmunk::Shape::VERSION );

1;

__END__

=head1 SYNOPSIS

    $space = $shape->get_space();
    $body = $shape->get_body();

=head1 DESCRIPTION

There are currently 3 collision shape types:

=over 4

=item *

Circles: Fastest and simplest collision shape.

=item *

Line segments: Meant mainly as a static shape. Can be beveled in order
to give them a thickness.

=item *

Convex polygons: Slowest, but most flexible collision shape.

=back

You can add as many shapes to a body as you wish. That is why the two
types are separate. This should give you the flexibility to make any
shape you want as well providing different areas of the same object with
different friction, elasticity or callback values.

=head1 METHODS

=head2 cache_bb

=over 4

=item Arguments: none

=item Return Value: L$<$bb|Chipmunk::BB>

=back

Synchronizes the shape with the body its attached to.

=head2 update

=over 4

=item Arguments: L<$pos|Chipmunk::Vect>, L<$rot|Chipmunk::Vect>

=item Return Value: L$<$bb|Chipmunk::BB>

=back

Sets the position and rotation of the shape.

=head2 point_query

=over 4

=item Arguments:

=item Return Value:

=back

=head2 get_space

{'fraction_non_alphanumeric': 0.08206106870229007, 'fraction_numerical': 0.009923664122137405, 'mean_word_length': 4.4041237113402065, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 11, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1419576', 'n_tokens_mistral': 911, 'n_tokens_neox': 862, 'n_words': 358}