<?xml version="1.0" encoding="UTF-8" ?>
<class name="HingeJoint3D" inherits="Joint3D" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
A physics joint that restricts the rotation of a 3D physics body around an axis relative to another physics body.
</brief_description>
<description>
A physics joint that restricts the rotation of a 3D physics body around an axis relative to another physics body. For example, Body A can be a [StaticBody3D] representing a door hinge that a [RigidBody3D] rotates around.
</description>
<tutorials>
</tutorials>
<methods>
<method name="get_flag" qualifiers="const">
<return type="bool" />
<param index="0" name="flag" type="int" enum="HingeJoint3D.Flag" />
<description>
Returns the value of the specified flag.
</description>
</method>
<method name="get_param" qualifiers="const">
<return type="float" />
<param index="0" name="param" type="int" enum="HingeJoint3D.Param" />
<description>
Returns the value of the specified parameter.
</description>
</method>
<method name="set_flag">
<return type="void" />
<param index="0" name="flag" type="int" enum="HingeJoint3D.Flag" />
<param index="1" name="enabled" type="bool" />
<description>
If [code]true[/code], enables the specified flag.
</description>
</method>
<method name="set_param">
<return type="void" />
<param index="0" name="param" type="int" enum="HingeJoint3D.Param" />
<param index="1" name="value" type="float" />
<description>
Sets the value of the specified parameter.
</description>
</method>
</methods>
<members>
<member name="angular_limit/bias" type="float" setter="set_param" getter="get_param" default="0.3">
The speed with which the rotation across the axis perpendicular to the hinge gets corrected.
</member>
<member name="angular_limit/enable" type="bool" setter="set_flag" getter="get_flag" default="false">
If [code]true[/code], the hinges maximum and minimum rotation, defined by [member angular_limit/lower] and [member angular_limit/upper] has effects.
</member>
<member name="angular_limit/lower" type="float" setter="set_param" getter="get_param" default="-1.5708">
The minimum rotation. Only active if [member angular_limit/enable] is [code]true[/code].
</member>
<member name="angular_limit/relaxation" type="float" setter="set_param" getter="get_param" default="1.0">
The lower this value, the more the rotation gets slowed down.
</member>
<member name="angular_limit/softness" type="float" setter="set_param" getter="get_param" default="0.9" deprecated="This property is never set by the engine and is kept for compatibility purposes.">
</member>
<member name="angular_limit/upper" type="float" setter="set_param" getter="get_param" default="1.5708">
The maximum rotation. Only active if [member angular_limit/enable] is [code]true[/code].
</member>
<member name="motor/enable" type="bool" setter="set_flag" getter="get_flag" default="false">
When activated, a motor turns the hinge.
</member>
<member name="motor/max_impulse" type="float" setter="set_param" getter="get_param" default="1.0">
Maximum acceleration for the motor.
</member>
<member name="motor/target_velocity" type="float" setter="set_param" getter="get_param" default="1.0">
Target speed for the motor.
</member>
<member name="params/bias" type="float" setter="set_param" getter="get_param" default="0.3">
The speed with which the two bodies get pulled together when they move in different directions.
</member>
</members>
<constants>
<constant name="PARAM_BIAS" value="0" enum="Param">
The speed with which the two bodies get pulled together when they move in different directions.
</constant>
<constant name="PARAM_LIMIT_UPPER" value="1" enum="Param">
The maximum rotation. Only active if [member angular_limit/enable] is [code]true[/code].
</constant>
<constant name="PARAM_LIMIT_LOWER" value="2" enum="Param">
The minimum rotation. Only active if [member angular_limit/enable] is [code]true[/code].
</constant>
<constant name="PARAM_LIMIT_BIAS" value="3" enum="Param">
The speed with which the rotation across the axis perpendicular to the hinge gets corrected.
</constant>
<constant name="PARAM_LIMIT_SOFTNESS" value="4" enum="Param" deprecated="This property is never used by the engine and is kept for compatibility purpose.">
</constant>
<constant name="PARAM_LIMIT_RELAXATION" value="5" enum="Param">
The lower this value, the more the rotation gets slowed down.
</constant>
<constant name="PARAM_MOTOR_TARGET_VELOCITY" value="6" enum="Param">
Target speed for the motor.
</constant>
<constant name="PARAM_MOTOR_MAX_IMPULSE" value="7" enum="Param">
Maximum acceleration for the motor.
</constant>
<constant name="PARAM_MAX" value="8" enum="Param">
Represents the size of the [enum Param] enum.
</constant>
<constant name="FLAG_USE_LIMIT" value="0" enum="Flag">
If [code]true[/code], the hinges maximum and minimum rotation, defined by [member angular_limit/lower] and [member angular_limit/upper] has effects.
</constant>
<constant name="FLAG_ENABLE_MOTOR" value="1" enum="Flag">
When activated, a motor turns the hinge.
</constant>
<constant name="FLAG_MAX" value="2" enum="Flag">
Represents the size of the [enum Flag] enum.
</constant>
</constants>
</class>