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,106 @@
1
+ /* ----------------------------------------------------------------------------
2
+ * This file was automatically generated by SWIG (http://www.swig.org).
3
+ * Version 3.0.5
4
+ *
5
+ * This file is not intended to be easily readable and contains a number of
6
+ * coding conventions designed to improve portability and efficiency. Do not make
7
+ * changes to this file unless you know what you are doing--modify the SWIG
8
+ * interface file instead.
9
+ * ----------------------------------------------------------------------------- */
10
+
11
+ #ifndef SWIG_Bullet_WRAP_H_
12
+ #define SWIG_Bullet_WRAP_H_
13
+
14
+ namespace Swig {
15
+ class Director;
16
+ }
17
+
18
+
19
+ class SwigDirector_BtMotionState : public btMotionState, public Swig::Director {
20
+
21
+ public:
22
+ SwigDirector_BtMotionState(VALUE self);
23
+ virtual ~SwigDirector_BtMotionState();
24
+ virtual void getWorldTransform(btTransform &worldTrans) const;
25
+ virtual void setWorldTransform(btTransform const &worldTrans);
26
+ };
27
+
28
+
29
+ struct SwigDirector_BtDefaultMotionState : public btDefaultMotionState, public Swig::Director {
30
+
31
+ public:
32
+ SwigDirector_BtDefaultMotionState(VALUE self, btTransform const &startTrans = btTransform::getIdentity(), btTransform const &centerOfMassOffset = btTransform::getIdentity());
33
+ virtual ~SwigDirector_BtDefaultMotionState();
34
+ virtual void getWorldTransform(btTransform &centerOfMassWorldTrans) const;
35
+ virtual void setWorldTransform(btTransform const &centerOfMassWorldTrans);
36
+ };
37
+
38
+
39
+ class SwigDirector_BtIDebugDraw : public btIDebugDraw, public Swig::Director {
40
+
41
+ public:
42
+ SwigDirector_BtIDebugDraw(VALUE self);
43
+ virtual ~SwigDirector_BtIDebugDraw();
44
+ virtual void drawLine(btVector3 const &from, btVector3 const &to, btVector3 const &color);
45
+ virtual void drawLine(btVector3 const &from, btVector3 const &to, btVector3 const &fromColor, btVector3 const &toColor);
46
+ virtual void drawSphere(btScalar radius, btTransform const &transform, btVector3 const &color);
47
+ virtual void drawSphere(btVector3 const &p, btScalar radius, btVector3 const &color);
48
+ virtual void drawTriangle(btVector3 const &v0, btVector3 const &v1, btVector3 const &v2, btVector3 const &arg0, btVector3 const &arg1, btVector3 const &arg2, btVector3 const &color, btScalar alpha);
49
+ virtual void drawTriangle(btVector3 const &v0, btVector3 const &v1, btVector3 const &v2, btVector3 const &color, btScalar arg0);
50
+ virtual void drawContactPoint(btVector3 const &PointOnB, btVector3 const &normalOnB, btScalar distance, int lifeTime, btVector3 const &color);
51
+ virtual void reportErrorWarning(char const *warningString);
52
+ virtual void draw3dText(btVector3 const &location, char const *textString);
53
+ virtual void setDebugMode(int debugMode);
54
+ virtual int getDebugMode() const;
55
+ virtual void drawAabb(btVector3 const &from, btVector3 const &to, btVector3 const &color);
56
+ virtual void drawTransform(btTransform const &transform, btScalar orthoLen);
57
+ virtual void drawArc(btVector3 const &center, btVector3 const &normal, btVector3 const &axis, btScalar radiusA, btScalar radiusB, btScalar minAngle, btScalar maxAngle, btVector3 const &color, bool drawSect, btScalar stepDegrees = btScalar(10.f));
58
+ virtual void drawSpherePatch(btVector3 const &center, btVector3 const &up, btVector3 const &axis, btScalar radius, btScalar minTh, btScalar maxTh, btScalar minPs, btScalar maxPs, btVector3 const &color, btScalar stepDegrees = btScalar(10.f), bool drawCenter = true);
59
+ virtual void drawBox(btVector3 const &bbMin, btVector3 const &bbMax, btVector3 const &color);
60
+ virtual void drawBox(btVector3 const &bbMin, btVector3 const &bbMax, btTransform const &trans, btVector3 const &color);
61
+ virtual void drawCapsule(btScalar radius, btScalar halfHeight, int upAxis, btTransform const &transform, btVector3 const &color);
62
+ virtual void drawCylinder(btScalar radius, btScalar halfHeight, int upAxis, btTransform const &transform, btVector3 const &color);
63
+ virtual void drawCone(btScalar radius, btScalar height, int upAxis, btTransform const &transform, btVector3 const &color);
64
+ virtual void drawPlane(btVector3 const &planeNormal, btScalar planeConst, btTransform const &transform, btVector3 const &color);
65
+ };
66
+
67
+
68
+ struct SwigDirector_RayResultCallback : public RayResultCallback, public Swig::Director {
69
+
70
+ public:
71
+ SwigDirector_RayResultCallback(VALUE self);
72
+ virtual ~SwigDirector_RayResultCallback();
73
+ virtual bool needsCollision(btBroadphaseProxy *proxy0) const;
74
+ virtual btScalar addSingleResult(btCollisionWorld::LocalRayResult &rayResult, bool normalInWorldSpace);
75
+ };
76
+
77
+
78
+ struct SwigDirector_ClosestRayResultCallback : public ClosestRayResultCallback, public Swig::Director {
79
+
80
+ public:
81
+ SwigDirector_ClosestRayResultCallback(VALUE self, btVector3 const &rayFromWorld, btVector3 const &rayToWorld);
82
+ virtual ~SwigDirector_ClosestRayResultCallback();
83
+ virtual bool needsCollision(btBroadphaseProxy *proxy0) const;
84
+ virtual btScalar addSingleResult(btCollisionWorld::LocalRayResult &rayResult, bool normalInWorldSpace);
85
+ };
86
+
87
+
88
+ struct SwigDirector_ContactResultCallback : public ContactResultCallback, public Swig::Director {
89
+
90
+ public:
91
+ SwigDirector_ContactResultCallback(VALUE self);
92
+ virtual bool needsCollision(btBroadphaseProxy *proxy0) const;
93
+ virtual btScalar addSingleResult(btManifoldPoint &cp, btCollisionObjectWrapper const *colObj0, int partId0, int index0, btCollisionObjectWrapper const *colObj1, int partId1, int index1);
94
+ };
95
+
96
+
97
+ class SwigDirector_TickListener : public TickListener, public Swig::Director {
98
+
99
+ public:
100
+ SwigDirector_TickListener(VALUE self);
101
+ virtual void preTickCallback(btScalar arg0);
102
+ virtual void tickCallback(btScalar arg0);
103
+ };
104
+
105
+
106
+ #endif
@@ -0,0 +1,22 @@
1
+ class TickListener
2
+ {
3
+ public:
4
+ static void bulletPreTickCallback(btDynamicsWorld *world, btScalar timeStep) {
5
+ //VALUE userData = (VALUE)(world->getWorldUserInfo());
6
+ //rb_funcall(userData, rb_intern("preTickCallback"), 1, rb_float_new(timeStep));
7
+
8
+ TickListener* listener = (TickListener*)(world->getWorldUserInfo());
9
+ listener->preTickCallback(timeStep);
10
+ }
11
+
12
+ static void bulletTickCallback(btDynamicsWorld *world, btScalar timeStep) {
13
+ //VALUE userData = (VALUE)(world->getWorldUserInfo());
14
+ //rb_funcall(userData, rb_intern("tickCallback"), 1, rb_float_new(timeStep));
15
+
16
+ TickListener* listener = (TickListener*)(world->getWorldUserInfo());
17
+ listener->tickCallback(timeStep);
18
+ }
19
+
20
+ virtual void preTickCallback(btScalar){}
21
+ virtual void tickCallback(btScalar){}
22
+ };
@@ -0,0 +1,63 @@
1
+ require_relative "ruby-bullet/version"
2
+
3
+ module Ruby
4
+ module Bullet
5
+ module Static
6
+ def self.get_top_path
7
+ File.dirname(File.dirname(File.expand_path(__FILE__)))
8
+ end
9
+
10
+ def self.get_deps_lib_path
11
+ "#{get_top_path}/deps/lib"
12
+ end
13
+
14
+ def self.get_deps_inc_path
15
+ "#{get_top_path()}/deps/include/"
16
+ end
17
+
18
+ def self.get_inc_flags
19
+ " -I#{get_top_path}/deps/include/bullet/ " +
20
+ " -I#{get_top_path}/deps/include/bullet/LinearMath/ " +
21
+ " -I#{get_top_path}/deps/include/bullet/BulletCollision/CollisionDispatch/ " +
22
+ " -I#{get_top_path}/deps/include/bullet/BulletCollision/BroadphaseCollision/ " +
23
+ " -I#{get_top_path}/deps/include/bullet/BulletCollision/NarrowPhaseCollision/ " +
24
+ " -I#{get_top_path}/deps/include/bullet/BulletCollision/CollisionShapes/ " +
25
+ " -I#{get_top_path}/deps/include/bullet/BulletCollision/Gimpact/ " +
26
+ " -I#{get_top_path}/deps/include/bullet/BulletDynamics/ConstraintSolver/ " +
27
+ " -I#{get_top_path}/deps/include/bullet/BulletDynamics/Dynamics/ " +
28
+ " -I#{get_top_path}/deps/include/bullet/BulletDynamics/Vehicle/ " +
29
+ " -I#{get_top_path}/deps/include/bullet/BulletDynamics/Character/ " +
30
+ " -I#{get_top_path}/deps/include/bullet/BulletSoftBody/ "
31
+ end
32
+
33
+ def self.get_lib_flags
34
+ "-L#{get_top_path}/deps/lib -lBulletDynamics -lBulletCollision -lBulletSoftBody -lLinearMath"
35
+ end
36
+ end
37
+
38
+ module Dynamic
39
+ def self.get_top_path
40
+ '/usr'
41
+ end
42
+
43
+ def self.get_inc_flags
44
+ " -I#{get_top_path}/include/bullet/ " +
45
+ " -I#{get_top_path}/include/bullet/LinearMath/ " +
46
+ " -I#{get_top_path}/include/bullet/BulletCollision/CollisionDispatch/ " +
47
+ " -I#{get_top_path}/include/bullet/BulletCollision/BroadphaseCollision/ " +
48
+ " -I#{get_top_path}/include/bullet/BulletCollision/NarrowPhaseCollision/ " +
49
+ " -I#{get_top_path}/include/bullet/BulletCollision/CollisionShapes/ " +
50
+ " -I#{get_top_path}/include/bullet/BulletCollision/Gimpact/ " +
51
+ " -I#{get_top_path}/include/bullet/BulletDynamics/ConstraintSolver/ " +
52
+ " -I#{get_top_path}/include/bullet/BulletDynamics/Dynamics/ " +
53
+ " -I#{get_top_path}/include/bullet/BulletDynamics/Vehicle/ " +
54
+ " -I#{get_top_path}/include/bullet/BulletDynamics/Character/ " +
55
+ " -I#{get_top_path}/include/bullet/BulletSoftBody/ "
56
+ end
57
+
58
+ def self.get_lib_flags
59
+ "-lBulletDynamics -lBulletCollision -lBulletSoftBody -lLinearMath"
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,5 @@
1
+ module Ruby
2
+ module Bullet
3
+ VERSION = "0.2.0"
4
+ end
5
+ end
@@ -0,0 +1,36 @@
1
+ lib = File.expand_path('../lib', __FILE__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+ require 'ruby-bullet/version'
4
+
5
+ Gem::Specification.new do |gem|
6
+ gem.name = "ruby-bullet"
7
+ gem.version = Ruby::Bullet::VERSION
8
+ gem.authors = ["abexsoft"]
9
+ gem.email = ["abexsoft@gmail.com"]
10
+ gem.summary = %q{A ruby binding for Bullet.}
11
+ gem.description = %q{A ruby binding for Bullet.}
12
+ gem.homepage = "https://github.com/abexsoft/ruby-bullet"
13
+
14
+ gem.files = Dir['Gemfile',
15
+ 'Rakefile',
16
+ 'README.md',
17
+ 'LICENSE',
18
+ 'ruby-bullet.gemspec',
19
+ 'bindings/bullet/extconf.rb',
20
+ 'bindings/bullet/interface/**/*',
21
+ 'bindings/bullet/src/*',
22
+ 'doc/**/*',
23
+ 'lib/ruby-bullet.rb',
24
+ 'lib/ruby-bullet/version.rb',
25
+ 'sample/**/*',
26
+ ]
27
+
28
+ gem.extensions << 'Rakefile'
29
+
30
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
31
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
32
+ gem.require_paths = ["lib"]
33
+
34
+ gem.requirements << 'libbullet, v2.82'
35
+
36
+ end
@@ -0,0 +1,180 @@
1
+ $LOAD_PATH.push(File.dirname(File.expand_path(__FILE__)) + "/../../lib")
2
+
3
+ require 'gtk2'
4
+ require 'cairo'
5
+ require "bullet"
6
+
7
+ class Physics
8
+ attr_accessor :context
9
+ attr_accessor :objects
10
+
11
+ def initialize()
12
+ @collisionConfig = Bullet::BtDefaultCollisionConfiguration.new();
13
+ @collisionDispatcher = Bullet::BtCollisionDispatcher.new(@collisionConfig)
14
+
15
+ worldAabbMin = Bullet::BtVector3.new(-3000.0,-500.0, -3000.0)
16
+ worldAabbMax = Bullet::BtVector3.new(3000.0, 500.0, 3000.0)
17
+ maxProxies = 1024 * 4
18
+ @gardenAabbCache = Bullet::BtAxisSweep3.new( worldAabbMin, worldAabbMax, maxProxies )
19
+
20
+ @solver = Bullet::BtSequentialImpulseConstraintSolver.new();
21
+
22
+ @dynamicsWorld = Bullet::BtDiscreteDynamicsWorld.new(@collisionDispatcher, @gardenAabbCache,
23
+ @solver, @collisionConfig)
24
+ gravity = Bullet::BtVector3.new(0.0, 9.8, 0.0)
25
+ @dynamicsWorld.set_gravity(gravity)
26
+
27
+ @objects = []
28
+
29
+ @lastTime = -1
30
+ end
31
+
32
+ def add_object(obj)
33
+ @objects.push(obj)
34
+ @dynamicsWorld.add_rigid_body(obj.rigidBody)
35
+ end
36
+
37
+ def update(context)
38
+ @lastTime = Time.now.to_f if @lastTime < 0
39
+
40
+ # calc delta
41
+ nowTime = Time.now.to_f
42
+ delta = nowTime - @lastTime
43
+ @lastTime = nowTime
44
+
45
+ # step
46
+ @dynamicsWorld.step_simulation(delta)
47
+
48
+ @objects.each {|obj|
49
+ obj.draw(context)
50
+ }
51
+
52
+ return delta
53
+ end
54
+
55
+ def finalize()
56
+ # patch for GC.
57
+ @objects.each{|body|
58
+ @dynamicsWorld.remove_rigid_body(body.rigidBody)
59
+ }
60
+ @objects = []
61
+ end
62
+ end
63
+
64
+
65
+ class Box < Bullet::BtMotionState
66
+ attr_accessor :rigidBody
67
+
68
+ def initialize(physics, mass, width, height, color)
69
+ super()
70
+ @physics = physics
71
+ @width = width
72
+ @height = height
73
+ @color = color
74
+
75
+ # position/rotation
76
+ @transform = Bullet::BtTransform.new()
77
+ @transform.set_identity()
78
+
79
+ # create a physics object.
80
+ @colObj = Bullet::BtBoxShape.new(Bullet::BtVector3.new(width / 2, height / 2, width / 2))
81
+ inertia = Bullet::BtVector3.new()
82
+ @colObj.calculate_local_inertia(mass, inertia)
83
+
84
+ @rigidBody = Bullet::BtRigidBody.new(mass, self, @colObj, inertia)
85
+ @rigidBody.set_angular_factor(Bullet::BtVector3.new(0, 0, 1)) # rotate around z-axis only becase of 2D.
86
+ end
87
+
88
+ def set_world_transform(worldTrans)
89
+ @transform = Bullet::BtTransform.new(worldTrans)
90
+ end
91
+
92
+ def get_world_transform(worldTrans)
93
+ end
94
+
95
+ def set_position(x, y)
96
+ @transform.set_origin(Bullet::BtVector3.new(x, y, 0.0))
97
+ @rigidBody.set_center_of_mass_transform(@transform)
98
+ end
99
+
100
+ def draw(context)
101
+ newPos = @transform.get_origin()
102
+ newRot = @transform.get_rotation()
103
+
104
+ lt = Bullet::BtVector3.new(-@width / 2, -@height / 2, 0)
105
+ lb = Bullet::BtVector3.new(-@width / 2, @height / 2 , 0)
106
+
107
+ lt = Bullet::quat_rotate(newRot, lt)
108
+ lb = Bullet::quat_rotate(newRot, lb)
109
+ rb = -lt
110
+ rt = -lb
111
+
112
+ context.move_to(newPos.x + lt.x, newPos.y + lt.y)
113
+ context.line_to(newPos.x + rt.x, newPos.y + rt.y)
114
+ context.line_to(newPos.x + rb.x, newPos.y + rb.y)
115
+ context.line_to(newPos.x + lb.x, newPos.y + lb.y)
116
+ context.line_to(newPos.x + lt.x, newPos.y + lt.y)
117
+ context.set_source_color(@color)
118
+ context.fill(true)
119
+ context.set_source_color("black")
120
+ context.stroke
121
+ end
122
+ end
123
+
124
+
125
+ ## create a physics world.
126
+ physics = Physics.new()
127
+
128
+ # falling boxes.
129
+ id = 0
130
+ 11.times {|x|
131
+ 5.times {|y|
132
+ box = Box.new(physics, 1.0, 10, 10, 'sky blue')
133
+ box.set_position(100 + 10 * x, 50 - 10 * y)
134
+ physics.add_object(box)
135
+ }
136
+ }
137
+
138
+ # floor
139
+ floor = Box.new(physics, 0, 100, 5, 'gray')
140
+ floor.set_position(150, 200)
141
+ physics.add_object(floor)
142
+
143
+
144
+ ## create a drawing window.
145
+ window = Gtk::Window.new
146
+ window.set_default_size(300, 300)
147
+ window.signal_connect("destroy") do
148
+ physics.finalize
149
+ Gtk.main_quit
150
+ false
151
+ end
152
+
153
+ drawing_area = Gtk::DrawingArea.new
154
+
155
+ delta = 0
156
+ drawing_area.signal_connect("expose-event") do |widget, event|
157
+ context = widget.window.create_cairo_context
158
+ delta += physics.update(context)
159
+
160
+ # create a new box per 3sec.
161
+ if (delta > 3.0)
162
+ box = Box.new(physics, 1.0, 10, 10, 'orange')
163
+ box.set_position(125 + (physics.objects.length % 10) * 5, 0)
164
+ physics.add_object(box)
165
+ delta = 0
166
+ end
167
+ true
168
+ end
169
+
170
+ Gtk.timeout_add(1000.0 / 60.0) {
171
+ drawing_area.queue_draw
172
+ true
173
+ }
174
+
175
+ window.add(drawing_area)
176
+ window.show_all
177
+
178
+ Gtk.main
179
+
180
+
@@ -0,0 +1,6 @@
1
+ #!/bin/sh
2
+
3
+ FILE_PATH=`dirname "$0"`
4
+ DEPS_PATH=$FILE_PATH/../../deps
5
+
6
+ LD_LIBRARY_PATH=${DEPS_PATH}/lib:$LD_LIBRARY_PATH ruby $FILE_PATH/hello_bullet.rb
metadata ADDED
@@ -0,0 +1,233 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ruby-bullet
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.0
5
+ platform: ruby
6
+ authors:
7
+ - abexsoft
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-03-28 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: A ruby binding for Bullet.
14
+ email:
15
+ - abexsoft@gmail.com
16
+ executables: []
17
+ extensions:
18
+ - Rakefile
19
+ extra_rdoc_files: []
20
+ files:
21
+ - Gemfile
22
+ - LICENSE
23
+ - README.md
24
+ - Rakefile
25
+ - bindings/bullet/extconf.rb
26
+ - bindings/bullet/interface/BulletCollision/BroadphaseCollision/btAxisSweep3.i
27
+ - bindings/bullet/interface/BulletCollision/BroadphaseCollision/btBroadphaseInterface.i
28
+ - bindings/bullet/interface/BulletCollision/BroadphaseCollision/btBroadphaseProxy.i
29
+ - bindings/bullet/interface/BulletCollision/BroadphaseCollision/btCollisionAlgorithm.i
30
+ - bindings/bullet/interface/BulletCollision/BroadphaseCollision/btDbvt.i
31
+ - bindings/bullet/interface/BulletCollision/BroadphaseCollision/btDbvtBroadphase.i
32
+ - bindings/bullet/interface/BulletCollision/BroadphaseCollision/btDispatcher.i
33
+ - bindings/bullet/interface/BulletCollision/BroadphaseCollision/btMultiSapBroadphase.i
34
+ - bindings/bullet/interface/BulletCollision/BroadphaseCollision/btOverlappingPairCache.i
35
+ - bindings/bullet/interface/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.i
36
+ - bindings/bullet/interface/BulletCollision/BroadphaseCollision/btQuantizedBvh.i
37
+ - bindings/bullet/interface/BulletCollision/BroadphaseCollision/btSimpleBroadphase.i
38
+ - bindings/bullet/interface/BulletCollision/BroadphaseCollision/local_btAxisSweep3Internal.h
39
+ - bindings/bullet/interface/BulletCollision/CollisionDispatch/SphereTriangleDetector.i
40
+ - bindings/bullet/interface/BulletCollision/CollisionDispatch/btActivatingCollisionAlgorithm.i
41
+ - bindings/bullet/interface/BulletCollision/CollisionDispatch/btBox2dBox2dCollisionAlgorithm.i
42
+ - bindings/bullet/interface/BulletCollision/CollisionDispatch/btBoxBoxCollisionAlgorithm.i
43
+ - bindings/bullet/interface/BulletCollision/CollisionDispatch/btBoxBoxDetector.i
44
+ - bindings/bullet/interface/BulletCollision/CollisionDispatch/btCollisionConfiguration.i
45
+ - bindings/bullet/interface/BulletCollision/CollisionDispatch/btCollisionCreateFunc.i
46
+ - bindings/bullet/interface/BulletCollision/CollisionDispatch/btCollisionDispatcher.i
47
+ - bindings/bullet/interface/BulletCollision/CollisionDispatch/btCollisionObject.i
48
+ - bindings/bullet/interface/BulletCollision/CollisionDispatch/btCollisionWorld.i
49
+ - bindings/bullet/interface/BulletCollision/CollisionDispatch/btCompoundCollisionAlgorithm.i
50
+ - bindings/bullet/interface/BulletCollision/CollisionDispatch/btConvex2dConvex2dAlgorithm.i
51
+ - bindings/bullet/interface/BulletCollision/CollisionDispatch/btConvexConcaveCollisionAlgorithm.i
52
+ - bindings/bullet/interface/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.i
53
+ - bindings/bullet/interface/BulletCollision/CollisionDispatch/btConvexPlaneCollisionAlgorithm.i
54
+ - bindings/bullet/interface/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.i
55
+ - bindings/bullet/interface/BulletCollision/CollisionDispatch/btEmptyCollisionAlgorithm.i
56
+ - bindings/bullet/interface/BulletCollision/CollisionDispatch/btGhostObject.i
57
+ - bindings/bullet/interface/BulletCollision/CollisionDispatch/btInternalEdgeUtility.i
58
+ - bindings/bullet/interface/BulletCollision/CollisionDispatch/btManifoldResult.i
59
+ - bindings/bullet/interface/BulletCollision/CollisionDispatch/btSimulationIslandManager.i
60
+ - bindings/bullet/interface/BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.i
61
+ - bindings/bullet/interface/BulletCollision/CollisionDispatch/btSphereSphereCollisionAlgorithm.i
62
+ - bindings/bullet/interface/BulletCollision/CollisionDispatch/btSphereTriangleCollisionAlgorithm.i
63
+ - bindings/bullet/interface/BulletCollision/CollisionDispatch/btUnionFind.i
64
+ - bindings/bullet/interface/BulletCollision/CollisionShapes/btBox2dShape.i
65
+ - bindings/bullet/interface/BulletCollision/CollisionShapes/btBoxShape.i
66
+ - bindings/bullet/interface/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.i
67
+ - bindings/bullet/interface/BulletCollision/CollisionShapes/btCapsuleShape.i
68
+ - bindings/bullet/interface/BulletCollision/CollisionShapes/btCollisionMargin.i
69
+ - bindings/bullet/interface/BulletCollision/CollisionShapes/btCollisionShape.i
70
+ - bindings/bullet/interface/BulletCollision/CollisionShapes/btCompoundShape.i
71
+ - bindings/bullet/interface/BulletCollision/CollisionShapes/btConcaveShape.i
72
+ - bindings/bullet/interface/BulletCollision/CollisionShapes/btConeShape.i
73
+ - bindings/bullet/interface/BulletCollision/CollisionShapes/btConvex2dShape.i
74
+ - bindings/bullet/interface/BulletCollision/CollisionShapes/btConvexHullShape.i
75
+ - bindings/bullet/interface/BulletCollision/CollisionShapes/btConvexInternalShape.i
76
+ - bindings/bullet/interface/BulletCollision/CollisionShapes/btConvexPointCloudShape.i
77
+ - bindings/bullet/interface/BulletCollision/CollisionShapes/btConvexPolyhedron.i
78
+ - bindings/bullet/interface/BulletCollision/CollisionShapes/btConvexShape.i
79
+ - bindings/bullet/interface/BulletCollision/CollisionShapes/btConvexTriangleMeshShape.i
80
+ - bindings/bullet/interface/BulletCollision/CollisionShapes/btCylinderShape.i
81
+ - bindings/bullet/interface/BulletCollision/CollisionShapes/btEmptyShape.i
82
+ - bindings/bullet/interface/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.i
83
+ - bindings/bullet/interface/BulletCollision/CollisionShapes/btMaterial.i
84
+ - bindings/bullet/interface/BulletCollision/CollisionShapes/btMinkowskiSumShape.i
85
+ - bindings/bullet/interface/BulletCollision/CollisionShapes/btMultiSphereShape.i
86
+ - bindings/bullet/interface/BulletCollision/CollisionShapes/btMultimaterialTriangleMeshShape.i
87
+ - bindings/bullet/interface/BulletCollision/CollisionShapes/btOptimizedBvh.i
88
+ - bindings/bullet/interface/BulletCollision/CollisionShapes/btPolyhedralConvexShape.i
89
+ - bindings/bullet/interface/BulletCollision/CollisionShapes/btScaledBvhTriangleMeshShape.i
90
+ - bindings/bullet/interface/BulletCollision/CollisionShapes/btShapeHull.i
91
+ - bindings/bullet/interface/BulletCollision/CollisionShapes/btSphereShape.i
92
+ - bindings/bullet/interface/BulletCollision/CollisionShapes/btStaticPlaneShape.i
93
+ - bindings/bullet/interface/BulletCollision/CollisionShapes/btStridingMeshInterface.i
94
+ - bindings/bullet/interface/BulletCollision/CollisionShapes/btTetrahedronShape.i
95
+ - bindings/bullet/interface/BulletCollision/CollisionShapes/btTriangleBuffer.i
96
+ - bindings/bullet/interface/BulletCollision/CollisionShapes/btTriangleCallback.i
97
+ - bindings/bullet/interface/BulletCollision/CollisionShapes/btTriangleIndexVertexArray.i
98
+ - bindings/bullet/interface/BulletCollision/CollisionShapes/btTriangleIndexVertexMaterialArray.i
99
+ - bindings/bullet/interface/BulletCollision/CollisionShapes/btTriangleInfoMap.i
100
+ - bindings/bullet/interface/BulletCollision/CollisionShapes/btTriangleMeshShape.i
101
+ - bindings/bullet/interface/BulletCollision/CollisionShapes/btTriangleShape.i
102
+ - bindings/bullet/interface/BulletCollision/CollisionShapes/btUniformScalingShape.i
103
+ - bindings/bullet/interface/BulletCollision/Gimpact/btBoxCollision.i
104
+ - bindings/bullet/interface/BulletCollision/Gimpact/btClipPolygon.i
105
+ - bindings/bullet/interface/BulletCollision/Gimpact/btContactProcessing.i
106
+ - bindings/bullet/interface/BulletCollision/Gimpact/btGImpactBvh.i
107
+ - bindings/bullet/interface/BulletCollision/Gimpact/btGImpactCollisionAlgorithm.i
108
+ - bindings/bullet/interface/BulletCollision/Gimpact/btGImpactMassUtil.i
109
+ - bindings/bullet/interface/BulletCollision/Gimpact/btGImpactQuantizedBvh.i
110
+ - bindings/bullet/interface/BulletCollision/Gimpact/btGImpactShape.i
111
+ - bindings/bullet/interface/BulletCollision/Gimpact/btGenericPoolAllocator.i
112
+ - bindings/bullet/interface/BulletCollision/Gimpact/btGeometryOperations.i
113
+ - bindings/bullet/interface/BulletCollision/Gimpact/btQuantization.i
114
+ - bindings/bullet/interface/BulletCollision/Gimpact/btTriangleShapeEx.i
115
+ - bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btContinuousConvexCollision.i
116
+ - bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btConvexCast.i
117
+ - bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btConvexPenetrationDepthSolver.i
118
+ - bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btDiscreteCollisionDetectorInterface.i
119
+ - bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btGjkConvexCast.i
120
+ - bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btGjkEpa2.i
121
+ - bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.i
122
+ - bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.i
123
+ - bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btManifoldPoint.i
124
+ - bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.i
125
+ - bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btPersistentManifold.i
126
+ - bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btPointCollector.i
127
+ - bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btPolyhedralContactClipping.i
128
+ - bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btRaycastCallback.i
129
+ - bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btSimplexSolverInterface.i
130
+ - bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.i
131
+ - bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.i
132
+ - bindings/bullet/interface/BulletDynamics/Character/btCharacterControllerInterface.i
133
+ - bindings/bullet/interface/BulletDynamics/Character/btKinematicCharacterController.i
134
+ - bindings/bullet/interface/BulletDynamics/ConstraintSolver/btConeTwistConstraint.i
135
+ - bindings/bullet/interface/BulletDynamics/ConstraintSolver/btConstraintSolver.i
136
+ - bindings/bullet/interface/BulletDynamics/ConstraintSolver/btContactConstraint.i
137
+ - bindings/bullet/interface/BulletDynamics/ConstraintSolver/btContactSolverInfo.i
138
+ - bindings/bullet/interface/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.i
139
+ - bindings/bullet/interface/BulletDynamics/ConstraintSolver/btGeneric6DofSpringConstraint.i
140
+ - bindings/bullet/interface/BulletDynamics/ConstraintSolver/btHinge2Constraint.i
141
+ - bindings/bullet/interface/BulletDynamics/ConstraintSolver/btHingeConstraint.i
142
+ - bindings/bullet/interface/BulletDynamics/ConstraintSolver/btJacobianEntry.i
143
+ - bindings/bullet/interface/BulletDynamics/ConstraintSolver/btPoint2PointConstraint.i
144
+ - bindings/bullet/interface/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.i
145
+ - bindings/bullet/interface/BulletDynamics/ConstraintSolver/btSliderConstraint.i
146
+ - bindings/bullet/interface/BulletDynamics/ConstraintSolver/btSolve2LinearConstraint.i
147
+ - bindings/bullet/interface/BulletDynamics/ConstraintSolver/btSolverBody.i
148
+ - bindings/bullet/interface/BulletDynamics/ConstraintSolver/btSolverConstraint.i
149
+ - bindings/bullet/interface/BulletDynamics/ConstraintSolver/btTypedConstraint.i
150
+ - bindings/bullet/interface/BulletDynamics/ConstraintSolver/btUniversalConstraint.i
151
+ - bindings/bullet/interface/BulletDynamics/Dynamics/btActionInterface.i
152
+ - bindings/bullet/interface/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.i
153
+ - bindings/bullet/interface/BulletDynamics/Dynamics/btDynamicsWorld.i
154
+ - bindings/bullet/interface/BulletDynamics/Dynamics/btRigidBody.i
155
+ - bindings/bullet/interface/BulletDynamics/Dynamics/btSimpleDynamicsWorld.i
156
+ - bindings/bullet/interface/BulletDynamics/Vehicle/btRaycastVehicle.i
157
+ - bindings/bullet/interface/BulletDynamics/Vehicle/btVehicleRaycaster.i
158
+ - bindings/bullet/interface/BulletDynamics/Vehicle/btWheelInfo.i
159
+ - bindings/bullet/interface/BulletSoftBody/btDefaultSoftBodySolver.i
160
+ - bindings/bullet/interface/BulletSoftBody/btSoftBody.i
161
+ - bindings/bullet/interface/BulletSoftBody/btSoftBodyConcaveCollisionAlgorithm.i
162
+ - bindings/bullet/interface/BulletSoftBody/btSoftBodyData.i
163
+ - bindings/bullet/interface/BulletSoftBody/btSoftBodyHelpers.i
164
+ - bindings/bullet/interface/BulletSoftBody/btSoftBodyInternals.i
165
+ - bindings/bullet/interface/BulletSoftBody/btSoftBodyRigidBodyCollisionConfiguration.i
166
+ - bindings/bullet/interface/BulletSoftBody/btSoftBodySolverVertexBuffer.i
167
+ - bindings/bullet/interface/BulletSoftBody/btSoftBodySolvers.i
168
+ - bindings/bullet/interface/BulletSoftBody/btSoftRigidCollisionAlgorithm.i
169
+ - bindings/bullet/interface/BulletSoftBody/btSoftRigidDynamicsWorld.i
170
+ - bindings/bullet/interface/BulletSoftBody/btSoftSoftCollisionAlgorithm.i
171
+ - bindings/bullet/interface/BulletSoftBody/btSparseSDF.i
172
+ - bindings/bullet/interface/LinearMath/btAabbUtil2.i
173
+ - bindings/bullet/interface/LinearMath/btAlignedAllocator.i
174
+ - bindings/bullet/interface/LinearMath/btAlignedObjectArray.i
175
+ - bindings/bullet/interface/LinearMath/btConvexHull.i
176
+ - bindings/bullet/interface/LinearMath/btConvexHullComputer.i
177
+ - bindings/bullet/interface/LinearMath/btDefaultMotionState.i
178
+ - bindings/bullet/interface/LinearMath/btGeometryUtil.i
179
+ - bindings/bullet/interface/LinearMath/btGrahamScan2dConvexHull.i
180
+ - bindings/bullet/interface/LinearMath/btHashMap.i
181
+ - bindings/bullet/interface/LinearMath/btIDebugDraw.i
182
+ - bindings/bullet/interface/LinearMath/btList.i
183
+ - bindings/bullet/interface/LinearMath/btMatrix3x3.i
184
+ - bindings/bullet/interface/LinearMath/btMinMax.i
185
+ - bindings/bullet/interface/LinearMath/btMotionState.i
186
+ - bindings/bullet/interface/LinearMath/btPoolAllocator.i
187
+ - bindings/bullet/interface/LinearMath/btQuadWord.i
188
+ - bindings/bullet/interface/LinearMath/btQuaternion.i
189
+ - bindings/bullet/interface/LinearMath/btQuickprof.i
190
+ - bindings/bullet/interface/LinearMath/btRandom.i
191
+ - bindings/bullet/interface/LinearMath/btScalar.i
192
+ - bindings/bullet/interface/LinearMath/btSerializer.i
193
+ - bindings/bullet/interface/LinearMath/btStackAlloc.i
194
+ - bindings/bullet/interface/LinearMath/btTransform.i
195
+ - bindings/bullet/interface/LinearMath/btTransformUtil.i
196
+ - bindings/bullet/interface/LinearMath/btVector3.i
197
+ - bindings/bullet/interface/Rakefile
198
+ - bindings/bullet/interface/bullet.i
199
+ - bindings/bullet/interface/bullet_all.i
200
+ - bindings/bullet/interface/bullet_wrap.cpp
201
+ - bindings/bullet/interface/bullet_wrap.h
202
+ - bindings/bullet/interface/bullet_wrap.o
203
+ - bindings/bullet/src/TickListener.h
204
+ - lib/ruby-bullet.rb
205
+ - lib/ruby-bullet/version.rb
206
+ - ruby-bullet.gemspec
207
+ - sample/hello_bullet/hello_bullet.rb
208
+ - sample/hello_bullet/run
209
+ homepage: https://github.com/abexsoft/ruby-bullet
210
+ licenses: []
211
+ metadata: {}
212
+ post_install_message:
213
+ rdoc_options: []
214
+ require_paths:
215
+ - lib
216
+ required_ruby_version: !ruby/object:Gem::Requirement
217
+ requirements:
218
+ - - ">="
219
+ - !ruby/object:Gem::Version
220
+ version: '0'
221
+ required_rubygems_version: !ruby/object:Gem::Requirement
222
+ requirements:
223
+ - - ">="
224
+ - !ruby/object:Gem::Version
225
+ version: '0'
226
+ requirements:
227
+ - libbullet, v2.82
228
+ rubyforge_project:
229
+ rubygems_version: 2.4.5
230
+ signing_key:
231
+ specification_version: 4
232
+ summary: A ruby binding for Bullet.
233
+ test_files: []