<?xml version="1.0" encoding="UTF-8" ?>
<class name="Joint2D" inherits="Node2D" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
	<brief_description>
		Abstract base class for all 2D physics joints.
	</brief_description>
	<description>
		Abstract base class for all joints in 2D physics. 2D joints bind together two physics bodies ([member node_a] and [member node_b]) and apply a constraint.
	</description>
	<tutorials>
	</tutorials>
	<methods>
		<method name="get_rid" qualifiers="const">
			<return type="RID" />
			<description>
				Returns the joint's internal [RID] from the [PhysicsServer2D].
			</description>
		</method>
	</methods>
	<members>
		<member name="bias" type="float" setter="set_bias" getter="get_bias" default="0.0">
			When [member node_a] and [member node_b] move in different directions the [member bias] controls how fast the joint pulls them back to their original position. The lower the [member bias] the more the two bodies can pull on the joint.
			When set to [code]0[/code], the default value from [member ProjectSettings.physics/2d/solver/default_constraint_bias] is used.
		</member>
		<member name="disable_collision" type="bool" setter="set_exclude_nodes_from_collision" getter="get_exclude_nodes_from_collision" default="true">
			If [code]true[/code], the two bodies bound together do not collide with each other.
		</member>
		<member name="node_a" type="NodePath" setter="set_node_a" getter="get_node_a" default="NodePath(&quot;&quot;)">
			Path to the first body (A) attached to the joint. The node must inherit [PhysicsBody2D].
		</member>
		<member name="node_b" type="NodePath" setter="set_node_b" getter="get_node_b" default="NodePath(&quot;&quot;)">
			Path to the second body (B) attached to the joint. The node must inherit [PhysicsBody2D].
		</member>
	</members>
</class>
