ruby-bullet 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +4 -0
  3. data/LICENSE +23 -0
  4. data/README.md +39 -0
  5. data/Rakefile +86 -0
  6. data/bindings/bullet/extconf.rb +28 -0
  7. data/bindings/bullet/interface/BulletCollision/BroadphaseCollision/btAxisSweep3.i +30 -0
  8. data/bindings/bullet/interface/BulletCollision/BroadphaseCollision/btBroadphaseInterface.i +8 -0
  9. data/bindings/bullet/interface/BulletCollision/BroadphaseCollision/btBroadphaseProxy.i +8 -0
  10. data/bindings/bullet/interface/BulletCollision/BroadphaseCollision/btCollisionAlgorithm.i +8 -0
  11. data/bindings/bullet/interface/BulletCollision/BroadphaseCollision/btDbvt.i +10 -0
  12. data/bindings/bullet/interface/BulletCollision/BroadphaseCollision/btDbvtBroadphase.i +8 -0
  13. data/bindings/bullet/interface/BulletCollision/BroadphaseCollision/btDispatcher.i +8 -0
  14. data/bindings/bullet/interface/BulletCollision/BroadphaseCollision/btMultiSapBroadphase.i +10 -0
  15. data/bindings/bullet/interface/BulletCollision/BroadphaseCollision/btOverlappingPairCache.i +8 -0
  16. data/bindings/bullet/interface/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.i +8 -0
  17. data/bindings/bullet/interface/BulletCollision/BroadphaseCollision/btQuantizedBvh.i +8 -0
  18. data/bindings/bullet/interface/BulletCollision/BroadphaseCollision/btSimpleBroadphase.i +8 -0
  19. data/bindings/bullet/interface/BulletCollision/BroadphaseCollision/local_btAxisSweep3Internal.h +191 -0
  20. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/SphereTriangleDetector.i +8 -0
  21. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btActivatingCollisionAlgorithm.i +8 -0
  22. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btBox2dBox2dCollisionAlgorithm.i +8 -0
  23. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btBoxBoxCollisionAlgorithm.i +8 -0
  24. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btBoxBoxDetector.i +8 -0
  25. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btCollisionConfiguration.i +21 -0
  26. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btCollisionCreateFunc.i +8 -0
  27. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btCollisionDispatcher.i +24 -0
  28. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btCollisionObject.i +8 -0
  29. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btCollisionWorld.i +95 -0
  30. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btCompoundCollisionAlgorithm.i +8 -0
  31. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btConvex2dConvex2dAlgorithm.i +8 -0
  32. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btConvexConcaveCollisionAlgorithm.i +8 -0
  33. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.i +8 -0
  34. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btConvexPlaneCollisionAlgorithm.i +8 -0
  35. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.i +8 -0
  36. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btEmptyCollisionAlgorithm.i +8 -0
  37. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btGhostObject.i +8 -0
  38. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btInternalEdgeUtility.i +8 -0
  39. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btManifoldResult.i +8 -0
  40. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btSimulationIslandManager.i +8 -0
  41. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.i +8 -0
  42. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btSphereSphereCollisionAlgorithm.i +8 -0
  43. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btSphereTriangleCollisionAlgorithm.i +8 -0
  44. data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btUnionFind.i +10 -0
  45. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btBox2dShape.i +8 -0
  46. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btBoxShape.i +22 -0
  47. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.i +8 -0
  48. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btCapsuleShape.i +8 -0
  49. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btCollisionMargin.i +8 -0
  50. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btCollisionShape.i +8 -0
  51. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btCompoundShape.i +8 -0
  52. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btConcaveShape.i +8 -0
  53. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btConeShape.i +8 -0
  54. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btConvex2dShape.i +8 -0
  55. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btConvexHullShape.i +8 -0
  56. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btConvexInternalShape.i +8 -0
  57. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btConvexPointCloudShape.i +8 -0
  58. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btConvexPolyhedron.i +8 -0
  59. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btConvexShape.i +8 -0
  60. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btConvexTriangleMeshShape.i +8 -0
  61. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btCylinderShape.i +8 -0
  62. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btEmptyShape.i +8 -0
  63. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.i +8 -0
  64. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btMaterial.i +8 -0
  65. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btMinkowskiSumShape.i +8 -0
  66. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btMultiSphereShape.i +8 -0
  67. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btMultimaterialTriangleMeshShape.i +8 -0
  68. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btOptimizedBvh.i +8 -0
  69. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btPolyhedralConvexShape.i +8 -0
  70. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btScaledBvhTriangleMeshShape.i +8 -0
  71. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btShapeHull.i +8 -0
  72. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btSphereShape.i +8 -0
  73. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btStaticPlaneShape.i +8 -0
  74. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btStridingMeshInterface.i +8 -0
  75. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btTetrahedronShape.i +8 -0
  76. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btTriangleBuffer.i +8 -0
  77. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btTriangleCallback.i +8 -0
  78. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btTriangleIndexVertexArray.i +8 -0
  79. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btTriangleIndexVertexMaterialArray.i +8 -0
  80. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btTriangleInfoMap.i +8 -0
  81. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btTriangleMeshShape.i +8 -0
  82. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btTriangleShape.i +8 -0
  83. data/bindings/bullet/interface/BulletCollision/CollisionShapes/btUniformScalingShape.i +8 -0
  84. data/bindings/bullet/interface/BulletCollision/Gimpact/btBoxCollision.i +8 -0
  85. data/bindings/bullet/interface/BulletCollision/Gimpact/btClipPolygon.i +8 -0
  86. data/bindings/bullet/interface/BulletCollision/Gimpact/btContactProcessing.i +8 -0
  87. data/bindings/bullet/interface/BulletCollision/Gimpact/btGImpactBvh.i +8 -0
  88. data/bindings/bullet/interface/BulletCollision/Gimpact/btGImpactCollisionAlgorithm.i +8 -0
  89. data/bindings/bullet/interface/BulletCollision/Gimpact/btGImpactMassUtil.i +8 -0
  90. data/bindings/bullet/interface/BulletCollision/Gimpact/btGImpactQuantizedBvh.i +8 -0
  91. data/bindings/bullet/interface/BulletCollision/Gimpact/btGImpactShape.i +8 -0
  92. data/bindings/bullet/interface/BulletCollision/Gimpact/btGenericPoolAllocator.i +11 -0
  93. data/bindings/bullet/interface/BulletCollision/Gimpact/btGeometryOperations.i +8 -0
  94. data/bindings/bullet/interface/BulletCollision/Gimpact/btQuantization.i +8 -0
  95. data/bindings/bullet/interface/BulletCollision/Gimpact/btTriangleShapeEx.i +8 -0
  96. data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btContinuousConvexCollision.i +8 -0
  97. data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btConvexCast.i +8 -0
  98. data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btConvexPenetrationDepthSolver.i +8 -0
  99. data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btDiscreteCollisionDetectorInterface.i +11 -0
  100. data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btGjkConvexCast.i +8 -0
  101. data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btGjkEpa2.i +8 -0
  102. data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.i +8 -0
  103. data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.i +8 -0
  104. data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btManifoldPoint.i +8 -0
  105. data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.i +8 -0
  106. data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btPersistentManifold.i +8 -0
  107. data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btPointCollector.i +8 -0
  108. data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btPolyhedralContactClipping.i +8 -0
  109. data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btRaycastCallback.i +8 -0
  110. data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btSimplexSolverInterface.i +8 -0
  111. data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.i +8 -0
  112. data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.i +8 -0
  113. data/bindings/bullet/interface/BulletDynamics/Character/btCharacterControllerInterface.i +8 -0
  114. data/bindings/bullet/interface/BulletDynamics/Character/btKinematicCharacterController.i +8 -0
  115. data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btConeTwistConstraint.i +8 -0
  116. data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btConstraintSolver.i +8 -0
  117. data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btContactConstraint.i +8 -0
  118. data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btContactSolverInfo.i +8 -0
  119. data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.i +8 -0
  120. data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btGeneric6DofSpringConstraint.i +8 -0
  121. data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btHinge2Constraint.i +8 -0
  122. data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btHingeConstraint.i +8 -0
  123. data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btJacobianEntry.i +8 -0
  124. data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btPoint2PointConstraint.i +8 -0
  125. data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.i +21 -0
  126. data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btSliderConstraint.i +8 -0
  127. data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btSolve2LinearConstraint.i +8 -0
  128. data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btSolverBody.i +8 -0
  129. data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btSolverConstraint.i +8 -0
  130. data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btTypedConstraint.i +8 -0
  131. data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btUniversalConstraint.i +8 -0
  132. data/bindings/bullet/interface/BulletDynamics/Dynamics/btActionInterface.i +8 -0
  133. data/bindings/bullet/interface/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.i +23 -0
  134. data/bindings/bullet/interface/BulletDynamics/Dynamics/btDynamicsWorld.i +43 -0
  135. data/bindings/bullet/interface/BulletDynamics/Dynamics/btRigidBody.i +20 -0
  136. data/bindings/bullet/interface/BulletDynamics/Dynamics/btSimpleDynamicsWorld.i +8 -0
  137. data/bindings/bullet/interface/BulletDynamics/Vehicle/btRaycastVehicle.i +12 -0
  138. data/bindings/bullet/interface/BulletDynamics/Vehicle/btVehicleRaycaster.i +8 -0
  139. data/bindings/bullet/interface/BulletDynamics/Vehicle/btWheelInfo.i +8 -0
  140. data/bindings/bullet/interface/BulletSoftBody/btDefaultSoftBodySolver.i +8 -0
  141. data/bindings/bullet/interface/BulletSoftBody/btSoftBody.i +8 -0
  142. data/bindings/bullet/interface/BulletSoftBody/btSoftBodyConcaveCollisionAlgorithm.i +8 -0
  143. data/bindings/bullet/interface/BulletSoftBody/btSoftBodyData.i +8 -0
  144. data/bindings/bullet/interface/BulletSoftBody/btSoftBodyHelpers.i +8 -0
  145. data/bindings/bullet/interface/BulletSoftBody/btSoftBodyInternals.i +8 -0
  146. data/bindings/bullet/interface/BulletSoftBody/btSoftBodyRigidBodyCollisionConfiguration.i +8 -0
  147. data/bindings/bullet/interface/BulletSoftBody/btSoftBodySolverVertexBuffer.i +8 -0
  148. data/bindings/bullet/interface/BulletSoftBody/btSoftBodySolvers.i +8 -0
  149. data/bindings/bullet/interface/BulletSoftBody/btSoftRigidCollisionAlgorithm.i +8 -0
  150. data/bindings/bullet/interface/BulletSoftBody/btSoftRigidDynamicsWorld.i +8 -0
  151. data/bindings/bullet/interface/BulletSoftBody/btSoftSoftCollisionAlgorithm.i +8 -0
  152. data/bindings/bullet/interface/BulletSoftBody/btSparseSDF.i +8 -0
  153. data/bindings/bullet/interface/LinearMath/btAabbUtil2.i +8 -0
  154. data/bindings/bullet/interface/LinearMath/btAlignedAllocator.i +8 -0
  155. data/bindings/bullet/interface/LinearMath/btAlignedObjectArray.i +8 -0
  156. data/bindings/bullet/interface/LinearMath/btConvexHull.i +8 -0
  157. data/bindings/bullet/interface/LinearMath/btConvexHullComputer.i +8 -0
  158. data/bindings/bullet/interface/LinearMath/btDefaultMotionState.i +10 -0
  159. data/bindings/bullet/interface/LinearMath/btGeometryUtil.i +10 -0
  160. data/bindings/bullet/interface/LinearMath/btGrahamScan2dConvexHull.i +8 -0
  161. data/bindings/bullet/interface/LinearMath/btHashMap.i +8 -0
  162. data/bindings/bullet/interface/LinearMath/btIDebugDraw.i +10 -0
  163. data/bindings/bullet/interface/LinearMath/btList.i +8 -0
  164. data/bindings/bullet/interface/LinearMath/btMatrix3x3.i +8 -0
  165. data/bindings/bullet/interface/LinearMath/btMinMax.i +8 -0
  166. data/bindings/bullet/interface/LinearMath/btMotionState.i +10 -0
  167. data/bindings/bullet/interface/LinearMath/btPoolAllocator.i +10 -0
  168. data/bindings/bullet/interface/LinearMath/btQuadWord.i +8 -0
  169. data/bindings/bullet/interface/LinearMath/btQuaternion.i +60 -0
  170. data/bindings/bullet/interface/LinearMath/btQuickprof.i +10 -0
  171. data/bindings/bullet/interface/LinearMath/btRandom.i +8 -0
  172. data/bindings/bullet/interface/LinearMath/btScalar.i +8 -0
  173. data/bindings/bullet/interface/LinearMath/btSerializer.i +10 -0
  174. data/bindings/bullet/interface/LinearMath/btStackAlloc.i +10 -0
  175. data/bindings/bullet/interface/LinearMath/btTransform.i +8 -0
  176. data/bindings/bullet/interface/LinearMath/btTransformUtil.i +8 -0
  177. data/bindings/bullet/interface/LinearMath/btVector3.i +41 -0
  178. data/bindings/bullet/interface/Rakefile +19 -0
  179. data/bindings/bullet/interface/bullet.i +9 -0
  180. data/bindings/bullet/interface/bullet_all.i +186 -0
  181. data/bindings/bullet/interface/bullet_wrap.cpp +205735 -0
  182. data/bindings/bullet/interface/bullet_wrap.h +106 -0
  183. data/bindings/bullet/interface/bullet_wrap.o +0 -0
  184. data/bindings/bullet/src/TickListener.h +22 -0
  185. data/lib/ruby-bullet.rb +63 -0
  186. data/lib/ruby-bullet/version.rb +5 -0
  187. data/ruby-bullet.gemspec +36 -0
  188. data/sample/hello_bullet/hello_bullet.rb +180 -0
  189. data/sample/hello_bullet/run +6 -0
  190. metadata +233 -0
