Generic6DOFJoint.xml 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <class name="Generic6DOFJoint" inherits="Joint" category="Core" version="3.0.alpha.custom_build">
  3. <brief_description>
  4. The generic 6 degrees of freedom joint can implement a variety of joint-types by locking certain axes' rotation or translation.
  5. </brief_description>
  6. <description>
  7. The first 3 dof axes are linear axes, which represent translation of Bodies, and the latter 3 dof axes represent the angular motion. Each axis can be either locked, or limited.
  8. </description>
  9. <tutorials>
  10. </tutorials>
  11. <demos>
  12. </demos>
  13. <methods>
  14. <method name="get_flag_x" qualifiers="const">
  15. <return type="bool">
  16. </return>
  17. <argument index="0" name="flag" type="int" enum="Generic6DOFJoint.Flag">
  18. </argument>
  19. <description>
  20. </description>
  21. </method>
  22. <method name="get_flag_y" qualifiers="const">
  23. <return type="bool">
  24. </return>
  25. <argument index="0" name="flag" type="int" enum="Generic6DOFJoint.Flag">
  26. </argument>
  27. <description>
  28. </description>
  29. </method>
  30. <method name="get_flag_z" qualifiers="const">
  31. <return type="bool">
  32. </return>
  33. <argument index="0" name="flag" type="int" enum="Generic6DOFJoint.Flag">
  34. </argument>
  35. <description>
  36. </description>
  37. </method>
  38. <method name="get_param_x" qualifiers="const">
  39. <return type="float">
  40. </return>
  41. <argument index="0" name="param" type="int" enum="Generic6DOFJoint.Param">
  42. </argument>
  43. <description>
  44. </description>
  45. </method>
  46. <method name="get_param_y" qualifiers="const">
  47. <return type="float">
  48. </return>
  49. <argument index="0" name="param" type="int" enum="Generic6DOFJoint.Param">
  50. </argument>
  51. <description>
  52. </description>
  53. </method>
  54. <method name="get_param_z" qualifiers="const">
  55. <return type="float">
  56. </return>
  57. <argument index="0" name="param" type="int" enum="Generic6DOFJoint.Param">
  58. </argument>
  59. <description>
  60. </description>
  61. </method>
  62. <method name="set_flag_x">
  63. <return type="void">
  64. </return>
  65. <argument index="0" name="flag" type="int" enum="Generic6DOFJoint.Flag">
  66. </argument>
  67. <argument index="1" name="value" type="bool">
  68. </argument>
  69. <description>
  70. </description>
  71. </method>
  72. <method name="set_flag_y">
  73. <return type="void">
  74. </return>
  75. <argument index="0" name="flag" type="int" enum="Generic6DOFJoint.Flag">
  76. </argument>
  77. <argument index="1" name="value" type="bool">
  78. </argument>
  79. <description>
  80. </description>
  81. </method>
  82. <method name="set_flag_z">
  83. <return type="void">
  84. </return>
  85. <argument index="0" name="flag" type="int" enum="Generic6DOFJoint.Flag">
  86. </argument>
  87. <argument index="1" name="value" type="bool">
  88. </argument>
  89. <description>
  90. </description>
  91. </method>
  92. <method name="set_param_x">
  93. <return type="void">
  94. </return>
  95. <argument index="0" name="param" type="int" enum="Generic6DOFJoint.Param">
  96. </argument>
  97. <argument index="1" name="value" type="float">
  98. </argument>
  99. <description>
  100. </description>
  101. </method>
  102. <method name="set_param_y">
  103. <return type="void">
  104. </return>
  105. <argument index="0" name="param" type="int" enum="Generic6DOFJoint.Param">
  106. </argument>
  107. <argument index="1" name="value" type="float">
  108. </argument>
  109. <description>
  110. </description>
  111. </method>
  112. <method name="set_param_z">
  113. <return type="void">
  114. </return>
  115. <argument index="0" name="param" type="int" enum="Generic6DOFJoint.Param">
  116. </argument>
  117. <argument index="1" name="value" type="float">
  118. </argument>
  119. <description>
  120. </description>
  121. </method>
  122. </methods>
  123. <members>
  124. <member name="angular_limit_x/damping" type="float" setter="set_param_x" getter="get_param_x">
  125. The amount of rotational damping across the x-axis.
  126. The lower, the longer an impulse from one side takes to travel to the other side.
  127. </member>
  128. <member name="angular_limit_x/enabled" type="bool" setter="set_flag_x" getter="get_flag_x">
  129. If [code]true[/code] rotation across the x-axis is enabled.
  130. </member>
  131. <member name="angular_limit_x/erp" type="float" setter="set_param_x" getter="get_param_x">
  132. When rotating across x-axis, this error tolerance factor defines how much the correction gets slowed down. The lower, the slower.
  133. </member>
  134. <member name="angular_limit_x/force_limit" type="float" setter="set_param_x" getter="get_param_x">
  135. The maximum amount of force that can occur, when rotating arround x-axis.
  136. </member>
  137. <member name="angular_limit_x/lower_angle" type="float" setter="_set_angular_lo_limit_x" getter="_get_angular_lo_limit_x">
  138. The minimum rotation in negative direction to break loose and rotate arround the x-axis.
  139. </member>
  140. <member name="angular_limit_x/restitution" type="float" setter="set_param_x" getter="get_param_x">
  141. The amount of rotational restitution across the x-axis. The lower, the more restitution occurs.
  142. </member>
  143. <member name="angular_limit_x/softness" type="float" setter="set_param_x" getter="get_param_x">
  144. The speed of all rotations across the x-axis.
  145. </member>
  146. <member name="angular_limit_x/upper_angle" type="float" setter="_set_angular_hi_limit_x" getter="_get_angular_hi_limit_x">
  147. The minimum rotation in positive direction to break loose and rotate arround the x-axis.
  148. </member>
  149. <member name="angular_limit_y/damping" type="float" setter="set_param_y" getter="get_param_y">
  150. The amount of rotational damping across the y-axis. The lower, the more dampening occurs.
  151. </member>
  152. <member name="angular_limit_y/enabled" type="bool" setter="set_flag_y" getter="get_flag_y">
  153. If [code]true[/code] rotation across the y-axis is enabled.
  154. </member>
  155. <member name="angular_limit_y/erp" type="float" setter="set_param_y" getter="get_param_y">
  156. When rotating across y-axis, this error tolerance factor defines how much the correction gets slowed down. The lower, the slower.
  157. </member>
  158. <member name="angular_limit_y/force_limit" type="float" setter="set_param_y" getter="get_param_y">
  159. The maximum amount of force that can occur, when rotating arround y-axis.
  160. </member>
  161. <member name="angular_limit_y/lower_angle" type="float" setter="_set_angular_lo_limit_y" getter="_get_angular_lo_limit_y">
  162. The minimum rotation in negative direction to break loose and rotate arround the y-axis.
  163. </member>
  164. <member name="angular_limit_y/restitution" type="float" setter="set_param_y" getter="get_param_y">
  165. The amount of rotational restitution across the y-axis. The lower, the more restitution occurs.
  166. </member>
  167. <member name="angular_limit_y/softness" type="float" setter="set_param_y" getter="get_param_y">
  168. The speed of all rotations across the y-axis.
  169. </member>
  170. <member name="angular_limit_y/upper_angle" type="float" setter="_set_angular_hi_limit_y" getter="_get_angular_hi_limit_y">
  171. The minimum rotation in positive direction to break loose and rotate arround the y-axis.
  172. </member>
  173. <member name="angular_limit_z/damping" type="float" setter="set_param_z" getter="get_param_z">
  174. The amount of rotational damping across the z-axis. The lower, the more dampening occurs.
  175. </member>
  176. <member name="angular_limit_z/enabled" type="bool" setter="set_flag_z" getter="get_flag_z">
  177. If [code]true[/code] rotation across the z-axis is enabled.
  178. </member>
  179. <member name="angular_limit_z/erp" type="float" setter="set_param_z" getter="get_param_z">
  180. When rotating across z-axis, this error tolerance factor defines how much the correction gets slowed down. The lower, the slower.
  181. </member>
  182. <member name="angular_limit_z/force_limit" type="float" setter="set_param_z" getter="get_param_z">
  183. The maximum amount of force that can occur, when rotating arround z-axis.
  184. </member>
  185. <member name="angular_limit_z/lower_angle" type="float" setter="_set_angular_lo_limit_z" getter="_get_angular_lo_limit_z">
  186. The minimum rotation in negative direction to break loose and rotate arround the z-axis.
  187. </member>
  188. <member name="angular_limit_z/restitution" type="float" setter="set_param_z" getter="get_param_z">
  189. The amount of rotational restitution across the z-axis. The lower, the more restitution occurs.
  190. </member>
  191. <member name="angular_limit_z/softness" type="float" setter="set_param_z" getter="get_param_z">
  192. The speed of all rotations across the z-axis.
  193. </member>
  194. <member name="angular_limit_z/upper_angle" type="float" setter="_set_angular_hi_limit_z" getter="_get_angular_hi_limit_z">
  195. The minimum rotation in positive direction to break loose and rotate arround the z-axis.
  196. </member>
  197. <member name="angular_motor_x/enabled" type="bool" setter="set_flag_x" getter="get_flag_x">
  198. If [code]true[/code] a rotating motor at the x-axis is enabled.
  199. </member>
  200. <member name="angular_motor_x/force_limit" type="float" setter="set_param_x" getter="get_param_x">
  201. Maximum acceleration for the motor at the x-axis.
  202. </member>
  203. <member name="angular_motor_x/target_velocity" type="float" setter="set_param_x" getter="get_param_x">
  204. Target speed for the motor at the x-axis.
  205. </member>
  206. <member name="angular_motor_y/enabled" type="bool" setter="set_flag_y" getter="get_flag_y">
  207. If [code]true[/code] a rotating motor at the y-axis is enabled.
  208. </member>
  209. <member name="angular_motor_y/force_limit" type="float" setter="set_param_y" getter="get_param_y">
  210. Maximum acceleration for the motor at the y-axis.
  211. </member>
  212. <member name="angular_motor_y/target_velocity" type="float" setter="set_param_y" getter="get_param_y">
  213. Target speed for the motor at the y-axis.
  214. </member>
  215. <member name="angular_motor_z/enabled" type="bool" setter="set_flag_z" getter="get_flag_z">
  216. If [code]true[/code] a rotating motor at the z-axis is enabled.
  217. </member>
  218. <member name="angular_motor_z/force_limit" type="float" setter="set_param_z" getter="get_param_z">
  219. Maximum acceleration for the motor at the z-axis.
  220. </member>
  221. <member name="angular_motor_z/target_velocity" type="float" setter="set_param_z" getter="get_param_z">
  222. Target speed for the motor at the z-axis.
  223. </member>
  224. <member name="linear_limit_x/damping" type="float" setter="set_param_x" getter="get_param_x">
  225. The amount of damping that happens at the x-motion.
  226. </member>
  227. <member name="linear_limit_x/enabled" type="bool" setter="set_flag_x" getter="get_flag_x">
  228. If [code]true[/code] the linear motion across the x-axis is enabled.
  229. </member>
  230. <member name="linear_limit_x/lower_distance" type="float" setter="set_param_x" getter="get_param_x">
  231. The minimum difference between the pivot points' x-axis.
  232. </member>
  233. <member name="linear_limit_x/restitution" type="float" setter="set_param_x" getter="get_param_x">
  234. The amount of restitution on the x-axis movement The lower, the more momentum gets lost.
  235. </member>
  236. <member name="linear_limit_x/softness" type="float" setter="set_param_x" getter="get_param_x">
  237. A factor applied to the movement across the x-axis The lower, the slower the movement.
  238. </member>
  239. <member name="linear_limit_x/upper_distance" type="float" setter="set_param_x" getter="get_param_x">
  240. The maximum difference between the pivot points' x-axis.
  241. </member>
  242. <member name="linear_limit_y/damping" type="float" setter="set_param_y" getter="get_param_y">
  243. The amount of damping that happens at the y-motion.
  244. </member>
  245. <member name="linear_limit_y/enabled" type="bool" setter="set_flag_y" getter="get_flag_y">
  246. If [code]true[/code] the linear motion across the y-axis is enabled.
  247. </member>
  248. <member name="linear_limit_y/lower_distance" type="float" setter="set_param_y" getter="get_param_y">
  249. The minimum difference between the pivot points' y-axis.
  250. </member>
  251. <member name="linear_limit_y/restitution" type="float" setter="set_param_y" getter="get_param_y">
  252. The amount of restitution on the y-axis movement The lower, the more momentum gets lost.
  253. </member>
  254. <member name="linear_limit_y/softness" type="float" setter="set_param_y" getter="get_param_y">
  255. A factor applied to the movement across the y-axis The lower, the slower the movement.
  256. </member>
  257. <member name="linear_limit_y/upper_distance" type="float" setter="set_param_y" getter="get_param_y">
  258. The maximum difference between the pivot points' y-axis.
  259. </member>
  260. <member name="linear_limit_z/damping" type="float" setter="set_param_z" getter="get_param_z">
  261. The amount of damping that happens at the z-motion.
  262. </member>
  263. <member name="linear_limit_z/enabled" type="bool" setter="set_flag_z" getter="get_flag_z">
  264. If [code]true[/code] the linear motion across the z-axis is enabled.
  265. </member>
  266. <member name="linear_limit_z/lower_distance" type="float" setter="set_param_z" getter="get_param_z">
  267. The minimum difference between the pivot points' z-axis.
  268. </member>
  269. <member name="linear_limit_z/restitution" type="float" setter="set_param_z" getter="get_param_z">
  270. The amount of restitution on the z-axis movement The lower, the more momentum gets lost.
  271. </member>
  272. <member name="linear_limit_z/softness" type="float" setter="set_param_z" getter="get_param_z">
  273. A factor applied to the movement across the z-axis The lower, the slower the movement.
  274. </member>
  275. <member name="linear_limit_z/upper_distance" type="float" setter="set_param_z" getter="get_param_z">
  276. The maximum difference between the pivot points' z-axis.
  277. </member>
  278. </members>
  279. <constants>
  280. <constant name="PARAM_LINEAR_LOWER_LIMIT" value="0">
  281. The minimum difference between the pivot points' axes.
  282. </constant>
  283. <constant name="PARAM_LINEAR_UPPER_LIMIT" value="1">
  284. The maximum difference between the pivot points' axes.
  285. </constant>
  286. <constant name="PARAM_LINEAR_LIMIT_SOFTNESS" value="2">
  287. A factor applied to the movement across the axes The lower, the slower the movement.
  288. </constant>
  289. <constant name="PARAM_LINEAR_RESTITUTION" value="3">
  290. The amount of restitution on the axes movement The lower, the more momentum gets lost.
  291. </constant>
  292. <constant name="PARAM_LINEAR_DAMPING" value="4">
  293. The amount of damping that happens at the linear motion across the axes.
  294. </constant>
  295. <constant name="PARAM_ANGULAR_LOWER_LIMIT" value="5">
  296. The minimum rotation in negative direction to break loose and rotate arround the axes.
  297. </constant>
  298. <constant name="PARAM_ANGULAR_UPPER_LIMIT" value="6">
  299. The minimum rotation in positive direction to break loose and rotate arround the axes.
  300. </constant>
  301. <constant name="PARAM_ANGULAR_LIMIT_SOFTNESS" value="7">
  302. The speed of all rotations across the axes.
  303. </constant>
  304. <constant name="PARAM_ANGULAR_DAMPING" value="8">
  305. The amount of rotational damping across the axes. The lower, the more dampening occurs.
  306. </constant>
  307. <constant name="PARAM_ANGULAR_RESTITUTION" value="9">
  308. The amount of rotational restitution across the axes. The lower, the more restitution occurs.
  309. </constant>
  310. <constant name="PARAM_ANGULAR_FORCE_LIMIT" value="10">
  311. The maximum amount of force that can occur, when rotating arround the axes.
  312. </constant>
  313. <constant name="PARAM_ANGULAR_ERP" value="11">
  314. When rotating across the axes, this error tolerance factor defines how much the correction gets slowed down. The lower, the slower.
  315. </constant>
  316. <constant name="PARAM_ANGULAR_MOTOR_TARGET_VELOCITY" value="12">
  317. Target speed for the motor at the axes.
  318. </constant>
  319. <constant name="PARAM_ANGULAR_MOTOR_FORCE_LIMIT" value="13">
  320. Maximum acceleration for the motor at the axes.
  321. </constant>
  322. <constant name="PARAM_MAX" value="14">
  323. End flag of PARAM_* constants, used internally.
  324. </constant>
  325. <constant name="FLAG_ENABLE_LINEAR_LIMIT" value="0">
  326. If [code]set[/code] there is linear motion possible within the given limits.
  327. </constant>
  328. <constant name="FLAG_ENABLE_ANGULAR_LIMIT" value="1">
  329. If [code]set[/code] there is rotational motion possible.
  330. </constant>
  331. <constant name="FLAG_ENABLE_MOTOR" value="2">
  332. If [code]set[/code] there is a rotational motor across these axes.
  333. </constant>
  334. <constant name="FLAG_MAX" value="3">
  335. End flag of FLAG_* constants, used internally.
  336. </constant>
  337. </constants>
  338. </class>