summaryrefslogtreecommitdiff
path: root/doc/classes/HingeJoint3D.xml
blob: a8e7f343ffe2bd0f98e1a187fc1da0eaf2666b53 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<?xml version="1.0" encoding="UTF-8" ?>
<class name="HingeJoint3D" inherits="Joint3D" version="4.0">
	<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>