2017-09-12 20:42:36 +00:00
|
|
|
<?xml version="1.0" encoding="UTF-8" ?>
|
2020-01-26 15:01:49 +00:00
|
|
|
<class name="HingeJoint" inherits="Joint" version="3.2">
|
2017-09-12 20:42:36 +00:00
|
|
|
<brief_description>
|
2017-10-14 10:19:03 +00:00
|
|
|
A hinge between two 3D bodies.
|
2017-09-12 20:42:36 +00:00
|
|
|
</brief_description>
|
|
|
|
<description>
|
2019-06-21 23:04:47 +00:00
|
|
|
A HingeJoint normally uses the Z axis of body A as the hinge axis, another axis can be specified when adding it manually though.
|
2017-09-12 20:42:36 +00:00
|
|
|
</description>
|
|
|
|
<tutorials>
|
|
|
|
</tutorials>
|
|
|
|
<methods>
|
2019-06-27 14:10:09 +00:00
|
|
|
<method name="get_flag" qualifiers="const">
|
|
|
|
<return type="bool">
|
|
|
|
</return>
|
|
|
|
<argument index="0" name="flag" type="int" enum="HingeJoint.Flag">
|
|
|
|
</argument>
|
|
|
|
<description>
|
|
|
|
</description>
|
|
|
|
</method>
|
|
|
|
<method name="get_param" qualifiers="const">
|
|
|
|
<return type="float">
|
|
|
|
</return>
|
|
|
|
<argument index="0" name="param" type="int" enum="HingeJoint.Param">
|
|
|
|
</argument>
|
|
|
|
<description>
|
|
|
|
</description>
|
|
|
|
</method>
|
|
|
|
<method name="set_flag">
|
|
|
|
<return type="void">
|
|
|
|
</return>
|
|
|
|
<argument index="0" name="flag" type="int" enum="HingeJoint.Flag">
|
|
|
|
</argument>
|
|
|
|
<argument index="1" name="enabled" type="bool">
|
|
|
|
</argument>
|
|
|
|
<description>
|
|
|
|
</description>
|
|
|
|
</method>
|
|
|
|
<method name="set_param">
|
|
|
|
<return type="void">
|
|
|
|
</return>
|
|
|
|
<argument index="0" name="param" type="int" enum="HingeJoint.Param">
|
|
|
|
</argument>
|
|
|
|
<argument index="1" name="value" type="float">
|
|
|
|
</argument>
|
|
|
|
<description>
|
|
|
|
</description>
|
|
|
|
</method>
|
2017-09-12 20:42:36 +00:00
|
|
|
</methods>
|
|
|
|
<members>
|
2019-06-29 10:38:01 +00:00
|
|
|
<member name="angular_limit/bias" type="float" setter="set_param" getter="get_param" default="0.3">
|
2017-10-14 10:19:03 +00:00
|
|
|
The speed with which the rotation across the axis perpendicular to the hinge gets corrected.
|
2017-09-12 20:42:36 +00:00
|
|
|
</member>
|
2019-06-29 10:38:01 +00:00
|
|
|
<member name="angular_limit/enable" type="bool" setter="set_flag" getter="get_flag" default="false">
|
2018-12-20 12:46:54 +00:00
|
|
|
If [code]true[/code], the hinges maximum and minimum rotation, defined by [member angular_limit/lower] and [member angular_limit/upper] has effects.
|
2017-09-12 20:42:36 +00:00
|
|
|
</member>
|
2019-06-29 10:38:01 +00:00
|
|
|
<member name="angular_limit/lower" type="float" setter="_set_lower_limit" getter="_get_lower_limit" default="-90.0">
|
2019-06-21 23:04:47 +00:00
|
|
|
The minimum rotation. Only active if [member angular_limit/enable] is [code]true[/code].
|
2017-09-12 20:42:36 +00:00
|
|
|
</member>
|
2019-06-29 10:38:01 +00:00
|
|
|
<member name="angular_limit/relaxation" type="float" setter="set_param" getter="get_param" default="1.0">
|
2017-10-14 10:19:03 +00:00
|
|
|
The lower this value, the more the rotation gets slowed down.
|
2017-09-12 20:42:36 +00:00
|
|
|
</member>
|
2019-06-29 10:38:01 +00:00
|
|
|
<member name="angular_limit/softness" type="float" setter="set_param" getter="get_param" default="0.9">
|
2017-09-12 20:42:36 +00:00
|
|
|
</member>
|
2019-06-29 10:38:01 +00:00
|
|
|
<member name="angular_limit/upper" type="float" setter="_set_upper_limit" getter="_get_upper_limit" default="90.0">
|
2019-06-21 23:04:47 +00:00
|
|
|
The maximum rotation. Only active if [member angular_limit/enable] is [code]true[/code].
|
2017-09-12 20:42:36 +00:00
|
|
|
</member>
|
2019-06-29 10:38:01 +00:00
|
|
|
<member name="motor/enable" type="bool" setter="set_flag" getter="get_flag" default="false">
|
2017-10-14 10:19:03 +00:00
|
|
|
When activated, a motor turns the hinge.
|
2017-09-12 20:42:36 +00:00
|
|
|
</member>
|
2019-06-29 10:38:01 +00:00
|
|
|
<member name="motor/max_impulse" type="float" setter="set_param" getter="get_param" default="1.0">
|
2017-10-14 10:19:03 +00:00
|
|
|
Maximum acceleration for the motor.
|
2017-09-12 20:42:36 +00:00
|
|
|
</member>
|
2019-06-29 10:38:01 +00:00
|
|
|
<member name="motor/target_velocity" type="float" setter="set_param" getter="get_param" default="1.0">
|
2017-10-14 10:19:03 +00:00
|
|
|
Target speed for the motor.
|
2017-09-12 20:42:36 +00:00
|
|
|
</member>
|
2019-06-29 10:38:01 +00:00
|
|
|
<member name="params/bias" type="float" setter="set_param" getter="get_param" default="0.3">
|
2018-01-18 20:37:17 +00:00
|
|
|
The speed with which the two bodies get pulled together when they move in different directions.
|
2017-09-12 20:42:36 +00:00
|
|
|
</member>
|
|
|
|
</members>
|
|
|
|
<constants>
|
2017-11-24 22:16:30 +00:00
|
|
|
<constant name="PARAM_BIAS" value="0" enum="Param">
|
2018-01-18 20:37:17 +00:00
|
|
|
The speed with which the two bodies get pulled together when they move in different directions.
|
2017-09-12 20:42:36 +00:00
|
|
|
</constant>
|
2017-11-24 22:16:30 +00:00
|
|
|
<constant name="PARAM_LIMIT_UPPER" value="1" enum="Param">
|
2019-06-21 23:04:47 +00:00
|
|
|
The maximum rotation. Only active if [member angular_limit/enable] is [code]true[/code].
|
2017-09-12 20:42:36 +00:00
|
|
|
</constant>
|
2017-11-24 22:16:30 +00:00
|
|
|
<constant name="PARAM_LIMIT_LOWER" value="2" enum="Param">
|
2019-06-21 23:04:47 +00:00
|
|
|
The minimum rotation. Only active if [member angular_limit/enable] is [code]true[/code].
|
2017-09-12 20:42:36 +00:00
|
|
|
</constant>
|
2017-11-24 22:16:30 +00:00
|
|
|
<constant name="PARAM_LIMIT_BIAS" value="3" enum="Param">
|
2017-10-14 10:19:03 +00:00
|
|
|
The speed with which the rotation across the axis perpendicular to the hinge gets corrected.
|
2017-09-12 20:42:36 +00:00
|
|
|
</constant>
|
2017-11-24 22:16:30 +00:00
|
|
|
<constant name="PARAM_LIMIT_SOFTNESS" value="4" enum="Param">
|
2017-09-12 20:42:36 +00:00
|
|
|
</constant>
|
2017-11-24 22:16:30 +00:00
|
|
|
<constant name="PARAM_LIMIT_RELAXATION" value="5" enum="Param">
|
2017-10-14 10:19:03 +00:00
|
|
|
The lower this value, the more the rotation gets slowed down.
|
2017-09-12 20:42:36 +00:00
|
|
|
</constant>
|
2017-11-24 22:16:30 +00:00
|
|
|
<constant name="PARAM_MOTOR_TARGET_VELOCITY" value="6" enum="Param">
|
2017-10-14 10:19:03 +00:00
|
|
|
Target speed for the motor.
|
2017-09-12 20:42:36 +00:00
|
|
|
</constant>
|
2017-11-24 22:16:30 +00:00
|
|
|
<constant name="PARAM_MOTOR_MAX_IMPULSE" value="7" enum="Param">
|
2017-10-14 10:19:03 +00:00
|
|
|
Maximum acceleration for the motor.
|
2017-09-12 20:42:36 +00:00
|
|
|
</constant>
|
2017-11-24 22:16:30 +00:00
|
|
|
<constant name="PARAM_MAX" value="8" enum="Param">
|
2019-06-27 09:10:53 +00:00
|
|
|
Represents the size of the [enum Param] enum.
|
2017-09-12 20:42:36 +00:00
|
|
|
</constant>
|
2017-11-24 22:16:30 +00:00
|
|
|
<constant name="FLAG_USE_LIMIT" value="0" enum="Flag">
|
2018-12-20 12:46:54 +00:00
|
|
|
If [code]true[/code], the hinges maximum and minimum rotation, defined by [member angular_limit/lower] and [member angular_limit/upper] has effects.
|
2017-09-12 20:42:36 +00:00
|
|
|
</constant>
|
2017-11-24 22:16:30 +00:00
|
|
|
<constant name="FLAG_ENABLE_MOTOR" value="1" enum="Flag">
|
2017-10-14 10:19:03 +00:00
|
|
|
When activated, a motor turns the hinge.
|
2017-09-12 20:42:36 +00:00
|
|
|
</constant>
|
2017-11-24 22:16:30 +00:00
|
|
|
<constant name="FLAG_MAX" value="2" enum="Flag">
|
2019-06-27 09:10:53 +00:00
|
|
|
Represents the size of the [enum Flag] enum.
|
2017-09-12 20:42:36 +00:00
|
|
|
</constant>
|
|
|
|
</constants>
|
|
|
|
</class>
|