# Shape

Shapes are solid 2d geometrical objects which handle the mass and collision of a Body in love.physics.

Shapes are attached to a Body via a Fixture. The Shape object is copied when this happens.

The Shape's position is relative to the position of the Body it has been attached to.

## Constructors

love.physics.newChainShape | Creates a new ChainShape. | 0.8.0 |
love.physics.newCircleShape | Creates a new CircleShape. |  |
love.physics.newEdgeShape | Creates a new EdgeShape. | 0.8.0 |
love.physics.newPolygonShape | Creates a new PolygonShape. |  |
love.physics.newRectangleShape | Shorthand for creating rectangluar PolygonShapes. |  |

## Functions

Object:type | Gets the type of the object as a string. |  |
Object:typeOf | Checks whether an object is of a certain type. |  |
Shape:destroy | Explicitly destroys the Shape. |  | 0.8.0
Shape:getBody | Get the body the shape is attached to. | 0.7.0 | 0.8.0
Shape:getData | Get the data set with setData. |  | 0.8.0
Shape:getMask | Gets which categories this shape should NOT collide with. |  | 0.8.0
Shape:getType | Gets a string representing the Shape. |  |
Shape:rayCast | Casts a ray against the shape. | 0.8.0 |
Shape:setData | Set data to be passed to the collision callback. |  | 0.8.0
Shape:setMask | Sets which categories this shape should NOT collide with. |  | 0.8.0

## Enums

ShapeType | The different types of Shapes, as returned by Shape:getType. |  |

## Supertypes

- Object

## Subtypes

ChainShape | A ChainShape consists of multiple line segments. |  |
CircleShape | Circle extends Shape and adds a radius and a local position. |  |
EdgeShape | EdgeShape is a line segment. |  |
PolygonShape | Polygon is a convex polygon with up to 8 sides. |  |

## See Also

- love.physics

##

Category:

- Types