constraint.monkey2 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336
  1. Namespace chipmunk
  2. #Import "chipmunk_glue.h"
  3. Extern
  4. '***** File: Chipmunk7/include/chipmunk/cpConstraint.h *****
  5. Alias cpConstraintPreSolveFunc:Void( cpConstraint, cpSpace )
  6. Alias cpConstraintPostSolveFunc:Void( cpConstraint, cpSpace )
  7. Function cpConstraintDestroy:Void( constraint:cpConstraint )
  8. Function cpConstraintFree:Void( constraint:cpConstraint )
  9. Function cpConstraintGetSpace:cpSpace( constraint:cpConstraint )
  10. Function cpConstraintGetBodyA:cpBody( constraint:cpConstraint )
  11. Function cpConstraintGetBodyB:cpBody( constraint:cpConstraint )
  12. Function cpConstraintGetMaxForce:cpFloat( constraint:cpConstraint )
  13. Function cpConstraintSetMaxForce:Void( constraint:cpConstraint, maxForce:cpFloat )
  14. Function cpConstraintGetErrorBias:cpFloat( constraint:cpConstraint )
  15. Function cpConstraintSetErrorBias:Void( constraint:cpConstraint, errorBias:cpFloat )
  16. Function cpConstraintGetMaxBias:cpFloat( constraint:cpConstraint )
  17. Function cpConstraintSetMaxBias:Void( constraint:cpConstraint, maxBias:cpFloat )
  18. Function cpConstraintGetCollideBodies:cpBool( constraint:cpConstraint )
  19. Function cpConstraintSetCollideBodies:Void( constraint:cpConstraint, collideBodies:cpBool )
  20. Function cpConstraintGetPreSolveFunc:cpConstraintPreSolveFunc( constraint:cpConstraint )
  21. Function cpConstraintSetPreSolveFunc:Void( constraint:cpConstraint, preSolveFunc:cpConstraintPreSolveFunc )
  22. Function cpConstraintGetPostSolveFunc:cpConstraintPostSolveFunc( constraint:cpConstraint )
  23. Function cpConstraintSetPostSolveFunc:Void( constraint:cpConstraint, postSolveFunc:cpConstraintPostSolveFunc )
  24. Function cpConstraintGetUserData:cpDataPointer( constraint:cpConstraint )
  25. Function cpConstraintSetUserData:Void( constraint:cpConstraint, userData:cpDataPointer )
  26. Function cpConstraintGetImpulse:cpFloat( constraint:cpConstraint )
  27. '***** File: Chipmunk7/include/chipmunk/cpPinJoint.h *****
  28. Function cpConstraintIsPinJoint:cpBool( constraint:cpConstraint )
  29. Function cpPinJointAlloc:cpPinJoint( )
  30. Function cpPinJointInit:cpPinJoint( joint:cpPinJoint, a:cpBody, b:cpBody, anchorA:cpVect, anchorB:cpVect )
  31. Function cpPinJointNew:cpConstraint( a:cpBody, b:cpBody, anchorA:cpVect, anchorB:cpVect )
  32. Function cpPinJointGetAnchorA:cpVect( constraint:cpConstraint )
  33. Function cpPinJointSetAnchorA:Void( constraint:cpConstraint, anchorA:cpVect )
  34. Function cpPinJointGetAnchorB:cpVect( constraint:cpConstraint )
  35. Function cpPinJointSetAnchorB:Void( constraint:cpConstraint, anchorB:cpVect )
  36. Function cpPinJointGetDist:cpFloat( constraint:cpConstraint )
  37. Function cpPinJointSetDist:Void( constraint:cpConstraint, dist:cpFloat )
  38. '***** File: Chipmunk7/include/chipmunk/cpSlideJoint.h *****
  39. Function cpConstraintIsSlideJoint:cpBool( constraint:cpConstraint )
  40. Function cpSlideJointAlloc:cpSlideJoint( )
  41. Function cpSlideJointInit:cpSlideJoint( joint:cpSlideJoint, a:cpBody, b:cpBody, anchorA:cpVect, anchorB:cpVect, min:cpFloat, max:cpFloat )
  42. Function cpSlideJointNew:cpConstraint( a:cpBody, b:cpBody, anchorA:cpVect, anchorB:cpVect, min:cpFloat, max:cpFloat )
  43. Function cpSlideJointGetAnchorA:cpVect( constraint:cpConstraint )
  44. Function cpSlideJointSetAnchorA:Void( constraint:cpConstraint, anchorA:cpVect )
  45. Function cpSlideJointGetAnchorB:cpVect( constraint:cpConstraint )
  46. Function cpSlideJointSetAnchorB:Void( constraint:cpConstraint, anchorB:cpVect )
  47. Function cpSlideJointGetMin:cpFloat( constraint:cpConstraint )
  48. Function cpSlideJointSetMin:Void( constraint:cpConstraint, min:cpFloat )
  49. Function cpSlideJointGetMax:cpFloat( constraint:cpConstraint )
  50. Function cpSlideJointSetMax:Void( constraint:cpConstraint, max:cpFloat )
  51. '***** File: Chipmunk7/include/chipmunk/cpPivotJoint.h *****
  52. Function cpConstraintIsPivotJoint:cpBool( constraint:cpConstraint )
  53. Function cpPivotJointAlloc:cpPivotJoint( )
  54. Function cpPivotJointInit:cpPivotJoint( joint:cpPivotJoint, a:cpBody, b:cpBody, anchorA:cpVect, anchorB:cpVect )
  55. Function cpPivotJointNew:cpConstraint( a:cpBody, b:cpBody, pivot:cpVect )
  56. Function cpPivotJointNew2:cpConstraint( a:cpBody, b:cpBody, anchorA:cpVect, anchorB:cpVect )
  57. Function cpPivotJointGetAnchorA:cpVect( constraint:cpConstraint )
  58. Function cpPivotJointSetAnchorA:Void( constraint:cpConstraint, anchorA:cpVect )
  59. Function cpPivotJointGetAnchorB:cpVect( constraint:cpConstraint )
  60. Function cpPivotJointSetAnchorB:Void( constraint:cpConstraint, anchorB:cpVect )
  61. '***** File: Chipmunk7/include/chipmunk/cpGrooveJoint.h *****
  62. Function cpConstraintIsGrooveJoint:cpBool( constraint:cpConstraint )
  63. Function cpGrooveJointAlloc:cpGrooveJoint( )
  64. Function cpGrooveJointInit:cpGrooveJoint( joint:cpGrooveJoint, a:cpBody, b:cpBody, groove_a:cpVect, groove_b:cpVect, anchorB:cpVect )
  65. Function cpGrooveJointNew:cpConstraint( a:cpBody, b:cpBody, groove_a:cpVect, groove_b:cpVect, anchorB:cpVect )
  66. Function cpGrooveJointGetGrooveA:cpVect( constraint:cpConstraint )
  67. Function cpGrooveJointSetGrooveA:Void( constraint:cpConstraint, grooveA:cpVect )
  68. Function cpGrooveJointGetGrooveB:cpVect( constraint:cpConstraint )
  69. Function cpGrooveJointSetGrooveB:Void( constraint:cpConstraint, grooveB:cpVect )
  70. Function cpGrooveJointGetAnchorB:cpVect( constraint:cpConstraint )
  71. Function cpGrooveJointSetAnchorB:Void( constraint:cpConstraint, anchorB:cpVect )
  72. '***** File: Chipmunk7/include/chipmunk/cpDampedSpring.h *****
  73. Function cpConstraintIsDampedSpring:cpBool( constraint:cpConstraint )
  74. Alias cpDampedSpringForceFunc:cpFloat( cpConstraint, cpFloat )
  75. Function cpDampedSpringAlloc:cpDampedSpring( )
  76. Function cpDampedSpringInit:cpDampedSpring( joint:cpDampedSpring, a:cpBody, b:cpBody, anchorA:cpVect, anchorB:cpVect, restLength:cpFloat, stiffness:cpFloat, damping:cpFloat )
  77. Function cpDampedSpringNew:cpConstraint( a:cpBody, b:cpBody, anchorA:cpVect, anchorB:cpVect, restLength:cpFloat, stiffness:cpFloat, damping:cpFloat )
  78. Function cpDampedSpringGetAnchorA:cpVect( constraint:cpConstraint )
  79. Function cpDampedSpringSetAnchorA:Void( constraint:cpConstraint, anchorA:cpVect )
  80. Function cpDampedSpringGetAnchorB:cpVect( constraint:cpConstraint )
  81. Function cpDampedSpringSetAnchorB:Void( constraint:cpConstraint, anchorB:cpVect )
  82. Function cpDampedSpringGetRestLength:cpFloat( constraint:cpConstraint )
  83. Function cpDampedSpringSetRestLength:Void( constraint:cpConstraint, restLength:cpFloat )
  84. Function cpDampedSpringGetStiffness:cpFloat( constraint:cpConstraint )
  85. Function cpDampedSpringSetStiffness:Void( constraint:cpConstraint, stiffness:cpFloat )
  86. Function cpDampedSpringGetDamping:cpFloat( constraint:cpConstraint )
  87. Function cpDampedSpringSetDamping:Void( constraint:cpConstraint, damping:cpFloat )
  88. Function cpDampedSpringGetSpringForceFunc:cpDampedSpringForceFunc( constraint:cpConstraint )
  89. Function cpDampedSpringSetSpringForceFunc:Void( constraint:cpConstraint, springForceFunc:cpDampedSpringForceFunc )
  90. '***** File: Chipmunk7/include/chipmunk/cpDampedRotarySpring.h *****
  91. Function cpConstraintIsDampedRotarySpring:cpBool( constraint:cpConstraint )
  92. Alias cpDampedRotarySpringTorqueFunc:cpFloat( cpConstraint, cpFloat )
  93. Function cpDampedRotarySpringAlloc:cpDampedRotarySpring( )
  94. Function cpDampedRotarySpringInit:cpDampedRotarySpring( joint:cpDampedRotarySpring, a:cpBody, b:cpBody, restAngle:cpFloat, stiffness:cpFloat, damping:cpFloat )
  95. Function cpDampedRotarySpringNew:cpConstraint( a:cpBody, b:cpBody, restAngle:cpFloat, stiffness:cpFloat, damping:cpFloat )
  96. Function cpDampedRotarySpringGetRestAngle:cpFloat( constraint:cpConstraint )
  97. Function cpDampedRotarySpringSetRestAngle:Void( constraint:cpConstraint, restAngle:cpFloat )
  98. Function cpDampedRotarySpringGetStiffness:cpFloat( constraint:cpConstraint )
  99. Function cpDampedRotarySpringSetStiffness:Void( constraint:cpConstraint, stiffness:cpFloat )
  100. Function cpDampedRotarySpringGetDamping:cpFloat( constraint:cpConstraint )
  101. Function cpDampedRotarySpringSetDamping:Void( constraint:cpConstraint, damping:cpFloat )
  102. Function cpDampedRotarySpringGetSpringTorqueFunc:cpDampedRotarySpringTorqueFunc( constraint:cpConstraint )
  103. Function cpDampedRotarySpringSetSpringTorqueFunc:Void( constraint:cpConstraint, springTorqueFunc:cpDampedRotarySpringTorqueFunc )
  104. '***** File: Chipmunk7/include/chipmunk/cpRotaryLimitJoint.h *****
  105. Function cpConstraintIsRotaryLimitJoint:cpBool( constraint:cpConstraint )
  106. Function cpRotaryLimitJointAlloc:cpRotaryLimitJoint( )
  107. Function cpRotaryLimitJointInit:cpRotaryLimitJoint( joint:cpRotaryLimitJoint, a:cpBody, b:cpBody, min:cpFloat, max:cpFloat )
  108. Function cpRotaryLimitJointNew:cpConstraint( a:cpBody, b:cpBody, min:cpFloat, max:cpFloat )
  109. Function cpRotaryLimitJointGetMin:cpFloat( constraint:cpConstraint )
  110. Function cpRotaryLimitJointSetMin:Void( constraint:cpConstraint, min:cpFloat )
  111. Function cpRotaryLimitJointGetMax:cpFloat( constraint:cpConstraint )
  112. Function cpRotaryLimitJointSetMax:Void( constraint:cpConstraint, max:cpFloat )
  113. '***** File: Chipmunk7/include/chipmunk/cpRatchetJoint.h *****
  114. Function cpConstraintIsRatchetJoint:cpBool( constraint:cpConstraint )
  115. Function cpRatchetJointAlloc:cpRatchetJoint( )
  116. Function cpRatchetJointInit:cpRatchetJoint( joint:cpRatchetJoint, a:cpBody, b:cpBody, phase:cpFloat, ratchet:cpFloat )
  117. Function cpRatchetJointNew:cpConstraint( a:cpBody, b:cpBody, phase:cpFloat, ratchet:cpFloat )
  118. Function cpRatchetJointGetAngle:cpFloat( constraint:cpConstraint )
  119. Function cpRatchetJointSetAngle:Void( constraint:cpConstraint, angle:cpFloat )
  120. Function cpRatchetJointGetPhase:cpFloat( constraint:cpConstraint )
  121. Function cpRatchetJointSetPhase:Void( constraint:cpConstraint, phase:cpFloat )
  122. Function cpRatchetJointGetRatchet:cpFloat( constraint:cpConstraint )
  123. Function cpRatchetJointSetRatchet:Void( constraint:cpConstraint, ratchet:cpFloat )
  124. '***** File: Chipmunk7/include/chipmunk/cpGearJoint.h *****
  125. Function cpConstraintIsGearJoint:cpBool( constraint:cpConstraint )
  126. Function cpGearJointAlloc:cpGearJoint( )
  127. Function cpGearJointInit:cpGearJoint( joint:cpGearJoint, a:cpBody, b:cpBody, phase:cpFloat, ratio:cpFloat )
  128. Function cpGearJointNew:cpConstraint( a:cpBody, b:cpBody, phase:cpFloat, ratio:cpFloat )
  129. Function cpGearJointGetPhase:cpFloat( constraint:cpConstraint )
  130. Function cpGearJointSetPhase:Void( constraint:cpConstraint, phase:cpFloat )
  131. Function cpGearJointGetRatio:cpFloat( constraint:cpConstraint )
  132. Function cpGearJointSetRatio:Void( constraint:cpConstraint, ratio:cpFloat )
  133. '***** File: Chipmunk7/include/chipmunk/cpSimpleMotor.h *****
  134. Function cpConstraintIsSimpleMotor:cpBool( constraint:cpConstraint )
  135. Function cpSimpleMotorAlloc:cpSimpleMotor( )
  136. Function cpSimpleMotorInit:cpSimpleMotor( joint:cpSimpleMotor, a:cpBody, b:cpBody, rate:cpFloat )
  137. Function cpSimpleMotorNew:cpConstraint( a:cpBody, b:cpBody, rate:cpFloat )
  138. Function cpSimpleMotorGetRate:cpFloat( constraint:cpConstraint )
  139. Function cpSimpleMotorSetRate:Void( constraint:cpConstraint, rate:cpFloat )
  140. Class cpConstraint Extends Void
  141. Property Space:cpSpace() Extension="cpConstraintGetSpace"
  142. Property BodyA:cpBody() Extension="cpConstraintGetBodyA"
  143. Property BodyB:cpBody() Extension="cpConstraintGetBodyB"
  144. Property MaxForce:cpFloat() Extension="cpConstraintGetMaxForce"
  145. Setter( maxForce:cpFloat ) Extension="cpConstraintSetMaxForce"
  146. Property ErrorBias:cpFloat() Extension="cpConstraintGetErrorBias"
  147. Setter( errorBias:cpFloat ) Extension="cpConstraintSetErrorBias"
  148. Property MaxBias:cpFloat() Extension="cpConstraintGetMaxBias"
  149. Setter( maxBias:cpFloat ) Extension="cpConstraintSetMaxBias"
  150. Property CollideBodies:cpBool() Extension="cpConstraintGetCollideBodies"
  151. Setter( collideBodies:cpBool ) Extension="cpConstraintSetCollideBodies"
  152. Property UserData:cpDataPointer() Extension="cpConstraintGetUserData"
  153. Setter( userData:cpDataPointer ) Extension="cpConstraintSetUserData"
  154. Property Impulse:cpFloat() Extension="cpConstraintGetImpulse"
  155. 'pin joint
  156. Property IsPinJoint:cpBool() Extension="cpConstraintIsPinJoint"
  157. Property PinJointAnchorA:cpVect() Extension="cpPinJointGetAnchorA"
  158. Setter( anchorA:cpVect ) Extension="cpPinJointSetAnchorA"
  159. Property PinJointAnchorB:cpVect() Extension="cpPinJointGetAnchorB"
  160. Setter( anchorB:cpVect ) Extension="cpPinJointSetAnchorB"
  161. Property PinJointDist:cpFloat() Extension="cpPinJointGetDist"
  162. Setter( dist:cpFloat ) Extension="cpPinJointSetDist"
  163. 'slide joint
  164. Property IsSlideJoint:cpBool() Extension="cpConstraintIsSliceJoint"
  165. Property SlideJointAnchorA:cpVect() Extension="cpSlideJointGetAnchorA"
  166. Setter( anchorA:cpVect ) Extension="cpSlideJointSetAnchorA"
  167. Property SlideJointAnchorB:cpVect() Extension="cpSlideJointGetAnchorB"
  168. Setter( anchorB:cpVect ) Extension="cpSlideJointSetAnchorB"
  169. Property SlideJointMin:cpFloat() Extension="cpSlideJointGetMin"
  170. Setter( min:cpFloat ) Extension="cpSlideJointSetMin"
  171. Property SlideJointMax:cpFloat() Extension="cpSlideJointGetMax"
  172. Setter( max:cpFloat ) Extension="cpSlideJointSetMax"
  173. 'pivot joint
  174. Property IsPivotJoint:cpBool() Extension="cpConstraintIsPivotJoint"
  175. Property PivotJointAnchorA:cpVect() Extension="cpPivotJointGetAnchorA"
  176. Setter( anchorA:cpVect ) Extension="cpPivotJointSetAnchorA"
  177. Property PivotJointAnchorB:cpVect() Extension="cpPivotJointGetAnchorB"
  178. Setter( anchorB:cpVect ) Extension="cpPivotJointSetAnchorB"
  179. 'groove joint
  180. Property IsGrooveJoint:cpBool() Extension="cpConstraintIsGrooveJoint"
  181. Property GrooveJointGrooveA:cpVect() Extension="cpGrooveJointGetGrooveA"
  182. Setter( GrooveA:cpVect ) Extension="cpGrooveJointSetGrooveA"
  183. Property GrooveJointGrooveB:cpVect() Extension="cpGrooveJointGetGrooveB"
  184. Setter( GrooveB:cpVect ) Extension="cpGrooveJointSetGrooveB"
  185. Property GrooveJointAnchorB:cpVect() Extension="cpGrooveJointGetAnchorB"
  186. Setter( anchorB:cpVect ) Extension="cpGrooveJointSetAnchorB"
  187. 'damped spring
  188. Property IsDampedSpring:cpBool() Extension="cpConstraintIsDampedSpring"
  189. Property DampedSpringAnchorA:cpVect() Extension="cpDampedSpringGetAnchorA"
  190. Setter( anchorA:cpVect ) Extension="cpDampedSpringSetAnchorA"
  191. Property DampedSpringAnchorB:cpVect() Extension="cpDampedSpringGetAnchorB"
  192. Setter( anchorB:cpVect ) Extension="cpDampedSpringSetAnchorB"
  193. Property DampedSpringRestLength:cpFloat() Extension="cpDampedSpringGetRestLength"
  194. Setter( restLength:cpFloat ) Extension="cpDampedSpringSetRestLength"
  195. Property DampedSpringStiffness:cpFloat() Extension="cpDampedSpringGetStiffness"
  196. Setter( stiffness:cpFloat ) Extension="cpDampedSpringSetStiffness"
  197. Property DampedSpringDamping:cpFloat() Extension="cpDampedSpringGetDamping"
  198. Setter( damping:cpFloat ) Extension="cpDampedSpringSetDamping"
  199. 'damped rotary spring
  200. Property IsDampedRotarySpring:cpBool() Extension="cpConstraintIsDampedRotarySpring"
  201. Property DampedRotarySpringRestAngle:cpFloat() Extension="cpDampedRotarySpringGetRestAngle"
  202. Setter( restAngle:cpFloat ) Extension="cpDampedRotarySpringSetRestAngle"
  203. Property DampedRotarySpringStiffness:cpFloat() Extension="cpDampedRotarySpringGetStiffness"
  204. Setter( stiffness:cpFloat ) Extension="cpDampedRotarySpringSetStiffness"
  205. Property DampedRotarySpringDamping:cpFloat() Extension="cpDampedRotarySpringGetDamping"
  206. Setter( damping:cpFloat ) Extension="cpDampedRotarySpringSetDamping"
  207. 'rotary limit joint
  208. Property IsRotaryLimitJoint:cpBool() Extension="cpConstraintIsRotaryLimitJoint"
  209. Property RotaryLimitJointMin:cpFloat() Extension="cpRotaryLimitJointGetMin"
  210. Setter( min:cpFloat ) Extension="cpRotaryLimitJointSetMin"
  211. Property RotaryLimitJointMax:cpFloat() Extension="cpRotaryLimitJointGetMax"
  212. Setter( max:cpFloat ) Extension="cpRotaryLimitJointSetMax"
  213. 'ratchet joint
  214. Property IsRatchetJoint:cpBool() Extension="cpConstraintIsRatchetJoint"
  215. Property RatchetJointAngle:cpFloat() Extension="cpRatchetJointGetAngle"
  216. Setter( angle:cpFloat ) Extension="cpRatchetJointSetAngle"
  217. Property RatchetJointPhase:cpFloat() Extension="cpRatchetJointGetPhase"
  218. Setter( phase:cpFloat ) Extension="cpRatchetJointSetPhase"
  219. Property RatchetJointRatchet:cpFloat() Extension="cpRatchetJointGetRatchet"
  220. Setter( ratchet:cpFloat ) Extension="cpRatchetJointSetRatchet"
  221. 'gear joint
  222. Property IsGearJoint:cpBool() Extension="cpConstraintIsGearJoint"
  223. Property GearJointPhase:cpFloat() Extension="cpGearJointGetPhase"
  224. Setter( phase:cpFloat ) Extension="cpGearJointSetPhase"
  225. Property GearJointRatio:cpFloat() Extension="cpGearJointGetRatio"
  226. Setter( ratio:cpFloat ) Extension="cpGearJointSetRatio"
  227. 'simple motor
  228. Property IsSimpleMotor:cpBool() Extension="cpConstraintIsSimpleMotor"
  229. Property SimpleMotorRate:cpFloat() Extension="cpSimpleMotorGetRate"
  230. Setter( rate:cpFloat ) Extension="cpSimpleMotorSetRate"
  231. End
  232. Class cpPinJoint Extends Void
  233. End
  234. Class cpSlideJoint Extends Void
  235. End
  236. Class cpPivotJoint Extends Void
  237. End
  238. Class cpGrooveJoint Extends Void
  239. End
  240. Class cpDampedSpring Extends Void
  241. End
  242. Class cpDampedRotarySpring Extends Void
  243. End
  244. Class cpRotaryLimitJoint Extends Void
  245. End
  246. Class cpRatchetJoint extends Void
  247. End
  248. Class cpGearJoint Extends Void
  249. End
  250. Class cpSimpleMotor Extends Void
  251. End