Generic6DOFJoint.xml 18 KB

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