<?xml version="1.0" encoding="UTF-8" ?>
<class name="PhysicalBoneSimulator3D" inherits="SkeletonModifier3D" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
	<brief_description>
		Node that can be the parent of [PhysicalBone3D] and can apply the simulation results to [Skeleton3D].
	</brief_description>
	<description>
		Node that can be the parent of [PhysicalBone3D] and can apply the simulation results to [Skeleton3D].
	</description>
	<tutorials>
	</tutorials>
	<methods>
		<method name="is_simulating_physics" qualifiers="const">
			<return type="bool" />
			<description>
				Returns a boolean that indicates whether the [PhysicalBoneSimulator3D] is running and simulating.
			</description>
		</method>
		<method name="physical_bones_add_collision_exception">
			<return type="void" />
			<param index="0" name="exception" type="RID" />
			<description>
				Adds a collision exception to the physical bone.
				Works just like the [RigidBody3D] node.
			</description>
		</method>
		<method name="physical_bones_remove_collision_exception">
			<return type="void" />
			<param index="0" name="exception" type="RID" />
			<description>
				Removes a collision exception to the physical bone.
				Works just like the [RigidBody3D] node.
			</description>
		</method>
		<method name="physical_bones_start_simulation">
			<return type="void" />
			<param index="0" name="bones" type="StringName[]" default="[]" />
			<description>
				Tells the [PhysicalBone3D] nodes in the Skeleton to start simulating and reacting to the physics world.
				Optionally, a list of bone names can be passed-in, allowing only the passed-in bones to be simulated.
			</description>
		</method>
		<method name="physical_bones_stop_simulation">
			<return type="void" />
			<description>
				Tells the [PhysicalBone3D] nodes in the Skeleton to stop simulating.
			</description>
		</method>
	</methods>
</class>
