ruby-bullet 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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
+ %}