@@ -0,0 +1,8 @@
1
+ %{
2
+ #include <SphereTriangleDetector.h>
3
+ %}
4
+
5
+ %include SphereTriangleDetector.h
6
+
7
+ %{
8
+ %}
@@ -0,0 +1,8 @@
1
+ %{
2
+ #include <btActivatingCollisionAlgorithm.h>
3
+ %}
4
+
5
+ %include btActivatingCollisionAlgorithm.h
6
+
7
+ %{
8
+ %}
@@ -0,0 +1,8 @@
1
+ %{
2
+ #include <btBox2dBox2dCollisionAlgorithm.h>
3
+ %}
4
+
5
+ %include btBox2dBox2dCollisionAlgorithm.h
6
+
7
+ %{
8
+ %}
@@ -0,0 +1,8 @@
1
+ %{
2
+ #include <btBoxBoxCollisionAlgorithm.h>
3
+ %}
4
+
5
+ %include btBoxBoxCollisionAlgorithm.h
6
+
7
+ %{
8
+ %}
@@ -0,0 +1,8 @@
1
+ %{
2
+ #include <btBoxBoxDetector.h>
3
+ %}
4
+
5
+ %include btBoxBoxDetector.h
6
+
7
+ %{
8
+ %}
@@ -0,0 +1,21 @@
1
+ %{
2
+ #include <btCollisionConfiguration.h>
3
+ %}
4
+
5
+ #ifdef DEBUG_FREEFUNC
6
+ %freefunc btCollisionConfiguration "debug_free_btCollisionConfiguration";
7
+ #endif
8
+
9
+ %include btCollisionConfiguration.h
10
+
11
+ %{
12
+ static void debug_free_btCollisionConfiguration(void* ptr) {
13
+ btCollisionConfiguration* obj = (btCollisionConfiguration*) ptr;
14
+
15
+ std::cout << __PRETTY_FUNCTION__ << std::endl;
16
+
17
+ if (obj)
18
+ delete obj;
19
+ }
20
+
21
+ %}
@@ -0,0 +1,8 @@
1
+ %{
2
+ #include <btCollisionCreateFunc.h>
3
+ %}
4
+
5
+ %include btCollisionCreateFunc.h
6
+
7
+ %{
8
+ %}
@@ -0,0 +1,24 @@
1
+ %{
2
+ #include <btCollisionDispatcher.h>
3
+ %}
4
+
5
+ #ifdef DEBUG_FREEFUNC
6
+ %freefunc btCollisionDispatcher "debug_free_btCollisionDispatcher";
7
+ #endif
8
+
9
+ %include btCollisionDispatcher.h
10
+
11
+ %{
12
+
13
+ static void debug_free_btCollisionDispatcher(void* ptr) {
14
+ btCollisionDispatcher* obj = (btCollisionDispatcher*) ptr;
15
+
16
+ std::cout << __PRETTY_FUNCTION__ << std::endl;
17
+
18
+ delete obj;
19
+
20
+ std::cout << __PRETTY_FUNCTION__ << " done" << std::endl;
21
+ }
22
+
23
+
24
+ %}
@@ -0,0 +1,8 @@
1
+ %{
2
+ #include <btCollisionObject.h>
3
+ %}
4
+
5
+ %include btCollisionObject.h
6
+
7
+ %{
8
+ %}
@@ -0,0 +1,95 @@
1
+ %feature("director") RayResultCallback;
2
+ %feature("director") ClosestRayResultCallback;
3
+ %feature("director") ContactResultCallback;
4
+
5
+ struct LocalRayResult
6
+ {
7
+ LocalRayResult(btCollisionObject* collisionObject,
8
+ btCollisionWorld::LocalShapeInfo* localShapeInfo,
9
+ const btVector3& hitNormalLocal,
10
+ btScalar hitFraction);
11
+
12
+ btCollisionObject* m_collisionObject;
13
+ btCollisionWorld::LocalShapeInfo* m_localShapeInfo;
14
+ btVector3 m_hitNormalLocal;
15
+ btScalar m_hitFraction;
16
+
17
+ };
18
+
19
+
20
+ struct RayResultCallback
21
+ {
22
+ btScalar m_closestHitFraction;
23
+ btCollisionObject* m_collisionObject;
24
+ short int m_collisionFilterGroup;
25
+ short int m_collisionFilterMask;
26
+ unsigned int m_flags;
27
+
28
+ virtual ~RayResultCallback();
29
+ bool hasHit() const;
30
+
31
+ RayResultCallback();
32
+
33
+ virtual bool needsCollision(btBroadphaseProxy* proxy0) const;
34
+ virtual btScalar addSingleResult(btCollisionWorld::LocalRayResult& rayResult,
35
+ bool normalInWorldSpace) = 0;
36
+ };
37
+
38
+
39
+ struct ClosestRayResultCallback : public RayResultCallback
40
+ {
41
+ ClosestRayResultCallback(const btVector3& rayFromWorld,const btVector3& rayToWorld);
42
+
43
+ btVector3 m_rayFromWorld;//used to calculate hitPointWorld from hitFraction
44
+ btVector3 m_rayToWorld;
45
+ btVector3 m_hitNormalWorld;
46
+ btVector3 m_hitPointWorld;
47
+
48
+ virtual btScalar addSingleResult(btCollisionWorld::LocalRayResult& rayResult,bool normalInWorldSpace);
49
+ };
50
+
51
+ struct ContactResultCallback : public btCollisionWorld::ContactResultCallback
52
+ {
53
+ short int m_collisionFilterGroup;
54
+ short int m_collisionFilterMask;
55
+
56
+ ContactResultCallback();
57
+
58
+ virtual bool needsCollision(btBroadphaseProxy* proxy0) const;
59
+ virtual btScalar addSingleResult(btManifoldPoint& cp,
60
+ const btCollisionObjectWrapper* colObj0,
61
+ int partId0,int index0,
62
+ const btCollisionObjectWrapper* colObj1,int partId1,int index1) = 0;
63
+ };
64
+
65
+
66
+ %nestedworkaround btCollisionWorld::LocalRayResult;
67
+ %nestedworkaround btCollisionWorld::RayResultCallback;
68
+ %nestedworkaround btCollisionWorld::ClosestRayResultCallback;
69
+ %nestedworkaround btCollisionWorld::ContactResultCallback;
70
+
71
+ %{
72
+ #include <btCollisionWorld.h>
73
+ %}
74
+
75
+ %freefunc btCollisionWorld "debug_free_BtCollisionWorld";
76
+
77
+ %include btCollisionWorld.h
78
+
79
+ %{
80
+ typedef btCollisionWorld::LocalRayResult LocalRayResult;
81
+ typedef btCollisionWorld::RayResultCallback RayResultCallback;
82
+ typedef btCollisionWorld::ClosestRayResultCallback ClosestRayResultCallback;
83
+ typedef btCollisionWorld::ContactResultCallback ContactResultCallback;
84
+
85
+
86
+ static void debug_free_BtCollisionWorld(void* ptr) {
87
+ btCollisionWorld* obj = (btCollisionWorld*) ptr;
88
+
89
+ std::cout << __PRETTY_FUNCTION__ << std::endl;
90
+
91
+ delete obj;
92
+ }
93
+
94
+
95
+ %}
@@ -0,0 +1,8 @@
1
+ %{
2
+ #include <btCompoundCollisionAlgorithm.h>
3
+ %}
4
+
5
+ %include btCompoundCollisionAlgorithm.h
6
+
7
+ %{
8
+ %}
@@ -0,0 +1,8 @@
1
+ %{
2
+ #include <btConvex2dConvex2dAlgorithm.h>
3
+ %}
4
+
5
+ %include btConvex2dConvex2dAlgorithm.h
6
+
7
+ %{
8
+ %}
@@ -0,0 +1,8 @@
1
+ %{
2
+ #include <btConvexConcaveCollisionAlgorithm.h>
3
+ %}
4
+
5
+ %include btConvexConcaveCollisionAlgorithm.h
6
+
7
+ %{
8
+ %}
@@ -0,0 +1,8 @@
1
+ %{
2
+ #include <btConvexConvexAlgorithm.h>
3
+ %}
4
+
5
+ %include btConvexConvexAlgorithm.h
6
+
7
+ %{
8
+ %}
@@ -0,0 +1,8 @@
1
+ %{
2
+ #include <btConvexPlaneCollisionAlgorithm.h>
3
+ %}
4
+
5
+ %include btConvexPlaneCollisionAlgorithm.h
6
+
7
+ %{
8
+ %}
@@ -0,0 +1,8 @@
1
+ %{
2
+ #include <btDefaultCollisionConfiguration.h>
3
+ %}
4
+
5
+ %include btDefaultCollisionConfiguration.h
6
+
7
+ %{
8
+ %}
@@ -0,0 +1,8 @@
1
+ %{
2
+ #include <btEmptyCollisionAlgorithm.h>
3
+ %}
4
+
5
+ %include btEmptyCollisionAlgorithm.h
6
+
7
+ %{
8
+ %}
@@ -0,0 +1,8 @@
1
+ %{
2
+ #include <btGhostObject.h>
3
+ %}
4
+
5
+ %include btGhostObject.h
6
+
7
+ %{
8
+ %}
@@ -0,0 +1,8 @@
1
+ %{
2
+ #include <btInternalEdgeUtility.h>
3
+ %}
4
+
5
+ %include btInternalEdgeUtility.h
6
+
7
+ %{
8
+ %}
@@ -0,0 +1,8 @@
1
+ %{
2
+ #include <btManifoldResult.h>
3
+ %}
4
+
5
+ %include btManifoldResult.h
6
+
7
+ %{
8
+ %}
@@ -0,0 +1,8 @@
1
+ %{
2
+ #include <btSimulationIslandManager.h>
3
+ %}
4
+
5
+ %include btSimulationIslandManager.h
6
+
7
+ %{
8
+ %}
@@ -0,0 +1,8 @@
1
+ %{
2
+ #include <btSphereBoxCollisionAlgorithm.h>
3
+ %}
4
+
5
+ %include btSphereBoxCollisionAlgorithm.h
6
+
7
+ %{
8
+ %}
@@ -0,0 +1,8 @@
1
+ %{
2
+ #include <btSphereSphereCollisionAlgorithm.h>
3
+ %}
4
+
5
+ %include btSphereSphereCollisionAlgorithm.h
6
+
7
+ %{
8
+ %}
@@ -0,0 +1,8 @@
1
+ %{
2
+ #include <btSphereTriangleCollisionAlgorithm.h>
3
+ %}
4
+
5
+ %include btSphereTriangleCollisionAlgorithm.h
6
+
7
+ %{
8
+ %}
@@ -0,0 +1,10 @@
1
+ %{
2
+ #include <btUnionFind.h>
3
+ %}
4
+
5
+ %ignore btUnionFind::allocate;
6
+
7
+ %include btUnionFind.h
8
+
9
+ %{
10
+ %}
@@ -0,0 +1,8 @@
1
+ %{
2
+ #include <btBox2dShape.h>
3
+ %}
4
+
5
+ %include btBox2dShape.h
6
+
7
+ %{
8
+ %}
@@ -0,0 +1,22 @@
1
+ %{
2
+ #include <btBoxShape.h>
3
+ %}
4
+
5
+ #ifdef DEBUG_FREEFUNC
6
+ %freefunc btBoxShape "debug_free_btBoxShape";
7
+ #endif
8
+
9
+ %include btBoxShape.h
10
+
11
+ %{
12
+
13
+ static void debug_free_btBoxShape(void* ptr) {
14
+ btBoxShape* obj = (btBoxShape*) ptr;
15
+
16
+ std::cout << __PRETTY_FUNCTION__ << std::endl;
17
+
18
+ if (obj)
19
+ delete obj;
20
+ }
21
+
22
+ %}
@@ -0,0 +1,8 @@
1
+ %{
2
+ #include <btBvhTriangleMeshShape.h>
3
+ %}
4
+
5
+ %include btBvhTriangleMeshShape.h
6
+
7
+ %{
8
+ %}
@@ -0,0 +1,8 @@
1
+ %{
2
+ #include <btCapsuleShape.h>
3
+ %}
4
+
5
+ %include btCapsuleShape.h
6
+
7
+ %{
8
+ %}
@@ -0,0 +1,8 @@
1
+ %{
2
+ #include <btCollisionMargin.h>
3
+ %}
4
+
5
+ %include btCollisionMargin.h
6
+
7
+ %{
8
+ %}
@@ -0,0 +1,8 @@
1
+ %{
2
+ #include <btCollisionShape.h>
3
+ %}
4
+
5
+ %include btCollisionShape.h
6
+
7
+ %{
8
+ %}
@@ -0,0 +1,8 @@
1
+ %{
2
+ #include <btCompoundShape.h>
3
+ %}
4
+
5
+ %include btCompoundShape.h
6
+
7
+ %{
8
+ %}