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.
- checksums.yaml +7 -0
- data/Gemfile +4 -0
- data/LICENSE +23 -0
- data/README.md +39 -0
- data/Rakefile +86 -0
- data/bindings/bullet/extconf.rb +28 -0
- data/bindings/bullet/interface/BulletCollision/BroadphaseCollision/btAxisSweep3.i +30 -0
- data/bindings/bullet/interface/BulletCollision/BroadphaseCollision/btBroadphaseInterface.i +8 -0
- data/bindings/bullet/interface/BulletCollision/BroadphaseCollision/btBroadphaseProxy.i +8 -0
- data/bindings/bullet/interface/BulletCollision/BroadphaseCollision/btCollisionAlgorithm.i +8 -0
- data/bindings/bullet/interface/BulletCollision/BroadphaseCollision/btDbvt.i +10 -0
- data/bindings/bullet/interface/BulletCollision/BroadphaseCollision/btDbvtBroadphase.i +8 -0
- data/bindings/bullet/interface/BulletCollision/BroadphaseCollision/btDispatcher.i +8 -0
- data/bindings/bullet/interface/BulletCollision/BroadphaseCollision/btMultiSapBroadphase.i +10 -0
- data/bindings/bullet/interface/BulletCollision/BroadphaseCollision/btOverlappingPairCache.i +8 -0
- data/bindings/bullet/interface/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.i +8 -0
- data/bindings/bullet/interface/BulletCollision/BroadphaseCollision/btQuantizedBvh.i +8 -0
- data/bindings/bullet/interface/BulletCollision/BroadphaseCollision/btSimpleBroadphase.i +8 -0
- data/bindings/bullet/interface/BulletCollision/BroadphaseCollision/local_btAxisSweep3Internal.h +191 -0
- data/bindings/bullet/interface/BulletCollision/CollisionDispatch/SphereTriangleDetector.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btActivatingCollisionAlgorithm.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btBox2dBox2dCollisionAlgorithm.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btBoxBoxCollisionAlgorithm.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btBoxBoxDetector.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btCollisionConfiguration.i +21 -0
- data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btCollisionCreateFunc.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btCollisionDispatcher.i +24 -0
- data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btCollisionObject.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btCollisionWorld.i +95 -0
- data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btCompoundCollisionAlgorithm.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btConvex2dConvex2dAlgorithm.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btConvexConcaveCollisionAlgorithm.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btConvexPlaneCollisionAlgorithm.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btEmptyCollisionAlgorithm.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btGhostObject.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btInternalEdgeUtility.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btManifoldResult.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btSimulationIslandManager.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btSphereSphereCollisionAlgorithm.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btSphereTriangleCollisionAlgorithm.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btUnionFind.i +10 -0
- data/bindings/bullet/interface/BulletCollision/CollisionShapes/btBox2dShape.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionShapes/btBoxShape.i +22 -0
- data/bindings/bullet/interface/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionShapes/btCapsuleShape.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionShapes/btCollisionMargin.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionShapes/btCollisionShape.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionShapes/btCompoundShape.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionShapes/btConcaveShape.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionShapes/btConeShape.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionShapes/btConvex2dShape.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionShapes/btConvexHullShape.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionShapes/btConvexInternalShape.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionShapes/btConvexPointCloudShape.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionShapes/btConvexPolyhedron.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionShapes/btConvexShape.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionShapes/btConvexTriangleMeshShape.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionShapes/btCylinderShape.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionShapes/btEmptyShape.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionShapes/btMaterial.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionShapes/btMinkowskiSumShape.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionShapes/btMultiSphereShape.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionShapes/btMultimaterialTriangleMeshShape.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionShapes/btOptimizedBvh.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionShapes/btPolyhedralConvexShape.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionShapes/btScaledBvhTriangleMeshShape.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionShapes/btShapeHull.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionShapes/btSphereShape.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionShapes/btStaticPlaneShape.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionShapes/btStridingMeshInterface.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionShapes/btTetrahedronShape.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionShapes/btTriangleBuffer.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionShapes/btTriangleCallback.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionShapes/btTriangleIndexVertexArray.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionShapes/btTriangleIndexVertexMaterialArray.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionShapes/btTriangleInfoMap.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionShapes/btTriangleMeshShape.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionShapes/btTriangleShape.i +8 -0
- data/bindings/bullet/interface/BulletCollision/CollisionShapes/btUniformScalingShape.i +8 -0
- data/bindings/bullet/interface/BulletCollision/Gimpact/btBoxCollision.i +8 -0
- data/bindings/bullet/interface/BulletCollision/Gimpact/btClipPolygon.i +8 -0
- data/bindings/bullet/interface/BulletCollision/Gimpact/btContactProcessing.i +8 -0
- data/bindings/bullet/interface/BulletCollision/Gimpact/btGImpactBvh.i +8 -0
- data/bindings/bullet/interface/BulletCollision/Gimpact/btGImpactCollisionAlgorithm.i +8 -0
- data/bindings/bullet/interface/BulletCollision/Gimpact/btGImpactMassUtil.i +8 -0
- data/bindings/bullet/interface/BulletCollision/Gimpact/btGImpactQuantizedBvh.i +8 -0
- data/bindings/bullet/interface/BulletCollision/Gimpact/btGImpactShape.i +8 -0
- data/bindings/bullet/interface/BulletCollision/Gimpact/btGenericPoolAllocator.i +11 -0
- data/bindings/bullet/interface/BulletCollision/Gimpact/btGeometryOperations.i +8 -0
- data/bindings/bullet/interface/BulletCollision/Gimpact/btQuantization.i +8 -0
- data/bindings/bullet/interface/BulletCollision/Gimpact/btTriangleShapeEx.i +8 -0
- data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btContinuousConvexCollision.i +8 -0
- data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btConvexCast.i +8 -0
- data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btConvexPenetrationDepthSolver.i +8 -0
- data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btDiscreteCollisionDetectorInterface.i +11 -0
- data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btGjkConvexCast.i +8 -0
- data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btGjkEpa2.i +8 -0
- data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.i +8 -0
- data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.i +8 -0
- data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btManifoldPoint.i +8 -0
- data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.i +8 -0
- data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btPersistentManifold.i +8 -0
- data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btPointCollector.i +8 -0
- data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btPolyhedralContactClipping.i +8 -0
- data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btRaycastCallback.i +8 -0
- data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btSimplexSolverInterface.i +8 -0
- data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.i +8 -0
- data/bindings/bullet/interface/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.i +8 -0
- data/bindings/bullet/interface/BulletDynamics/Character/btCharacterControllerInterface.i +8 -0
- data/bindings/bullet/interface/BulletDynamics/Character/btKinematicCharacterController.i +8 -0
- data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btConeTwistConstraint.i +8 -0
- data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btConstraintSolver.i +8 -0
- data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btContactConstraint.i +8 -0
- data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btContactSolverInfo.i +8 -0
- data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.i +8 -0
- data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btGeneric6DofSpringConstraint.i +8 -0
- data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btHinge2Constraint.i +8 -0
- data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btHingeConstraint.i +8 -0
- data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btJacobianEntry.i +8 -0
- data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btPoint2PointConstraint.i +8 -0
- data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.i +21 -0
- data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btSliderConstraint.i +8 -0
- data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btSolve2LinearConstraint.i +8 -0
- data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btSolverBody.i +8 -0
- data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btSolverConstraint.i +8 -0
- data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btTypedConstraint.i +8 -0
- data/bindings/bullet/interface/BulletDynamics/ConstraintSolver/btUniversalConstraint.i +8 -0
- data/bindings/bullet/interface/BulletDynamics/Dynamics/btActionInterface.i +8 -0
- data/bindings/bullet/interface/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.i +23 -0
- data/bindings/bullet/interface/BulletDynamics/Dynamics/btDynamicsWorld.i +43 -0
- data/bindings/bullet/interface/BulletDynamics/Dynamics/btRigidBody.i +20 -0
- data/bindings/bullet/interface/BulletDynamics/Dynamics/btSimpleDynamicsWorld.i +8 -0
- data/bindings/bullet/interface/BulletDynamics/Vehicle/btRaycastVehicle.i +12 -0
- data/bindings/bullet/interface/BulletDynamics/Vehicle/btVehicleRaycaster.i +8 -0
- data/bindings/bullet/interface/BulletDynamics/Vehicle/btWheelInfo.i +8 -0
- data/bindings/bullet/interface/BulletSoftBody/btDefaultSoftBodySolver.i +8 -0
- data/bindings/bullet/interface/BulletSoftBody/btSoftBody.i +8 -0
- data/bindings/bullet/interface/BulletSoftBody/btSoftBodyConcaveCollisionAlgorithm.i +8 -0
- data/bindings/bullet/interface/BulletSoftBody/btSoftBodyData.i +8 -0
- data/bindings/bullet/interface/BulletSoftBody/btSoftBodyHelpers.i +8 -0
- data/bindings/bullet/interface/BulletSoftBody/btSoftBodyInternals.i +8 -0
- data/bindings/bullet/interface/BulletSoftBody/btSoftBodyRigidBodyCollisionConfiguration.i +8 -0
- data/bindings/bullet/interface/BulletSoftBody/btSoftBodySolverVertexBuffer.i +8 -0
- data/bindings/bullet/interface/BulletSoftBody/btSoftBodySolvers.i +8 -0
- data/bindings/bullet/interface/BulletSoftBody/btSoftRigidCollisionAlgorithm.i +8 -0
- data/bindings/bullet/interface/BulletSoftBody/btSoftRigidDynamicsWorld.i +8 -0
- data/bindings/bullet/interface/BulletSoftBody/btSoftSoftCollisionAlgorithm.i +8 -0
- data/bindings/bullet/interface/BulletSoftBody/btSparseSDF.i +8 -0
- data/bindings/bullet/interface/LinearMath/btAabbUtil2.i +8 -0
- data/bindings/bullet/interface/LinearMath/btAlignedAllocator.i +8 -0
- data/bindings/bullet/interface/LinearMath/btAlignedObjectArray.i +8 -0
- data/bindings/bullet/interface/LinearMath/btConvexHull.i +8 -0
- data/bindings/bullet/interface/LinearMath/btConvexHullComputer.i +8 -0
- data/bindings/bullet/interface/LinearMath/btDefaultMotionState.i +10 -0
- data/bindings/bullet/interface/LinearMath/btGeometryUtil.i +10 -0
- data/bindings/bullet/interface/LinearMath/btGrahamScan2dConvexHull.i +8 -0
- data/bindings/bullet/interface/LinearMath/btHashMap.i +8 -0
- data/bindings/bullet/interface/LinearMath/btIDebugDraw.i +10 -0
- data/bindings/bullet/interface/LinearMath/btList.i +8 -0
- data/bindings/bullet/interface/LinearMath/btMatrix3x3.i +8 -0
- data/bindings/bullet/interface/LinearMath/btMinMax.i +8 -0
- data/bindings/bullet/interface/LinearMath/btMotionState.i +10 -0
- data/bindings/bullet/interface/LinearMath/btPoolAllocator.i +10 -0
- data/bindings/bullet/interface/LinearMath/btQuadWord.i +8 -0
- data/bindings/bullet/interface/LinearMath/btQuaternion.i +60 -0
- data/bindings/bullet/interface/LinearMath/btQuickprof.i +10 -0
- data/bindings/bullet/interface/LinearMath/btRandom.i +8 -0
- data/bindings/bullet/interface/LinearMath/btScalar.i +8 -0
- data/bindings/bullet/interface/LinearMath/btSerializer.i +10 -0
- data/bindings/bullet/interface/LinearMath/btStackAlloc.i +10 -0
- data/bindings/bullet/interface/LinearMath/btTransform.i +8 -0
- data/bindings/bullet/interface/LinearMath/btTransformUtil.i +8 -0
- data/bindings/bullet/interface/LinearMath/btVector3.i +41 -0
- data/bindings/bullet/interface/Rakefile +19 -0
- data/bindings/bullet/interface/bullet.i +9 -0
- data/bindings/bullet/interface/bullet_all.i +186 -0
- data/bindings/bullet/interface/bullet_wrap.cpp +205735 -0
- data/bindings/bullet/interface/bullet_wrap.h +106 -0
- data/bindings/bullet/interface/bullet_wrap.o +0 -0
- data/bindings/bullet/src/TickListener.h +22 -0
- data/lib/ruby-bullet.rb +63 -0
- data/lib/ruby-bullet/version.rb +5 -0
- data/ruby-bullet.gemspec +36 -0
- data/sample/hello_bullet/hello_bullet.rb +180 -0
- data/sample/hello_bullet/run +6 -0
- 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 ¢erOfMassOffset = btTransform::getIdentity());
|
|
33
|
+
virtual ~SwigDirector_BtDefaultMotionState();
|
|
34
|
+
virtual void getWorldTransform(btTransform ¢erOfMassWorldTrans) const;
|
|
35
|
+
virtual void setWorldTransform(btTransform const ¢erOfMassWorldTrans);
|
|
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 ¢er, 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 ¢er, 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
|
|
Binary file
|
|
@@ -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
|
+
};
|
data/lib/ruby-bullet.rb
ADDED
|
@@ -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
|
data/ruby-bullet.gemspec
ADDED
|
@@ -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
|
+
|
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: []
|