.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
.. DO NOT EDIT THIS FILE, but the doc/base/classes.xml source instead.

.. _class_ConcavePolygonShape2D:

ConcavePolygonShape2D
=====================

**Inherits:** :ref:`Shape2D<class_shape2d>` **<** :ref:`Resource<class_resource>` **<** :ref:`Reference<class_reference>` **<** :ref:`Object<class_object>`

**Category:** Core

Brief Description
-----------------

Concave polygon 2D shape resource for physics.

Member Functions
----------------

+------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| void                                     | :ref:`set_segments<class_ConcavePolygonShape2D_set_segments>`  **(** :ref:`Vector2Array<class_vector2array>` segments  **)** |
+------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2Array<class_vector2array>`  | :ref:`get_segments<class_ConcavePolygonShape2D_get_segments>`  **(** **)** const                                             |
+------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+

Description
-----------

Concave polygon 2D shape resource for physics. It is made out of segments and is very optimal for complex polygonal concave collisions. It is really not advised to use for RigidBody nodes. A CollisionPolygon2D in convex decomposition mode (solids) or several convex objects are advised for that instead. Otherwise, a concave polygon 2D shape is better for static collisions.

The main difference between a :ref:`ConvexPolygonShape2D<class_convexpolygonshape2d>` and a :ref:`ConcavePolygonShape2D<class_concavepolygonshape2d>` is that a concave polygon assumes it is concave and uses a more complex method of collision detection, and a convex one forces itself to be convex in order to speed up collision detection.

Member Function Description
---------------------------

.. _class_ConcavePolygonShape2D_set_segments:

- void  **set_segments**  **(** :ref:`Vector2Array<class_vector2array>` segments  **)**

Set the array of segments.

.. _class_ConcavePolygonShape2D_get_segments:

- :ref:`Vector2Array<class_vector2array>`  **get_segments**  **(** **)** const

Return the array of segments.


