ruby-bullet 0.1.0-x86-linux → 0.1.1-x86-linux
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/README.md +3 -0
- data/Rakefile +14 -2
- data/bindings/bullet/interface/BulletCollision/CollisionDispatch/btCollisionWorld.i +2 -2
- data/bindings/bullet/interface/bullet_wrap.cpp +17548 -6035
- data/bindings/bullet/interface/bullet_wrap.h +7 -7
- data/bindings/bullet/interface/bullet_wrap.o +0 -0
- data/lib/bullet.so +0 -0
- data/lib/ruby-bullet/version.rb +1 -1
- data/ruby-bullet.gemspec +0 -3
- metadata +169 -444
- data/deps/include/bullet/Bullet-C-Api.h +0 -176
- data/deps/include/bullet/BulletCollision/BroadphaseCollision/btAxisSweep3.h +0 -1051
- data/deps/include/bullet/BulletCollision/BroadphaseCollision/btBroadphaseInterface.h +0 -82
- data/deps/include/bullet/BulletCollision/BroadphaseCollision/btBroadphaseProxy.h +0 -270
- data/deps/include/bullet/BulletCollision/BroadphaseCollision/btCollisionAlgorithm.h +0 -80
- data/deps/include/bullet/BulletCollision/BroadphaseCollision/btDbvt.h +0 -1257
- data/deps/include/bullet/BulletCollision/BroadphaseCollision/btDbvtBroadphase.h +0 -146
- data/deps/include/bullet/BulletCollision/BroadphaseCollision/btDispatcher.h +0 -110
- data/deps/include/bullet/BulletCollision/BroadphaseCollision/btMultiSapBroadphase.h +0 -151
- data/deps/include/bullet/BulletCollision/BroadphaseCollision/btOverlappingPairCache.h +0 -469
- data/deps/include/bullet/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h +0 -40
- data/deps/include/bullet/BulletCollision/BroadphaseCollision/btQuantizedBvh.h +0 -579
- data/deps/include/bullet/BulletCollision/BroadphaseCollision/btSimpleBroadphase.h +0 -171
- data/deps/include/bullet/BulletCollision/CollisionDispatch/SphereTriangleDetector.h +0 -51
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btActivatingCollisionAlgorithm.h +0 -36
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btBox2dBox2dCollisionAlgorithm.h +0 -66
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btBoxBoxCollisionAlgorithm.h +0 -66
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btBoxBoxDetector.h +0 -44
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionConfiguration.h +0 -48
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionCreateFunc.h +0 -45
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionDispatcher.h +0 -172
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionObject.h +0 -524
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btCollisionWorld.h +0 -509
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btCompoundCollisionAlgorithm.h +0 -86
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btConvex2dConvex2dAlgorithm.h +0 -95
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btConvexConcaveCollisionAlgorithm.h +0 -116
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.h +0 -109
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btConvexPlaneCollisionAlgorithm.h +0 -84
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.h +0 -137
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btEmptyCollisionAlgorithm.h +0 -54
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btGhostObject.h +0 -175
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btInternalEdgeUtility.h +0 -46
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btManifoldResult.h +0 -128
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btSimulationIslandManager.h +0 -81
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.h +0 -75
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btSphereSphereCollisionAlgorithm.h +0 -66
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btSphereTriangleCollisionAlgorithm.h +0 -69
- data/deps/include/bullet/BulletCollision/CollisionDispatch/btUnionFind.h +0 -129
- data/deps/include/bullet/BulletCollision/CollisionShapes/btBox2dShape.h +0 -369
- data/deps/include/bullet/BulletCollision/CollisionShapes/btBoxShape.h +0 -312
- data/deps/include/bullet/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.h +0 -139
- data/deps/include/bullet/BulletCollision/CollisionShapes/btCapsuleShape.h +0 -173
- data/deps/include/bullet/BulletCollision/CollisionShapes/btCollisionMargin.h +0 -27
- data/deps/include/bullet/BulletCollision/CollisionShapes/btCollisionShape.h +0 -150
- data/deps/include/bullet/BulletCollision/CollisionShapes/btCompoundShape.h +0 -212
- data/deps/include/bullet/BulletCollision/CollisionShapes/btConcaveShape.h +0 -60
- data/deps/include/bullet/BulletCollision/CollisionShapes/btConeShape.h +0 -103
- data/deps/include/bullet/BulletCollision/CollisionShapes/btConvex2dShape.h +0 -80
- data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexHullShape.h +0 -122
- data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexInternalShape.h +0 -224
- data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexPointCloudShape.h +0 -105
- data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexPolyhedron.h +0 -62
- data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexShape.h +0 -84
- data/deps/include/bullet/BulletCollision/CollisionShapes/btConvexTriangleMeshShape.h +0 -75
- data/deps/include/bullet/BulletCollision/CollisionShapes/btCylinderShape.h +0 -200
- data/deps/include/bullet/BulletCollision/CollisionShapes/btEmptyShape.h +0 -70
- data/deps/include/bullet/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.h +0 -161
- data/deps/include/bullet/BulletCollision/CollisionShapes/btMaterial.h +0 -35
- data/deps/include/bullet/BulletCollision/CollisionShapes/btMinkowskiSumShape.h +0 -60
- data/deps/include/bullet/BulletCollision/CollisionShapes/btMultiSphereShape.h +0 -99
- data/deps/include/bullet/BulletCollision/CollisionShapes/btMultimaterialTriangleMeshShape.h +0 -120
- data/deps/include/bullet/BulletCollision/CollisionShapes/btOptimizedBvh.h +0 -65
- data/deps/include/bullet/BulletCollision/CollisionShapes/btPolyhedralConvexShape.h +0 -112
- data/deps/include/bullet/BulletCollision/CollisionShapes/btScaledBvhTriangleMeshShape.h +0 -93
- data/deps/include/bullet/BulletCollision/CollisionShapes/btShapeHull.h +0 -59
- data/deps/include/bullet/BulletCollision/CollisionShapes/btSphereShape.h +0 -73
- data/deps/include/bullet/BulletCollision/CollisionShapes/btStaticPlaneShape.h +0 -103
- data/deps/include/bullet/BulletCollision/CollisionShapes/btStridingMeshInterface.h +0 -162
- data/deps/include/bullet/BulletCollision/CollisionShapes/btTetrahedronShape.h +0 -74
- data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleBuffer.h +0 -69
- data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleCallback.h +0 -42
- data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleIndexVertexArray.h +0 -133
- data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleIndexVertexMaterialArray.h +0 -84
- data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleInfoMap.h +0 -241
- data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleMesh.h +0 -69
- data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleMeshShape.h +0 -89
- data/deps/include/bullet/BulletCollision/CollisionShapes/btTriangleShape.h +0 -182
- data/deps/include/bullet/BulletCollision/CollisionShapes/btUniformScalingShape.h +0 -87
- data/deps/include/bullet/BulletCollision/Gimpact/btBoxCollision.h +0 -647
- data/deps/include/bullet/BulletCollision/Gimpact/btClipPolygon.h +0 -182
- data/deps/include/bullet/BulletCollision/Gimpact/btContactProcessing.h +0 -145
- data/deps/include/bullet/BulletCollision/Gimpact/btGImpactBvh.h +0 -396
- data/deps/include/bullet/BulletCollision/Gimpact/btGImpactCollisionAlgorithm.h +0 -306
- data/deps/include/bullet/BulletCollision/Gimpact/btGImpactMassUtil.h +0 -60
- data/deps/include/bullet/BulletCollision/Gimpact/btGImpactQuantizedBvh.h +0 -372
- data/deps/include/bullet/BulletCollision/Gimpact/btGImpactShape.h +0 -1171
- data/deps/include/bullet/BulletCollision/Gimpact/btGenericPoolAllocator.h +0 -163
- data/deps/include/bullet/BulletCollision/Gimpact/btGeometryOperations.h +0 -212
- data/deps/include/bullet/BulletCollision/Gimpact/btQuantization.h +0 -88
- data/deps/include/bullet/BulletCollision/Gimpact/btTriangleShapeEx.h +0 -180
- data/deps/include/bullet/BulletCollision/Gimpact/gim_array.h +0 -326
- data/deps/include/bullet/BulletCollision/Gimpact/gim_basic_geometry_operations.h +0 -543
- data/deps/include/bullet/BulletCollision/Gimpact/gim_bitset.h +0 -123
- data/deps/include/bullet/BulletCollision/Gimpact/gim_box_collision.h +0 -590
- data/deps/include/bullet/BulletCollision/Gimpact/gim_box_set.h +0 -674
- data/deps/include/bullet/BulletCollision/Gimpact/gim_clip_polygon.h +0 -210
- data/deps/include/bullet/BulletCollision/Gimpact/gim_contact.h +0 -164
- data/deps/include/bullet/BulletCollision/Gimpact/gim_geom_types.h +0 -97
- data/deps/include/bullet/BulletCollision/Gimpact/gim_geometry.h +0 -42
- data/deps/include/bullet/BulletCollision/Gimpact/gim_hash_table.h +0 -902
- data/deps/include/bullet/BulletCollision/Gimpact/gim_linear_math.h +0 -1573
- data/deps/include/bullet/BulletCollision/Gimpact/gim_math.h +0 -157
- data/deps/include/bullet/BulletCollision/Gimpact/gim_memory.h +0 -190
- data/deps/include/bullet/BulletCollision/Gimpact/gim_radixsort.h +0 -406
- data/deps/include/bullet/BulletCollision/Gimpact/gim_tri_collision.h +0 -379
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btContinuousConvexCollision.h +0 -59
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btConvexCast.h +0 -73
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btConvexPenetrationDepthSolver.h +0 -42
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btDiscreteCollisionDetectorInterface.h +0 -91
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btGjkConvexCast.h +0 -50
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btGjkEpa2.h +0 -75
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.h +0 -43
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.h +0 -103
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btManifoldPoint.h +0 -158
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.h +0 -40
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btPersistentManifold.h +0 -228
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btPointCollector.h +0 -64
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btPolyhedralContactClipping.h +0 -46
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btRaycastCallback.h +0 -72
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btSimplexSolverInterface.h +0 -63
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.h +0 -50
- data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.h +0 -179
- data/deps/include/bullet/BulletCollision/btBulletCollisionCommon.h +0 -69
- data/deps/include/bullet/BulletDynamics/Character/btCharacterControllerInterface.h +0 -46
- data/deps/include/bullet/BulletDynamics/Character/btKinematicCharacterController.h +0 -163
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btConeTwistConstraint.h +0 -346
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btConstraintSolver.h +0 -52
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btContactConstraint.h +0 -71
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btContactSolverInfo.h +0 -87
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.h +0 -614
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btGeneric6DofSpringConstraint.h +0 -99
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btHinge2Constraint.h +0 -58
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btHingeConstraint.h +0 -381
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btJacobianEntry.h +0 -156
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btPoint2PointConstraint.h +0 -161
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.h +0 -130
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSliderConstraint.h +0 -333
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSolve2LinearConstraint.h +0 -107
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSolverBody.h +0 -191
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSolverConstraint.h +0 -98
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btTypedConstraint.h +0 -452
- data/deps/include/bullet/BulletDynamics/ConstraintSolver/btUniversalConstraint.h +0 -62
- data/deps/include/bullet/BulletDynamics/Dynamics/btActionInterface.h +0 -46
- data/deps/include/bullet/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.h +0 -203
- data/deps/include/bullet/BulletDynamics/Dynamics/btDynamicsWorld.h +0 -151
- data/deps/include/bullet/BulletDynamics/Dynamics/btRigidBody.h +0 -691
- data/deps/include/bullet/BulletDynamics/Dynamics/btSimpleDynamicsWorld.h +0 -89
- data/deps/include/bullet/BulletDynamics/Vehicle/btRaycastVehicle.h +0 -236
- data/deps/include/bullet/BulletDynamics/Vehicle/btVehicleRaycaster.h +0 -35
- data/deps/include/bullet/BulletDynamics/Vehicle/btWheelInfo.h +0 -119
- data/deps/include/bullet/BulletDynamics/btBulletDynamicsCommon.h +0 -48
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverBuffer_DX11.h +0 -323
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverLinkData_DX11.h +0 -103
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverLinkData_DX11SIMDAware.h +0 -173
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverTriangleData_DX11.h +0 -96
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverVertexBuffer_DX11.h +0 -107
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolverVertexData_DX11.h +0 -63
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolver_DX11.h +0 -691
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/DX11/btSoftBodySolver_DX11SIMDAware.h +0 -81
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverBuffer_OpenCL.h +0 -209
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverLinkData_OpenCL.h +0 -99
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverLinkData_OpenCLSIMDAware.h +0 -169
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverOutputCLtoGL.h +0 -62
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverTriangleData_OpenCL.h +0 -84
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverVertexBuffer_OpenGL.h +0 -166
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolverVertexData_OpenCL.h +0 -52
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolver_OpenCL.h +0 -527
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/btSoftBodySolver_OpenCLSIMDAware.h +0 -81
- data/deps/include/bullet/BulletMultiThreaded/GpuSoftBodySolvers/Shared/btSoftBodySolverData.h +0 -748
- data/deps/include/bullet/BulletMultiThreaded/HeapManager.h +0 -117
- data/deps/include/bullet/BulletMultiThreaded/PlatformDefinitions.h +0 -99
- data/deps/include/bullet/BulletMultiThreaded/PosixThreadSupport.h +0 -142
- data/deps/include/bullet/BulletMultiThreaded/PpuAddressSpace.h +0 -37
- data/deps/include/bullet/BulletMultiThreaded/SequentialThreadSupport.h +0 -96
- data/deps/include/bullet/BulletMultiThreaded/SpuCollisionObjectWrapper.h +0 -40
- data/deps/include/bullet/BulletMultiThreaded/SpuCollisionTaskProcess.h +0 -163
- data/deps/include/bullet/BulletMultiThreaded/SpuContactManifoldCollisionAlgorithm.h +0 -120
- data/deps/include/bullet/BulletMultiThreaded/SpuDoubleBuffer.h +0 -126
- data/deps/include/bullet/BulletMultiThreaded/SpuFakeDma.h +0 -135
- data/deps/include/bullet/BulletMultiThreaded/SpuGatheringCollisionDispatcher.h +0 -72
- data/deps/include/bullet/BulletMultiThreaded/SpuLibspe2Support.h +0 -180
- data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/Box.h +0 -167
- data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuCollisionShapes.h +0 -128
- data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuContactResult.h +0 -106
- data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuConvexPenetrationDepthSolver.h +0 -51
- data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask.h +0 -140
- data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuLocalSupport.h +0 -19
- data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuMinkowskiPenetrationDepthSolver.h +0 -48
- data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuPreferredPenetrationDirections.h +0 -70
- data/deps/include/bullet/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/boxBoxDistance.h +0 -65
- data/deps/include/bullet/BulletMultiThreaded/SpuSampleTask/SpuSampleTask.h +0 -54
- data/deps/include/bullet/BulletMultiThreaded/SpuSampleTaskProcess.h +0 -153
- data/deps/include/bullet/BulletMultiThreaded/SpuSync.h +0 -149
- data/deps/include/bullet/BulletMultiThreaded/TrbDynBody.h +0 -79
- data/deps/include/bullet/BulletMultiThreaded/TrbStateVec.h +0 -339
- data/deps/include/bullet/BulletMultiThreaded/Win32ThreadSupport.h +0 -138
- data/deps/include/bullet/BulletMultiThreaded/btGpu3DGridBroadphase.h +0 -138
- data/deps/include/bullet/BulletMultiThreaded/btGpu3DGridBroadphaseSharedCode.h +0 -430
- data/deps/include/bullet/BulletMultiThreaded/btGpu3DGridBroadphaseSharedDefs.h +0 -61
- data/deps/include/bullet/BulletMultiThreaded/btGpu3DGridBroadphaseSharedTypes.h +0 -67
- data/deps/include/bullet/BulletMultiThreaded/btGpuDefines.h +0 -211
- data/deps/include/bullet/BulletMultiThreaded/btGpuUtilsSharedCode.h +0 -55
- data/deps/include/bullet/BulletMultiThreaded/btGpuUtilsSharedDefs.h +0 -52
- data/deps/include/bullet/BulletMultiThreaded/btParallelConstraintSolver.h +0 -285
- data/deps/include/bullet/BulletMultiThreaded/btThreadSupportInterface.h +0 -85
- data/deps/include/bullet/BulletMultiThreaded/vectormath2bullet.h +0 -73
- data/deps/include/bullet/BulletSoftBody/btDefaultSoftBodySolver.h +0 -63
- data/deps/include/bullet/BulletSoftBody/btSoftBody.h +0 -987
- data/deps/include/bullet/BulletSoftBody/btSoftBodyConcaveCollisionAlgorithm.h +0 -153
- data/deps/include/bullet/BulletSoftBody/btSoftBodyData.h +0 -217
- data/deps/include/bullet/BulletSoftBody/btSoftBodyHelpers.h +0 -143
- data/deps/include/bullet/BulletSoftBody/btSoftBodyInternals.h +0 -930
- data/deps/include/bullet/BulletSoftBody/btSoftBodyRigidBodyCollisionConfiguration.h +0 -48
- data/deps/include/bullet/BulletSoftBody/btSoftBodySolverVertexBuffer.h +0 -165
- data/deps/include/bullet/BulletSoftBody/btSoftBodySolvers.h +0 -154
- data/deps/include/bullet/BulletSoftBody/btSoftRigidCollisionAlgorithm.h +0 -75
- data/deps/include/bullet/BulletSoftBody/btSoftRigidDynamicsWorld.h +0 -107
- data/deps/include/bullet/BulletSoftBody/btSoftSoftCollisionAlgorithm.h +0 -69
- data/deps/include/bullet/BulletSoftBody/btSparseSDF.h +0 -306
- data/deps/include/bullet/LinearMath/btAabbUtil2.h +0 -236
- data/deps/include/bullet/LinearMath/btAlignedAllocator.h +0 -107
- data/deps/include/bullet/LinearMath/btAlignedObjectArray.h +0 -494
- data/deps/include/bullet/LinearMath/btConvexHull.h +0 -241
- data/deps/include/bullet/LinearMath/btConvexHullComputer.h +0 -103
- data/deps/include/bullet/LinearMath/btDefaultMotionState.h +0 -40
- data/deps/include/bullet/LinearMath/btGeometryUtil.h +0 -42
- data/deps/include/bullet/LinearMath/btGrahamScan2dConvexHull.h +0 -110
- data/deps/include/bullet/LinearMath/btHashMap.h +0 -450
- data/deps/include/bullet/LinearMath/btIDebugDraw.h +0 -418
- data/deps/include/bullet/LinearMath/btList.h +0 -73
- data/deps/include/bullet/LinearMath/btMatrix3x3.h +0 -771
- data/deps/include/bullet/LinearMath/btMinMax.h +0 -71
- data/deps/include/bullet/LinearMath/btMotionState.h +0 -40
- data/deps/include/bullet/LinearMath/btPoolAllocator.h +0 -121
- data/deps/include/bullet/LinearMath/btQuadWord.h +0 -180
- data/deps/include/bullet/LinearMath/btQuaternion.h +0 -430
- data/deps/include/bullet/LinearMath/btQuickprof.h +0 -203
- data/deps/include/bullet/LinearMath/btRandom.h +0 -42
- data/deps/include/bullet/LinearMath/btScalar.h +0 -539
- data/deps/include/bullet/LinearMath/btSerializer.h +0 -639
- data/deps/include/bullet/LinearMath/btStackAlloc.h +0 -116
- data/deps/include/bullet/LinearMath/btTransform.h +0 -307
- data/deps/include/bullet/LinearMath/btTransformUtil.h +0 -228
- data/deps/include/bullet/LinearMath/btVector3.h +0 -766
- data/deps/include/bullet/MiniCL/MiniCLTask/MiniCLTask.h +0 -62
- data/deps/include/bullet/MiniCL/MiniCLTaskScheduler.h +0 -194
- data/deps/include/bullet/MiniCL/cl.h +0 -867
- data/deps/include/bullet/MiniCL/cl_MiniCL_Defs.h +0 -439
- data/deps/include/bullet/MiniCL/cl_gl.h +0 -113
- data/deps/include/bullet/MiniCL/cl_platform.h +0 -254
- data/deps/include/bullet/btBulletCollisionCommon.h +0 -69
- data/deps/include/bullet/btBulletDynamicsCommon.h +0 -48
- data/deps/include/bullet/vectormath/scalar/boolInVec.h +0 -225
- data/deps/include/bullet/vectormath/scalar/floatInVec.h +0 -343
- data/deps/include/bullet/vectormath/scalar/mat_aos.h +0 -1630
- data/deps/include/bullet/vectormath/scalar/quat_aos.h +0 -433
- data/deps/include/bullet/vectormath/scalar/vec_aos.h +0 -1426
- data/deps/include/bullet/vectormath/scalar/vectormath_aos.h +0 -1872
- data/deps/include/bullet/vectormath/sse/boolInVec.h +0 -247
- data/deps/include/bullet/vectormath/sse/floatInVec.h +0 -340
- data/deps/include/bullet/vectormath/sse/mat_aos.h +0 -2190
- data/deps/include/bullet/vectormath/sse/quat_aos.h +0 -579
- data/deps/include/bullet/vectormath/sse/vec_aos.h +0 -1455
- data/deps/include/bullet/vectormath/sse/vecidx_aos.h +0 -80
- data/deps/include/bullet/vectormath/sse/vectormath_aos.h +0 -2547
- data/deps/include/bullet/vectormath/vmInclude.h +0 -27
- data/deps/lib/libBulletCollision.a +0 -0
- data/deps/lib/libBulletDynamics.a +0 -0
- data/deps/lib/libBulletMultiThreaded.a +0 -0
- data/deps/lib/libBulletSoftBody.a +0 -0
- data/deps/lib/libBulletSoftBodySolvers_OpenCL_Mini.a +0 -0
- data/deps/lib/libLinearMath.a +0 -0
- data/deps/lib/libMiniCL.a +0 -0
@@ -1,163 +0,0 @@
|
|
1
|
-
/*! \file btGenericPoolAllocator.h
|
2
|
-
\author Francisco Leon Najera. email projectileman@yahoo.com
|
3
|
-
|
4
|
-
General purpose allocator class
|
5
|
-
*/
|
6
|
-
/*
|
7
|
-
Bullet Continuous Collision Detection and Physics Library
|
8
|
-
Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/
|
9
|
-
|
10
|
-
This software is provided 'as-is', without any express or implied warranty.
|
11
|
-
In no event will the authors be held liable for any damages arising from the use of this software.
|
12
|
-
Permission is granted to anyone to use this software for any purpose,
|
13
|
-
including commercial applications, and to alter it and redistribute it freely,
|
14
|
-
subject to the following restrictions:
|
15
|
-
|
16
|
-
1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
|
17
|
-
2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
|
18
|
-
3. This notice may not be removed or altered from any source distribution.
|
19
|
-
*/
|
20
|
-
|
21
|
-
#ifndef BT_GENERIC_POOL_ALLOCATOR_H
|
22
|
-
#define BT_GENERIC_POOL_ALLOCATOR_H
|
23
|
-
|
24
|
-
#include <limits.h>
|
25
|
-
#include <stdio.h>
|
26
|
-
#include <string.h>
|
27
|
-
#include "LinearMath/btAlignedAllocator.h"
|
28
|
-
|
29
|
-
#define BT_UINT_MAX UINT_MAX
|
30
|
-
#define BT_DEFAULT_MAX_POOLS 16
|
31
|
-
|
32
|
-
|
33
|
-
//! Generic Pool class
|
34
|
-
class btGenericMemoryPool
|
35
|
-
{
|
36
|
-
public:
|
37
|
-
unsigned char * m_pool; //[m_element_size*m_max_element_count];
|
38
|
-
size_t * m_free_nodes; //[m_max_element_count];//! free nodes
|
39
|
-
size_t * m_allocated_sizes;//[m_max_element_count];//! Number of elements allocated per node
|
40
|
-
size_t m_allocated_count;
|
41
|
-
size_t m_free_nodes_count;
|
42
|
-
protected:
|
43
|
-
size_t m_element_size;
|
44
|
-
size_t m_max_element_count;
|
45
|
-
|
46
|
-
size_t allocate_from_free_nodes(size_t num_elements);
|
47
|
-
size_t allocate_from_pool(size_t num_elements);
|
48
|
-
|
49
|
-
public:
|
50
|
-
|
51
|
-
void init_pool(size_t element_size, size_t element_count);
|
52
|
-
|
53
|
-
void end_pool();
|
54
|
-
|
55
|
-
|
56
|
-
btGenericMemoryPool(size_t element_size, size_t element_count)
|
57
|
-
{
|
58
|
-
init_pool(element_size, element_count);
|
59
|
-
}
|
60
|
-
|
61
|
-
~btGenericMemoryPool()
|
62
|
-
{
|
63
|
-
end_pool();
|
64
|
-
}
|
65
|
-
|
66
|
-
|
67
|
-
inline size_t get_pool_capacity()
|
68
|
-
{
|
69
|
-
return m_element_size*m_max_element_count;
|
70
|
-
}
|
71
|
-
|
72
|
-
inline size_t gem_element_size()
|
73
|
-
{
|
74
|
-
return m_element_size;
|
75
|
-
}
|
76
|
-
|
77
|
-
inline size_t get_max_element_count()
|
78
|
-
{
|
79
|
-
return m_max_element_count;
|
80
|
-
}
|
81
|
-
|
82
|
-
inline size_t get_allocated_count()
|
83
|
-
{
|
84
|
-
return m_allocated_count;
|
85
|
-
}
|
86
|
-
|
87
|
-
inline size_t get_free_positions_count()
|
88
|
-
{
|
89
|
-
return m_free_nodes_count;
|
90
|
-
}
|
91
|
-
|
92
|
-
inline void * get_element_data(size_t element_index)
|
93
|
-
{
|
94
|
-
return &m_pool[element_index*m_element_size];
|
95
|
-
}
|
96
|
-
|
97
|
-
//! Allocates memory in pool
|
98
|
-
/*!
|
99
|
-
\param size_bytes size in bytes of the buffer
|
100
|
-
*/
|
101
|
-
void * allocate(size_t size_bytes);
|
102
|
-
|
103
|
-
bool freeMemory(void * pointer);
|
104
|
-
};
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
//! Generic Allocator with pools
|
110
|
-
/*!
|
111
|
-
General purpose Allocator which can create Memory Pools dynamiacally as needed.
|
112
|
-
*/
|
113
|
-
class btGenericPoolAllocator
|
114
|
-
{
|
115
|
-
protected:
|
116
|
-
size_t m_pool_element_size;
|
117
|
-
size_t m_pool_element_count;
|
118
|
-
public:
|
119
|
-
btGenericMemoryPool * m_pools[BT_DEFAULT_MAX_POOLS];
|
120
|
-
size_t m_pool_count;
|
121
|
-
|
122
|
-
|
123
|
-
inline size_t get_pool_capacity()
|
124
|
-
{
|
125
|
-
return m_pool_element_size*m_pool_element_count;
|
126
|
-
}
|
127
|
-
|
128
|
-
|
129
|
-
protected:
|
130
|
-
// creates a pool
|
131
|
-
btGenericMemoryPool * push_new_pool();
|
132
|
-
|
133
|
-
void * failback_alloc(size_t size_bytes);
|
134
|
-
|
135
|
-
bool failback_free(void * pointer);
|
136
|
-
public:
|
137
|
-
|
138
|
-
btGenericPoolAllocator(size_t pool_element_size, size_t pool_element_count)
|
139
|
-
{
|
140
|
-
m_pool_count = 0;
|
141
|
-
m_pool_element_size = pool_element_size;
|
142
|
-
m_pool_element_count = pool_element_count;
|
143
|
-
}
|
144
|
-
|
145
|
-
virtual ~btGenericPoolAllocator();
|
146
|
-
|
147
|
-
//! Allocates memory in pool
|
148
|
-
/*!
|
149
|
-
\param size_bytes size in bytes of the buffer
|
150
|
-
*/
|
151
|
-
void * allocate(size_t size_bytes);
|
152
|
-
|
153
|
-
bool freeMemory(void * pointer);
|
154
|
-
};
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
void * btPoolAlloc(size_t size);
|
159
|
-
void * btPoolRealloc(void *ptr, size_t oldsize, size_t newsize);
|
160
|
-
void btPoolFree(void *ptr);
|
161
|
-
|
162
|
-
|
163
|
-
#endif
|
@@ -1,212 +0,0 @@
|
|
1
|
-
#ifndef BT_BASIC_GEOMETRY_OPERATIONS_H_INCLUDED
|
2
|
-
#define BT_BASIC_GEOMETRY_OPERATIONS_H_INCLUDED
|
3
|
-
|
4
|
-
/*! \file btGeometryOperations.h
|
5
|
-
*\author Francisco Leon Najera
|
6
|
-
|
7
|
-
*/
|
8
|
-
/*
|
9
|
-
This source file is part of GIMPACT Library.
|
10
|
-
|
11
|
-
For the latest info, see http://gimpact.sourceforge.net/
|
12
|
-
|
13
|
-
Copyright (c) 2007 Francisco Leon Najera. C.C. 80087371.
|
14
|
-
email: projectileman@yahoo.com
|
15
|
-
|
16
|
-
|
17
|
-
This software is provided 'as-is', without any express or implied warranty.
|
18
|
-
In no event will the authors be held liable for any damages arising from the use of this software.
|
19
|
-
Permission is granted to anyone to use this software for any purpose,
|
20
|
-
including commercial applications, and to alter it and redistribute it freely,
|
21
|
-
subject to the following restrictions:
|
22
|
-
|
23
|
-
1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
|
24
|
-
2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
|
25
|
-
3. This notice may not be removed or altered from any source distribution.
|
26
|
-
*/
|
27
|
-
|
28
|
-
#include "btBoxCollision.h"
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
#define PLANEDIREPSILON 0.0000001f
|
35
|
-
#define PARALELENORMALS 0.000001f
|
36
|
-
|
37
|
-
|
38
|
-
#define BT_CLAMP(number,minval,maxval) (number<minval?minval:(number>maxval?maxval:number))
|
39
|
-
|
40
|
-
/// Calc a plane from a triangle edge an a normal. plane is a vec4f
|
41
|
-
SIMD_FORCE_INLINE void bt_edge_plane(const btVector3 & e1,const btVector3 & e2, const btVector3 & normal,btVector4 & plane)
|
42
|
-
{
|
43
|
-
btVector3 planenormal = (e2-e1).cross(normal);
|
44
|
-
planenormal.normalize();
|
45
|
-
plane.setValue(planenormal[0],planenormal[1],planenormal[2],e2.dot(planenormal));
|
46
|
-
}
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
//***************** SEGMENT and LINE FUNCTIONS **********************************///
|
51
|
-
|
52
|
-
/*! Finds the closest point(cp) to (v) on a segment (e1,e2)
|
53
|
-
*/
|
54
|
-
SIMD_FORCE_INLINE void bt_closest_point_on_segment(
|
55
|
-
btVector3 & cp, const btVector3 & v,
|
56
|
-
const btVector3 &e1,const btVector3 &e2)
|
57
|
-
{
|
58
|
-
btVector3 n = e2-e1;
|
59
|
-
cp = v - e1;
|
60
|
-
btScalar _scalar = cp.dot(n)/n.dot(n);
|
61
|
-
if(_scalar <0.0f)
|
62
|
-
{
|
63
|
-
cp = e1;
|
64
|
-
}
|
65
|
-
else if(_scalar >1.0f)
|
66
|
-
{
|
67
|
-
cp = e2;
|
68
|
-
}
|
69
|
-
else
|
70
|
-
{
|
71
|
-
cp = _scalar*n + e1;
|
72
|
-
}
|
73
|
-
}
|
74
|
-
|
75
|
-
|
76
|
-
//! line plane collision
|
77
|
-
/*!
|
78
|
-
*\return
|
79
|
-
-0 if the ray never intersects
|
80
|
-
-1 if the ray collides in front
|
81
|
-
-2 if the ray collides in back
|
82
|
-
*/
|
83
|
-
|
84
|
-
SIMD_FORCE_INLINE int bt_line_plane_collision(
|
85
|
-
const btVector4 & plane,
|
86
|
-
const btVector3 & vDir,
|
87
|
-
const btVector3 & vPoint,
|
88
|
-
btVector3 & pout,
|
89
|
-
btScalar &tparam,
|
90
|
-
btScalar tmin, btScalar tmax)
|
91
|
-
{
|
92
|
-
|
93
|
-
btScalar _dotdir = vDir.dot(plane);
|
94
|
-
|
95
|
-
if(btFabs(_dotdir)<PLANEDIREPSILON)
|
96
|
-
{
|
97
|
-
tparam = tmax;
|
98
|
-
return 0;
|
99
|
-
}
|
100
|
-
|
101
|
-
btScalar _dis = bt_distance_point_plane(plane,vPoint);
|
102
|
-
char returnvalue = _dis<0.0f? 2:1;
|
103
|
-
tparam = -_dis/_dotdir;
|
104
|
-
|
105
|
-
if(tparam<tmin)
|
106
|
-
{
|
107
|
-
returnvalue = 0;
|
108
|
-
tparam = tmin;
|
109
|
-
}
|
110
|
-
else if(tparam>tmax)
|
111
|
-
{
|
112
|
-
returnvalue = 0;
|
113
|
-
tparam = tmax;
|
114
|
-
}
|
115
|
-
pout = tparam*vDir + vPoint;
|
116
|
-
return returnvalue;
|
117
|
-
}
|
118
|
-
|
119
|
-
|
120
|
-
//! Find closest points on segments
|
121
|
-
SIMD_FORCE_INLINE void bt_segment_collision(
|
122
|
-
const btVector3 & vA1,
|
123
|
-
const btVector3 & vA2,
|
124
|
-
const btVector3 & vB1,
|
125
|
-
const btVector3 & vB2,
|
126
|
-
btVector3 & vPointA,
|
127
|
-
btVector3 & vPointB)
|
128
|
-
{
|
129
|
-
btVector3 AD = vA2 - vA1;
|
130
|
-
btVector3 BD = vB2 - vB1;
|
131
|
-
btVector3 N = AD.cross(BD);
|
132
|
-
btScalar tp = N.length2();
|
133
|
-
|
134
|
-
btVector4 _M;//plane
|
135
|
-
|
136
|
-
if(tp<SIMD_EPSILON)//ARE PARALELE
|
137
|
-
{
|
138
|
-
//project B over A
|
139
|
-
bool invert_b_order = false;
|
140
|
-
_M[0] = vB1.dot(AD);
|
141
|
-
_M[1] = vB2.dot(AD);
|
142
|
-
|
143
|
-
if(_M[0]>_M[1])
|
144
|
-
{
|
145
|
-
invert_b_order = true;
|
146
|
-
BT_SWAP_NUMBERS(_M[0],_M[1]);
|
147
|
-
}
|
148
|
-
_M[2] = vA1.dot(AD);
|
149
|
-
_M[3] = vA2.dot(AD);
|
150
|
-
//mid points
|
151
|
-
N[0] = (_M[0]+_M[1])*0.5f;
|
152
|
-
N[1] = (_M[2]+_M[3])*0.5f;
|
153
|
-
|
154
|
-
if(N[0]<N[1])
|
155
|
-
{
|
156
|
-
if(_M[1]<_M[2])
|
157
|
-
{
|
158
|
-
vPointB = invert_b_order?vB1:vB2;
|
159
|
-
vPointA = vA1;
|
160
|
-
}
|
161
|
-
else if(_M[1]<_M[3])
|
162
|
-
{
|
163
|
-
vPointB = invert_b_order?vB1:vB2;
|
164
|
-
bt_closest_point_on_segment(vPointA,vPointB,vA1,vA2);
|
165
|
-
}
|
166
|
-
else
|
167
|
-
{
|
168
|
-
vPointA = vA2;
|
169
|
-
bt_closest_point_on_segment(vPointB,vPointA,vB1,vB2);
|
170
|
-
}
|
171
|
-
}
|
172
|
-
else
|
173
|
-
{
|
174
|
-
if(_M[3]<_M[0])
|
175
|
-
{
|
176
|
-
vPointB = invert_b_order?vB2:vB1;
|
177
|
-
vPointA = vA2;
|
178
|
-
}
|
179
|
-
else if(_M[3]<_M[1])
|
180
|
-
{
|
181
|
-
vPointA = vA2;
|
182
|
-
bt_closest_point_on_segment(vPointB,vPointA,vB1,vB2);
|
183
|
-
}
|
184
|
-
else
|
185
|
-
{
|
186
|
-
vPointB = invert_b_order?vB1:vB2;
|
187
|
-
bt_closest_point_on_segment(vPointA,vPointB,vA1,vA2);
|
188
|
-
}
|
189
|
-
}
|
190
|
-
return;
|
191
|
-
}
|
192
|
-
|
193
|
-
N = N.cross(BD);
|
194
|
-
_M.setValue(N[0],N[1],N[2],vB1.dot(N));
|
195
|
-
|
196
|
-
// get point A as the plane collision point
|
197
|
-
bt_line_plane_collision(_M,AD,vA1,vPointA,tp,btScalar(0), btScalar(1));
|
198
|
-
|
199
|
-
/*Closest point on segment*/
|
200
|
-
vPointB = vPointA - vB1;
|
201
|
-
tp = vPointB.dot(BD);
|
202
|
-
tp/= BD.dot(BD);
|
203
|
-
tp = BT_CLAMP(tp,0.0f,1.0f);
|
204
|
-
|
205
|
-
vPointB = tp*BD + vB1;
|
206
|
-
}
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
#endif // GIM_VECTOR_H_INCLUDED
|
@@ -1,88 +0,0 @@
|
|
1
|
-
#ifndef BT_GIMPACT_QUANTIZATION_H_INCLUDED
|
2
|
-
#define BT_GIMPACT_QUANTIZATION_H_INCLUDED
|
3
|
-
|
4
|
-
/*! \file btQuantization.h
|
5
|
-
*\author Francisco Leon Najera
|
6
|
-
|
7
|
-
*/
|
8
|
-
/*
|
9
|
-
This source file is part of GIMPACT Library.
|
10
|
-
|
11
|
-
For the latest info, see http://gimpact.sourceforge.net/
|
12
|
-
|
13
|
-
Copyright (c) 2007 Francisco Leon Najera. C.C. 80087371.
|
14
|
-
email: projectileman@yahoo.com
|
15
|
-
|
16
|
-
|
17
|
-
This software is provided 'as-is', without any express or implied warranty.
|
18
|
-
In no event will the authors be held liable for any damages arising from the use of this software.
|
19
|
-
Permission is granted to anyone to use this software for any purpose,
|
20
|
-
including commercial applications, and to alter it and redistribute it freely,
|
21
|
-
subject to the following restrictions:
|
22
|
-
|
23
|
-
1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
|
24
|
-
2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
|
25
|
-
3. This notice may not be removed or altered from any source distribution.
|
26
|
-
*/
|
27
|
-
|
28
|
-
#include "LinearMath/btTransform.h"
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
SIMD_FORCE_INLINE void bt_calc_quantization_parameters(
|
36
|
-
btVector3 & outMinBound,
|
37
|
-
btVector3 & outMaxBound,
|
38
|
-
btVector3 & bvhQuantization,
|
39
|
-
const btVector3& srcMinBound,const btVector3& srcMaxBound,
|
40
|
-
btScalar quantizationMargin)
|
41
|
-
{
|
42
|
-
//enlarge the AABB to avoid division by zero when initializing the quantization values
|
43
|
-
btVector3 clampValue(quantizationMargin,quantizationMargin,quantizationMargin);
|
44
|
-
outMinBound = srcMinBound - clampValue;
|
45
|
-
outMaxBound = srcMaxBound + clampValue;
|
46
|
-
btVector3 aabbSize = outMaxBound - outMinBound;
|
47
|
-
bvhQuantization = btVector3(btScalar(65535.0),
|
48
|
-
btScalar(65535.0),
|
49
|
-
btScalar(65535.0)) / aabbSize;
|
50
|
-
}
|
51
|
-
|
52
|
-
|
53
|
-
SIMD_FORCE_INLINE void bt_quantize_clamp(
|
54
|
-
unsigned short* out,
|
55
|
-
const btVector3& point,
|
56
|
-
const btVector3 & min_bound,
|
57
|
-
const btVector3 & max_bound,
|
58
|
-
const btVector3 & bvhQuantization)
|
59
|
-
{
|
60
|
-
|
61
|
-
btVector3 clampedPoint(point);
|
62
|
-
clampedPoint.setMax(min_bound);
|
63
|
-
clampedPoint.setMin(max_bound);
|
64
|
-
|
65
|
-
btVector3 v = (clampedPoint - min_bound) * bvhQuantization;
|
66
|
-
out[0] = (unsigned short)(v.getX()+0.5f);
|
67
|
-
out[1] = (unsigned short)(v.getY()+0.5f);
|
68
|
-
out[2] = (unsigned short)(v.getZ()+0.5f);
|
69
|
-
}
|
70
|
-
|
71
|
-
|
72
|
-
SIMD_FORCE_INLINE btVector3 bt_unquantize(
|
73
|
-
const unsigned short* vecIn,
|
74
|
-
const btVector3 & offset,
|
75
|
-
const btVector3 & bvhQuantization)
|
76
|
-
{
|
77
|
-
btVector3 vecOut;
|
78
|
-
vecOut.setValue(
|
79
|
-
(btScalar)(vecIn[0]) / (bvhQuantization.getX()),
|
80
|
-
(btScalar)(vecIn[1]) / (bvhQuantization.getY()),
|
81
|
-
(btScalar)(vecIn[2]) / (bvhQuantization.getZ()));
|
82
|
-
vecOut += offset;
|
83
|
-
return vecOut;
|
84
|
-
}
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
#endif // BT_GIMPACT_QUANTIZATION_H_INCLUDED
|
@@ -1,180 +0,0 @@
|
|
1
|
-
/*! \file btGImpactShape.h
|
2
|
-
\author Francisco Leon Najera
|
3
|
-
*/
|
4
|
-
/*
|
5
|
-
This source file is part of GIMPACT Library.
|
6
|
-
|
7
|
-
For the latest info, see http://gimpact.sourceforge.net/
|
8
|
-
|
9
|
-
Copyright (c) 2007 Francisco Leon Najera. C.C. 80087371.
|
10
|
-
email: projectileman@yahoo.com
|
11
|
-
|
12
|
-
|
13
|
-
This software is provided 'as-is', without any express or implied warranty.
|
14
|
-
In no event will the authors be held liable for any damages arising from the use of this software.
|
15
|
-
Permission is granted to anyone to use this software for any purpose,
|
16
|
-
including commercial applications, and to alter it and redistribute it freely,
|
17
|
-
subject to the following restrictions:
|
18
|
-
|
19
|
-
1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
|
20
|
-
2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
|
21
|
-
3. This notice may not be removed or altered from any source distribution.
|
22
|
-
*/
|
23
|
-
|
24
|
-
|
25
|
-
#ifndef GIMPACT_TRIANGLE_SHAPE_EX_H
|
26
|
-
#define GIMPACT_TRIANGLE_SHAPE_EX_H
|
27
|
-
|
28
|
-
#include "BulletCollision/CollisionShapes/btCollisionShape.h"
|
29
|
-
#include "BulletCollision/CollisionShapes/btTriangleShape.h"
|
30
|
-
#include "btBoxCollision.h"
|
31
|
-
#include "btClipPolygon.h"
|
32
|
-
#include "btGeometryOperations.h"
|
33
|
-
|
34
|
-
|
35
|
-
#define MAX_TRI_CLIPPING 16
|
36
|
-
|
37
|
-
//! Structure for collision
|
38
|
-
struct GIM_TRIANGLE_CONTACT
|
39
|
-
{
|
40
|
-
btScalar m_penetration_depth;
|
41
|
-
int m_point_count;
|
42
|
-
btVector4 m_separating_normal;
|
43
|
-
btVector3 m_points[MAX_TRI_CLIPPING];
|
44
|
-
|
45
|
-
SIMD_FORCE_INLINE void copy_from(const GIM_TRIANGLE_CONTACT& other)
|
46
|
-
{
|
47
|
-
m_penetration_depth = other.m_penetration_depth;
|
48
|
-
m_separating_normal = other.m_separating_normal;
|
49
|
-
m_point_count = other.m_point_count;
|
50
|
-
int i = m_point_count;
|
51
|
-
while(i--)
|
52
|
-
{
|
53
|
-
m_points[i] = other.m_points[i];
|
54
|
-
}
|
55
|
-
}
|
56
|
-
|
57
|
-
GIM_TRIANGLE_CONTACT()
|
58
|
-
{
|
59
|
-
}
|
60
|
-
|
61
|
-
GIM_TRIANGLE_CONTACT(const GIM_TRIANGLE_CONTACT& other)
|
62
|
-
{
|
63
|
-
copy_from(other);
|
64
|
-
}
|
65
|
-
|
66
|
-
//! classify points that are closer
|
67
|
-
void merge_points(const btVector4 & plane,
|
68
|
-
btScalar margin, const btVector3 * points, int point_count);
|
69
|
-
|
70
|
-
};
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
class btPrimitiveTriangle
|
75
|
-
{
|
76
|
-
public:
|
77
|
-
btVector3 m_vertices[3];
|
78
|
-
btVector4 m_plane;
|
79
|
-
btScalar m_margin;
|
80
|
-
btScalar m_dummy;
|
81
|
-
btPrimitiveTriangle():m_margin(0.01f)
|
82
|
-
{
|
83
|
-
|
84
|
-
}
|
85
|
-
|
86
|
-
|
87
|
-
SIMD_FORCE_INLINE void buildTriPlane()
|
88
|
-
{
|
89
|
-
btVector3 normal = (m_vertices[1]-m_vertices[0]).cross(m_vertices[2]-m_vertices[0]);
|
90
|
-
normal.normalize();
|
91
|
-
m_plane.setValue(normal[0],normal[1],normal[2],m_vertices[0].dot(normal));
|
92
|
-
}
|
93
|
-
|
94
|
-
//! Test if triangles could collide
|
95
|
-
bool overlap_test_conservative(const btPrimitiveTriangle& other);
|
96
|
-
|
97
|
-
//! Calcs the plane which is paralele to the edge and perpendicular to the triangle plane
|
98
|
-
/*!
|
99
|
-
\pre this triangle must have its plane calculated.
|
100
|
-
*/
|
101
|
-
SIMD_FORCE_INLINE void get_edge_plane(int edge_index, btVector4 &plane) const
|
102
|
-
{
|
103
|
-
const btVector3 & e0 = m_vertices[edge_index];
|
104
|
-
const btVector3 & e1 = m_vertices[(edge_index+1)%3];
|
105
|
-
bt_edge_plane(e0,e1,m_plane,plane);
|
106
|
-
}
|
107
|
-
|
108
|
-
void applyTransform(const btTransform& t)
|
109
|
-
{
|
110
|
-
m_vertices[0] = t(m_vertices[0]);
|
111
|
-
m_vertices[1] = t(m_vertices[1]);
|
112
|
-
m_vertices[2] = t(m_vertices[2]);
|
113
|
-
}
|
114
|
-
|
115
|
-
//! Clips the triangle against this
|
116
|
-
/*!
|
117
|
-
\pre clipped_points must have MAX_TRI_CLIPPING size, and this triangle must have its plane calculated.
|
118
|
-
\return the number of clipped points
|
119
|
-
*/
|
120
|
-
int clip_triangle(btPrimitiveTriangle & other, btVector3 * clipped_points );
|
121
|
-
|
122
|
-
//! Find collision using the clipping method
|
123
|
-
/*!
|
124
|
-
\pre this triangle and other must have their triangles calculated
|
125
|
-
*/
|
126
|
-
bool find_triangle_collision_clip_method(btPrimitiveTriangle & other, GIM_TRIANGLE_CONTACT & contacts);
|
127
|
-
};
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
//! Helper class for colliding Bullet Triangle Shapes
|
132
|
-
/*!
|
133
|
-
This class implements a better getAabb method than the previous btTriangleShape class
|
134
|
-
*/
|
135
|
-
class btTriangleShapeEx: public btTriangleShape
|
136
|
-
{
|
137
|
-
public:
|
138
|
-
|
139
|
-
btTriangleShapeEx():btTriangleShape(btVector3(0,0,0),btVector3(0,0,0),btVector3(0,0,0))
|
140
|
-
{
|
141
|
-
}
|
142
|
-
|
143
|
-
btTriangleShapeEx(const btVector3& p0,const btVector3& p1,const btVector3& p2): btTriangleShape(p0,p1,p2)
|
144
|
-
{
|
145
|
-
}
|
146
|
-
|
147
|
-
btTriangleShapeEx(const btTriangleShapeEx & other): btTriangleShape(other.m_vertices1[0],other.m_vertices1[1],other.m_vertices1[2])
|
148
|
-
{
|
149
|
-
}
|
150
|
-
|
151
|
-
virtual void getAabb(const btTransform& t,btVector3& aabbMin,btVector3& aabbMax)const
|
152
|
-
{
|
153
|
-
btVector3 tv0 = t(m_vertices1[0]);
|
154
|
-
btVector3 tv1 = t(m_vertices1[1]);
|
155
|
-
btVector3 tv2 = t(m_vertices1[2]);
|
156
|
-
|
157
|
-
btAABB trianglebox(tv0,tv1,tv2,m_collisionMargin);
|
158
|
-
aabbMin = trianglebox.m_min;
|
159
|
-
aabbMax = trianglebox.m_max;
|
160
|
-
}
|
161
|
-
|
162
|
-
void applyTransform(const btTransform& t)
|
163
|
-
{
|
164
|
-
m_vertices1[0] = t(m_vertices1[0]);
|
165
|
-
m_vertices1[1] = t(m_vertices1[1]);
|
166
|
-
m_vertices1[2] = t(m_vertices1[2]);
|
167
|
-
}
|
168
|
-
|
169
|
-
SIMD_FORCE_INLINE void buildTriPlane(btVector4 & plane) const
|
170
|
-
{
|
171
|
-
btVector3 normal = (m_vertices1[1]-m_vertices1[0]).cross(m_vertices1[2]-m_vertices1[0]);
|
172
|
-
normal.normalize();
|
173
|
-
plane.setValue(normal[0],normal[1],normal[2],m_vertices1[0].dot(normal));
|
174
|
-
}
|
175
|
-
|
176
|
-
bool overlap_test_conservative(const btTriangleShapeEx& other);
|
177
|
-
};
|
178
|
-
|
179
|
-
|
180
|
-
#endif //GIMPACT_TRIANGLE_MESH_SHAPE_H
|