<?xml version="1.0" encoding="UTF-8" ?>
<class name="CollisionPolygon3D" inherits="Node3D" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
	<brief_description>
		A node that provides a thickened polygon shape (a prism) to a [CollisionObject3D] parent.
	</brief_description>
	<description>
		A node that provides a thickened polygon shape (a prism) to a [CollisionObject3D] parent and allows to edit it. The polygon can be concave or convex. This can give a detection shape to an [Area3D] or turn [PhysicsBody3D] into a solid object.
		[b]Warning:[/b] A non-uniformly scaled [CollisionShape3D] will likely not behave as expected. Make sure to keep its scale the same on all axes and adjust its shape resource instead.
	</description>
	<tutorials>
	</tutorials>
	<members>
		<member name="depth" type="float" setter="set_depth" getter="get_depth" default="1.0">
			Length that the resulting collision extends in either direction perpendicular to its 2D polygon.
		</member>
		<member name="disabled" type="bool" setter="set_disabled" getter="is_disabled" default="false">
			If [code]true[/code], no collision will be produced.
		</member>
		<member name="margin" type="float" setter="set_margin" getter="get_margin" default="0.04">
			The collision margin for the generated [Shape3D]. See [member Shape3D.margin] for more details.
		</member>
		<member name="polygon" type="PackedVector2Array" setter="set_polygon" getter="get_polygon" default="PackedVector2Array()">
			Array of vertices which define the 2D polygon in the local XY plane.
			[b]Note:[/b] The returned value is a copy of the original. Methods which mutate the size or properties of the return value will not impact the original polygon. To change properties of the polygon, assign it to a temporary variable and make changes before reassigning the class property.
		</member>
	</members>
</class>
