b68dd2e189
This makes it easier to spot syntax errors when editing the class reference. The schema is referenced locally so validation can still work offline. Each class XML's schema conformance is also checked on GitHub Actions.
112 lines
5.1 KiB
XML
112 lines
5.1 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<class name="HingeJoint3D" inherits="Joint3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
|
|
<brief_description>
|
|
A hinge between two 3D PhysicsBodies.
|
|
</brief_description>
|
|
<description>
|
|
A HingeJoint3D normally uses the Z axis of body A as the hinge axis, another axis can be specified when adding it manually though. See also [Generic6DOFJoint3D].
|
|
</description>
|
|
<tutorials>
|
|
</tutorials>
|
|
<methods>
|
|
<method name="get_flag" qualifiers="const">
|
|
<return type="bool" />
|
|
<argument 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" />
|
|
<argument 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" />
|
|
<argument index="0" name="flag" type="int" enum="HingeJoint3D.Flag" />
|
|
<argument index="1" name="enabled" type="bool" />
|
|
<description>
|
|
If [code]true[/code], enables the specified flag.
|
|
</description>
|
|
</method>
|
|
<method name="set_param">
|
|
<return type="void" />
|
|
<argument index="0" name="param" type="int" enum="HingeJoint3D.Param" />
|
|
<argument 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_lower_limit" getter="_get_lower_limit" default="-90.0">
|
|
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">
|
|
</member>
|
|
<member name="angular_limit/upper" type="float" setter="_set_upper_limit" getter="_get_upper_limit" default="90.0">
|
|
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">
|
|
</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>
|