Generic6DOFJoint.xml 18 KB

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