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,161 +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
|
-
#ifndef BT_POINT2POINTCONSTRAINT_H
|
17
|
-
#define BT_POINT2POINTCONSTRAINT_H
|
18
|
-
|
19
|
-
#include "LinearMath/btVector3.h"
|
20
|
-
#include "btJacobianEntry.h"
|
21
|
-
#include "btTypedConstraint.h"
|
22
|
-
|
23
|
-
class btRigidBody;
|
24
|
-
|
25
|
-
|
26
|
-
#ifdef BT_USE_DOUBLE_PRECISION
|
27
|
-
#define btPoint2PointConstraintData btPoint2PointConstraintDoubleData
|
28
|
-
#define btPoint2PointConstraintDataName "btPoint2PointConstraintDoubleData"
|
29
|
-
#else
|
30
|
-
#define btPoint2PointConstraintData btPoint2PointConstraintFloatData
|
31
|
-
#define btPoint2PointConstraintDataName "btPoint2PointConstraintFloatData"
|
32
|
-
#endif //BT_USE_DOUBLE_PRECISION
|
33
|
-
|
34
|
-
struct btConstraintSetting
|
35
|
-
{
|
36
|
-
btConstraintSetting() :
|
37
|
-
m_tau(btScalar(0.3)),
|
38
|
-
m_damping(btScalar(1.)),
|
39
|
-
m_impulseClamp(btScalar(0.))
|
40
|
-
{
|
41
|
-
}
|
42
|
-
btScalar m_tau;
|
43
|
-
btScalar m_damping;
|
44
|
-
btScalar m_impulseClamp;
|
45
|
-
};
|
46
|
-
|
47
|
-
enum btPoint2PointFlags
|
48
|
-
{
|
49
|
-
BT_P2P_FLAGS_ERP = 1,
|
50
|
-
BT_P2P_FLAGS_CFM = 2
|
51
|
-
};
|
52
|
-
|
53
|
-
/// point to point constraint between two rigidbodies each with a pivotpoint that descibes the 'ballsocket' location in local space
|
54
|
-
ATTRIBUTE_ALIGNED16(class) btPoint2PointConstraint : public btTypedConstraint
|
55
|
-
{
|
56
|
-
#ifdef IN_PARALLELL_SOLVER
|
57
|
-
public:
|
58
|
-
#endif
|
59
|
-
btJacobianEntry m_jac[3]; //3 orthogonal linear constraints
|
60
|
-
|
61
|
-
btVector3 m_pivotInA;
|
62
|
-
btVector3 m_pivotInB;
|
63
|
-
|
64
|
-
int m_flags;
|
65
|
-
btScalar m_erp;
|
66
|
-
btScalar m_cfm;
|
67
|
-
|
68
|
-
public:
|
69
|
-
|
70
|
-
///for backwards compatibility during the transition to 'getInfo/getInfo2'
|
71
|
-
bool m_useSolveConstraintObsolete;
|
72
|
-
|
73
|
-
btConstraintSetting m_setting;
|
74
|
-
|
75
|
-
btPoint2PointConstraint(btRigidBody& rbA,btRigidBody& rbB, const btVector3& pivotInA,const btVector3& pivotInB);
|
76
|
-
|
77
|
-
btPoint2PointConstraint(btRigidBody& rbA,const btVector3& pivotInA);
|
78
|
-
|
79
|
-
|
80
|
-
virtual void buildJacobian();
|
81
|
-
|
82
|
-
virtual void getInfo1 (btConstraintInfo1* info);
|
83
|
-
|
84
|
-
void getInfo1NonVirtual (btConstraintInfo1* info);
|
85
|
-
|
86
|
-
virtual void getInfo2 (btConstraintInfo2* info);
|
87
|
-
|
88
|
-
void getInfo2NonVirtual (btConstraintInfo2* info, const btTransform& body0_trans, const btTransform& body1_trans);
|
89
|
-
|
90
|
-
void updateRHS(btScalar timeStep);
|
91
|
-
|
92
|
-
void setPivotA(const btVector3& pivotA)
|
93
|
-
{
|
94
|
-
m_pivotInA = pivotA;
|
95
|
-
}
|
96
|
-
|
97
|
-
void setPivotB(const btVector3& pivotB)
|
98
|
-
{
|
99
|
-
m_pivotInB = pivotB;
|
100
|
-
}
|
101
|
-
|
102
|
-
const btVector3& getPivotInA() const
|
103
|
-
{
|
104
|
-
return m_pivotInA;
|
105
|
-
}
|
106
|
-
|
107
|
-
const btVector3& getPivotInB() const
|
108
|
-
{
|
109
|
-
return m_pivotInB;
|
110
|
-
}
|
111
|
-
|
112
|
-
///override the default global value of a parameter (such as ERP or CFM), optionally provide the axis (0..5).
|
113
|
-
///If no axis is provided, it uses the default axis for this constraint.
|
114
|
-
virtual void setParam(int num, btScalar value, int axis = -1);
|
115
|
-
///return the local value of parameter
|
116
|
-
virtual btScalar getParam(int num, int axis = -1) const;
|
117
|
-
|
118
|
-
virtual int calculateSerializeBufferSize() const;
|
119
|
-
|
120
|
-
///fills the dataBuffer and returns the struct name (and 0 on failure)
|
121
|
-
virtual const char* serialize(void* dataBuffer, btSerializer* serializer) const;
|
122
|
-
|
123
|
-
|
124
|
-
};
|
125
|
-
|
126
|
-
///do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
|
127
|
-
struct btPoint2PointConstraintFloatData
|
128
|
-
{
|
129
|
-
btTypedConstraintData m_typeConstraintData;
|
130
|
-
btVector3FloatData m_pivotInA;
|
131
|
-
btVector3FloatData m_pivotInB;
|
132
|
-
};
|
133
|
-
|
134
|
-
///do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
|
135
|
-
struct btPoint2PointConstraintDoubleData
|
136
|
-
{
|
137
|
-
btTypedConstraintData m_typeConstraintData;
|
138
|
-
btVector3DoubleData m_pivotInA;
|
139
|
-
btVector3DoubleData m_pivotInB;
|
140
|
-
};
|
141
|
-
|
142
|
-
|
143
|
-
SIMD_FORCE_INLINE int btPoint2PointConstraint::calculateSerializeBufferSize() const
|
144
|
-
{
|
145
|
-
return sizeof(btPoint2PointConstraintData);
|
146
|
-
|
147
|
-
}
|
148
|
-
|
149
|
-
///fills the dataBuffer and returns the struct name (and 0 on failure)
|
150
|
-
SIMD_FORCE_INLINE const char* btPoint2PointConstraint::serialize(void* dataBuffer, btSerializer* serializer) const
|
151
|
-
{
|
152
|
-
btPoint2PointConstraintData* p2pData = (btPoint2PointConstraintData*)dataBuffer;
|
153
|
-
|
154
|
-
btTypedConstraint::serialize(&p2pData->m_typeConstraintData,serializer);
|
155
|
-
m_pivotInA.serialize(p2pData->m_pivotInA);
|
156
|
-
m_pivotInB.serialize(p2pData->m_pivotInB);
|
157
|
-
|
158
|
-
return btPoint2PointConstraintDataName;
|
159
|
-
}
|
160
|
-
|
161
|
-
#endif //BT_POINT2POINTCONSTRAINT_H
|
data/deps/include/bullet/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.h
DELETED
@@ -1,130 +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
|
-
#ifndef BT_SEQUENTIAL_IMPULSE_CONSTRAINT_SOLVER_H
|
17
|
-
#define BT_SEQUENTIAL_IMPULSE_CONSTRAINT_SOLVER_H
|
18
|
-
|
19
|
-
#include "btConstraintSolver.h"
|
20
|
-
class btIDebugDraw;
|
21
|
-
#include "btContactConstraint.h"
|
22
|
-
#include "btSolverBody.h"
|
23
|
-
#include "btSolverConstraint.h"
|
24
|
-
#include "btTypedConstraint.h"
|
25
|
-
#include "BulletCollision/NarrowPhaseCollision/btManifoldPoint.h"
|
26
|
-
|
27
|
-
///The btSequentialImpulseConstraintSolver is a fast SIMD implementation of the Projected Gauss Seidel (iterative LCP) method.
|
28
|
-
class btSequentialImpulseConstraintSolver : public btConstraintSolver
|
29
|
-
{
|
30
|
-
protected:
|
31
|
-
|
32
|
-
btConstraintArray m_tmpSolverContactConstraintPool;
|
33
|
-
btConstraintArray m_tmpSolverNonContactConstraintPool;
|
34
|
-
btConstraintArray m_tmpSolverContactFrictionConstraintPool;
|
35
|
-
btAlignedObjectArray<int> m_orderTmpConstraintPool;
|
36
|
-
btAlignedObjectArray<int> m_orderNonContactConstraintPool;
|
37
|
-
btAlignedObjectArray<int> m_orderFrictionConstraintPool;
|
38
|
-
btAlignedObjectArray<btTypedConstraint::btConstraintInfo1> m_tmpConstraintSizesPool;
|
39
|
-
int m_maxOverrideNumSolverIterations;
|
40
|
-
|
41
|
-
void setupFrictionConstraint( btSolverConstraint& solverConstraint, const btVector3& normalAxis,btRigidBody* solverBodyA,btRigidBody* solverBodyIdB,
|
42
|
-
btManifoldPoint& cp,const btVector3& rel_pos1,const btVector3& rel_pos2,
|
43
|
-
btCollisionObject* colObj0,btCollisionObject* colObj1, btScalar relaxation,
|
44
|
-
btScalar desiredVelocity=0., btScalar cfmSlip=0.);
|
45
|
-
|
46
|
-
btSolverConstraint& addFrictionConstraint(const btVector3& normalAxis,btRigidBody* solverBodyA,btRigidBody* solverBodyB,int frictionIndex,btManifoldPoint& cp,const btVector3& rel_pos1,const btVector3& rel_pos2,btCollisionObject* colObj0,btCollisionObject* colObj1, btScalar relaxation, btScalar desiredVelocity=0., btScalar cfmSlip=0.);
|
47
|
-
|
48
|
-
void setupContactConstraint(btSolverConstraint& solverConstraint, btCollisionObject* colObj0, btCollisionObject* colObj1, btManifoldPoint& cp,
|
49
|
-
const btContactSolverInfo& infoGlobal, btVector3& vel, btScalar& rel_vel, btScalar& relaxation,
|
50
|
-
btVector3& rel_pos1, btVector3& rel_pos2);
|
51
|
-
|
52
|
-
void setFrictionConstraintImpulse( btSolverConstraint& solverConstraint, btRigidBody* rb0, btRigidBody* rb1,
|
53
|
-
btManifoldPoint& cp, const btContactSolverInfo& infoGlobal);
|
54
|
-
|
55
|
-
///m_btSeed2 is used for re-arranging the constraint rows. improves convergence/quality of friction
|
56
|
-
unsigned long m_btSeed2;
|
57
|
-
|
58
|
-
// void initSolverBody(btSolverBody* solverBody, btCollisionObject* collisionObject);
|
59
|
-
btScalar restitutionCurve(btScalar rel_vel, btScalar restitution);
|
60
|
-
|
61
|
-
void convertContact(btPersistentManifold* manifold,const btContactSolverInfo& infoGlobal);
|
62
|
-
|
63
|
-
|
64
|
-
void resolveSplitPenetrationSIMD(
|
65
|
-
btRigidBody& body1,
|
66
|
-
btRigidBody& body2,
|
67
|
-
const btSolverConstraint& contactConstraint);
|
68
|
-
|
69
|
-
void resolveSplitPenetrationImpulseCacheFriendly(
|
70
|
-
btRigidBody& body1,
|
71
|
-
btRigidBody& body2,
|
72
|
-
const btSolverConstraint& contactConstraint);
|
73
|
-
|
74
|
-
//internal method
|
75
|
-
int getOrInitSolverBody(btCollisionObject& body);
|
76
|
-
|
77
|
-
void resolveSingleConstraintRowGeneric(btRigidBody& body1,btRigidBody& body2,const btSolverConstraint& contactConstraint);
|
78
|
-
|
79
|
-
void resolveSingleConstraintRowGenericSIMD(btRigidBody& body1,btRigidBody& body2,const btSolverConstraint& contactConstraint);
|
80
|
-
|
81
|
-
void resolveSingleConstraintRowLowerLimit(btRigidBody& body1,btRigidBody& body2,const btSolverConstraint& contactConstraint);
|
82
|
-
|
83
|
-
void resolveSingleConstraintRowLowerLimitSIMD(btRigidBody& body1,btRigidBody& body2,const btSolverConstraint& contactConstraint);
|
84
|
-
|
85
|
-
protected:
|
86
|
-
static btRigidBody& getFixedBody();
|
87
|
-
|
88
|
-
virtual void solveGroupCacheFriendlySplitImpulseIterations(btCollisionObject** bodies,int numBodies,btPersistentManifold** manifoldPtr, int numManifolds,btTypedConstraint** constraints,int numConstraints,const btContactSolverInfo& infoGlobal,btIDebugDraw* debugDrawer,btStackAlloc* stackAlloc);
|
89
|
-
virtual btScalar solveGroupCacheFriendlyFinish(btCollisionObject** bodies ,int numBodies,btPersistentManifold** manifoldPtr, int numManifolds,btTypedConstraint** constraints,int numConstraints,const btContactSolverInfo& infoGlobal,btIDebugDraw* debugDrawer,btStackAlloc* stackAlloc);
|
90
|
-
btScalar solveSingleIteration(int iteration, btCollisionObject** bodies ,int numBodies,btPersistentManifold** manifoldPtr, int numManifolds,btTypedConstraint** constraints,int numConstraints,const btContactSolverInfo& infoGlobal,btIDebugDraw* debugDrawer,btStackAlloc* stackAlloc);
|
91
|
-
|
92
|
-
virtual btScalar solveGroupCacheFriendlySetup(btCollisionObject** bodies,int numBodies,btPersistentManifold** manifoldPtr, int numManifolds,btTypedConstraint** constraints,int numConstraints,const btContactSolverInfo& infoGlobal,btIDebugDraw* debugDrawer,btStackAlloc* stackAlloc);
|
93
|
-
virtual btScalar solveGroupCacheFriendlyIterations(btCollisionObject** bodies,int numBodies,btPersistentManifold** manifoldPtr, int numManifolds,btTypedConstraint** constraints,int numConstraints,const btContactSolverInfo& infoGlobal,btIDebugDraw* debugDrawer,btStackAlloc* stackAlloc);
|
94
|
-
|
95
|
-
|
96
|
-
public:
|
97
|
-
|
98
|
-
|
99
|
-
btSequentialImpulseConstraintSolver();
|
100
|
-
virtual ~btSequentialImpulseConstraintSolver();
|
101
|
-
|
102
|
-
virtual btScalar solveGroup(btCollisionObject** bodies,int numBodies,btPersistentManifold** manifold,int numManifolds,btTypedConstraint** constraints,int numConstraints,const btContactSolverInfo& info, btIDebugDraw* debugDrawer, btStackAlloc* stackAlloc,btDispatcher* dispatcher);
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
///clear internal cached data and reset random seed
|
107
|
-
virtual void reset();
|
108
|
-
|
109
|
-
unsigned long btRand2();
|
110
|
-
|
111
|
-
int btRandInt2 (int n);
|
112
|
-
|
113
|
-
void setRandSeed(unsigned long seed)
|
114
|
-
{
|
115
|
-
m_btSeed2 = seed;
|
116
|
-
}
|
117
|
-
unsigned long getRandSeed() const
|
118
|
-
{
|
119
|
-
return m_btSeed2;
|
120
|
-
}
|
121
|
-
|
122
|
-
};
|
123
|
-
|
124
|
-
#ifndef BT_PREFER_SIMD
|
125
|
-
typedef btSequentialImpulseConstraintSolver btSequentialImpulseConstraintSolverPrefered;
|
126
|
-
#endif
|
127
|
-
|
128
|
-
|
129
|
-
#endif //BT_SEQUENTIAL_IMPULSE_CONSTRAINT_SOLVER_H
|
130
|
-
|
@@ -1,333 +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
|
-
Added by Roman Ponomarev (rponom@gmail.com)
|
18
|
-
April 04, 2008
|
19
|
-
|
20
|
-
TODO:
|
21
|
-
- add clamping od accumulated impulse to improve stability
|
22
|
-
- add conversion for ODE constraint solver
|
23
|
-
*/
|
24
|
-
|
25
|
-
#ifndef BT_SLIDER_CONSTRAINT_H
|
26
|
-
#define BT_SLIDER_CONSTRAINT_H
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
#include "LinearMath/btVector3.h"
|
31
|
-
#include "btJacobianEntry.h"
|
32
|
-
#include "btTypedConstraint.h"
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
class btRigidBody;
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
#define SLIDER_CONSTRAINT_DEF_SOFTNESS (btScalar(1.0))
|
41
|
-
#define SLIDER_CONSTRAINT_DEF_DAMPING (btScalar(1.0))
|
42
|
-
#define SLIDER_CONSTRAINT_DEF_RESTITUTION (btScalar(0.7))
|
43
|
-
#define SLIDER_CONSTRAINT_DEF_CFM (btScalar(0.f))
|
44
|
-
|
45
|
-
|
46
|
-
enum btSliderFlags
|
47
|
-
{
|
48
|
-
BT_SLIDER_FLAGS_CFM_DIRLIN = (1 << 0),
|
49
|
-
BT_SLIDER_FLAGS_ERP_DIRLIN = (1 << 1),
|
50
|
-
BT_SLIDER_FLAGS_CFM_DIRANG = (1 << 2),
|
51
|
-
BT_SLIDER_FLAGS_ERP_DIRANG = (1 << 3),
|
52
|
-
BT_SLIDER_FLAGS_CFM_ORTLIN = (1 << 4),
|
53
|
-
BT_SLIDER_FLAGS_ERP_ORTLIN = (1 << 5),
|
54
|
-
BT_SLIDER_FLAGS_CFM_ORTANG = (1 << 6),
|
55
|
-
BT_SLIDER_FLAGS_ERP_ORTANG = (1 << 7),
|
56
|
-
BT_SLIDER_FLAGS_CFM_LIMLIN = (1 << 8),
|
57
|
-
BT_SLIDER_FLAGS_ERP_LIMLIN = (1 << 9),
|
58
|
-
BT_SLIDER_FLAGS_CFM_LIMANG = (1 << 10),
|
59
|
-
BT_SLIDER_FLAGS_ERP_LIMANG = (1 << 11)
|
60
|
-
};
|
61
|
-
|
62
|
-
|
63
|
-
class btSliderConstraint : public btTypedConstraint
|
64
|
-
{
|
65
|
-
protected:
|
66
|
-
///for backwards compatibility during the transition to 'getInfo/getInfo2'
|
67
|
-
bool m_useSolveConstraintObsolete;
|
68
|
-
bool m_useOffsetForConstraintFrame;
|
69
|
-
btTransform m_frameInA;
|
70
|
-
btTransform m_frameInB;
|
71
|
-
// use frameA fo define limits, if true
|
72
|
-
bool m_useLinearReferenceFrameA;
|
73
|
-
// linear limits
|
74
|
-
btScalar m_lowerLinLimit;
|
75
|
-
btScalar m_upperLinLimit;
|
76
|
-
// angular limits
|
77
|
-
btScalar m_lowerAngLimit;
|
78
|
-
btScalar m_upperAngLimit;
|
79
|
-
// softness, restitution and damping for different cases
|
80
|
-
// DirLin - moving inside linear limits
|
81
|
-
// LimLin - hitting linear limit
|
82
|
-
// DirAng - moving inside angular limits
|
83
|
-
// LimAng - hitting angular limit
|
84
|
-
// OrthoLin, OrthoAng - against constraint axis
|
85
|
-
btScalar m_softnessDirLin;
|
86
|
-
btScalar m_restitutionDirLin;
|
87
|
-
btScalar m_dampingDirLin;
|
88
|
-
btScalar m_cfmDirLin;
|
89
|
-
|
90
|
-
btScalar m_softnessDirAng;
|
91
|
-
btScalar m_restitutionDirAng;
|
92
|
-
btScalar m_dampingDirAng;
|
93
|
-
btScalar m_cfmDirAng;
|
94
|
-
|
95
|
-
btScalar m_softnessLimLin;
|
96
|
-
btScalar m_restitutionLimLin;
|
97
|
-
btScalar m_dampingLimLin;
|
98
|
-
btScalar m_cfmLimLin;
|
99
|
-
|
100
|
-
btScalar m_softnessLimAng;
|
101
|
-
btScalar m_restitutionLimAng;
|
102
|
-
btScalar m_dampingLimAng;
|
103
|
-
btScalar m_cfmLimAng;
|
104
|
-
|
105
|
-
btScalar m_softnessOrthoLin;
|
106
|
-
btScalar m_restitutionOrthoLin;
|
107
|
-
btScalar m_dampingOrthoLin;
|
108
|
-
btScalar m_cfmOrthoLin;
|
109
|
-
|
110
|
-
btScalar m_softnessOrthoAng;
|
111
|
-
btScalar m_restitutionOrthoAng;
|
112
|
-
btScalar m_dampingOrthoAng;
|
113
|
-
btScalar m_cfmOrthoAng;
|
114
|
-
|
115
|
-
// for interlal use
|
116
|
-
bool m_solveLinLim;
|
117
|
-
bool m_solveAngLim;
|
118
|
-
|
119
|
-
int m_flags;
|
120
|
-
|
121
|
-
btJacobianEntry m_jacLin[3];
|
122
|
-
btScalar m_jacLinDiagABInv[3];
|
123
|
-
|
124
|
-
btJacobianEntry m_jacAng[3];
|
125
|
-
|
126
|
-
btScalar m_timeStep;
|
127
|
-
btTransform m_calculatedTransformA;
|
128
|
-
btTransform m_calculatedTransformB;
|
129
|
-
|
130
|
-
btVector3 m_sliderAxis;
|
131
|
-
btVector3 m_realPivotAInW;
|
132
|
-
btVector3 m_realPivotBInW;
|
133
|
-
btVector3 m_projPivotInW;
|
134
|
-
btVector3 m_delta;
|
135
|
-
btVector3 m_depth;
|
136
|
-
btVector3 m_relPosA;
|
137
|
-
btVector3 m_relPosB;
|
138
|
-
|
139
|
-
btScalar m_linPos;
|
140
|
-
btScalar m_angPos;
|
141
|
-
|
142
|
-
btScalar m_angDepth;
|
143
|
-
btScalar m_kAngle;
|
144
|
-
|
145
|
-
bool m_poweredLinMotor;
|
146
|
-
btScalar m_targetLinMotorVelocity;
|
147
|
-
btScalar m_maxLinMotorForce;
|
148
|
-
btScalar m_accumulatedLinMotorImpulse;
|
149
|
-
|
150
|
-
bool m_poweredAngMotor;
|
151
|
-
btScalar m_targetAngMotorVelocity;
|
152
|
-
btScalar m_maxAngMotorForce;
|
153
|
-
btScalar m_accumulatedAngMotorImpulse;
|
154
|
-
|
155
|
-
//------------------------
|
156
|
-
void initParams();
|
157
|
-
public:
|
158
|
-
// constructors
|
159
|
-
btSliderConstraint(btRigidBody& rbA, btRigidBody& rbB, const btTransform& frameInA, const btTransform& frameInB ,bool useLinearReferenceFrameA);
|
160
|
-
btSliderConstraint(btRigidBody& rbB, const btTransform& frameInB, bool useLinearReferenceFrameA);
|
161
|
-
|
162
|
-
// overrides
|
163
|
-
|
164
|
-
virtual void getInfo1 (btConstraintInfo1* info);
|
165
|
-
|
166
|
-
void getInfo1NonVirtual(btConstraintInfo1* info);
|
167
|
-
|
168
|
-
virtual void getInfo2 (btConstraintInfo2* info);
|
169
|
-
|
170
|
-
void getInfo2NonVirtual(btConstraintInfo2* info, const btTransform& transA, const btTransform& transB,const btVector3& linVelA,const btVector3& linVelB, btScalar rbAinvMass,btScalar rbBinvMass);
|
171
|
-
|
172
|
-
|
173
|
-
// access
|
174
|
-
const btRigidBody& getRigidBodyA() const { return m_rbA; }
|
175
|
-
const btRigidBody& getRigidBodyB() const { return m_rbB; }
|
176
|
-
const btTransform & getCalculatedTransformA() const { return m_calculatedTransformA; }
|
177
|
-
const btTransform & getCalculatedTransformB() const { return m_calculatedTransformB; }
|
178
|
-
const btTransform & getFrameOffsetA() const { return m_frameInA; }
|
179
|
-
const btTransform & getFrameOffsetB() const { return m_frameInB; }
|
180
|
-
btTransform & getFrameOffsetA() { return m_frameInA; }
|
181
|
-
btTransform & getFrameOffsetB() { return m_frameInB; }
|
182
|
-
btScalar getLowerLinLimit() { return m_lowerLinLimit; }
|
183
|
-
void setLowerLinLimit(btScalar lowerLimit) { m_lowerLinLimit = lowerLimit; }
|
184
|
-
btScalar getUpperLinLimit() { return m_upperLinLimit; }
|
185
|
-
void setUpperLinLimit(btScalar upperLimit) { m_upperLinLimit = upperLimit; }
|
186
|
-
btScalar getLowerAngLimit() { return m_lowerAngLimit; }
|
187
|
-
void setLowerAngLimit(btScalar lowerLimit) { m_lowerAngLimit = btNormalizeAngle(lowerLimit); }
|
188
|
-
btScalar getUpperAngLimit() { return m_upperAngLimit; }
|
189
|
-
void setUpperAngLimit(btScalar upperLimit) { m_upperAngLimit = btNormalizeAngle(upperLimit); }
|
190
|
-
bool getUseLinearReferenceFrameA() { return m_useLinearReferenceFrameA; }
|
191
|
-
btScalar getSoftnessDirLin() { return m_softnessDirLin; }
|
192
|
-
btScalar getRestitutionDirLin() { return m_restitutionDirLin; }
|
193
|
-
btScalar getDampingDirLin() { return m_dampingDirLin ; }
|
194
|
-
btScalar getSoftnessDirAng() { return m_softnessDirAng; }
|
195
|
-
btScalar getRestitutionDirAng() { return m_restitutionDirAng; }
|
196
|
-
btScalar getDampingDirAng() { return m_dampingDirAng; }
|
197
|
-
btScalar getSoftnessLimLin() { return m_softnessLimLin; }
|
198
|
-
btScalar getRestitutionLimLin() { return m_restitutionLimLin; }
|
199
|
-
btScalar getDampingLimLin() { return m_dampingLimLin; }
|
200
|
-
btScalar getSoftnessLimAng() { return m_softnessLimAng; }
|
201
|
-
btScalar getRestitutionLimAng() { return m_restitutionLimAng; }
|
202
|
-
btScalar getDampingLimAng() { return m_dampingLimAng; }
|
203
|
-
btScalar getSoftnessOrthoLin() { return m_softnessOrthoLin; }
|
204
|
-
btScalar getRestitutionOrthoLin() { return m_restitutionOrthoLin; }
|
205
|
-
btScalar getDampingOrthoLin() { return m_dampingOrthoLin; }
|
206
|
-
btScalar getSoftnessOrthoAng() { return m_softnessOrthoAng; }
|
207
|
-
btScalar getRestitutionOrthoAng() { return m_restitutionOrthoAng; }
|
208
|
-
btScalar getDampingOrthoAng() { return m_dampingOrthoAng; }
|
209
|
-
void setSoftnessDirLin(btScalar softnessDirLin) { m_softnessDirLin = softnessDirLin; }
|
210
|
-
void setRestitutionDirLin(btScalar restitutionDirLin) { m_restitutionDirLin = restitutionDirLin; }
|
211
|
-
void setDampingDirLin(btScalar dampingDirLin) { m_dampingDirLin = dampingDirLin; }
|
212
|
-
void setSoftnessDirAng(btScalar softnessDirAng) { m_softnessDirAng = softnessDirAng; }
|
213
|
-
void setRestitutionDirAng(btScalar restitutionDirAng) { m_restitutionDirAng = restitutionDirAng; }
|
214
|
-
void setDampingDirAng(btScalar dampingDirAng) { m_dampingDirAng = dampingDirAng; }
|
215
|
-
void setSoftnessLimLin(btScalar softnessLimLin) { m_softnessLimLin = softnessLimLin; }
|
216
|
-
void setRestitutionLimLin(btScalar restitutionLimLin) { m_restitutionLimLin = restitutionLimLin; }
|
217
|
-
void setDampingLimLin(btScalar dampingLimLin) { m_dampingLimLin = dampingLimLin; }
|
218
|
-
void setSoftnessLimAng(btScalar softnessLimAng) { m_softnessLimAng = softnessLimAng; }
|
219
|
-
void setRestitutionLimAng(btScalar restitutionLimAng) { m_restitutionLimAng = restitutionLimAng; }
|
220
|
-
void setDampingLimAng(btScalar dampingLimAng) { m_dampingLimAng = dampingLimAng; }
|
221
|
-
void setSoftnessOrthoLin(btScalar softnessOrthoLin) { m_softnessOrthoLin = softnessOrthoLin; }
|
222
|
-
void setRestitutionOrthoLin(btScalar restitutionOrthoLin) { m_restitutionOrthoLin = restitutionOrthoLin; }
|
223
|
-
void setDampingOrthoLin(btScalar dampingOrthoLin) { m_dampingOrthoLin = dampingOrthoLin; }
|
224
|
-
void setSoftnessOrthoAng(btScalar softnessOrthoAng) { m_softnessOrthoAng = softnessOrthoAng; }
|
225
|
-
void setRestitutionOrthoAng(btScalar restitutionOrthoAng) { m_restitutionOrthoAng = restitutionOrthoAng; }
|
226
|
-
void setDampingOrthoAng(btScalar dampingOrthoAng) { m_dampingOrthoAng = dampingOrthoAng; }
|
227
|
-
void setPoweredLinMotor(bool onOff) { m_poweredLinMotor = onOff; }
|
228
|
-
bool getPoweredLinMotor() { return m_poweredLinMotor; }
|
229
|
-
void setTargetLinMotorVelocity(btScalar targetLinMotorVelocity) { m_targetLinMotorVelocity = targetLinMotorVelocity; }
|
230
|
-
btScalar getTargetLinMotorVelocity() { return m_targetLinMotorVelocity; }
|
231
|
-
void setMaxLinMotorForce(btScalar maxLinMotorForce) { m_maxLinMotorForce = maxLinMotorForce; }
|
232
|
-
btScalar getMaxLinMotorForce() { return m_maxLinMotorForce; }
|
233
|
-
void setPoweredAngMotor(bool onOff) { m_poweredAngMotor = onOff; }
|
234
|
-
bool getPoweredAngMotor() { return m_poweredAngMotor; }
|
235
|
-
void setTargetAngMotorVelocity(btScalar targetAngMotorVelocity) { m_targetAngMotorVelocity = targetAngMotorVelocity; }
|
236
|
-
btScalar getTargetAngMotorVelocity() { return m_targetAngMotorVelocity; }
|
237
|
-
void setMaxAngMotorForce(btScalar maxAngMotorForce) { m_maxAngMotorForce = maxAngMotorForce; }
|
238
|
-
btScalar getMaxAngMotorForce() { return m_maxAngMotorForce; }
|
239
|
-
|
240
|
-
btScalar getLinearPos() const { return m_linPos; }
|
241
|
-
btScalar getAngularPos() const { return m_angPos; }
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
// access for ODE solver
|
246
|
-
bool getSolveLinLimit() { return m_solveLinLim; }
|
247
|
-
btScalar getLinDepth() { return m_depth[0]; }
|
248
|
-
bool getSolveAngLimit() { return m_solveAngLim; }
|
249
|
-
btScalar getAngDepth() { return m_angDepth; }
|
250
|
-
// shared code used by ODE solver
|
251
|
-
void calculateTransforms(const btTransform& transA,const btTransform& transB);
|
252
|
-
void testLinLimits();
|
253
|
-
void testAngLimits();
|
254
|
-
// access for PE Solver
|
255
|
-
btVector3 getAncorInA();
|
256
|
-
btVector3 getAncorInB();
|
257
|
-
// access for UseFrameOffset
|
258
|
-
bool getUseFrameOffset() { return m_useOffsetForConstraintFrame; }
|
259
|
-
void setUseFrameOffset(bool frameOffsetOnOff) { m_useOffsetForConstraintFrame = frameOffsetOnOff; }
|
260
|
-
|
261
|
-
void setFrames(const btTransform& frameA, const btTransform& frameB)
|
262
|
-
{
|
263
|
-
m_frameInA=frameA;
|
264
|
-
m_frameInB=frameB;
|
265
|
-
calculateTransforms(m_rbA.getCenterOfMassTransform(),m_rbB.getCenterOfMassTransform());
|
266
|
-
buildJacobian();
|
267
|
-
}
|
268
|
-
|
269
|
-
|
270
|
-
///override the default global value of a parameter (such as ERP or CFM), optionally provide the axis (0..5).
|
271
|
-
///If no axis is provided, it uses the default axis for this constraint.
|
272
|
-
virtual void setParam(int num, btScalar value, int axis = -1);
|
273
|
-
///return the local value of parameter
|
274
|
-
virtual btScalar getParam(int num, int axis = -1) const;
|
275
|
-
|
276
|
-
virtual int calculateSerializeBufferSize() const;
|
277
|
-
|
278
|
-
///fills the dataBuffer and returns the struct name (and 0 on failure)
|
279
|
-
virtual const char* serialize(void* dataBuffer, btSerializer* serializer) const;
|
280
|
-
|
281
|
-
|
282
|
-
};
|
283
|
-
|
284
|
-
///do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
|
285
|
-
struct btSliderConstraintData
|
286
|
-
{
|
287
|
-
btTypedConstraintData m_typeConstraintData;
|
288
|
-
btTransformFloatData m_rbAFrame; // constraint axii. Assumes z is hinge axis.
|
289
|
-
btTransformFloatData m_rbBFrame;
|
290
|
-
|
291
|
-
float m_linearUpperLimit;
|
292
|
-
float m_linearLowerLimit;
|
293
|
-
|
294
|
-
float m_angularUpperLimit;
|
295
|
-
float m_angularLowerLimit;
|
296
|
-
|
297
|
-
int m_useLinearReferenceFrameA;
|
298
|
-
int m_useOffsetForConstraintFrame;
|
299
|
-
|
300
|
-
};
|
301
|
-
|
302
|
-
|
303
|
-
SIMD_FORCE_INLINE int btSliderConstraint::calculateSerializeBufferSize() const
|
304
|
-
{
|
305
|
-
return sizeof(btSliderConstraintData);
|
306
|
-
}
|
307
|
-
|
308
|
-
///fills the dataBuffer and returns the struct name (and 0 on failure)
|
309
|
-
SIMD_FORCE_INLINE const char* btSliderConstraint::serialize(void* dataBuffer, btSerializer* serializer) const
|
310
|
-
{
|
311
|
-
|
312
|
-
btSliderConstraintData* sliderData = (btSliderConstraintData*) dataBuffer;
|
313
|
-
btTypedConstraint::serialize(&sliderData->m_typeConstraintData,serializer);
|
314
|
-
|
315
|
-
m_frameInA.serializeFloat(sliderData->m_rbAFrame);
|
316
|
-
m_frameInB.serializeFloat(sliderData->m_rbBFrame);
|
317
|
-
|
318
|
-
sliderData->m_linearUpperLimit = float(m_upperLinLimit);
|
319
|
-
sliderData->m_linearLowerLimit = float(m_lowerLinLimit);
|
320
|
-
|
321
|
-
sliderData->m_angularUpperLimit = float(m_upperAngLimit);
|
322
|
-
sliderData->m_angularLowerLimit = float(m_lowerAngLimit);
|
323
|
-
|
324
|
-
sliderData->m_useLinearReferenceFrameA = m_useLinearReferenceFrameA;
|
325
|
-
sliderData->m_useOffsetForConstraintFrame = m_useOffsetForConstraintFrame;
|
326
|
-
|
327
|
-
return "btSliderConstraintData";
|
328
|
-
}
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
#endif //BT_SLIDER_CONSTRAINT_H
|
333
|
-
|