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,379 +0,0 @@
|
|
1
|
-
#ifndef GIM_TRI_COLLISION_H_INCLUDED
|
2
|
-
#define GIM_TRI_COLLISION_H_INCLUDED
|
3
|
-
|
4
|
-
/*! \file gim_tri_collision.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) 2006 Francisco Leon Najera. C.C. 80087371.
|
14
|
-
email: projectileman@yahoo.com
|
15
|
-
|
16
|
-
This library is free software; you can redistribute it and/or
|
17
|
-
modify it under the terms of EITHER:
|
18
|
-
(1) The GNU Lesser General Public License as published by the Free
|
19
|
-
Software Foundation; either version 2.1 of the License, or (at
|
20
|
-
your option) any later version. The text of the GNU Lesser
|
21
|
-
General Public License is included with this library in the
|
22
|
-
file GIMPACT-LICENSE-LGPL.TXT.
|
23
|
-
(2) The BSD-style license that is included with this library in
|
24
|
-
the file GIMPACT-LICENSE-BSD.TXT.
|
25
|
-
(3) The zlib/libpng license that is included with this library in
|
26
|
-
the file GIMPACT-LICENSE-ZLIB.TXT.
|
27
|
-
|
28
|
-
This library is distributed in the hope that it will be useful,
|
29
|
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
30
|
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files
|
31
|
-
GIMPACT-LICENSE-LGPL.TXT, GIMPACT-LICENSE-ZLIB.TXT and GIMPACT-LICENSE-BSD.TXT for more details.
|
32
|
-
|
33
|
-
-----------------------------------------------------------------------------
|
34
|
-
*/
|
35
|
-
|
36
|
-
#include "gim_box_collision.h"
|
37
|
-
#include "gim_clip_polygon.h"
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
#define MAX_TRI_CLIPPING 16
|
43
|
-
|
44
|
-
//! Structure for collision
|
45
|
-
struct GIM_TRIANGLE_CONTACT_DATA
|
46
|
-
{
|
47
|
-
GREAL m_penetration_depth;
|
48
|
-
GUINT m_point_count;
|
49
|
-
btVector4 m_separating_normal;
|
50
|
-
btVector3 m_points[MAX_TRI_CLIPPING];
|
51
|
-
|
52
|
-
SIMD_FORCE_INLINE void copy_from(const GIM_TRIANGLE_CONTACT_DATA& other)
|
53
|
-
{
|
54
|
-
m_penetration_depth = other.m_penetration_depth;
|
55
|
-
m_separating_normal = other.m_separating_normal;
|
56
|
-
m_point_count = other.m_point_count;
|
57
|
-
GUINT i = m_point_count;
|
58
|
-
while(i--)
|
59
|
-
{
|
60
|
-
m_points[i] = other.m_points[i];
|
61
|
-
}
|
62
|
-
}
|
63
|
-
|
64
|
-
GIM_TRIANGLE_CONTACT_DATA()
|
65
|
-
{
|
66
|
-
}
|
67
|
-
|
68
|
-
GIM_TRIANGLE_CONTACT_DATA(const GIM_TRIANGLE_CONTACT_DATA& other)
|
69
|
-
{
|
70
|
-
copy_from(other);
|
71
|
-
}
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
//! classify points that are closer
|
77
|
-
template<typename DISTANCE_FUNC,typename CLASS_PLANE>
|
78
|
-
SIMD_FORCE_INLINE void mergepoints_generic(const CLASS_PLANE & plane,
|
79
|
-
GREAL margin, const btVector3 * points, GUINT point_count, DISTANCE_FUNC distance_func)
|
80
|
-
{
|
81
|
-
m_point_count = 0;
|
82
|
-
m_penetration_depth= -1000.0f;
|
83
|
-
|
84
|
-
GUINT point_indices[MAX_TRI_CLIPPING];
|
85
|
-
|
86
|
-
GUINT _k;
|
87
|
-
|
88
|
-
for(_k=0;_k<point_count;_k++)
|
89
|
-
{
|
90
|
-
GREAL _dist = -distance_func(plane,points[_k]) + margin;
|
91
|
-
|
92
|
-
if(_dist>=0.0f)
|
93
|
-
{
|
94
|
-
if(_dist>m_penetration_depth)
|
95
|
-
{
|
96
|
-
m_penetration_depth = _dist;
|
97
|
-
point_indices[0] = _k;
|
98
|
-
m_point_count=1;
|
99
|
-
}
|
100
|
-
else if((_dist+G_EPSILON)>=m_penetration_depth)
|
101
|
-
{
|
102
|
-
point_indices[m_point_count] = _k;
|
103
|
-
m_point_count++;
|
104
|
-
}
|
105
|
-
}
|
106
|
-
}
|
107
|
-
|
108
|
-
for( _k=0;_k<m_point_count;_k++)
|
109
|
-
{
|
110
|
-
m_points[_k] = points[point_indices[_k]];
|
111
|
-
}
|
112
|
-
}
|
113
|
-
|
114
|
-
//! classify points that are closer
|
115
|
-
SIMD_FORCE_INLINE void merge_points(const btVector4 & plane, GREAL margin,
|
116
|
-
const btVector3 * points, GUINT point_count)
|
117
|
-
{
|
118
|
-
m_separating_normal = plane;
|
119
|
-
mergepoints_generic(plane, margin, points, point_count, DISTANCE_PLANE_3D_FUNC());
|
120
|
-
}
|
121
|
-
};
|
122
|
-
|
123
|
-
|
124
|
-
//! Class for colliding triangles
|
125
|
-
class GIM_TRIANGLE
|
126
|
-
{
|
127
|
-
public:
|
128
|
-
btScalar m_margin;
|
129
|
-
btVector3 m_vertices[3];
|
130
|
-
|
131
|
-
GIM_TRIANGLE():m_margin(0.1f)
|
132
|
-
{
|
133
|
-
}
|
134
|
-
|
135
|
-
SIMD_FORCE_INLINE GIM_AABB get_box() const
|
136
|
-
{
|
137
|
-
return GIM_AABB(m_vertices[0],m_vertices[1],m_vertices[2],m_margin);
|
138
|
-
}
|
139
|
-
|
140
|
-
SIMD_FORCE_INLINE void get_normal(btVector3 &normal) const
|
141
|
-
{
|
142
|
-
TRIANGLE_NORMAL(m_vertices[0],m_vertices[1],m_vertices[2],normal);
|
143
|
-
}
|
144
|
-
|
145
|
-
SIMD_FORCE_INLINE void get_plane(btVector4 &plane) const
|
146
|
-
{
|
147
|
-
TRIANGLE_PLANE(m_vertices[0],m_vertices[1],m_vertices[2],plane);;
|
148
|
-
}
|
149
|
-
|
150
|
-
SIMD_FORCE_INLINE void apply_transform(const btTransform & trans)
|
151
|
-
{
|
152
|
-
m_vertices[0] = trans(m_vertices[0]);
|
153
|
-
m_vertices[1] = trans(m_vertices[1]);
|
154
|
-
m_vertices[2] = trans(m_vertices[2]);
|
155
|
-
}
|
156
|
-
|
157
|
-
SIMD_FORCE_INLINE void get_edge_plane(GUINT edge_index,const btVector3 &triangle_normal,btVector4 &plane) const
|
158
|
-
{
|
159
|
-
const btVector3 & e0 = m_vertices[edge_index];
|
160
|
-
const btVector3 & e1 = m_vertices[(edge_index+1)%3];
|
161
|
-
EDGE_PLANE(e0,e1,triangle_normal,plane);
|
162
|
-
}
|
163
|
-
|
164
|
-
//! Gets the relative transformation of this triangle
|
165
|
-
/*!
|
166
|
-
The transformation is oriented to the triangle normal , and aligned to the 1st edge of this triangle. The position corresponds to vertice 0:
|
167
|
-
- triangle normal corresponds to Z axis.
|
168
|
-
- 1st normalized edge corresponds to X axis,
|
169
|
-
|
170
|
-
*/
|
171
|
-
SIMD_FORCE_INLINE void get_triangle_transform(btTransform & triangle_transform) const
|
172
|
-
{
|
173
|
-
btMatrix3x3 & matrix = triangle_transform.getBasis();
|
174
|
-
|
175
|
-
btVector3 zaxis;
|
176
|
-
get_normal(zaxis);
|
177
|
-
MAT_SET_Z(matrix,zaxis);
|
178
|
-
|
179
|
-
btVector3 xaxis = m_vertices[1] - m_vertices[0];
|
180
|
-
VEC_NORMALIZE(xaxis);
|
181
|
-
MAT_SET_X(matrix,xaxis);
|
182
|
-
|
183
|
-
//y axis
|
184
|
-
xaxis = zaxis.cross(xaxis);
|
185
|
-
MAT_SET_Y(matrix,xaxis);
|
186
|
-
|
187
|
-
triangle_transform.setOrigin(m_vertices[0]);
|
188
|
-
}
|
189
|
-
|
190
|
-
|
191
|
-
//! Test triangles by finding separating axis
|
192
|
-
/*!
|
193
|
-
\param other Triangle for collide
|
194
|
-
\param contact_data Structure for holding contact points, normal and penetration depth; The normal is pointing toward this triangle from the other triangle
|
195
|
-
*/
|
196
|
-
bool collide_triangle_hard_test(
|
197
|
-
const GIM_TRIANGLE & other,
|
198
|
-
GIM_TRIANGLE_CONTACT_DATA & contact_data) const;
|
199
|
-
|
200
|
-
//! Test boxes before doing hard test
|
201
|
-
/*!
|
202
|
-
\param other Triangle for collide
|
203
|
-
\param contact_data Structure for holding contact points, normal and penetration depth; The normal is pointing toward this triangle from the other triangle
|
204
|
-
\
|
205
|
-
*/
|
206
|
-
SIMD_FORCE_INLINE bool collide_triangle(
|
207
|
-
const GIM_TRIANGLE & other,
|
208
|
-
GIM_TRIANGLE_CONTACT_DATA & contact_data) const
|
209
|
-
{
|
210
|
-
//test box collisioin
|
211
|
-
GIM_AABB boxu(m_vertices[0],m_vertices[1],m_vertices[2],m_margin);
|
212
|
-
GIM_AABB boxv(other.m_vertices[0],other.m_vertices[1],other.m_vertices[2],other.m_margin);
|
213
|
-
if(!boxu.has_collision(boxv)) return false;
|
214
|
-
|
215
|
-
//do hard test
|
216
|
-
return collide_triangle_hard_test(other,contact_data);
|
217
|
-
}
|
218
|
-
|
219
|
-
/*!
|
220
|
-
|
221
|
-
Solve the System for u,v parameters:
|
222
|
-
|
223
|
-
u*axe1[i1] + v*axe2[i1] = vecproj[i1]
|
224
|
-
u*axe1[i2] + v*axe2[i2] = vecproj[i2]
|
225
|
-
|
226
|
-
sustitute:
|
227
|
-
v = (vecproj[i2] - u*axe1[i2])/axe2[i2]
|
228
|
-
|
229
|
-
then the first equation in terms of 'u':
|
230
|
-
|
231
|
-
--> u*axe1[i1] + ((vecproj[i2] - u*axe1[i2])/axe2[i2])*axe2[i1] = vecproj[i1]
|
232
|
-
|
233
|
-
--> u*axe1[i1] + vecproj[i2]*axe2[i1]/axe2[i2] - u*axe1[i2]*axe2[i1]/axe2[i2] = vecproj[i1]
|
234
|
-
|
235
|
-
--> u*(axe1[i1] - axe1[i2]*axe2[i1]/axe2[i2]) = vecproj[i1] - vecproj[i2]*axe2[i1]/axe2[i2]
|
236
|
-
|
237
|
-
--> u*((axe1[i1]*axe2[i2] - axe1[i2]*axe2[i1])/axe2[i2]) = (vecproj[i1]*axe2[i2] - vecproj[i2]*axe2[i1])/axe2[i2]
|
238
|
-
|
239
|
-
--> u*(axe1[i1]*axe2[i2] - axe1[i2]*axe2[i1]) = vecproj[i1]*axe2[i2] - vecproj[i2]*axe2[i1]
|
240
|
-
|
241
|
-
--> u = (vecproj[i1]*axe2[i2] - vecproj[i2]*axe2[i1]) /(axe1[i1]*axe2[i2] - axe1[i2]*axe2[i1])
|
242
|
-
|
243
|
-
if 0.0<= u+v <=1.0 then they are inside of triangle
|
244
|
-
|
245
|
-
\return false if the point is outside of triangle.This function doesn't take the margin
|
246
|
-
*/
|
247
|
-
SIMD_FORCE_INLINE bool get_uv_parameters(
|
248
|
-
const btVector3 & point,
|
249
|
-
const btVector3 & tri_plane,
|
250
|
-
GREAL & u, GREAL & v) const
|
251
|
-
{
|
252
|
-
btVector3 _axe1 = m_vertices[1]-m_vertices[0];
|
253
|
-
btVector3 _axe2 = m_vertices[2]-m_vertices[0];
|
254
|
-
btVector3 _vecproj = point - m_vertices[0];
|
255
|
-
GUINT _i1 = (tri_plane.closestAxis()+1)%3;
|
256
|
-
GUINT _i2 = (_i1+1)%3;
|
257
|
-
if(btFabs(_axe2[_i2])<G_EPSILON)
|
258
|
-
{
|
259
|
-
u = (_vecproj[_i2]*_axe2[_i1] - _vecproj[_i1]*_axe2[_i2]) /(_axe1[_i2]*_axe2[_i1] - _axe1[_i1]*_axe2[_i2]);
|
260
|
-
v = (_vecproj[_i1] - u*_axe1[_i1])/_axe2[_i1];
|
261
|
-
}
|
262
|
-
else
|
263
|
-
{
|
264
|
-
u = (_vecproj[_i1]*_axe2[_i2] - _vecproj[_i2]*_axe2[_i1]) /(_axe1[_i1]*_axe2[_i2] - _axe1[_i2]*_axe2[_i1]);
|
265
|
-
v = (_vecproj[_i2] - u*_axe1[_i2])/_axe2[_i2];
|
266
|
-
}
|
267
|
-
|
268
|
-
if(u<-G_EPSILON)
|
269
|
-
{
|
270
|
-
return false;
|
271
|
-
}
|
272
|
-
else if(v<-G_EPSILON)
|
273
|
-
{
|
274
|
-
return false;
|
275
|
-
}
|
276
|
-
else
|
277
|
-
{
|
278
|
-
btScalar sumuv;
|
279
|
-
sumuv = u+v;
|
280
|
-
if(sumuv<-G_EPSILON)
|
281
|
-
{
|
282
|
-
return false;
|
283
|
-
}
|
284
|
-
else if(sumuv-1.0f>G_EPSILON)
|
285
|
-
{
|
286
|
-
return false;
|
287
|
-
}
|
288
|
-
}
|
289
|
-
return true;
|
290
|
-
}
|
291
|
-
|
292
|
-
//! is point in triangle beam?
|
293
|
-
/*!
|
294
|
-
Test if point is in triangle, with m_margin tolerance
|
295
|
-
*/
|
296
|
-
SIMD_FORCE_INLINE bool is_point_inside(const btVector3 & point, const btVector3 & tri_normal) const
|
297
|
-
{
|
298
|
-
//Test with edge 0
|
299
|
-
btVector4 edge_plane;
|
300
|
-
this->get_edge_plane(0,tri_normal,edge_plane);
|
301
|
-
GREAL dist = DISTANCE_PLANE_POINT(edge_plane,point);
|
302
|
-
if(dist-m_margin>0.0f) return false; // outside plane
|
303
|
-
|
304
|
-
this->get_edge_plane(1,tri_normal,edge_plane);
|
305
|
-
dist = DISTANCE_PLANE_POINT(edge_plane,point);
|
306
|
-
if(dist-m_margin>0.0f) return false; // outside plane
|
307
|
-
|
308
|
-
this->get_edge_plane(2,tri_normal,edge_plane);
|
309
|
-
dist = DISTANCE_PLANE_POINT(edge_plane,point);
|
310
|
-
if(dist-m_margin>0.0f) return false; // outside plane
|
311
|
-
return true;
|
312
|
-
}
|
313
|
-
|
314
|
-
|
315
|
-
//! Bidireccional ray collision
|
316
|
-
SIMD_FORCE_INLINE bool ray_collision(
|
317
|
-
const btVector3 & vPoint,
|
318
|
-
const btVector3 & vDir, btVector3 & pout, btVector3 & triangle_normal,
|
319
|
-
GREAL & tparam, GREAL tmax = G_REAL_INFINITY)
|
320
|
-
{
|
321
|
-
btVector4 faceplane;
|
322
|
-
{
|
323
|
-
btVector3 dif1 = m_vertices[1] - m_vertices[0];
|
324
|
-
btVector3 dif2 = m_vertices[2] - m_vertices[0];
|
325
|
-
VEC_CROSS(faceplane,dif1,dif2);
|
326
|
-
faceplane[3] = m_vertices[0].dot(faceplane);
|
327
|
-
}
|
328
|
-
|
329
|
-
GUINT res = LINE_PLANE_COLLISION(faceplane,vDir,vPoint,pout,tparam, btScalar(0), tmax);
|
330
|
-
if(res == 0) return false;
|
331
|
-
if(! is_point_inside(pout,faceplane)) return false;
|
332
|
-
|
333
|
-
if(res==2) //invert normal
|
334
|
-
{
|
335
|
-
triangle_normal.setValue(-faceplane[0],-faceplane[1],-faceplane[2]);
|
336
|
-
}
|
337
|
-
else
|
338
|
-
{
|
339
|
-
triangle_normal.setValue(faceplane[0],faceplane[1],faceplane[2]);
|
340
|
-
}
|
341
|
-
|
342
|
-
VEC_NORMALIZE(triangle_normal);
|
343
|
-
|
344
|
-
return true;
|
345
|
-
}
|
346
|
-
|
347
|
-
|
348
|
-
//! one direccion ray collision
|
349
|
-
SIMD_FORCE_INLINE bool ray_collision_front_side(
|
350
|
-
const btVector3 & vPoint,
|
351
|
-
const btVector3 & vDir, btVector3 & pout, btVector3 & triangle_normal,
|
352
|
-
GREAL & tparam, GREAL tmax = G_REAL_INFINITY)
|
353
|
-
{
|
354
|
-
btVector4 faceplane;
|
355
|
-
{
|
356
|
-
btVector3 dif1 = m_vertices[1] - m_vertices[0];
|
357
|
-
btVector3 dif2 = m_vertices[2] - m_vertices[0];
|
358
|
-
VEC_CROSS(faceplane,dif1,dif2);
|
359
|
-
faceplane[3] = m_vertices[0].dot(faceplane);
|
360
|
-
}
|
361
|
-
|
362
|
-
GUINT res = LINE_PLANE_COLLISION(faceplane,vDir,vPoint,pout,tparam, btScalar(0), tmax);
|
363
|
-
if(res != 1) return false;
|
364
|
-
|
365
|
-
if(!is_point_inside(pout,faceplane)) return false;
|
366
|
-
|
367
|
-
triangle_normal.setValue(faceplane[0],faceplane[1],faceplane[2]);
|
368
|
-
|
369
|
-
VEC_NORMALIZE(triangle_normal);
|
370
|
-
|
371
|
-
return true;
|
372
|
-
}
|
373
|
-
|
374
|
-
};
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
#endif // GIM_TRI_COLLISION_H_INCLUDED
|
@@ -1,59 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
Bullet Continuous Collision Detection and Physics Library
|
3
|
-
Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/
|
4
|
-
|
5
|
-
This software is provided 'as-is', without any express or implied warranty.
|
6
|
-
In no event will the authors be held liable for any damages arising from the use of this software.
|
7
|
-
Permission is granted to anyone to use this software for any purpose,
|
8
|
-
including commercial applications, and to alter it and redistribute it freely,
|
9
|
-
subject to the following restrictions:
|
10
|
-
|
11
|
-
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.
|
12
|
-
2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
|
13
|
-
3. This notice may not be removed or altered from any source distribution.
|
14
|
-
*/
|
15
|
-
|
16
|
-
|
17
|
-
#ifndef BT_CONTINUOUS_COLLISION_CONVEX_CAST_H
|
18
|
-
#define BT_CONTINUOUS_COLLISION_CONVEX_CAST_H
|
19
|
-
|
20
|
-
#include "btConvexCast.h"
|
21
|
-
#include "btSimplexSolverInterface.h"
|
22
|
-
class btConvexPenetrationDepthSolver;
|
23
|
-
class btConvexShape;
|
24
|
-
class btStaticPlaneShape;
|
25
|
-
|
26
|
-
/// btContinuousConvexCollision implements angular and linear time of impact for convex objects.
|
27
|
-
/// Based on Brian Mirtich's Conservative Advancement idea (PhD thesis).
|
28
|
-
/// Algorithm operates in worldspace, in order to keep inbetween motion globally consistent.
|
29
|
-
/// It uses GJK at the moment. Future improvement would use minkowski sum / supporting vertex, merging innerloops
|
30
|
-
class btContinuousConvexCollision : public btConvexCast
|
31
|
-
{
|
32
|
-
btSimplexSolverInterface* m_simplexSolver;
|
33
|
-
btConvexPenetrationDepthSolver* m_penetrationDepthSolver;
|
34
|
-
const btConvexShape* m_convexA;
|
35
|
-
//second object is either a convex or a plane (code sharing)
|
36
|
-
const btConvexShape* m_convexB1;
|
37
|
-
const btStaticPlaneShape* m_planeShape;
|
38
|
-
|
39
|
-
void computeClosestPoints( const btTransform& transA, const btTransform& transB,struct btPointCollector& pointCollector);
|
40
|
-
|
41
|
-
public:
|
42
|
-
|
43
|
-
btContinuousConvexCollision (const btConvexShape* shapeA,const btConvexShape* shapeB ,btSimplexSolverInterface* simplexSolver,btConvexPenetrationDepthSolver* penetrationDepthSolver);
|
44
|
-
|
45
|
-
btContinuousConvexCollision(const btConvexShape* shapeA,const btStaticPlaneShape* plane );
|
46
|
-
|
47
|
-
virtual bool calcTimeOfImpact(
|
48
|
-
const btTransform& fromA,
|
49
|
-
const btTransform& toA,
|
50
|
-
const btTransform& fromB,
|
51
|
-
const btTransform& toB,
|
52
|
-
CastResult& result);
|
53
|
-
|
54
|
-
|
55
|
-
};
|
56
|
-
|
57
|
-
|
58
|
-
#endif //BT_CONTINUOUS_COLLISION_CONVEX_CAST_H
|
59
|
-
|
@@ -1,73 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
Bullet Continuous Collision Detection and Physics Library
|
3
|
-
Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/
|
4
|
-
|
5
|
-
This software is provided 'as-is', without any express or implied warranty.
|
6
|
-
In no event will the authors be held liable for any damages arising from the use of this software.
|
7
|
-
Permission is granted to anyone to use this software for any purpose,
|
8
|
-
including commercial applications, and to alter it and redistribute it freely,
|
9
|
-
subject to the following restrictions:
|
10
|
-
|
11
|
-
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.
|
12
|
-
2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
|
13
|
-
3. This notice may not be removed or altered from any source distribution.
|
14
|
-
*/
|
15
|
-
|
16
|
-
|
17
|
-
#ifndef BT_CONVEX_CAST_H
|
18
|
-
#define BT_CONVEX_CAST_H
|
19
|
-
|
20
|
-
#include "LinearMath/btTransform.h"
|
21
|
-
#include "LinearMath/btVector3.h"
|
22
|
-
#include "LinearMath/btScalar.h"
|
23
|
-
class btMinkowskiSumShape;
|
24
|
-
#include "LinearMath/btIDebugDraw.h"
|
25
|
-
|
26
|
-
/// btConvexCast is an interface for Casting
|
27
|
-
class btConvexCast
|
28
|
-
{
|
29
|
-
public:
|
30
|
-
|
31
|
-
|
32
|
-
virtual ~btConvexCast();
|
33
|
-
|
34
|
-
///RayResult stores the closest result
|
35
|
-
/// alternatively, add a callback method to decide about closest/all results
|
36
|
-
struct CastResult
|
37
|
-
{
|
38
|
-
//virtual bool addRayResult(const btVector3& normal,btScalar fraction) = 0;
|
39
|
-
|
40
|
-
virtual void DebugDraw(btScalar fraction) {(void)fraction;}
|
41
|
-
virtual void drawCoordSystem(const btTransform& trans) {(void)trans;}
|
42
|
-
virtual void reportFailure(int errNo, int numIterations) {(void)errNo;(void)numIterations;}
|
43
|
-
CastResult()
|
44
|
-
:m_fraction(btScalar(BT_LARGE_FLOAT)),
|
45
|
-
m_debugDrawer(0),
|
46
|
-
m_allowedPenetration(btScalar(0))
|
47
|
-
{
|
48
|
-
}
|
49
|
-
|
50
|
-
|
51
|
-
virtual ~CastResult() {};
|
52
|
-
|
53
|
-
btTransform m_hitTransformA;
|
54
|
-
btTransform m_hitTransformB;
|
55
|
-
btVector3 m_normal;
|
56
|
-
btVector3 m_hitPoint;
|
57
|
-
btScalar m_fraction; //input and output
|
58
|
-
btIDebugDraw* m_debugDrawer;
|
59
|
-
btScalar m_allowedPenetration;
|
60
|
-
|
61
|
-
};
|
62
|
-
|
63
|
-
|
64
|
-
/// cast a convex against another convex object
|
65
|
-
virtual bool calcTimeOfImpact(
|
66
|
-
const btTransform& fromA,
|
67
|
-
const btTransform& toA,
|
68
|
-
const btTransform& fromB,
|
69
|
-
const btTransform& toB,
|
70
|
-
CastResult& result) = 0;
|
71
|
-
};
|
72
|
-
|
73
|
-
#endif //BT_CONVEX_CAST_H
|
data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btConvexPenetrationDepthSolver.h
DELETED
@@ -1,42 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
Bullet Continuous Collision Detection and Physics Library
|
3
|
-
Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/
|
4
|
-
|
5
|
-
This software is provided 'as-is', without any express or implied warranty.
|
6
|
-
In no event will the authors be held liable for any damages arising from the use of this software.
|
7
|
-
Permission is granted to anyone to use this software for any purpose,
|
8
|
-
including commercial applications, and to alter it and redistribute it freely,
|
9
|
-
subject to the following restrictions:
|
10
|
-
|
11
|
-
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.
|
12
|
-
2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
|
13
|
-
3. This notice may not be removed or altered from any source distribution.
|
14
|
-
*/
|
15
|
-
|
16
|
-
|
17
|
-
#ifndef BT_CONVEX_PENETRATION_DEPTH_H
|
18
|
-
#define BT_CONVEX_PENETRATION_DEPTH_H
|
19
|
-
|
20
|
-
class btStackAlloc;
|
21
|
-
class btVector3;
|
22
|
-
#include "btSimplexSolverInterface.h"
|
23
|
-
class btConvexShape;
|
24
|
-
class btTransform;
|
25
|
-
|
26
|
-
///ConvexPenetrationDepthSolver provides an interface for penetration depth calculation.
|
27
|
-
class btConvexPenetrationDepthSolver
|
28
|
-
{
|
29
|
-
public:
|
30
|
-
|
31
|
-
virtual ~btConvexPenetrationDepthSolver() {};
|
32
|
-
virtual bool calcPenDepth( btSimplexSolverInterface& simplexSolver,
|
33
|
-
const btConvexShape* convexA,const btConvexShape* convexB,
|
34
|
-
const btTransform& transA,const btTransform& transB,
|
35
|
-
btVector3& v, btVector3& pa, btVector3& pb,
|
36
|
-
class btIDebugDraw* debugDraw,btStackAlloc* stackAlloc
|
37
|
-
) = 0;
|
38
|
-
|
39
|
-
|
40
|
-
};
|
41
|
-
#endif //BT_CONVEX_PENETRATION_DEPTH_H
|
42
|
-
|
data/deps/include/bullet/BulletCollision/NarrowPhaseCollision/btDiscreteCollisionDetectorInterface.h
DELETED
@@ -1,91 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
Bullet Continuous Collision Detection and Physics Library
|
3
|
-
Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/
|
4
|
-
|
5
|
-
This software is provided 'as-is', without any express or implied warranty.
|
6
|
-
In no event will the authors be held liable for any damages arising from the use of this software.
|
7
|
-
Permission is granted to anyone to use this software for any purpose,
|
8
|
-
including commercial applications, and to alter it and redistribute it freely,
|
9
|
-
subject to the following restrictions:
|
10
|
-
|
11
|
-
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.
|
12
|
-
2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
|
13
|
-
3. This notice may not be removed or altered from any source distribution.
|
14
|
-
*/
|
15
|
-
|
16
|
-
|
17
|
-
#ifndef BT_DISCRETE_COLLISION_DETECTOR1_INTERFACE_H
|
18
|
-
#define BT_DISCRETE_COLLISION_DETECTOR1_INTERFACE_H
|
19
|
-
|
20
|
-
#include "LinearMath/btTransform.h"
|
21
|
-
#include "LinearMath/btVector3.h"
|
22
|
-
class btStackAlloc;
|
23
|
-
|
24
|
-
/// This interface is made to be used by an iterative approach to do TimeOfImpact calculations
|
25
|
-
/// This interface allows to query for closest points and penetration depth between two (convex) objects
|
26
|
-
/// the closest point is on the second object (B), and the normal points from the surface on B towards A.
|
27
|
-
/// distance is between closest points on B and closest point on A. So you can calculate closest point on A
|
28
|
-
/// by taking closestPointInA = closestPointInB + m_distance * m_normalOnSurfaceB
|
29
|
-
struct btDiscreteCollisionDetectorInterface
|
30
|
-
{
|
31
|
-
|
32
|
-
struct Result
|
33
|
-
{
|
34
|
-
|
35
|
-
virtual ~Result(){}
|
36
|
-
|
37
|
-
///setShapeIdentifiersA/B provides experimental support for per-triangle material / custom material combiner
|
38
|
-
virtual void setShapeIdentifiersA(int partId0,int index0)=0;
|
39
|
-
virtual void setShapeIdentifiersB(int partId1,int index1)=0;
|
40
|
-
virtual void addContactPoint(const btVector3& normalOnBInWorld,const btVector3& pointInWorld,btScalar depth)=0;
|
41
|
-
};
|
42
|
-
|
43
|
-
struct ClosestPointInput
|
44
|
-
{
|
45
|
-
ClosestPointInput()
|
46
|
-
:m_maximumDistanceSquared(btScalar(BT_LARGE_FLOAT)),
|
47
|
-
m_stackAlloc(0)
|
48
|
-
{
|
49
|
-
}
|
50
|
-
|
51
|
-
btTransform m_transformA;
|
52
|
-
btTransform m_transformB;
|
53
|
-
btScalar m_maximumDistanceSquared;
|
54
|
-
btStackAlloc* m_stackAlloc;
|
55
|
-
};
|
56
|
-
|
57
|
-
virtual ~btDiscreteCollisionDetectorInterface() {};
|
58
|
-
|
59
|
-
//
|
60
|
-
// give either closest points (distance > 0) or penetration (distance)
|
61
|
-
// the normal always points from B towards A
|
62
|
-
//
|
63
|
-
virtual void getClosestPoints(const ClosestPointInput& input,Result& output,class btIDebugDraw* debugDraw,bool swapResults=false) = 0;
|
64
|
-
|
65
|
-
};
|
66
|
-
|
67
|
-
struct btStorageResult : public btDiscreteCollisionDetectorInterface::Result
|
68
|
-
{
|
69
|
-
btVector3 m_normalOnSurfaceB;
|
70
|
-
btVector3 m_closestPointInB;
|
71
|
-
btScalar m_distance; //negative means penetration !
|
72
|
-
|
73
|
-
btStorageResult() : m_distance(btScalar(BT_LARGE_FLOAT))
|
74
|
-
{
|
75
|
-
|
76
|
-
}
|
77
|
-
virtual ~btStorageResult() {};
|
78
|
-
|
79
|
-
virtual void addContactPoint(const btVector3& normalOnBInWorld,const btVector3& pointInWorld,btScalar depth)
|
80
|
-
{
|
81
|
-
if (depth < m_distance)
|
82
|
-
{
|
83
|
-
m_normalOnSurfaceB = normalOnBInWorld;
|
84
|
-
m_closestPointInB = pointInWorld;
|
85
|
-
m_distance = depth;
|
86
|
-
}
|
87
|
-
}
|
88
|
-
};
|
89
|
-
|
90
|
-
#endif //BT_DISCRETE_COLLISION_DETECTOR1_INTERFACE_H
|
91
|
-
|
@@ -1,50 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
Bullet Continuous Collision Detection and Physics Library
|
3
|
-
Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/
|
4
|
-
|
5
|
-
This software is provided 'as-is', without any express or implied warranty.
|
6
|
-
In no event will the authors be held liable for any damages arising from the use of this software.
|
7
|
-
Permission is granted to anyone to use this software for any purpose,
|
8
|
-
including commercial applications, and to alter it and redistribute it freely,
|
9
|
-
subject to the following restrictions:
|
10
|
-
|
11
|
-
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.
|
12
|
-
2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
|
13
|
-
3. This notice may not be removed or altered from any source distribution.
|
14
|
-
*/
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
#ifndef BT_GJK_CONVEX_CAST_H
|
19
|
-
#define BT_GJK_CONVEX_CAST_H
|
20
|
-
|
21
|
-
#include "BulletCollision/CollisionShapes/btCollisionMargin.h"
|
22
|
-
|
23
|
-
#include "LinearMath/btVector3.h"
|
24
|
-
#include "btConvexCast.h"
|
25
|
-
class btConvexShape;
|
26
|
-
class btMinkowskiSumShape;
|
27
|
-
#include "btSimplexSolverInterface.h"
|
28
|
-
|
29
|
-
///GjkConvexCast performs a raycast on a convex object using support mapping.
|
30
|
-
class btGjkConvexCast : public btConvexCast
|
31
|
-
{
|
32
|
-
btSimplexSolverInterface* m_simplexSolver;
|
33
|
-
const btConvexShape* m_convexA;
|
34
|
-
const btConvexShape* m_convexB;
|
35
|
-
|
36
|
-
public:
|
37
|
-
|
38
|
-
btGjkConvexCast(const btConvexShape* convexA,const btConvexShape* convexB,btSimplexSolverInterface* simplexSolver);
|
39
|
-
|
40
|
-
/// cast a convex against another convex object
|
41
|
-
virtual bool calcTimeOfImpact(
|
42
|
-
const btTransform& fromA,
|
43
|
-
const btTransform& toA,
|
44
|
-
const btTransform& fromB,
|
45
|
-
const btTransform& toB,
|
46
|
-
CastResult& result);
|
47
|
-
|
48
|
-
};
|
49
|
-
|
50
|
-
#endif //BT_GJK_CONVEX_CAST_H
|