types.monkey2 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. Namespace chipmunk
  2. #Import "chipmunk_glue.h"
  3. Extern
  4. '***** File: Chipmunk7/include/chipmunk/chipmunk.h *****
  5. Global cpVersionString:CString
  6. Function cpMomentForCircle:cpFloat( m:cpFloat, r1:cpFloat, r2:cpFloat, offset:cpVect )
  7. Function cpAreaForCircle:cpFloat( r1:cpFloat, r2:cpFloat )
  8. Function cpMomentForSegment:cpFloat( m:cpFloat, a:cpVect, b:cpVect, radius:cpFloat )
  9. Function cpAreaForSegment:cpFloat( a:cpVect, b:cpVect, radius:cpFloat )
  10. Function cpMomentForPoly:cpFloat( m:cpFloat, count:Int, verts:cpVect Ptr, offset:cpVect, radius:cpFloat )
  11. Function cpAreaForPoly:cpFloat( count:Int, verts:cpVect Ptr, radius:cpFloat )
  12. Function cpCentroidForPoly:cpVect( count:Int, verts:cpVect Ptr )
  13. Function cpMomentForBox:cpFloat( m:cpFloat, width:cpFloat, height:cpFloat )
  14. Function cpMomentForBox2:cpFloat( m:cpFloat, box:cpBB )
  15. Function cpConvexHull:Int( count:Int, verts:cpVect Ptr, result:cpVect Ptr, first:Int Ptr, tol:cpFloat )
  16. Function cpClosetPointOnSegment:cpVect( p:cpVect, a:cpVect, b:cpVect )
  17. '***** File: Chipmunk7/include/chipmunk/chipmunk_types.h *****
  18. Alias cpFloat:Double
  19. Function cpfmax:cpFloat( a:cpFloat, b:cpFloat )
  20. Function cpfmin:cpFloat( a:cpFloat, b:cpFloat )
  21. Function cpfabs:cpFloat( f:cpFloat )
  22. Function cpfclamp:cpFloat( f:cpFloat, min:cpFloat, max:cpFloat )
  23. Function cpfclamp01:cpFloat( f:cpFloat )
  24. Function cpflerp:cpFloat( f1:cpFloat, f2:cpFloat, t:cpFloat )
  25. Function cpflerpconst:cpFloat( f1:cpFloat, f2:cpFloat, d:cpFloat )
  26. Alias cpHashValue:libc.uintptr_t
  27. Alias cpCollisionID:libc.uint32_t
  28. Alias cpBool:UByte
  29. Alias cpDataPointer:Void Ptr
  30. Alias cpCollisionType:Int'libc.uintptr_t
  31. Alias cpGroup:libc.uintptr_t
  32. Alias cpBitmask:UInt
  33. Alias cpTimestamp:UInt
  34. Struct cpVect
  35. Field x:cpFloat
  36. Field y:cpFloat
  37. End
  38. Struct cpTransform
  39. Field a:cpFloat
  40. Field b:cpFloat
  41. Field c:cpFloat
  42. Field d:cpFloat
  43. Field tx:cpFloat
  44. Field ty:cpFloat
  45. End
  46. Struct cpMat2x2
  47. Field a:cpFloat
  48. Field b:cpFloat
  49. Field c:cpFloat
  50. Field d:cpFloat
  51. End
  52. '***** File: Chipmunk7/include/chipmunk/cpVect.h *****
  53. Const cpvzero:cpVect
  54. Function cpv:cpVect( x:cpFloat, y:cpFloat )
  55. Function cpveql:cpBool( v1:cpVect, v2:cpVect )
  56. Function cpvadd:cpVect( v1:cpVect, v2:cpVect )
  57. Function cpvsub:cpVect( v1:cpVect, v2:cpVect )
  58. Function cpvneg:cpVect( v:cpVect )
  59. Function cpvmult:cpVect( v:cpVect, s:cpFloat )
  60. Function cpvdot:cpFloat( v1:cpVect, v2:cpVect )
  61. Function cpvcross:cpFloat( v1:cpVect, v2:cpVect )
  62. Function cpvperp:cpVect( v:cpVect )
  63. Function cpvrperp:cpVect( v:cpVect )
  64. Function cpvproject:cpVect( v1:cpVect, v2:cpVect )
  65. Function cpvforangle:cpVect( a:cpFloat )
  66. Function cpvtoangle:cpFloat( v:cpVect )
  67. Function cpvrotate:cpVect( v1:cpVect, v2:cpVect )
  68. Function cpvunrotate:cpVect( v1:cpVect, v2:cpVect )
  69. Function cpvlengthsq:cpFloat( v:cpVect )
  70. Function cpvlength:cpFloat( v:cpVect )
  71. Function cpvlerp:cpVect( v1:cpVect, v2:cpVect, t:cpFloat )
  72. Function cpvnormalize:cpVect( v:cpVect )
  73. Function cpvslerp:cpVect( v1:cpVect, v2:cpVect, t:cpFloat )
  74. Function cpvslerpconst:cpVect( v1:cpVect, v2:cpVect, a:cpFloat )
  75. Function cpvclamp:cpVect( v:cpVect, len:cpFloat )
  76. Function cpvlerpconst:cpVect( v1:cpVect, v2:cpVect, d:cpFloat )
  77. Function cpvdist:cpFloat( v1:cpVect, v2:cpVect )
  78. Function cpvdistsq:cpFloat( v1:cpVect, v2:cpVect )
  79. Function cpvnear:cpBool( v1:cpVect, v2:cpVect, dist:cpFloat )
  80. Function cpMat2x2New:cpMat2x2( a:cpFloat, b:cpFloat, c:cpFloat, d:cpFloat )
  81. Function cpMat2x2Transform:cpVect( m:cpMat2x2, v:cpVect )
  82. '***** File: Chipmunk7/include/chipmunk/cpBB.h *****
  83. Struct cpBB
  84. Field l:cpFloat
  85. Field b:cpFloat
  86. Field r:cpFloat
  87. Field t:cpFloat
  88. End
  89. Function cpBBNew:cpBB( l:cpFloat, b:cpFloat, r:cpFloat, t:cpFloat )
  90. Function cpBBNewForExtents:cpBB( c:cpVect, hw:cpFloat, hh:cpFloat )
  91. Function cpBBNewForCircle:cpBB( p:cpVect, r:cpFloat )
  92. Function cpBBIntersects:cpBool( a:cpBB, b:cpBB )
  93. Function cpBBContainsBB:cpBool( bb:cpBB, other:cpBB )
  94. Function cpBBContainsVect:cpBool( bb:cpBB, v:cpVect )
  95. Function cpBBMerge:cpBB( a:cpBB, b:cpBB )
  96. Function cpBBExpand:cpBB( bb:cpBB, v:cpVect )
  97. Function cpBBCenter:cpVect( bb:cpBB )
  98. Function cpBBArea:cpFloat( bb:cpBB )
  99. Function cpBBMergedArea:cpFloat( a:cpBB, b:cpBB )
  100. Function cpBBSegmentQuery:cpFloat( bb:cpBB, a:cpVect, b:cpVect )
  101. Function cpBBIntersectsSegment:cpBool( bb:cpBB, a:cpVect, b:cpVect )
  102. Function cpBBClampVect:cpVect( bb:cpBB, v:cpVect )
  103. Function cpBBWrapVect:cpVect( bb:cpBB, v:cpVect )
  104. Function cpBBOffset:cpBB( bb:cpBB, v:cpVect )
  105. '***** File: Chipmunk7/include/chipmunk/cpTransform.h *****
  106. Const cpTransformIdentity:cpTransform
  107. Function cpTransformNew:cpTransform( a:cpFloat, b:cpFloat, c:cpFloat, d:cpFloat, tx:cpFloat, ty:cpFloat )
  108. Function cpTransformNewTranspose:cpTransform( a:cpFloat, c:cpFloat, tx:cpFloat, b:cpFloat, d:cpFloat, ty:cpFloat )
  109. Function cpTransformInverse:cpTransform( t:cpTransform )
  110. Function cpTransformMult:cpTransform( t1:cpTransform, t2:cpTransform )
  111. Function cpTransformPoint:cpVect( t:cpTransform, p:cpVect )
  112. Function cpTransformVect:cpVect( t:cpTransform, v:cpVect )
  113. Function cpTransformbBB:cpBB( t:cpTransform, bb:cpBB )
  114. Function cpTransformTranslate:cpTransform( translate:cpVect )
  115. Function cpTransformScale:cpTransform( scaleX:cpFloat, scaleY:cpFloat )
  116. Function cpTransformRotate:cpTransform( radians:cpFloat )
  117. Function cpTransformRigid:cpTransform( translate:cpVect, radians:cpFloat )
  118. Function cpTransformRigidInverse:cpTransform( t:cpTransform )
  119. Function cpTransformWrap:cpTransform( outer:cpTransform, inner:cpTransform )
  120. Function cpTransformWrapInverse:cpTransform( outer:cpTransform, inner:cpTransform )
  121. Function cpTransformOrtho:cpTransform( bb:cpBB )
  122. Function cpTransformBoneScale:cpTransform( v0:cpVect, v1:cpVect )
  123. Function cpTransformAxialScale:cpTransform( axis:cpVect, pivot:cpVect, scale:cpFloat )