diff --git a/Extras/AllBulletDemosOSX/AllBulletDemos.xcodeproj/TemplateIcon.icns b/Extras/AllBulletDemosOSX/AllBulletDemos.xcodeproj/TemplateIcon.icns new file mode 100644 index 000000000..62cb7015e Binary files /dev/null and b/Extras/AllBulletDemosOSX/AllBulletDemos.xcodeproj/TemplateIcon.icns differ diff --git a/Extras/AllBulletDemosOSX/AllBulletDemos.xcodeproj/project.pbxproj b/Extras/AllBulletDemosOSX/AllBulletDemos.xcodeproj/project.pbxproj new file mode 100644 index 000000000..efa928dc1 --- /dev/null +++ b/Extras/AllBulletDemosOSX/AllBulletDemos.xcodeproj/project.pbxproj @@ -0,0 +1,1857 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 42; + objects = { + +/* Begin PBXBuildFile section */ + 1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD58140DA1D0A300B32029 /* MainMenu.xib */; }; + 3620538B0DCE4FB70048F794 /* file.obj in Resources */ = {isa = PBXBuildFile; fileRef = 3620538A0DCE4FB70048F794 /* file.obj */; }; + 366318C00DCE4C6600FB1C5E /* BspDemo.bsp in Resources */ = {isa = PBXBuildFile; fileRef = 366318BF0DCE4C6600FB1C5E /* BspDemo.bsp */; }; + 3699D19C0DCF64EE001D9494 /* DemoEntries.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3699D1880DCF64EE001D9494 /* DemoEntries.cpp */; }; + 3699D19D0DCF64EE001D9494 /* CcdPhysicsDemo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3699D1890DCF64EE001D9494 /* CcdPhysicsDemo.cpp */; }; + 3699D19E0DCF64EE001D9494 /* BasicDemo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3699D18A0DCF64EE001D9494 /* BasicDemo.cpp */; }; + 3699D19F0DCF64EE001D9494 /* BenchmarkDemo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3699D18B0DCF64EE001D9494 /* BenchmarkDemo.cpp */; }; + 3699D1A00DCF64EE001D9494 /* BspDemo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3699D18C0DCF64EE001D9494 /* BspDemo.cpp */; }; + 3699D1A10DCF64EE001D9494 /* BspConverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3699D18D0DCF64EE001D9494 /* BspConverter.cpp */; }; + 3699D1A20DCF64EE001D9494 /* BspLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3699D18E0DCF64EE001D9494 /* BspLoader.cpp */; }; + 3699D1A30DCF64EE001D9494 /* MotorDemo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3699D18F0DCF64EE001D9494 /* MotorDemo.cpp */; }; + 3699D1A40DCF64EE001D9494 /* ConcavePhysicsDemo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3699D1900DCF64EE001D9494 /* ConcavePhysicsDemo.cpp */; }; + 3699D1A50DCF64EE001D9494 /* ConcaveRaycastDemo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3699D1910DCF64EE001D9494 /* ConcaveRaycastDemo.cpp */; }; + 3699D1A60DCF64EE001D9494 /* ConcaveConvexcastDemo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3699D1920DCF64EE001D9494 /* ConcaveConvexcastDemo.cpp */; }; + 3699D1A70DCF64EE001D9494 /* ConvexDecompositionDemo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3699D1930DCF64EE001D9494 /* ConvexDecompositionDemo.cpp */; }; + 3699D1A80DCF64EE001D9494 /* SliderConstraintDemo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3699D1940DCF64EE001D9494 /* SliderConstraintDemo.cpp */; }; + 3699D1A90DCF64EE001D9494 /* RagdollDemo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3699D1950DCF64EE001D9494 /* RagdollDemo.cpp */; }; + 3699D1AA0DCF64EE001D9494 /* GimpactTestDemo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3699D1960DCF64EE001D9494 /* GimpactTestDemo.cpp */; }; + 3699D1AB0DCF64EE001D9494 /* Raytracer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3699D1970DCF64EE001D9494 /* Raytracer.cpp */; }; + 3699D1AC0DCF64EE001D9494 /* LinearConvexCastDemo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3699D1980DCF64EE001D9494 /* LinearConvexCastDemo.cpp */; }; + 3699D1AD0DCF64EE001D9494 /* VehicleDemo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3699D1990DCF64EE001D9494 /* VehicleDemo.cpp */; }; + 3699D1AE0DCF64EE001D9494 /* SoftDemo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3699D19A0DCF64EE001D9494 /* SoftDemo.cpp */; }; + 3699D1AF0DCF64EE001D9494 /* ConstraintDemo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3699D19B0DCF64EE001D9494 /* ConstraintDemo.cpp */; }; + 36A05AB90DCB349700ADF289 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 36A05AB80DCB349700ADF289 /* OpenGL.framework */; }; + 36A05AC90DCB367300ADF289 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 36A05AC80DCB367300ADF289 /* Carbon.framework */; }; + 36A05B910DCB9EF000ADF289 /* BulletIcon.icns in Resources */ = {isa = PBXBuildFile; fileRef = 36A05B900DCB9EF000ADF289 /* BulletIcon.icns */; }; + 36A05BD30DCBA13600ADF289 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 36A05BBA0DCBA09000ADF289 /* Credits.rtf */; }; + 36A05D5E0DCBB08400ADF289 /* GLUT.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 36A05D5D0DCBB08400ADF289 /* GLUT.framework */; }; + 36A05DD20DCBBAC000ADF289 /* BTFullscreenWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 36A05DC80DCBBAC000ADF289 /* BTFullscreenWindow.m */; }; + 36A05DD30DCBBAC000ADF289 /* BTGLUTKeyAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = 36A05DCA0DCBBAC000ADF289 /* BTGLUTKeyAdapter.m */; }; + 36A05DD40DCBBAC000ADF289 /* BTOpenGLView.m in Sources */ = {isa = PBXBuildFile; fileRef = 36A05DCD0DCBBAC000ADF289 /* BTOpenGLView.m */; }; + 36A05DD50DCBBAC000ADF289 /* BTSimulationParameters.m in Sources */ = {isa = PBXBuildFile; fileRef = 36A05DCE0DCBBAC000ADF289 /* BTSimulationParameters.m */; }; + 36A05DD60DCBBAC000ADF289 /* BTDemosAppController.m in Sources */ = {isa = PBXBuildFile; fileRef = 36A05DCF0DCBBAC000ADF289 /* BTDemosAppController.m */; }; + 36A72EFF0DCC816F00BA8039 /* BTDemo.mm in Sources */ = {isa = PBXBuildFile; fileRef = 36A72EFE0DCC816F00BA8039 /* BTDemo.mm */; }; + 7ACE56F10DDFA1E600CA06EA /* btAxisSweep3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE52CE0DDFA1E200CA06EA /* btAxisSweep3.cpp */; }; + 7ACE56F20DDFA1E600CA06EA /* btBroadphaseProxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE52D10DDFA1E200CA06EA /* btBroadphaseProxy.cpp */; }; + 7ACE56F30DDFA1E600CA06EA /* btCollisionAlgorithm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE52D30DDFA1E200CA06EA /* btCollisionAlgorithm.cpp */; }; + 7ACE56F40DDFA1E600CA06EA /* btDbvt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE52D50DDFA1E200CA06EA /* btDbvt.cpp */; }; + 7ACE56F50DDFA1E600CA06EA /* btDbvtBroadphase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE52D70DDFA1E200CA06EA /* btDbvtBroadphase.cpp */; }; + 7ACE56F60DDFA1E600CA06EA /* btDispatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE52D90DDFA1E200CA06EA /* btDispatcher.cpp */; }; + 7ACE56F70DDFA1E600CA06EA /* btMultiSapBroadphase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE52DB0DDFA1E200CA06EA /* btMultiSapBroadphase.cpp */; }; + 7ACE56F80DDFA1E600CA06EA /* btOverlappingPairCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE52DD0DDFA1E200CA06EA /* btOverlappingPairCache.cpp */; }; + 7ACE56F90DDFA1E600CA06EA /* btSimpleBroadphase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE52E00DDFA1E200CA06EA /* btSimpleBroadphase.cpp */; }; + 7ACE58A90DDFA1E600CA06EA /* btBoxBoxCollisionAlgorithm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54A40DDFA1E400CA06EA /* btBoxBoxCollisionAlgorithm.cpp */; }; + 7ACE58AA0DDFA1E600CA06EA /* btBoxBoxDetector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54A60DDFA1E400CA06EA /* btBoxBoxDetector.cpp */; }; + 7ACE58AB0DDFA1E600CA06EA /* btCollisionDispatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54AA0DDFA1E400CA06EA /* btCollisionDispatcher.cpp */; }; + 7ACE58AC0DDFA1E600CA06EA /* btCollisionObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54AC0DDFA1E400CA06EA /* btCollisionObject.cpp */; }; + 7ACE58AD0DDFA1E600CA06EA /* btCollisionWorld.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54AE0DDFA1E400CA06EA /* btCollisionWorld.cpp */; }; + 7ACE58AE0DDFA1E600CA06EA /* btCompoundCollisionAlgorithm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54B00DDFA1E400CA06EA /* btCompoundCollisionAlgorithm.cpp */; }; + 7ACE58AF0DDFA1E600CA06EA /* btConvexConcaveCollisionAlgorithm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54B20DDFA1E400CA06EA /* btConvexConcaveCollisionAlgorithm.cpp */; }; + 7ACE58B00DDFA1E600CA06EA /* btConvexConvexAlgorithm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54B40DDFA1E400CA06EA /* btConvexConvexAlgorithm.cpp */; }; + 7ACE58B10DDFA1E600CA06EA /* btConvexPlaneCollisionAlgorithm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54B60DDFA1E400CA06EA /* btConvexPlaneCollisionAlgorithm.cpp */; }; + 7ACE58B20DDFA1E600CA06EA /* btDefaultCollisionConfiguration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54B80DDFA1E400CA06EA /* btDefaultCollisionConfiguration.cpp */; }; + 7ACE58B30DDFA1E600CA06EA /* btEmptyCollisionAlgorithm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54BA0DDFA1E400CA06EA /* btEmptyCollisionAlgorithm.cpp */; }; + 7ACE58B40DDFA1E600CA06EA /* btManifoldResult.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54BC0DDFA1E400CA06EA /* btManifoldResult.cpp */; }; + 7ACE58B50DDFA1E600CA06EA /* btSimulationIslandManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54BE0DDFA1E400CA06EA /* btSimulationIslandManager.cpp */; }; + 7ACE58B60DDFA1E600CA06EA /* btSphereBoxCollisionAlgorithm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54C00DDFA1E400CA06EA /* btSphereBoxCollisionAlgorithm.cpp */; }; + 7ACE58B70DDFA1E600CA06EA /* btSphereSphereCollisionAlgorithm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54C20DDFA1E400CA06EA /* btSphereSphereCollisionAlgorithm.cpp */; }; + 7ACE58B80DDFA1E600CA06EA /* btSphereTriangleCollisionAlgorithm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54C40DDFA1E400CA06EA /* btSphereTriangleCollisionAlgorithm.cpp */; }; + 7ACE58B90DDFA1E600CA06EA /* btUnionFind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54C60DDFA1E400CA06EA /* btUnionFind.cpp */; }; + 7ACE58BA0DDFA1E600CA06EA /* SphereTriangleDetector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54C80DDFA1E400CA06EA /* SphereTriangleDetector.cpp */; }; + 7ACE58BB0DDFA1E600CA06EA /* btBoxShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54CB0DDFA1E400CA06EA /* btBoxShape.cpp */; }; + 7ACE58BC0DDFA1E600CA06EA /* btBvhTriangleMeshShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54CD0DDFA1E400CA06EA /* btBvhTriangleMeshShape.cpp */; }; + 7ACE58BD0DDFA1E600CA06EA /* btCapsuleShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54CF0DDFA1E400CA06EA /* btCapsuleShape.cpp */; }; + 7ACE58BE0DDFA1E600CA06EA /* btCollisionShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54D20DDFA1E400CA06EA /* btCollisionShape.cpp */; }; + 7ACE58BF0DDFA1E600CA06EA /* btCompoundShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54D40DDFA1E400CA06EA /* btCompoundShape.cpp */; }; + 7ACE58C00DDFA1E600CA06EA /* btConcaveShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54D60DDFA1E400CA06EA /* btConcaveShape.cpp */; }; + 7ACE58C10DDFA1E600CA06EA /* btConeShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54D80DDFA1E400CA06EA /* btConeShape.cpp */; }; + 7ACE58C20DDFA1E600CA06EA /* btConvexHullShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54DA0DDFA1E400CA06EA /* btConvexHullShape.cpp */; }; + 7ACE58C30DDFA1E600CA06EA /* btConvexInternalShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54DC0DDFA1E400CA06EA /* btConvexInternalShape.cpp */; }; + 7ACE58C40DDFA1E600CA06EA /* btConvexShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54DE0DDFA1E400CA06EA /* btConvexShape.cpp */; }; + 7ACE58C50DDFA1E600CA06EA /* btConvexTriangleMeshShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54E00DDFA1E400CA06EA /* btConvexTriangleMeshShape.cpp */; }; + 7ACE58C60DDFA1E600CA06EA /* btCylinderShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54E20DDFA1E400CA06EA /* btCylinderShape.cpp */; }; + 7ACE58C70DDFA1E600CA06EA /* btEmptyShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54E40DDFA1E400CA06EA /* btEmptyShape.cpp */; }; + 7ACE58C80DDFA1E600CA06EA /* btHeightfieldTerrainShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54E60DDFA1E400CA06EA /* btHeightfieldTerrainShape.cpp */; }; + 7ACE58C90DDFA1E600CA06EA /* btMinkowskiSumShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54E80DDFA1E400CA06EA /* btMinkowskiSumShape.cpp */; }; + 7ACE58CA0DDFA1E600CA06EA /* btMultiSphereShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54EA0DDFA1E400CA06EA /* btMultiSphereShape.cpp */; }; + 7ACE58CB0DDFA1E600CA06EA /* btOptimizedBvh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54EC0DDFA1E400CA06EA /* btOptimizedBvh.cpp */; }; + 7ACE58CC0DDFA1E600CA06EA /* btPolyhedralConvexShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54EE0DDFA1E400CA06EA /* btPolyhedralConvexShape.cpp */; }; + 7ACE58CD0DDFA1E600CA06EA /* btShapeHull.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54F00DDFA1E400CA06EA /* btShapeHull.cpp */; }; + 7ACE58CE0DDFA1E600CA06EA /* btSphereShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54F20DDFA1E400CA06EA /* btSphereShape.cpp */; }; + 7ACE58CF0DDFA1E600CA06EA /* btStaticPlaneShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54F40DDFA1E400CA06EA /* btStaticPlaneShape.cpp */; }; + 7ACE58D00DDFA1E600CA06EA /* btStridingMeshInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54F60DDFA1E400CA06EA /* btStridingMeshInterface.cpp */; }; + 7ACE58D10DDFA1E600CA06EA /* btTetrahedronShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54F80DDFA1E400CA06EA /* btTetrahedronShape.cpp */; }; + 7ACE58D20DDFA1E600CA06EA /* btTriangleBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54FA0DDFA1E400CA06EA /* btTriangleBuffer.cpp */; }; + 7ACE58D30DDFA1E600CA06EA /* btTriangleCallback.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54FC0DDFA1E400CA06EA /* btTriangleCallback.cpp */; }; + 7ACE58D40DDFA1E600CA06EA /* btTriangleIndexVertexArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE54FE0DDFA1E400CA06EA /* btTriangleIndexVertexArray.cpp */; }; + 7ACE58D50DDFA1E600CA06EA /* btTriangleMesh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE55000DDFA1E400CA06EA /* btTriangleMesh.cpp */; }; + 7ACE58D60DDFA1E600CA06EA /* btTriangleMeshShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE55020DDFA1E400CA06EA /* btTriangleMeshShape.cpp */; }; + 7ACE58D70DDFA1E600CA06EA /* btUniformScalingShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE55050DDFA1E400CA06EA /* btUniformScalingShape.cpp */; }; + 7ACE58DE0DDFA1E700CA06EA /* btContinuousConvexCollision.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE55100DDFA1E400CA06EA /* btContinuousConvexCollision.cpp */; }; + 7ACE58DF0DDFA1E700CA06EA /* btConvexCast.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE55120DDFA1E400CA06EA /* btConvexCast.cpp */; }; + 7ACE58E00DDFA1E700CA06EA /* btGjkConvexCast.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE55160DDFA1E400CA06EA /* btGjkConvexCast.cpp */; }; + 7ACE58E10DDFA1E700CA06EA /* btGjkEpa.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE55180DDFA1E400CA06EA /* btGjkEpa.cpp */; }; + 7ACE58E20DDFA1E700CA06EA /* btGjkEpa2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE551A0DDFA1E400CA06EA /* btGjkEpa2.cpp */; }; + 7ACE58E30DDFA1E700CA06EA /* btGjkEpaPenetrationDepthSolver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE551C0DDFA1E400CA06EA /* btGjkEpaPenetrationDepthSolver.cpp */; }; + 7ACE58E40DDFA1E700CA06EA /* btGjkPairDetector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE551E0DDFA1E400CA06EA /* btGjkPairDetector.cpp */; }; + 7ACE58E50DDFA1E700CA06EA /* btMinkowskiPenetrationDepthSolver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE55210DDFA1E400CA06EA /* btMinkowskiPenetrationDepthSolver.cpp */; }; + 7ACE58E60DDFA1E700CA06EA /* btPersistentManifold.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE55230DDFA1E400CA06EA /* btPersistentManifold.cpp */; }; + 7ACE58E70DDFA1E700CA06EA /* btRaycastCallback.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE55260DDFA1E400CA06EA /* btRaycastCallback.cpp */; }; + 7ACE58E80DDFA1E700CA06EA /* btSubSimplexConvexCast.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE55290DDFA1E400CA06EA /* btSubSimplexConvexCast.cpp */; }; + 7ACE58E90DDFA1E700CA06EA /* btVoronoiSimplexSolver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE552B0DDFA1E400CA06EA /* btVoronoiSimplexSolver.cpp */; }; + 7ACE59AA0DDFA1E700CA06EA /* btConeTwistConstraint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE56010DDFA1E500CA06EA /* btConeTwistConstraint.cpp */; }; + 7ACE59AB0DDFA1E700CA06EA /* btContactConstraint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE56040DDFA1E500CA06EA /* btContactConstraint.cpp */; }; + 7ACE59AC0DDFA1E700CA06EA /* btGeneric6DofConstraint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE56070DDFA1E500CA06EA /* btGeneric6DofConstraint.cpp */; }; + 7ACE59AD0DDFA1E700CA06EA /* btHingeConstraint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE56090DDFA1E500CA06EA /* btHingeConstraint.cpp */; }; + 7ACE59AE0DDFA1E700CA06EA /* btOdeContactJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE560C0DDFA1E500CA06EA /* btOdeContactJoint.cpp */; }; + 7ACE59AF0DDFA1E700CA06EA /* btOdeJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE560E0DDFA1E500CA06EA /* btOdeJoint.cpp */; }; + 7ACE59B00DDFA1E700CA06EA /* btOdeQuickstepConstraintSolver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE56110DDFA1E500CA06EA /* btOdeQuickstepConstraintSolver.cpp */; }; + 7ACE59B10DDFA1E700CA06EA /* btOdeTypedJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE56140DDFA1E500CA06EA /* btOdeTypedJoint.cpp */; }; + 7ACE59B20DDFA1E700CA06EA /* btPoint2PointConstraint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE56160DDFA1E500CA06EA /* btPoint2PointConstraint.cpp */; }; + 7ACE59B30DDFA1E700CA06EA /* btSequentialImpulseConstraintSolver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE56180DDFA1E500CA06EA /* btSequentialImpulseConstraintSolver.cpp */; }; + 7ACE59B40DDFA1E700CA06EA /* btSliderConstraint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE561A0DDFA1E500CA06EA /* btSliderConstraint.cpp */; }; + 7ACE59B50DDFA1E700CA06EA /* btSolve2LinearConstraint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE561C0DDFA1E500CA06EA /* btSolve2LinearConstraint.cpp */; }; + 7ACE59B60DDFA1E700CA06EA /* btSorLcp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE56200DDFA1E500CA06EA /* btSorLcp.cpp */; }; + 7ACE59B70DDFA1E700CA06EA /* btTypedConstraint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE56220DDFA1E500CA06EA /* btTypedConstraint.cpp */; }; + 7ACE59B90DDFA1E700CA06EA /* btContinuousDynamicsWorld.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE56270DDFA1E500CA06EA /* btContinuousDynamicsWorld.cpp */; }; + 7ACE59BA0DDFA1E700CA06EA /* btDiscreteDynamicsWorld.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE56290DDFA1E500CA06EA /* btDiscreteDynamicsWorld.cpp */; }; + 7ACE59BB0DDFA1E700CA06EA /* btRigidBody.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE562C0DDFA1E500CA06EA /* btRigidBody.cpp */; }; + 7ACE59BC0DDFA1E700CA06EA /* btSimpleDynamicsWorld.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE562E0DDFA1E500CA06EA /* btSimpleDynamicsWorld.cpp */; }; + 7ACE59BD0DDFA1E700CA06EA /* Bullet-C-API.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE56300DDFA1E500CA06EA /* Bullet-C-API.cpp */; }; + 7ACE59C30DDFA1E700CA06EA /* btRaycastVehicle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE56390DDFA1E500CA06EA /* btRaycastVehicle.cpp */; }; + 7ACE59C40DDFA1E700CA06EA /* btWheelInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE563C0DDFA1E500CA06EA /* btWheelInfo.cpp */; }; + 7ACE59C50DDFA1E700CA06EA /* btSoftBody.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE563F0DDFA1E500CA06EA /* btSoftBody.cpp */; }; + 7ACE59C60DDFA1E700CA06EA /* btSoftBodyConcaveCollisionAlgorithm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE56410DDFA1E500CA06EA /* btSoftBodyConcaveCollisionAlgorithm.cpp */; }; + 7ACE59C70DDFA1E700CA06EA /* btSoftBodyHelpers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE56430DDFA1E500CA06EA /* btSoftBodyHelpers.cpp */; }; + 7ACE59C80DDFA1E700CA06EA /* btSoftBodyRigidBodyCollisionConfiguration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE56450DDFA1E500CA06EA /* btSoftBodyRigidBodyCollisionConfiguration.cpp */; }; + 7ACE59C90DDFA1E700CA06EA /* btSoftRigidCollisionAlgorithm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE56470DDFA1E500CA06EA /* btSoftRigidCollisionAlgorithm.cpp */; }; + 7ACE59CA0DDFA1E700CA06EA /* btSoftRigidDynamicsWorld.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE56490DDFA1E500CA06EA /* btSoftRigidDynamicsWorld.cpp */; }; + 7ACE59CB0DDFA1E700CA06EA /* btSoftSoftCollisionAlgorithm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE564B0DDFA1E500CA06EA /* btSoftSoftCollisionAlgorithm.cpp */; }; + 7ACE59ED0DDFA1E700CA06EA /* btAlignedAllocator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE567F0DDFA1E600CA06EA /* btAlignedAllocator.cpp */; }; + 7ACE59EE0DDFA1E700CA06EA /* btConvexHull.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE56820DDFA1E600CA06EA /* btConvexHull.cpp */; }; + 7ACE59EF0DDFA1E700CA06EA /* btGeometryUtil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE56850DDFA1E600CA06EA /* btGeometryUtil.cpp */; }; + 7ACE59F00DDFA1E700CA06EA /* btQuickprof.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE56910DDFA1E600CA06EA /* btQuickprof.cpp */; }; + 7ACE5AC20DDFA30100CA06EA /* BMF_Api.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE5A3A0DDFA30100CA06EA /* BMF_Api.cpp */; }; + 7ACE5AC30DDFA30100CA06EA /* BMF_BitmapFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE5A3C0DDFA30100CA06EA /* BMF_BitmapFont.cpp */; }; + 7ACE5AC40DDFA30100CA06EA /* BMF_font_helv10.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE5A3E0DDFA30100CA06EA /* BMF_font_helv10.cpp */; }; + 7ACE5B230DDFA30200CA06EA /* DemoApplication.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE5AB00DDFA30100CA06EA /* DemoApplication.cpp */; }; + 7ACE5B240DDFA30200CA06EA /* GL_ShapeDrawer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE5AB20DDFA30100CA06EA /* GL_ShapeDrawer.cpp */; }; + 7ACE5B250DDFA30200CA06EA /* GL_Simplex1to4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE5AB40DDFA30100CA06EA /* GL_Simplex1to4.cpp */; }; + 7ACE5B260DDFA30200CA06EA /* GLDebugDrawer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE5AB60DDFA30100CA06EA /* GLDebugDrawer.cpp */; }; + 7ACE5B2C0DDFA30200CA06EA /* RenderTexture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE5AC00DDFA30100CA06EA /* RenderTexture.cpp */; }; + 7ACE5BDC0DDFA36100CA06EA /* bestfit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE5B2F0DDFA36000CA06EA /* bestfit.cpp */; }; + 7ACE5BDD0DDFA36100CA06EA /* bestfitobb.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE5B310DDFA36000CA06EA /* bestfitobb.cpp */; }; + 7ACE5C3C0DDFA36100CA06EA /* cd_hull.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE5B9D0DDFA36100CA06EA /* cd_hull.cpp */; }; + 7ACE5C3D0DDFA36100CA06EA /* cd_wavefront.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE5BA00DDFA36100CA06EA /* cd_wavefront.cpp */; }; + 7ACE5C5B0DDFA36100CA06EA /* concavity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE5BC10DDFA36100CA06EA /* concavity.cpp */; }; + 7ACE5C5C0DDFA36100CA06EA /* ConvexBuilder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE5BC30DDFA36100CA06EA /* ConvexBuilder.cpp */; }; + 7ACE5C5D0DDFA36100CA06EA /* ConvexDecomposition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE5BC50DDFA36100CA06EA /* ConvexDecomposition.cpp */; }; + 7ACE5C5F0DDFA36100CA06EA /* fitsphere.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE5BC90DDFA36100CA06EA /* fitsphere.cpp */; }; + 7ACE5C600DDFA36100CA06EA /* float_math.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE5BCB0DDFA36100CA06EA /* float_math.cpp */; }; + 7ACE5C640DDFA36100CA06EA /* meshvolume.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE5BD00DDFA36100CA06EA /* meshvolume.cpp */; }; + 7ACE5C650DDFA36100CA06EA /* planetri.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE5BD20DDFA36100CA06EA /* planetri.cpp */; }; + 7ACE5C660DDFA36100CA06EA /* raytri.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE5BD40DDFA36100CA06EA /* raytri.cpp */; }; + 7ACE5C680DDFA36100CA06EA /* splitplane.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE5BD80DDFA36100CA06EA /* splitplane.cpp */; }; + 7ACE5C690DDFA36100CA06EA /* vlookup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE5BDA0DDFA36100CA06EA /* vlookup.cpp */; }; + 7ACE5D860DDFA38000CA06EA /* btContactProcessing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE5D0D0DDFA37F00CA06EA /* btContactProcessing.cpp */; }; + 7ACE5D870DDFA38000CA06EA /* btGenericPoolAllocator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE5D0E0DDFA37F00CA06EA /* btGenericPoolAllocator.cpp */; }; + 7ACE5D880DDFA38000CA06EA /* btGImpactBvh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE5D0F0DDFA37F00CA06EA /* btGImpactBvh.cpp */; }; + 7ACE5D890DDFA38000CA06EA /* btGImpactCollisionAlgorithm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE5D100DDFA37F00CA06EA /* btGImpactCollisionAlgorithm.cpp */; }; + 7ACE5D8A0DDFA38000CA06EA /* btGImpactQuantizedBvh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE5D110DDFA37F00CA06EA /* btGImpactQuantizedBvh.cpp */; }; + 7ACE5D8B0DDFA38000CA06EA /* btGImpactShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE5D120DDFA37F00CA06EA /* btGImpactShape.cpp */; }; + 7ACE5D8C0DDFA38000CA06EA /* btTriangleShapeEx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE5D130DDFA37F00CA06EA /* btTriangleShapeEx.cpp */; }; + 7ACE5D8D0DDFA38000CA06EA /* gim_box_set.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE5D150DDFA37F00CA06EA /* gim_box_set.cpp */; }; + 7ACE5D8E0DDFA38000CA06EA /* gim_contact.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE5D160DDFA37F00CA06EA /* gim_contact.cpp */; }; + 7ACE5D8F0DDFA38000CA06EA /* gim_memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE5D170DDFA37F00CA06EA /* gim_memory.cpp */; }; + 7ACE5D900DDFA38000CA06EA /* gim_tri_collision.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE5D180DDFA37F00CA06EA /* gim_tri_collision.cpp */; }; + 7ACE5DD60DDFA39800CA06EA /* btGImpactConvexDecompositionShape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACE5D920DDFA39700CA06EA /* btGImpactConvexDecompositionShape.cpp */; }; + 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; }; + 8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; }; + 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; + 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; + 13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = ""; }; + 1DDD58150DA1D0A300B32029 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = ""; }; + 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; + 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; + 32CA4F630368D1EE00C91783 /* AllBulletDemos_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AllBulletDemos_Prefix.pch; sourceTree = ""; }; + 3620538A0DCE4FB70048F794 /* file.obj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = file.obj; path = ../../file.obj; sourceTree = SOURCE_ROOT; }; + 366318BF0DCE4C6600FB1C5E /* BspDemo.bsp */ = {isa = PBXFileReference; lastKnownFileType = file; name = BspDemo.bsp; path = ../../BspDemo.bsp; sourceTree = SOURCE_ROOT; }; + 3699D1880DCF64EE001D9494 /* DemoEntries.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DemoEntries.cpp; path = ../../Demos/AllBulletDemos/DemoEntries.cpp; sourceTree = SOURCE_ROOT; }; + 3699D1890DCF64EE001D9494 /* CcdPhysicsDemo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CcdPhysicsDemo.cpp; path = ../../Demos/CcdPhysicsDemo/CcdPhysicsDemo.cpp; sourceTree = SOURCE_ROOT; }; + 3699D18A0DCF64EE001D9494 /* BasicDemo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BasicDemo.cpp; path = ../../Demos/BasicDemo/BasicDemo.cpp; sourceTree = SOURCE_ROOT; }; + 3699D18B0DCF64EE001D9494 /* BenchmarkDemo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BenchmarkDemo.cpp; path = ../../Demos/Benchmarks/BenchmarkDemo.cpp; sourceTree = SOURCE_ROOT; }; + 3699D18C0DCF64EE001D9494 /* BspDemo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BspDemo.cpp; path = ../../Demos/BspDemo/BspDemo.cpp; sourceTree = SOURCE_ROOT; }; + 3699D18D0DCF64EE001D9494 /* BspConverter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BspConverter.cpp; path = ../../Demos/BspDemo/BspConverter.cpp; sourceTree = SOURCE_ROOT; }; + 3699D18E0DCF64EE001D9494 /* BspLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BspLoader.cpp; path = ../../Demos/BspDemo/BspLoader.cpp; sourceTree = SOURCE_ROOT; }; + 3699D18F0DCF64EE001D9494 /* MotorDemo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MotorDemo.cpp; path = ../../Demos/DynamicControlDemo/MotorDemo.cpp; sourceTree = SOURCE_ROOT; }; + 3699D1900DCF64EE001D9494 /* ConcavePhysicsDemo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ConcavePhysicsDemo.cpp; path = ../../Demos/ConcaveDemo/ConcavePhysicsDemo.cpp; sourceTree = SOURCE_ROOT; }; + 3699D1910DCF64EE001D9494 /* ConcaveRaycastDemo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ConcaveRaycastDemo.cpp; path = ../../Demos/ConcaveRaycastDemo/ConcaveRaycastDemo.cpp; sourceTree = SOURCE_ROOT; }; + 3699D1920DCF64EE001D9494 /* ConcaveConvexcastDemo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ConcaveConvexcastDemo.cpp; path = ../../Demos/ConcaveConvexcastDemo/ConcaveConvexcastDemo.cpp; sourceTree = SOURCE_ROOT; }; + 3699D1930DCF64EE001D9494 /* ConvexDecompositionDemo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ConvexDecompositionDemo.cpp; path = ../../Demos/ConvexDecompositionDemo/ConvexDecompositionDemo.cpp; sourceTree = SOURCE_ROOT; }; + 3699D1940DCF64EE001D9494 /* SliderConstraintDemo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SliderConstraintDemo.cpp; path = ../../Demos/SliderConstraintDemo/SliderConstraintDemo.cpp; sourceTree = SOURCE_ROOT; }; + 3699D1950DCF64EE001D9494 /* RagdollDemo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RagdollDemo.cpp; path = ../../Demos/RagdollDemo/RagdollDemo.cpp; sourceTree = SOURCE_ROOT; }; + 3699D1960DCF64EE001D9494 /* GimpactTestDemo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GimpactTestDemo.cpp; path = ../../Demos/GimpactTestDemo/GimpactTestDemo.cpp; sourceTree = SOURCE_ROOT; }; + 3699D1970DCF64EE001D9494 /* Raytracer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Raytracer.cpp; path = ../../Demos/Raytracer/Raytracer.cpp; sourceTree = SOURCE_ROOT; }; + 3699D1980DCF64EE001D9494 /* LinearConvexCastDemo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LinearConvexCastDemo.cpp; path = ../../Demos/GjkConvexCastDemo/LinearConvexCastDemo.cpp; sourceTree = SOURCE_ROOT; }; + 3699D1990DCF64EE001D9494 /* VehicleDemo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = VehicleDemo.cpp; path = ../../Demos/VehicleDemo/VehicleDemo.cpp; sourceTree = SOURCE_ROOT; }; + 3699D19A0DCF64EE001D9494 /* SoftDemo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SoftDemo.cpp; path = ../../Demos/SoftDemo/SoftDemo.cpp; sourceTree = SOURCE_ROOT; }; + 3699D19B0DCF64EE001D9494 /* ConstraintDemo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ConstraintDemo.cpp; path = ../../Demos/ConstraintDemo/ConstraintDemo.cpp; sourceTree = SOURCE_ROOT; }; + 36A05AB80DCB349700ADF289 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = ""; }; + 36A05AC80DCB367300ADF289 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = ""; }; + 36A05B900DCB9EF000ADF289 /* BulletIcon.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = BulletIcon.icns; sourceTree = ""; }; + 36A05BBB0DCBA09000ADF289 /* English */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = English; path = English.lproj/Credits.rtf; sourceTree = ""; }; + 36A05D5D0DCBB08400ADF289 /* GLUT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLUT.framework; path = /System/Library/Frameworks/GLUT.framework; sourceTree = ""; }; + 36A05DC70DCBBAC000ADF289 /* BTFullscreenWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BTFullscreenWindow.h; sourceTree = ""; }; + 36A05DC80DCBBAC000ADF289 /* BTFullscreenWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BTFullscreenWindow.m; sourceTree = ""; }; + 36A05DC90DCBBAC000ADF289 /* BTGLUTKeyAdapter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BTGLUTKeyAdapter.h; sourceTree = ""; }; + 36A05DCA0DCBBAC000ADF289 /* BTGLUTKeyAdapter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BTGLUTKeyAdapter.m; sourceTree = ""; }; + 36A05DCB0DCBBAC000ADF289 /* BTOpenGLDisplayDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BTOpenGLDisplayDelegate.h; sourceTree = ""; }; + 36A05DCC0DCBBAC000ADF289 /* BTOpenGLView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BTOpenGLView.h; sourceTree = ""; }; + 36A05DCD0DCBBAC000ADF289 /* BTOpenGLView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BTOpenGLView.m; sourceTree = ""; }; + 36A05DCE0DCBBAC000ADF289 /* BTSimulationParameters.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BTSimulationParameters.m; sourceTree = ""; }; + 36A05DCF0DCBBAC000ADF289 /* BTDemosAppController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BTDemosAppController.m; sourceTree = ""; }; + 36A05DD00DCBBAC000ADF289 /* BTSimulationParameters.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BTSimulationParameters.h; sourceTree = ""; }; + 36A05DD10DCBBAC000ADF289 /* BTDemosAppController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BTDemosAppController.h; sourceTree = ""; }; + 36A72EFD0DCC816F00BA8039 /* BTDemo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BTDemo.h; sourceTree = ""; }; + 36A72EFE0DCC816F00BA8039 /* BTDemo.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = BTDemo.mm; sourceTree = ""; }; + 7ACE52C90DDFA1E200CA06EA /* btBulletCollisionCommon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btBulletCollisionCommon.h; sourceTree = ""; }; + 7ACE52CA0DDFA1E200CA06EA /* btBulletDynamicsCommon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btBulletDynamicsCommon.h; sourceTree = ""; }; + 7ACE52CB0DDFA1E200CA06EA /* Bullet-C-Api.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Bullet-C-Api.h"; sourceTree = ""; }; + 7ACE52CE0DDFA1E200CA06EA /* btAxisSweep3.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btAxisSweep3.cpp; sourceTree = ""; }; + 7ACE52CF0DDFA1E200CA06EA /* btAxisSweep3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btAxisSweep3.h; sourceTree = ""; }; + 7ACE52D00DDFA1E200CA06EA /* btBroadphaseInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btBroadphaseInterface.h; sourceTree = ""; }; + 7ACE52D10DDFA1E200CA06EA /* btBroadphaseProxy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btBroadphaseProxy.cpp; sourceTree = ""; }; + 7ACE52D20DDFA1E200CA06EA /* btBroadphaseProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btBroadphaseProxy.h; sourceTree = ""; }; + 7ACE52D30DDFA1E200CA06EA /* btCollisionAlgorithm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btCollisionAlgorithm.cpp; sourceTree = ""; }; + 7ACE52D40DDFA1E200CA06EA /* btCollisionAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btCollisionAlgorithm.h; sourceTree = ""; }; + 7ACE52D50DDFA1E200CA06EA /* btDbvt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btDbvt.cpp; sourceTree = ""; }; + 7ACE52D60DDFA1E200CA06EA /* btDbvt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btDbvt.h; sourceTree = ""; }; + 7ACE52D70DDFA1E200CA06EA /* btDbvtBroadphase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btDbvtBroadphase.cpp; sourceTree = ""; }; + 7ACE52D80DDFA1E200CA06EA /* btDbvtBroadphase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btDbvtBroadphase.h; sourceTree = ""; }; + 7ACE52D90DDFA1E200CA06EA /* btDispatcher.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btDispatcher.cpp; sourceTree = ""; }; + 7ACE52DA0DDFA1E200CA06EA /* btDispatcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btDispatcher.h; sourceTree = ""; }; + 7ACE52DB0DDFA1E200CA06EA /* btMultiSapBroadphase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btMultiSapBroadphase.cpp; sourceTree = ""; }; + 7ACE52DC0DDFA1E200CA06EA /* btMultiSapBroadphase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btMultiSapBroadphase.h; sourceTree = ""; }; + 7ACE52DD0DDFA1E200CA06EA /* btOverlappingPairCache.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btOverlappingPairCache.cpp; sourceTree = ""; }; + 7ACE52DE0DDFA1E200CA06EA /* btOverlappingPairCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btOverlappingPairCache.h; sourceTree = ""; }; + 7ACE52DF0DDFA1E200CA06EA /* btOverlappingPairCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btOverlappingPairCallback.h; sourceTree = ""; }; + 7ACE52E00DDFA1E200CA06EA /* btSimpleBroadphase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btSimpleBroadphase.cpp; sourceTree = ""; }; + 7ACE52E10DDFA1E200CA06EA /* btSimpleBroadphase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSimpleBroadphase.h; sourceTree = ""; }; + 7ACE54A40DDFA1E400CA06EA /* btBoxBoxCollisionAlgorithm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btBoxBoxCollisionAlgorithm.cpp; sourceTree = ""; }; + 7ACE54A50DDFA1E400CA06EA /* btBoxBoxCollisionAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btBoxBoxCollisionAlgorithm.h; sourceTree = ""; }; + 7ACE54A60DDFA1E400CA06EA /* btBoxBoxDetector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btBoxBoxDetector.cpp; sourceTree = ""; }; + 7ACE54A70DDFA1E400CA06EA /* btBoxBoxDetector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btBoxBoxDetector.h; sourceTree = ""; }; + 7ACE54A80DDFA1E400CA06EA /* btCollisionConfiguration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btCollisionConfiguration.h; sourceTree = ""; }; + 7ACE54A90DDFA1E400CA06EA /* btCollisionCreateFunc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btCollisionCreateFunc.h; sourceTree = ""; }; + 7ACE54AA0DDFA1E400CA06EA /* btCollisionDispatcher.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btCollisionDispatcher.cpp; sourceTree = ""; }; + 7ACE54AB0DDFA1E400CA06EA /* btCollisionDispatcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btCollisionDispatcher.h; sourceTree = ""; }; + 7ACE54AC0DDFA1E400CA06EA /* btCollisionObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btCollisionObject.cpp; sourceTree = ""; }; + 7ACE54AD0DDFA1E400CA06EA /* btCollisionObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btCollisionObject.h; sourceTree = ""; }; + 7ACE54AE0DDFA1E400CA06EA /* btCollisionWorld.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btCollisionWorld.cpp; sourceTree = ""; }; + 7ACE54AF0DDFA1E400CA06EA /* btCollisionWorld.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btCollisionWorld.h; sourceTree = ""; }; + 7ACE54B00DDFA1E400CA06EA /* btCompoundCollisionAlgorithm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btCompoundCollisionAlgorithm.cpp; sourceTree = ""; }; + 7ACE54B10DDFA1E400CA06EA /* btCompoundCollisionAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btCompoundCollisionAlgorithm.h; sourceTree = ""; }; + 7ACE54B20DDFA1E400CA06EA /* btConvexConcaveCollisionAlgorithm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btConvexConcaveCollisionAlgorithm.cpp; sourceTree = ""; }; + 7ACE54B30DDFA1E400CA06EA /* btConvexConcaveCollisionAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btConvexConcaveCollisionAlgorithm.h; sourceTree = ""; }; + 7ACE54B40DDFA1E400CA06EA /* btConvexConvexAlgorithm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btConvexConvexAlgorithm.cpp; sourceTree = ""; }; + 7ACE54B50DDFA1E400CA06EA /* btConvexConvexAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btConvexConvexAlgorithm.h; sourceTree = ""; }; + 7ACE54B60DDFA1E400CA06EA /* btConvexPlaneCollisionAlgorithm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btConvexPlaneCollisionAlgorithm.cpp; sourceTree = ""; }; + 7ACE54B70DDFA1E400CA06EA /* btConvexPlaneCollisionAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btConvexPlaneCollisionAlgorithm.h; sourceTree = ""; }; + 7ACE54B80DDFA1E400CA06EA /* btDefaultCollisionConfiguration.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btDefaultCollisionConfiguration.cpp; sourceTree = ""; }; + 7ACE54B90DDFA1E400CA06EA /* btDefaultCollisionConfiguration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btDefaultCollisionConfiguration.h; sourceTree = ""; }; + 7ACE54BA0DDFA1E400CA06EA /* btEmptyCollisionAlgorithm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btEmptyCollisionAlgorithm.cpp; sourceTree = ""; }; + 7ACE54BB0DDFA1E400CA06EA /* btEmptyCollisionAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btEmptyCollisionAlgorithm.h; sourceTree = ""; }; + 7ACE54BC0DDFA1E400CA06EA /* btManifoldResult.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btManifoldResult.cpp; sourceTree = ""; }; + 7ACE54BD0DDFA1E400CA06EA /* btManifoldResult.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btManifoldResult.h; sourceTree = ""; }; + 7ACE54BE0DDFA1E400CA06EA /* btSimulationIslandManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btSimulationIslandManager.cpp; sourceTree = ""; }; + 7ACE54BF0DDFA1E400CA06EA /* btSimulationIslandManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSimulationIslandManager.h; sourceTree = ""; }; + 7ACE54C00DDFA1E400CA06EA /* btSphereBoxCollisionAlgorithm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btSphereBoxCollisionAlgorithm.cpp; sourceTree = ""; }; + 7ACE54C10DDFA1E400CA06EA /* btSphereBoxCollisionAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSphereBoxCollisionAlgorithm.h; sourceTree = ""; }; + 7ACE54C20DDFA1E400CA06EA /* btSphereSphereCollisionAlgorithm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btSphereSphereCollisionAlgorithm.cpp; sourceTree = ""; }; + 7ACE54C30DDFA1E400CA06EA /* btSphereSphereCollisionAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSphereSphereCollisionAlgorithm.h; sourceTree = ""; }; + 7ACE54C40DDFA1E400CA06EA /* btSphereTriangleCollisionAlgorithm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btSphereTriangleCollisionAlgorithm.cpp; sourceTree = ""; }; + 7ACE54C50DDFA1E400CA06EA /* btSphereTriangleCollisionAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSphereTriangleCollisionAlgorithm.h; sourceTree = ""; }; + 7ACE54C60DDFA1E400CA06EA /* btUnionFind.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btUnionFind.cpp; sourceTree = ""; }; + 7ACE54C70DDFA1E400CA06EA /* btUnionFind.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btUnionFind.h; sourceTree = ""; }; + 7ACE54C80DDFA1E400CA06EA /* SphereTriangleDetector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SphereTriangleDetector.cpp; sourceTree = ""; }; + 7ACE54C90DDFA1E400CA06EA /* SphereTriangleDetector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SphereTriangleDetector.h; sourceTree = ""; }; + 7ACE54CB0DDFA1E400CA06EA /* btBoxShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btBoxShape.cpp; sourceTree = ""; }; + 7ACE54CC0DDFA1E400CA06EA /* btBoxShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btBoxShape.h; sourceTree = ""; }; + 7ACE54CD0DDFA1E400CA06EA /* btBvhTriangleMeshShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btBvhTriangleMeshShape.cpp; sourceTree = ""; }; + 7ACE54CE0DDFA1E400CA06EA /* btBvhTriangleMeshShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btBvhTriangleMeshShape.h; sourceTree = ""; }; + 7ACE54CF0DDFA1E400CA06EA /* btCapsuleShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btCapsuleShape.cpp; sourceTree = ""; }; + 7ACE54D00DDFA1E400CA06EA /* btCapsuleShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btCapsuleShape.h; sourceTree = ""; }; + 7ACE54D10DDFA1E400CA06EA /* btCollisionMargin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btCollisionMargin.h; sourceTree = ""; }; + 7ACE54D20DDFA1E400CA06EA /* btCollisionShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btCollisionShape.cpp; sourceTree = ""; }; + 7ACE54D30DDFA1E400CA06EA /* btCollisionShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btCollisionShape.h; sourceTree = ""; }; + 7ACE54D40DDFA1E400CA06EA /* btCompoundShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btCompoundShape.cpp; sourceTree = ""; }; + 7ACE54D50DDFA1E400CA06EA /* btCompoundShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btCompoundShape.h; sourceTree = ""; }; + 7ACE54D60DDFA1E400CA06EA /* btConcaveShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btConcaveShape.cpp; sourceTree = ""; }; + 7ACE54D70DDFA1E400CA06EA /* btConcaveShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btConcaveShape.h; sourceTree = ""; }; + 7ACE54D80DDFA1E400CA06EA /* btConeShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btConeShape.cpp; sourceTree = ""; }; + 7ACE54D90DDFA1E400CA06EA /* btConeShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btConeShape.h; sourceTree = ""; }; + 7ACE54DA0DDFA1E400CA06EA /* btConvexHullShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btConvexHullShape.cpp; sourceTree = ""; }; + 7ACE54DB0DDFA1E400CA06EA /* btConvexHullShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btConvexHullShape.h; sourceTree = ""; }; + 7ACE54DC0DDFA1E400CA06EA /* btConvexInternalShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btConvexInternalShape.cpp; sourceTree = ""; }; + 7ACE54DD0DDFA1E400CA06EA /* btConvexInternalShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btConvexInternalShape.h; sourceTree = ""; }; + 7ACE54DE0DDFA1E400CA06EA /* btConvexShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btConvexShape.cpp; sourceTree = ""; }; + 7ACE54DF0DDFA1E400CA06EA /* btConvexShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btConvexShape.h; sourceTree = ""; }; + 7ACE54E00DDFA1E400CA06EA /* btConvexTriangleMeshShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btConvexTriangleMeshShape.cpp; sourceTree = ""; }; + 7ACE54E10DDFA1E400CA06EA /* btConvexTriangleMeshShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btConvexTriangleMeshShape.h; sourceTree = ""; }; + 7ACE54E20DDFA1E400CA06EA /* btCylinderShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btCylinderShape.cpp; sourceTree = ""; }; + 7ACE54E30DDFA1E400CA06EA /* btCylinderShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btCylinderShape.h; sourceTree = ""; }; + 7ACE54E40DDFA1E400CA06EA /* btEmptyShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btEmptyShape.cpp; sourceTree = ""; }; + 7ACE54E50DDFA1E400CA06EA /* btEmptyShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btEmptyShape.h; sourceTree = ""; }; + 7ACE54E60DDFA1E400CA06EA /* btHeightfieldTerrainShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btHeightfieldTerrainShape.cpp; sourceTree = ""; }; + 7ACE54E70DDFA1E400CA06EA /* btHeightfieldTerrainShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btHeightfieldTerrainShape.h; sourceTree = ""; }; + 7ACE54E80DDFA1E400CA06EA /* btMinkowskiSumShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btMinkowskiSumShape.cpp; sourceTree = ""; }; + 7ACE54E90DDFA1E400CA06EA /* btMinkowskiSumShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btMinkowskiSumShape.h; sourceTree = ""; }; + 7ACE54EA0DDFA1E400CA06EA /* btMultiSphereShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btMultiSphereShape.cpp; sourceTree = ""; }; + 7ACE54EB0DDFA1E400CA06EA /* btMultiSphereShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btMultiSphereShape.h; sourceTree = ""; }; + 7ACE54EC0DDFA1E400CA06EA /* btOptimizedBvh.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btOptimizedBvh.cpp; sourceTree = ""; }; + 7ACE54ED0DDFA1E400CA06EA /* btOptimizedBvh.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btOptimizedBvh.h; sourceTree = ""; }; + 7ACE54EE0DDFA1E400CA06EA /* btPolyhedralConvexShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btPolyhedralConvexShape.cpp; sourceTree = ""; }; + 7ACE54EF0DDFA1E400CA06EA /* btPolyhedralConvexShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btPolyhedralConvexShape.h; sourceTree = ""; }; + 7ACE54F00DDFA1E400CA06EA /* btShapeHull.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btShapeHull.cpp; sourceTree = ""; }; + 7ACE54F10DDFA1E400CA06EA /* btShapeHull.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btShapeHull.h; sourceTree = ""; }; + 7ACE54F20DDFA1E400CA06EA /* btSphereShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btSphereShape.cpp; sourceTree = ""; }; + 7ACE54F30DDFA1E400CA06EA /* btSphereShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSphereShape.h; sourceTree = ""; }; + 7ACE54F40DDFA1E400CA06EA /* btStaticPlaneShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btStaticPlaneShape.cpp; sourceTree = ""; }; + 7ACE54F50DDFA1E400CA06EA /* btStaticPlaneShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btStaticPlaneShape.h; sourceTree = ""; }; + 7ACE54F60DDFA1E400CA06EA /* btStridingMeshInterface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btStridingMeshInterface.cpp; sourceTree = ""; }; + 7ACE54F70DDFA1E400CA06EA /* btStridingMeshInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btStridingMeshInterface.h; sourceTree = ""; }; + 7ACE54F80DDFA1E400CA06EA /* btTetrahedronShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btTetrahedronShape.cpp; sourceTree = ""; }; + 7ACE54F90DDFA1E400CA06EA /* btTetrahedronShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btTetrahedronShape.h; sourceTree = ""; }; + 7ACE54FA0DDFA1E400CA06EA /* btTriangleBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btTriangleBuffer.cpp; sourceTree = ""; }; + 7ACE54FB0DDFA1E400CA06EA /* btTriangleBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btTriangleBuffer.h; sourceTree = ""; }; + 7ACE54FC0DDFA1E400CA06EA /* btTriangleCallback.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btTriangleCallback.cpp; sourceTree = ""; }; + 7ACE54FD0DDFA1E400CA06EA /* btTriangleCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btTriangleCallback.h; sourceTree = ""; }; + 7ACE54FE0DDFA1E400CA06EA /* btTriangleIndexVertexArray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btTriangleIndexVertexArray.cpp; sourceTree = ""; }; + 7ACE54FF0DDFA1E400CA06EA /* btTriangleIndexVertexArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btTriangleIndexVertexArray.h; sourceTree = ""; }; + 7ACE55000DDFA1E400CA06EA /* btTriangleMesh.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btTriangleMesh.cpp; sourceTree = ""; }; + 7ACE55010DDFA1E400CA06EA /* btTriangleMesh.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btTriangleMesh.h; sourceTree = ""; }; + 7ACE55020DDFA1E400CA06EA /* btTriangleMeshShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btTriangleMeshShape.cpp; sourceTree = ""; }; + 7ACE55030DDFA1E400CA06EA /* btTriangleMeshShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btTriangleMeshShape.h; sourceTree = ""; }; + 7ACE55040DDFA1E400CA06EA /* btTriangleShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btTriangleShape.h; sourceTree = ""; }; + 7ACE55050DDFA1E400CA06EA /* btUniformScalingShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btUniformScalingShape.cpp; sourceTree = ""; }; + 7ACE55060DDFA1E400CA06EA /* btUniformScalingShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btUniformScalingShape.h; sourceTree = ""; }; + 7ACE55100DDFA1E400CA06EA /* btContinuousConvexCollision.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btContinuousConvexCollision.cpp; sourceTree = ""; }; + 7ACE55110DDFA1E400CA06EA /* btContinuousConvexCollision.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btContinuousConvexCollision.h; sourceTree = ""; }; + 7ACE55120DDFA1E400CA06EA /* btConvexCast.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btConvexCast.cpp; sourceTree = ""; }; + 7ACE55130DDFA1E400CA06EA /* btConvexCast.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btConvexCast.h; sourceTree = ""; }; + 7ACE55140DDFA1E400CA06EA /* btConvexPenetrationDepthSolver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btConvexPenetrationDepthSolver.h; sourceTree = ""; }; + 7ACE55150DDFA1E400CA06EA /* btDiscreteCollisionDetectorInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btDiscreteCollisionDetectorInterface.h; sourceTree = ""; }; + 7ACE55160DDFA1E400CA06EA /* btGjkConvexCast.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btGjkConvexCast.cpp; sourceTree = ""; }; + 7ACE55170DDFA1E400CA06EA /* btGjkConvexCast.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btGjkConvexCast.h; sourceTree = ""; }; + 7ACE55180DDFA1E400CA06EA /* btGjkEpa.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btGjkEpa.cpp; sourceTree = ""; }; + 7ACE55190DDFA1E400CA06EA /* btGjkEpa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btGjkEpa.h; sourceTree = ""; }; + 7ACE551A0DDFA1E400CA06EA /* btGjkEpa2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btGjkEpa2.cpp; sourceTree = ""; }; + 7ACE551B0DDFA1E400CA06EA /* btGjkEpa2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btGjkEpa2.h; sourceTree = ""; }; + 7ACE551C0DDFA1E400CA06EA /* btGjkEpaPenetrationDepthSolver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btGjkEpaPenetrationDepthSolver.cpp; sourceTree = ""; }; + 7ACE551D0DDFA1E400CA06EA /* btGjkEpaPenetrationDepthSolver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btGjkEpaPenetrationDepthSolver.h; sourceTree = ""; }; + 7ACE551E0DDFA1E400CA06EA /* btGjkPairDetector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btGjkPairDetector.cpp; sourceTree = ""; }; + 7ACE551F0DDFA1E400CA06EA /* btGjkPairDetector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btGjkPairDetector.h; sourceTree = ""; }; + 7ACE55200DDFA1E400CA06EA /* btManifoldPoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btManifoldPoint.h; sourceTree = ""; }; + 7ACE55210DDFA1E400CA06EA /* btMinkowskiPenetrationDepthSolver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btMinkowskiPenetrationDepthSolver.cpp; sourceTree = ""; }; + 7ACE55220DDFA1E400CA06EA /* btMinkowskiPenetrationDepthSolver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btMinkowskiPenetrationDepthSolver.h; sourceTree = ""; }; + 7ACE55230DDFA1E400CA06EA /* btPersistentManifold.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btPersistentManifold.cpp; sourceTree = ""; }; + 7ACE55240DDFA1E400CA06EA /* btPersistentManifold.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btPersistentManifold.h; sourceTree = ""; }; + 7ACE55250DDFA1E400CA06EA /* btPointCollector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btPointCollector.h; sourceTree = ""; }; + 7ACE55260DDFA1E400CA06EA /* btRaycastCallback.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btRaycastCallback.cpp; sourceTree = ""; }; + 7ACE55270DDFA1E400CA06EA /* btRaycastCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btRaycastCallback.h; sourceTree = ""; }; + 7ACE55280DDFA1E400CA06EA /* btSimplexSolverInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSimplexSolverInterface.h; sourceTree = ""; }; + 7ACE55290DDFA1E400CA06EA /* btSubSimplexConvexCast.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btSubSimplexConvexCast.cpp; sourceTree = ""; }; + 7ACE552A0DDFA1E400CA06EA /* btSubSimplexConvexCast.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSubSimplexConvexCast.h; sourceTree = ""; }; + 7ACE552B0DDFA1E400CA06EA /* btVoronoiSimplexSolver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btVoronoiSimplexSolver.cpp; sourceTree = ""; }; + 7ACE552C0DDFA1E400CA06EA /* btVoronoiSimplexSolver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btVoronoiSimplexSolver.h; sourceTree = ""; }; + 7ACE56010DDFA1E500CA06EA /* btConeTwistConstraint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btConeTwistConstraint.cpp; sourceTree = ""; }; + 7ACE56020DDFA1E500CA06EA /* btConeTwistConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btConeTwistConstraint.h; sourceTree = ""; }; + 7ACE56030DDFA1E500CA06EA /* btConstraintSolver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btConstraintSolver.h; sourceTree = ""; }; + 7ACE56040DDFA1E500CA06EA /* btContactConstraint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btContactConstraint.cpp; sourceTree = ""; }; + 7ACE56050DDFA1E500CA06EA /* btContactConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btContactConstraint.h; sourceTree = ""; }; + 7ACE56060DDFA1E500CA06EA /* btContactSolverInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btContactSolverInfo.h; sourceTree = ""; }; + 7ACE56070DDFA1E500CA06EA /* btGeneric6DofConstraint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btGeneric6DofConstraint.cpp; sourceTree = ""; }; + 7ACE56080DDFA1E500CA06EA /* btGeneric6DofConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btGeneric6DofConstraint.h; sourceTree = ""; }; + 7ACE56090DDFA1E500CA06EA /* btHingeConstraint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btHingeConstraint.cpp; sourceTree = ""; }; + 7ACE560A0DDFA1E500CA06EA /* btHingeConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btHingeConstraint.h; sourceTree = ""; }; + 7ACE560B0DDFA1E500CA06EA /* btJacobianEntry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btJacobianEntry.h; sourceTree = ""; }; + 7ACE560C0DDFA1E500CA06EA /* btOdeContactJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btOdeContactJoint.cpp; sourceTree = ""; }; + 7ACE560D0DDFA1E500CA06EA /* btOdeContactJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btOdeContactJoint.h; sourceTree = ""; }; + 7ACE560E0DDFA1E500CA06EA /* btOdeJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btOdeJoint.cpp; sourceTree = ""; }; + 7ACE560F0DDFA1E500CA06EA /* btOdeJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btOdeJoint.h; sourceTree = ""; }; + 7ACE56100DDFA1E500CA06EA /* btOdeMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btOdeMacros.h; sourceTree = ""; }; + 7ACE56110DDFA1E500CA06EA /* btOdeQuickstepConstraintSolver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btOdeQuickstepConstraintSolver.cpp; sourceTree = ""; }; + 7ACE56120DDFA1E500CA06EA /* btOdeQuickstepConstraintSolver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btOdeQuickstepConstraintSolver.h; sourceTree = ""; }; + 7ACE56130DDFA1E500CA06EA /* btOdeSolverBody.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btOdeSolverBody.h; sourceTree = ""; }; + 7ACE56140DDFA1E500CA06EA /* btOdeTypedJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btOdeTypedJoint.cpp; sourceTree = ""; }; + 7ACE56150DDFA1E500CA06EA /* btOdeTypedJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btOdeTypedJoint.h; sourceTree = ""; }; + 7ACE56160DDFA1E500CA06EA /* btPoint2PointConstraint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btPoint2PointConstraint.cpp; sourceTree = ""; }; + 7ACE56170DDFA1E500CA06EA /* btPoint2PointConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btPoint2PointConstraint.h; sourceTree = ""; }; + 7ACE56180DDFA1E500CA06EA /* btSequentialImpulseConstraintSolver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btSequentialImpulseConstraintSolver.cpp; sourceTree = ""; }; + 7ACE56190DDFA1E500CA06EA /* btSequentialImpulseConstraintSolver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSequentialImpulseConstraintSolver.h; sourceTree = ""; }; + 7ACE561A0DDFA1E500CA06EA /* btSliderConstraint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btSliderConstraint.cpp; sourceTree = ""; }; + 7ACE561B0DDFA1E500CA06EA /* btSliderConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSliderConstraint.h; sourceTree = ""; }; + 7ACE561C0DDFA1E500CA06EA /* btSolve2LinearConstraint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btSolve2LinearConstraint.cpp; sourceTree = ""; }; + 7ACE561D0DDFA1E500CA06EA /* btSolve2LinearConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSolve2LinearConstraint.h; sourceTree = ""; }; + 7ACE561E0DDFA1E500CA06EA /* btSolverBody.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSolverBody.h; sourceTree = ""; }; + 7ACE561F0DDFA1E500CA06EA /* btSolverConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSolverConstraint.h; sourceTree = ""; }; + 7ACE56200DDFA1E500CA06EA /* btSorLcp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btSorLcp.cpp; sourceTree = ""; }; + 7ACE56210DDFA1E500CA06EA /* btSorLcp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSorLcp.h; sourceTree = ""; }; + 7ACE56220DDFA1E500CA06EA /* btTypedConstraint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btTypedConstraint.cpp; sourceTree = ""; }; + 7ACE56230DDFA1E500CA06EA /* btTypedConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btTypedConstraint.h; sourceTree = ""; }; + 7ACE56270DDFA1E500CA06EA /* btContinuousDynamicsWorld.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btContinuousDynamicsWorld.cpp; sourceTree = ""; }; + 7ACE56280DDFA1E500CA06EA /* btContinuousDynamicsWorld.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btContinuousDynamicsWorld.h; sourceTree = ""; }; + 7ACE56290DDFA1E500CA06EA /* btDiscreteDynamicsWorld.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btDiscreteDynamicsWorld.cpp; sourceTree = ""; }; + 7ACE562A0DDFA1E500CA06EA /* btDiscreteDynamicsWorld.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btDiscreteDynamicsWorld.h; sourceTree = ""; }; + 7ACE562B0DDFA1E500CA06EA /* btDynamicsWorld.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btDynamicsWorld.h; sourceTree = ""; }; + 7ACE562C0DDFA1E500CA06EA /* btRigidBody.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btRigidBody.cpp; sourceTree = ""; }; + 7ACE562D0DDFA1E500CA06EA /* btRigidBody.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btRigidBody.h; sourceTree = ""; }; + 7ACE562E0DDFA1E500CA06EA /* btSimpleDynamicsWorld.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btSimpleDynamicsWorld.cpp; sourceTree = ""; }; + 7ACE562F0DDFA1E500CA06EA /* btSimpleDynamicsWorld.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSimpleDynamicsWorld.h; sourceTree = ""; }; + 7ACE56300DDFA1E500CA06EA /* Bullet-C-API.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = "Bullet-C-API.cpp"; sourceTree = ""; }; + 7ACE56390DDFA1E500CA06EA /* btRaycastVehicle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btRaycastVehicle.cpp; sourceTree = ""; }; + 7ACE563A0DDFA1E500CA06EA /* btRaycastVehicle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btRaycastVehicle.h; sourceTree = ""; }; + 7ACE563B0DDFA1E500CA06EA /* btVehicleRaycaster.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btVehicleRaycaster.h; sourceTree = ""; }; + 7ACE563C0DDFA1E500CA06EA /* btWheelInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btWheelInfo.cpp; sourceTree = ""; }; + 7ACE563D0DDFA1E500CA06EA /* btWheelInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btWheelInfo.h; sourceTree = ""; }; + 7ACE563F0DDFA1E500CA06EA /* btSoftBody.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btSoftBody.cpp; sourceTree = ""; }; + 7ACE56400DDFA1E500CA06EA /* btSoftBody.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSoftBody.h; sourceTree = ""; }; + 7ACE56410DDFA1E500CA06EA /* btSoftBodyConcaveCollisionAlgorithm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btSoftBodyConcaveCollisionAlgorithm.cpp; sourceTree = ""; }; + 7ACE56420DDFA1E500CA06EA /* btSoftBodyConcaveCollisionAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSoftBodyConcaveCollisionAlgorithm.h; sourceTree = ""; }; + 7ACE56430DDFA1E500CA06EA /* btSoftBodyHelpers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btSoftBodyHelpers.cpp; sourceTree = ""; }; + 7ACE56440DDFA1E500CA06EA /* btSoftBodyHelpers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSoftBodyHelpers.h; sourceTree = ""; }; + 7ACE56450DDFA1E500CA06EA /* btSoftBodyRigidBodyCollisionConfiguration.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btSoftBodyRigidBodyCollisionConfiguration.cpp; sourceTree = ""; }; + 7ACE56460DDFA1E500CA06EA /* btSoftBodyRigidBodyCollisionConfiguration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSoftBodyRigidBodyCollisionConfiguration.h; sourceTree = ""; }; + 7ACE56470DDFA1E500CA06EA /* btSoftRigidCollisionAlgorithm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btSoftRigidCollisionAlgorithm.cpp; sourceTree = ""; }; + 7ACE56480DDFA1E500CA06EA /* btSoftRigidCollisionAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSoftRigidCollisionAlgorithm.h; sourceTree = ""; }; + 7ACE56490DDFA1E500CA06EA /* btSoftRigidDynamicsWorld.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btSoftRigidDynamicsWorld.cpp; sourceTree = ""; }; + 7ACE564A0DDFA1E500CA06EA /* btSoftRigidDynamicsWorld.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSoftRigidDynamicsWorld.h; sourceTree = ""; }; + 7ACE564B0DDFA1E500CA06EA /* btSoftSoftCollisionAlgorithm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btSoftSoftCollisionAlgorithm.cpp; sourceTree = ""; }; + 7ACE564C0DDFA1E500CA06EA /* btSoftSoftCollisionAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSoftSoftCollisionAlgorithm.h; sourceTree = ""; }; + 7ACE564D0DDFA1E500CA06EA /* btSparseSDF.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btSparseSDF.h; sourceTree = ""; }; + 7ACE567E0DDFA1E600CA06EA /* btAabbUtil2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btAabbUtil2.h; sourceTree = ""; }; + 7ACE567F0DDFA1E600CA06EA /* btAlignedAllocator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btAlignedAllocator.cpp; sourceTree = ""; }; + 7ACE56800DDFA1E600CA06EA /* btAlignedAllocator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btAlignedAllocator.h; sourceTree = ""; }; + 7ACE56810DDFA1E600CA06EA /* btAlignedObjectArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btAlignedObjectArray.h; sourceTree = ""; }; + 7ACE56820DDFA1E600CA06EA /* btConvexHull.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btConvexHull.cpp; sourceTree = ""; }; + 7ACE56830DDFA1E600CA06EA /* btConvexHull.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btConvexHull.h; sourceTree = ""; }; + 7ACE56840DDFA1E600CA06EA /* btDefaultMotionState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btDefaultMotionState.h; sourceTree = ""; }; + 7ACE56850DDFA1E600CA06EA /* btGeometryUtil.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btGeometryUtil.cpp; sourceTree = ""; }; + 7ACE56860DDFA1E600CA06EA /* btGeometryUtil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btGeometryUtil.h; sourceTree = ""; }; + 7ACE56870DDFA1E600CA06EA /* btHashMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btHashMap.h; sourceTree = ""; }; + 7ACE56880DDFA1E600CA06EA /* btIDebugDraw.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btIDebugDraw.h; sourceTree = ""; }; + 7ACE56890DDFA1E600CA06EA /* btList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btList.h; sourceTree = ""; }; + 7ACE568A0DDFA1E600CA06EA /* btMatrix3x3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btMatrix3x3.h; sourceTree = ""; }; + 7ACE568B0DDFA1E600CA06EA /* btMinMax.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btMinMax.h; sourceTree = ""; }; + 7ACE568C0DDFA1E600CA06EA /* btMotionState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btMotionState.h; sourceTree = ""; }; + 7ACE568D0DDFA1E600CA06EA /* btPoint3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btPoint3.h; sourceTree = ""; }; + 7ACE568E0DDFA1E600CA06EA /* btPoolAllocator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btPoolAllocator.h; sourceTree = ""; }; + 7ACE568F0DDFA1E600CA06EA /* btQuadWord.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btQuadWord.h; sourceTree = ""; }; + 7ACE56900DDFA1E600CA06EA /* btQuaternion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btQuaternion.h; sourceTree = ""; }; + 7ACE56910DDFA1E600CA06EA /* btQuickprof.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btQuickprof.cpp; sourceTree = ""; }; + 7ACE56920DDFA1E600CA06EA /* btQuickprof.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btQuickprof.h; sourceTree = ""; }; + 7ACE56930DDFA1E600CA06EA /* btRandom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btRandom.h; sourceTree = ""; }; + 7ACE56940DDFA1E600CA06EA /* btScalar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btScalar.h; sourceTree = ""; }; + 7ACE56950DDFA1E600CA06EA /* btStackAlloc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btStackAlloc.h; sourceTree = ""; }; + 7ACE56960DDFA1E600CA06EA /* btTransform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btTransform.h; sourceTree = ""; }; + 7ACE56970DDFA1E600CA06EA /* btTransformUtil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btTransformUtil.h; sourceTree = ""; }; + 7ACE56980DDFA1E600CA06EA /* btVector3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btVector3.h; sourceTree = ""; }; + 7ACE5A3A0DDFA30100CA06EA /* BMF_Api.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BMF_Api.cpp; sourceTree = ""; }; + 7ACE5A3B0DDFA30100CA06EA /* BMF_Api.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BMF_Api.h; sourceTree = ""; }; + 7ACE5A3C0DDFA30100CA06EA /* BMF_BitmapFont.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BMF_BitmapFont.cpp; sourceTree = ""; }; + 7ACE5A3D0DDFA30100CA06EA /* BMF_BitmapFont.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BMF_BitmapFont.h; sourceTree = ""; }; + 7ACE5A3E0DDFA30100CA06EA /* BMF_font_helv10.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BMF_font_helv10.cpp; sourceTree = ""; }; + 7ACE5A3F0DDFA30100CA06EA /* BMF_FontData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BMF_FontData.h; sourceTree = ""; }; + 7ACE5A400DDFA30100CA06EA /* BMF_Fonts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BMF_Fonts.h; sourceTree = ""; }; + 7ACE5A410DDFA30100CA06EA /* BMF_Settings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BMF_Settings.h; sourceTree = ""; }; + 7ACE5AAF0DDFA30100CA06EA /* DebugCastResult.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DebugCastResult.h; sourceTree = ""; }; + 7ACE5AB00DDFA30100CA06EA /* DemoApplication.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DemoApplication.cpp; sourceTree = ""; }; + 7ACE5AB10DDFA30100CA06EA /* DemoApplication.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DemoApplication.h; sourceTree = ""; }; + 7ACE5AB20DDFA30100CA06EA /* GL_ShapeDrawer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GL_ShapeDrawer.cpp; sourceTree = ""; }; + 7ACE5AB30DDFA30100CA06EA /* GL_ShapeDrawer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GL_ShapeDrawer.h; sourceTree = ""; }; + 7ACE5AB40DDFA30100CA06EA /* GL_Simplex1to4.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GL_Simplex1to4.cpp; sourceTree = ""; }; + 7ACE5AB50DDFA30100CA06EA /* GL_Simplex1to4.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GL_Simplex1to4.h; sourceTree = ""; }; + 7ACE5AB60DDFA30100CA06EA /* GLDebugDrawer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GLDebugDrawer.cpp; sourceTree = ""; }; + 7ACE5AB70DDFA30100CA06EA /* GLDebugDrawer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GLDebugDrawer.h; sourceTree = ""; }; + 7ACE5AC00DDFA30100CA06EA /* RenderTexture.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderTexture.cpp; sourceTree = ""; }; + 7ACE5AC10DDFA30100CA06EA /* RenderTexture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderTexture.h; sourceTree = ""; }; + 7ACE5B2F0DDFA36000CA06EA /* bestfit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = bestfit.cpp; sourceTree = ""; }; + 7ACE5B300DDFA36000CA06EA /* bestfit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bestfit.h; sourceTree = ""; }; + 7ACE5B310DDFA36000CA06EA /* bestfitobb.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = bestfitobb.cpp; sourceTree = ""; }; + 7ACE5B320DDFA36000CA06EA /* bestfitobb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bestfitobb.h; sourceTree = ""; }; + 7ACE5B9D0DDFA36100CA06EA /* cd_hull.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cd_hull.cpp; sourceTree = ""; }; + 7ACE5B9E0DDFA36100CA06EA /* cd_hull.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cd_hull.h; sourceTree = ""; }; + 7ACE5B9F0DDFA36100CA06EA /* cd_vector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cd_vector.h; sourceTree = ""; }; + 7ACE5BA00DDFA36100CA06EA /* cd_wavefront.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cd_wavefront.cpp; sourceTree = ""; }; + 7ACE5BA10DDFA36100CA06EA /* cd_wavefront.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cd_wavefront.h; sourceTree = ""; }; + 7ACE5BC10DDFA36100CA06EA /* concavity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = concavity.cpp; sourceTree = ""; }; + 7ACE5BC20DDFA36100CA06EA /* concavity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = concavity.h; sourceTree = ""; }; + 7ACE5BC30DDFA36100CA06EA /* ConvexBuilder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConvexBuilder.cpp; sourceTree = ""; }; + 7ACE5BC40DDFA36100CA06EA /* ConvexBuilder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConvexBuilder.h; sourceTree = ""; }; + 7ACE5BC50DDFA36100CA06EA /* ConvexDecomposition.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConvexDecomposition.cpp; sourceTree = ""; }; + 7ACE5BC60DDFA36100CA06EA /* ConvexDecomposition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConvexDecomposition.h; sourceTree = ""; }; + 7ACE5BC90DDFA36100CA06EA /* fitsphere.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fitsphere.cpp; sourceTree = ""; }; + 7ACE5BCA0DDFA36100CA06EA /* fitsphere.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fitsphere.h; sourceTree = ""; }; + 7ACE5BCB0DDFA36100CA06EA /* float_math.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = float_math.cpp; sourceTree = ""; }; + 7ACE5BCC0DDFA36100CA06EA /* float_math.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = float_math.h; sourceTree = ""; }; + 7ACE5BD00DDFA36100CA06EA /* meshvolume.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = meshvolume.cpp; sourceTree = ""; }; + 7ACE5BD10DDFA36100CA06EA /* meshvolume.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = meshvolume.h; sourceTree = ""; }; + 7ACE5BD20DDFA36100CA06EA /* planetri.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = planetri.cpp; sourceTree = ""; }; + 7ACE5BD30DDFA36100CA06EA /* planetri.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = planetri.h; sourceTree = ""; }; + 7ACE5BD40DDFA36100CA06EA /* raytri.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = raytri.cpp; sourceTree = ""; }; + 7ACE5BD50DDFA36100CA06EA /* raytri.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = raytri.h; sourceTree = ""; }; + 7ACE5BD80DDFA36100CA06EA /* splitplane.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = splitplane.cpp; sourceTree = ""; }; + 7ACE5BD90DDFA36100CA06EA /* splitplane.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = splitplane.h; sourceTree = ""; }; + 7ACE5BDA0DDFA36100CA06EA /* vlookup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vlookup.cpp; sourceTree = ""; }; + 7ACE5BDB0DDFA36100CA06EA /* vlookup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vlookup.h; sourceTree = ""; }; + 7ACE5CE80DDFA37F00CA06EA /* btBoxCollision.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btBoxCollision.h; sourceTree = ""; }; + 7ACE5CE90DDFA37F00CA06EA /* btClipPolygon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btClipPolygon.h; sourceTree = ""; }; + 7ACE5CEA0DDFA37F00CA06EA /* btContactProcessing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btContactProcessing.h; sourceTree = ""; }; + 7ACE5CEB0DDFA37F00CA06EA /* btGenericPoolAllocator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btGenericPoolAllocator.h; sourceTree = ""; }; + 7ACE5CEC0DDFA37F00CA06EA /* btGeometryOperations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btGeometryOperations.h; sourceTree = ""; }; + 7ACE5CED0DDFA37F00CA06EA /* btGImpactBvh.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btGImpactBvh.h; sourceTree = ""; }; + 7ACE5CEE0DDFA37F00CA06EA /* btGImpactCollisionAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btGImpactCollisionAlgorithm.h; sourceTree = ""; }; + 7ACE5CEF0DDFA37F00CA06EA /* btGImpactMassUtil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btGImpactMassUtil.h; sourceTree = ""; }; + 7ACE5CF00DDFA37F00CA06EA /* btGImpactQuantizedBvh.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btGImpactQuantizedBvh.h; sourceTree = ""; }; + 7ACE5CF10DDFA37F00CA06EA /* btGImpactShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btGImpactShape.h; sourceTree = ""; }; + 7ACE5CF20DDFA37F00CA06EA /* btQuantization.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btQuantization.h; sourceTree = ""; }; + 7ACE5CF30DDFA37F00CA06EA /* btTriangleShapeEx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btTriangleShapeEx.h; sourceTree = ""; }; + 7ACE5CF50DDFA37F00CA06EA /* gim_array.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gim_array.h; sourceTree = ""; }; + 7ACE5CF60DDFA37F00CA06EA /* gim_basic_geometry_operations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gim_basic_geometry_operations.h; sourceTree = ""; }; + 7ACE5CF70DDFA37F00CA06EA /* gim_bitset.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gim_bitset.h; sourceTree = ""; }; + 7ACE5CF80DDFA37F00CA06EA /* gim_box_collision.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gim_box_collision.h; sourceTree = ""; }; + 7ACE5CF90DDFA37F00CA06EA /* gim_box_set.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gim_box_set.h; sourceTree = ""; }; + 7ACE5CFA0DDFA37F00CA06EA /* gim_clip_polygon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gim_clip_polygon.h; sourceTree = ""; }; + 7ACE5CFB0DDFA37F00CA06EA /* gim_contact.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gim_contact.h; sourceTree = ""; }; + 7ACE5CFC0DDFA37F00CA06EA /* gim_geom_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gim_geom_types.h; sourceTree = ""; }; + 7ACE5CFD0DDFA37F00CA06EA /* gim_geometry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gim_geometry.h; sourceTree = ""; }; + 7ACE5CFE0DDFA37F00CA06EA /* gim_hash_table.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gim_hash_table.h; sourceTree = ""; }; + 7ACE5CFF0DDFA37F00CA06EA /* gim_linear_math.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gim_linear_math.h; sourceTree = ""; }; + 7ACE5D000DDFA37F00CA06EA /* gim_math.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gim_math.h; sourceTree = ""; }; + 7ACE5D010DDFA37F00CA06EA /* gim_memory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gim_memory.h; sourceTree = ""; }; + 7ACE5D020DDFA37F00CA06EA /* gim_radixsort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gim_radixsort.h; sourceTree = ""; }; + 7ACE5D030DDFA37F00CA06EA /* gim_tri_collision.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gim_tri_collision.h; sourceTree = ""; }; + 7ACE5D040DDFA37F00CA06EA /* gim_manual.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gim_manual.h; sourceTree = ""; }; + 7ACE5D0D0DDFA37F00CA06EA /* btContactProcessing.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btContactProcessing.cpp; sourceTree = ""; }; + 7ACE5D0E0DDFA37F00CA06EA /* btGenericPoolAllocator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btGenericPoolAllocator.cpp; sourceTree = ""; }; + 7ACE5D0F0DDFA37F00CA06EA /* btGImpactBvh.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btGImpactBvh.cpp; sourceTree = ""; }; + 7ACE5D100DDFA37F00CA06EA /* btGImpactCollisionAlgorithm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btGImpactCollisionAlgorithm.cpp; sourceTree = ""; }; + 7ACE5D110DDFA37F00CA06EA /* btGImpactQuantizedBvh.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btGImpactQuantizedBvh.cpp; sourceTree = ""; }; + 7ACE5D120DDFA37F00CA06EA /* btGImpactShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btGImpactShape.cpp; sourceTree = ""; }; + 7ACE5D130DDFA37F00CA06EA /* btTriangleShapeEx.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btTriangleShapeEx.cpp; sourceTree = ""; }; + 7ACE5D150DDFA37F00CA06EA /* gim_box_set.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gim_box_set.cpp; sourceTree = ""; }; + 7ACE5D160DDFA37F00CA06EA /* gim_contact.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gim_contact.cpp; sourceTree = ""; }; + 7ACE5D170DDFA37F00CA06EA /* gim_memory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gim_memory.cpp; sourceTree = ""; }; + 7ACE5D180DDFA37F00CA06EA /* gim_tri_collision.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = gim_tri_collision.cpp; sourceTree = ""; }; + 7ACE5D920DDFA39700CA06EA /* btGImpactConvexDecompositionShape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = btGImpactConvexDecompositionShape.cpp; sourceTree = ""; }; + 7ACE5D930DDFA39700CA06EA /* btGImpactConvexDecompositionShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = btGImpactConvexDecompositionShape.h; sourceTree = ""; }; + 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 8D1107320486CEB800E47090 /* AllBulletDemos.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AllBulletDemos.app; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 8D11072E0486CEB800E47090 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */, + 36A05AB90DCB349700ADF289 /* OpenGL.framework in Frameworks */, + 36A05AC90DCB367300ADF289 /* Carbon.framework in Frameworks */, + 36A05D5E0DCBB08400ADF289 /* GLUT.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = { + isa = PBXGroup; + children = ( + 36A05D5D0DCBB08400ADF289 /* GLUT.framework */, + 36A05AC80DCB367300ADF289 /* Carbon.framework */, + 36A05AB80DCB349700ADF289 /* OpenGL.framework */, + 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */, + ); + name = "Linked Frameworks"; + sourceTree = ""; + }; + 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = { + isa = PBXGroup; + children = ( + 29B97324FDCFA39411CA2CEA /* AppKit.framework */, + 13E42FB307B3F0F600E4EEF1 /* CoreData.framework */, + 29B97325FDCFA39411CA2CEA /* Foundation.framework */, + ); + name = "Other Frameworks"; + sourceTree = ""; + }; + 19C28FACFE9D520D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 8D1107320486CEB800E47090 /* AllBulletDemos.app */, + ); + name = Products; + sourceTree = ""; + }; + 29B97314FDCFA39411CA2CEA /* AllBulletDemos */ = { + isa = PBXGroup; + children = ( + 36A05D5A0DCBAD9000ADF289 /* Demos */, + 36C69D250DC9E7FE0034504A /* src */, + 29B97315FDCFA39411CA2CEA /* Other Sources */, + 29B97317FDCFA39411CA2CEA /* Resources */, + 29B97323FDCFA39411CA2CEA /* Frameworks */, + 19C28FACFE9D520D11CA2CBB /* Products */, + ); + name = AllBulletDemos; + sourceTree = ""; + }; + 29B97315FDCFA39411CA2CEA /* Other Sources */ = { + isa = PBXGroup; + children = ( + 32CA4F630368D1EE00C91783 /* AllBulletDemos_Prefix.pch */, + 29B97316FDCFA39411CA2CEA /* main.m */, + ); + name = "Other Sources"; + sourceTree = ""; + }; + 29B97317FDCFA39411CA2CEA /* Resources */ = { + isa = PBXGroup; + children = ( + 3620538A0DCE4FB70048F794 /* file.obj */, + 366318BF0DCE4C6600FB1C5E /* BspDemo.bsp */, + 36A05BBA0DCBA09000ADF289 /* Credits.rtf */, + 36A05B900DCB9EF000ADF289 /* BulletIcon.icns */, + 8D1107310486CEB800E47090 /* Info.plist */, + 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */, + 1DDD58140DA1D0A300B32029 /* MainMenu.xib */, + ); + name = Resources; + sourceTree = ""; + }; + 29B97323FDCFA39411CA2CEA /* Frameworks */ = { + isa = PBXGroup; + children = ( + 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */, + 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */, + ); + name = Frameworks; + sourceTree = ""; + }; + 36A05D5A0DCBAD9000ADF289 /* Demos */ = { + isa = PBXGroup; + children = ( + 3699D1880DCF64EE001D9494 /* DemoEntries.cpp */, + 3699D1890DCF64EE001D9494 /* CcdPhysicsDemo.cpp */, + 3699D18A0DCF64EE001D9494 /* BasicDemo.cpp */, + 3699D18B0DCF64EE001D9494 /* BenchmarkDemo.cpp */, + 3699D18C0DCF64EE001D9494 /* BspDemo.cpp */, + 3699D18D0DCF64EE001D9494 /* BspConverter.cpp */, + 3699D18E0DCF64EE001D9494 /* BspLoader.cpp */, + 3699D18F0DCF64EE001D9494 /* MotorDemo.cpp */, + 3699D1900DCF64EE001D9494 /* ConcavePhysicsDemo.cpp */, + 3699D1910DCF64EE001D9494 /* ConcaveRaycastDemo.cpp */, + 3699D1920DCF64EE001D9494 /* ConcaveConvexcastDemo.cpp */, + 3699D1930DCF64EE001D9494 /* ConvexDecompositionDemo.cpp */, + 3699D1940DCF64EE001D9494 /* SliderConstraintDemo.cpp */, + 3699D1950DCF64EE001D9494 /* RagdollDemo.cpp */, + 3699D1960DCF64EE001D9494 /* GimpactTestDemo.cpp */, + 3699D1970DCF64EE001D9494 /* Raytracer.cpp */, + 3699D1980DCF64EE001D9494 /* LinearConvexCastDemo.cpp */, + 3699D1990DCF64EE001D9494 /* VehicleDemo.cpp */, + 3699D19A0DCF64EE001D9494 /* SoftDemo.cpp */, + 3699D19B0DCF64EE001D9494 /* ConstraintDemo.cpp */, + ); + name = Demos; + path = src; + sourceTree = ""; + }; + 36A05DC60DCBBAC000ADF289 /* toolkit */ = { + isa = PBXGroup; + children = ( + 36A05DC70DCBBAC000ADF289 /* BTFullscreenWindow.h */, + 36A05DC80DCBBAC000ADF289 /* BTFullscreenWindow.m */, + 36A05DC90DCBBAC000ADF289 /* BTGLUTKeyAdapter.h */, + 36A05DCA0DCBBAC000ADF289 /* BTGLUTKeyAdapter.m */, + 36A05DCB0DCBBAC000ADF289 /* BTOpenGLDisplayDelegate.h */, + 36A05DCC0DCBBAC000ADF289 /* BTOpenGLView.h */, + 36A05DCD0DCBBAC000ADF289 /* BTOpenGLView.m */, + ); + path = toolkit; + sourceTree = ""; + }; + 36C69D250DC9E7FE0034504A /* src */ = { + isa = PBXGroup; + children = ( + 7ACE5D910DDFA39700CA06EA /* GIMPACTUtils */, + 7ACE5C6A0DDFA37F00CA06EA /* GIMPACT */, + 7ACE5B2E0DDFA36000CA06EA /* ConvexDecomposition */, + 7ACE5A390DDFA30100CA06EA /* OpenGL */, + 7ACE52C80DDFA1E200CA06EA /* src */, + 36A05DC60DCBBAC000ADF289 /* toolkit */, + 36A05DCE0DCBBAC000ADF289 /* BTSimulationParameters.m */, + 36A05DD00DCBBAC000ADF289 /* BTSimulationParameters.h */, + 36A05DCF0DCBBAC000ADF289 /* BTDemosAppController.m */, + 36A05DD10DCBBAC000ADF289 /* BTDemosAppController.h */, + 36A72EFD0DCC816F00BA8039 /* BTDemo.h */, + 36A72EFE0DCC816F00BA8039 /* BTDemo.mm */, + ); + path = src; + sourceTree = ""; + }; + 7ACE52C80DDFA1E200CA06EA /* src */ = { + isa = PBXGroup; + children = ( + 7ACE52C90DDFA1E200CA06EA /* btBulletCollisionCommon.h */, + 7ACE52CA0DDFA1E200CA06EA /* btBulletDynamicsCommon.h */, + 7ACE52CB0DDFA1E200CA06EA /* Bullet-C-Api.h */, + 7ACE52CC0DDFA1E200CA06EA /* BulletCollision */, + 7ACE552F0DDFA1E400CA06EA /* BulletDynamics */, + 7ACE563E0DDFA1E500CA06EA /* BulletSoftBody */, + 7ACE567D0DDFA1E600CA06EA /* LinearMath */, + ); + name = src; + path = ../../src; + sourceTree = SOURCE_ROOT; + }; + 7ACE52CC0DDFA1E200CA06EA /* BulletCollision */ = { + isa = PBXGroup; + children = ( + 7ACE52CD0DDFA1E200CA06EA /* BroadphaseCollision */, + 7ACE54A30DDFA1E400CA06EA /* CollisionDispatch */, + 7ACE54CA0DDFA1E400CA06EA /* CollisionShapes */, + 7ACE550F0DDFA1E400CA06EA /* NarrowPhaseCollision */, + ); + path = BulletCollision; + sourceTree = ""; + }; + 7ACE52CD0DDFA1E200CA06EA /* BroadphaseCollision */ = { + isa = PBXGroup; + children = ( + 7ACE52CE0DDFA1E200CA06EA /* btAxisSweep3.cpp */, + 7ACE52CF0DDFA1E200CA06EA /* btAxisSweep3.h */, + 7ACE52D00DDFA1E200CA06EA /* btBroadphaseInterface.h */, + 7ACE52D10DDFA1E200CA06EA /* btBroadphaseProxy.cpp */, + 7ACE52D20DDFA1E200CA06EA /* btBroadphaseProxy.h */, + 7ACE52D30DDFA1E200CA06EA /* btCollisionAlgorithm.cpp */, + 7ACE52D40DDFA1E200CA06EA /* btCollisionAlgorithm.h */, + 7ACE52D50DDFA1E200CA06EA /* btDbvt.cpp */, + 7ACE52D60DDFA1E200CA06EA /* btDbvt.h */, + 7ACE52D70DDFA1E200CA06EA /* btDbvtBroadphase.cpp */, + 7ACE52D80DDFA1E200CA06EA /* btDbvtBroadphase.h */, + 7ACE52D90DDFA1E200CA06EA /* btDispatcher.cpp */, + 7ACE52DA0DDFA1E200CA06EA /* btDispatcher.h */, + 7ACE52DB0DDFA1E200CA06EA /* btMultiSapBroadphase.cpp */, + 7ACE52DC0DDFA1E200CA06EA /* btMultiSapBroadphase.h */, + 7ACE52DD0DDFA1E200CA06EA /* btOverlappingPairCache.cpp */, + 7ACE52DE0DDFA1E200CA06EA /* btOverlappingPairCache.h */, + 7ACE52DF0DDFA1E200CA06EA /* btOverlappingPairCallback.h */, + 7ACE52E00DDFA1E200CA06EA /* btSimpleBroadphase.cpp */, + 7ACE52E10DDFA1E200CA06EA /* btSimpleBroadphase.h */, + ); + path = BroadphaseCollision; + sourceTree = ""; + }; + 7ACE54A30DDFA1E400CA06EA /* CollisionDispatch */ = { + isa = PBXGroup; + children = ( + 7ACE54A40DDFA1E400CA06EA /* btBoxBoxCollisionAlgorithm.cpp */, + 7ACE54A50DDFA1E400CA06EA /* btBoxBoxCollisionAlgorithm.h */, + 7ACE54A60DDFA1E400CA06EA /* btBoxBoxDetector.cpp */, + 7ACE54A70DDFA1E400CA06EA /* btBoxBoxDetector.h */, + 7ACE54A80DDFA1E400CA06EA /* btCollisionConfiguration.h */, + 7ACE54A90DDFA1E400CA06EA /* btCollisionCreateFunc.h */, + 7ACE54AA0DDFA1E400CA06EA /* btCollisionDispatcher.cpp */, + 7ACE54AB0DDFA1E400CA06EA /* btCollisionDispatcher.h */, + 7ACE54AC0DDFA1E400CA06EA /* btCollisionObject.cpp */, + 7ACE54AD0DDFA1E400CA06EA /* btCollisionObject.h */, + 7ACE54AE0DDFA1E400CA06EA /* btCollisionWorld.cpp */, + 7ACE54AF0DDFA1E400CA06EA /* btCollisionWorld.h */, + 7ACE54B00DDFA1E400CA06EA /* btCompoundCollisionAlgorithm.cpp */, + 7ACE54B10DDFA1E400CA06EA /* btCompoundCollisionAlgorithm.h */, + 7ACE54B20DDFA1E400CA06EA /* btConvexConcaveCollisionAlgorithm.cpp */, + 7ACE54B30DDFA1E400CA06EA /* btConvexConcaveCollisionAlgorithm.h */, + 7ACE54B40DDFA1E400CA06EA /* btConvexConvexAlgorithm.cpp */, + 7ACE54B50DDFA1E400CA06EA /* btConvexConvexAlgorithm.h */, + 7ACE54B60DDFA1E400CA06EA /* btConvexPlaneCollisionAlgorithm.cpp */, + 7ACE54B70DDFA1E400CA06EA /* btConvexPlaneCollisionAlgorithm.h */, + 7ACE54B80DDFA1E400CA06EA /* btDefaultCollisionConfiguration.cpp */, + 7ACE54B90DDFA1E400CA06EA /* btDefaultCollisionConfiguration.h */, + 7ACE54BA0DDFA1E400CA06EA /* btEmptyCollisionAlgorithm.cpp */, + 7ACE54BB0DDFA1E400CA06EA /* btEmptyCollisionAlgorithm.h */, + 7ACE54BC0DDFA1E400CA06EA /* btManifoldResult.cpp */, + 7ACE54BD0DDFA1E400CA06EA /* btManifoldResult.h */, + 7ACE54BE0DDFA1E400CA06EA /* btSimulationIslandManager.cpp */, + 7ACE54BF0DDFA1E400CA06EA /* btSimulationIslandManager.h */, + 7ACE54C00DDFA1E400CA06EA /* btSphereBoxCollisionAlgorithm.cpp */, + 7ACE54C10DDFA1E400CA06EA /* btSphereBoxCollisionAlgorithm.h */, + 7ACE54C20DDFA1E400CA06EA /* btSphereSphereCollisionAlgorithm.cpp */, + 7ACE54C30DDFA1E400CA06EA /* btSphereSphereCollisionAlgorithm.h */, + 7ACE54C40DDFA1E400CA06EA /* btSphereTriangleCollisionAlgorithm.cpp */, + 7ACE54C50DDFA1E400CA06EA /* btSphereTriangleCollisionAlgorithm.h */, + 7ACE54C60DDFA1E400CA06EA /* btUnionFind.cpp */, + 7ACE54C70DDFA1E400CA06EA /* btUnionFind.h */, + 7ACE54C80DDFA1E400CA06EA /* SphereTriangleDetector.cpp */, + 7ACE54C90DDFA1E400CA06EA /* SphereTriangleDetector.h */, + ); + path = CollisionDispatch; + sourceTree = ""; + }; + 7ACE54CA0DDFA1E400CA06EA /* CollisionShapes */ = { + isa = PBXGroup; + children = ( + 7ACE54CB0DDFA1E400CA06EA /* btBoxShape.cpp */, + 7ACE54CC0DDFA1E400CA06EA /* btBoxShape.h */, + 7ACE54CD0DDFA1E400CA06EA /* btBvhTriangleMeshShape.cpp */, + 7ACE54CE0DDFA1E400CA06EA /* btBvhTriangleMeshShape.h */, + 7ACE54CF0DDFA1E400CA06EA /* btCapsuleShape.cpp */, + 7ACE54D00DDFA1E400CA06EA /* btCapsuleShape.h */, + 7ACE54D10DDFA1E400CA06EA /* btCollisionMargin.h */, + 7ACE54D20DDFA1E400CA06EA /* btCollisionShape.cpp */, + 7ACE54D30DDFA1E400CA06EA /* btCollisionShape.h */, + 7ACE54D40DDFA1E400CA06EA /* btCompoundShape.cpp */, + 7ACE54D50DDFA1E400CA06EA /* btCompoundShape.h */, + 7ACE54D60DDFA1E400CA06EA /* btConcaveShape.cpp */, + 7ACE54D70DDFA1E400CA06EA /* btConcaveShape.h */, + 7ACE54D80DDFA1E400CA06EA /* btConeShape.cpp */, + 7ACE54D90DDFA1E400CA06EA /* btConeShape.h */, + 7ACE54DA0DDFA1E400CA06EA /* btConvexHullShape.cpp */, + 7ACE54DB0DDFA1E400CA06EA /* btConvexHullShape.h */, + 7ACE54DC0DDFA1E400CA06EA /* btConvexInternalShape.cpp */, + 7ACE54DD0DDFA1E400CA06EA /* btConvexInternalShape.h */, + 7ACE54DE0DDFA1E400CA06EA /* btConvexShape.cpp */, + 7ACE54DF0DDFA1E400CA06EA /* btConvexShape.h */, + 7ACE54E00DDFA1E400CA06EA /* btConvexTriangleMeshShape.cpp */, + 7ACE54E10DDFA1E400CA06EA /* btConvexTriangleMeshShape.h */, + 7ACE54E20DDFA1E400CA06EA /* btCylinderShape.cpp */, + 7ACE54E30DDFA1E400CA06EA /* btCylinderShape.h */, + 7ACE54E40DDFA1E400CA06EA /* btEmptyShape.cpp */, + 7ACE54E50DDFA1E400CA06EA /* btEmptyShape.h */, + 7ACE54E60DDFA1E400CA06EA /* btHeightfieldTerrainShape.cpp */, + 7ACE54E70DDFA1E400CA06EA /* btHeightfieldTerrainShape.h */, + 7ACE54E80DDFA1E400CA06EA /* btMinkowskiSumShape.cpp */, + 7ACE54E90DDFA1E400CA06EA /* btMinkowskiSumShape.h */, + 7ACE54EA0DDFA1E400CA06EA /* btMultiSphereShape.cpp */, + 7ACE54EB0DDFA1E400CA06EA /* btMultiSphereShape.h */, + 7ACE54EC0DDFA1E400CA06EA /* btOptimizedBvh.cpp */, + 7ACE54ED0DDFA1E400CA06EA /* btOptimizedBvh.h */, + 7ACE54EE0DDFA1E400CA06EA /* btPolyhedralConvexShape.cpp */, + 7ACE54EF0DDFA1E400CA06EA /* btPolyhedralConvexShape.h */, + 7ACE54F00DDFA1E400CA06EA /* btShapeHull.cpp */, + 7ACE54F10DDFA1E400CA06EA /* btShapeHull.h */, + 7ACE54F20DDFA1E400CA06EA /* btSphereShape.cpp */, + 7ACE54F30DDFA1E400CA06EA /* btSphereShape.h */, + 7ACE54F40DDFA1E400CA06EA /* btStaticPlaneShape.cpp */, + 7ACE54F50DDFA1E400CA06EA /* btStaticPlaneShape.h */, + 7ACE54F60DDFA1E400CA06EA /* btStridingMeshInterface.cpp */, + 7ACE54F70DDFA1E400CA06EA /* btStridingMeshInterface.h */, + 7ACE54F80DDFA1E400CA06EA /* btTetrahedronShape.cpp */, + 7ACE54F90DDFA1E400CA06EA /* btTetrahedronShape.h */, + 7ACE54FA0DDFA1E400CA06EA /* btTriangleBuffer.cpp */, + 7ACE54FB0DDFA1E400CA06EA /* btTriangleBuffer.h */, + 7ACE54FC0DDFA1E400CA06EA /* btTriangleCallback.cpp */, + 7ACE54FD0DDFA1E400CA06EA /* btTriangleCallback.h */, + 7ACE54FE0DDFA1E400CA06EA /* btTriangleIndexVertexArray.cpp */, + 7ACE54FF0DDFA1E400CA06EA /* btTriangleIndexVertexArray.h */, + 7ACE55000DDFA1E400CA06EA /* btTriangleMesh.cpp */, + 7ACE55010DDFA1E400CA06EA /* btTriangleMesh.h */, + 7ACE55020DDFA1E400CA06EA /* btTriangleMeshShape.cpp */, + 7ACE55030DDFA1E400CA06EA /* btTriangleMeshShape.h */, + 7ACE55040DDFA1E400CA06EA /* btTriangleShape.h */, + 7ACE55050DDFA1E400CA06EA /* btUniformScalingShape.cpp */, + 7ACE55060DDFA1E400CA06EA /* btUniformScalingShape.h */, + ); + path = CollisionShapes; + sourceTree = ""; + }; + 7ACE550F0DDFA1E400CA06EA /* NarrowPhaseCollision */ = { + isa = PBXGroup; + children = ( + 7ACE55100DDFA1E400CA06EA /* btContinuousConvexCollision.cpp */, + 7ACE55110DDFA1E400CA06EA /* btContinuousConvexCollision.h */, + 7ACE55120DDFA1E400CA06EA /* btConvexCast.cpp */, + 7ACE55130DDFA1E400CA06EA /* btConvexCast.h */, + 7ACE55140DDFA1E400CA06EA /* btConvexPenetrationDepthSolver.h */, + 7ACE55150DDFA1E400CA06EA /* btDiscreteCollisionDetectorInterface.h */, + 7ACE55160DDFA1E400CA06EA /* btGjkConvexCast.cpp */, + 7ACE55170DDFA1E400CA06EA /* btGjkConvexCast.h */, + 7ACE55180DDFA1E400CA06EA /* btGjkEpa.cpp */, + 7ACE55190DDFA1E400CA06EA /* btGjkEpa.h */, + 7ACE551A0DDFA1E400CA06EA /* btGjkEpa2.cpp */, + 7ACE551B0DDFA1E400CA06EA /* btGjkEpa2.h */, + 7ACE551C0DDFA1E400CA06EA /* btGjkEpaPenetrationDepthSolver.cpp */, + 7ACE551D0DDFA1E400CA06EA /* btGjkEpaPenetrationDepthSolver.h */, + 7ACE551E0DDFA1E400CA06EA /* btGjkPairDetector.cpp */, + 7ACE551F0DDFA1E400CA06EA /* btGjkPairDetector.h */, + 7ACE55200DDFA1E400CA06EA /* btManifoldPoint.h */, + 7ACE55210DDFA1E400CA06EA /* btMinkowskiPenetrationDepthSolver.cpp */, + 7ACE55220DDFA1E400CA06EA /* btMinkowskiPenetrationDepthSolver.h */, + 7ACE55230DDFA1E400CA06EA /* btPersistentManifold.cpp */, + 7ACE55240DDFA1E400CA06EA /* btPersistentManifold.h */, + 7ACE55250DDFA1E400CA06EA /* btPointCollector.h */, + 7ACE55260DDFA1E400CA06EA /* btRaycastCallback.cpp */, + 7ACE55270DDFA1E400CA06EA /* btRaycastCallback.h */, + 7ACE55280DDFA1E400CA06EA /* btSimplexSolverInterface.h */, + 7ACE55290DDFA1E400CA06EA /* btSubSimplexConvexCast.cpp */, + 7ACE552A0DDFA1E400CA06EA /* btSubSimplexConvexCast.h */, + 7ACE552B0DDFA1E400CA06EA /* btVoronoiSimplexSolver.cpp */, + 7ACE552C0DDFA1E400CA06EA /* btVoronoiSimplexSolver.h */, + ); + path = NarrowPhaseCollision; + sourceTree = ""; + }; + 7ACE552F0DDFA1E400CA06EA /* BulletDynamics */ = { + isa = PBXGroup; + children = ( + 7ACE56000DDFA1E500CA06EA /* ConstraintSolver */, + 7ACE56260DDFA1E500CA06EA /* Dynamics */, + 7ACE56380DDFA1E500CA06EA /* Vehicle */, + ); + path = BulletDynamics; + sourceTree = ""; + }; + 7ACE56000DDFA1E500CA06EA /* ConstraintSolver */ = { + isa = PBXGroup; + children = ( + 7ACE56010DDFA1E500CA06EA /* btConeTwistConstraint.cpp */, + 7ACE56020DDFA1E500CA06EA /* btConeTwistConstraint.h */, + 7ACE56030DDFA1E500CA06EA /* btConstraintSolver.h */, + 7ACE56040DDFA1E500CA06EA /* btContactConstraint.cpp */, + 7ACE56050DDFA1E500CA06EA /* btContactConstraint.h */, + 7ACE56060DDFA1E500CA06EA /* btContactSolverInfo.h */, + 7ACE56070DDFA1E500CA06EA /* btGeneric6DofConstraint.cpp */, + 7ACE56080DDFA1E500CA06EA /* btGeneric6DofConstraint.h */, + 7ACE56090DDFA1E500CA06EA /* btHingeConstraint.cpp */, + 7ACE560A0DDFA1E500CA06EA /* btHingeConstraint.h */, + 7ACE560B0DDFA1E500CA06EA /* btJacobianEntry.h */, + 7ACE560C0DDFA1E500CA06EA /* btOdeContactJoint.cpp */, + 7ACE560D0DDFA1E500CA06EA /* btOdeContactJoint.h */, + 7ACE560E0DDFA1E500CA06EA /* btOdeJoint.cpp */, + 7ACE560F0DDFA1E500CA06EA /* btOdeJoint.h */, + 7ACE56100DDFA1E500CA06EA /* btOdeMacros.h */, + 7ACE56110DDFA1E500CA06EA /* btOdeQuickstepConstraintSolver.cpp */, + 7ACE56120DDFA1E500CA06EA /* btOdeQuickstepConstraintSolver.h */, + 7ACE56130DDFA1E500CA06EA /* btOdeSolverBody.h */, + 7ACE56140DDFA1E500CA06EA /* btOdeTypedJoint.cpp */, + 7ACE56150DDFA1E500CA06EA /* btOdeTypedJoint.h */, + 7ACE56160DDFA1E500CA06EA /* btPoint2PointConstraint.cpp */, + 7ACE56170DDFA1E500CA06EA /* btPoint2PointConstraint.h */, + 7ACE56180DDFA1E500CA06EA /* btSequentialImpulseConstraintSolver.cpp */, + 7ACE56190DDFA1E500CA06EA /* btSequentialImpulseConstraintSolver.h */, + 7ACE561A0DDFA1E500CA06EA /* btSliderConstraint.cpp */, + 7ACE561B0DDFA1E500CA06EA /* btSliderConstraint.h */, + 7ACE561C0DDFA1E500CA06EA /* btSolve2LinearConstraint.cpp */, + 7ACE561D0DDFA1E500CA06EA /* btSolve2LinearConstraint.h */, + 7ACE561E0DDFA1E500CA06EA /* btSolverBody.h */, + 7ACE561F0DDFA1E500CA06EA /* btSolverConstraint.h */, + 7ACE56200DDFA1E500CA06EA /* btSorLcp.cpp */, + 7ACE56210DDFA1E500CA06EA /* btSorLcp.h */, + 7ACE56220DDFA1E500CA06EA /* btTypedConstraint.cpp */, + 7ACE56230DDFA1E500CA06EA /* btTypedConstraint.h */, + ); + path = ConstraintSolver; + sourceTree = ""; + }; + 7ACE56260DDFA1E500CA06EA /* Dynamics */ = { + isa = PBXGroup; + children = ( + 7ACE56270DDFA1E500CA06EA /* btContinuousDynamicsWorld.cpp */, + 7ACE56280DDFA1E500CA06EA /* btContinuousDynamicsWorld.h */, + 7ACE56290DDFA1E500CA06EA /* btDiscreteDynamicsWorld.cpp */, + 7ACE562A0DDFA1E500CA06EA /* btDiscreteDynamicsWorld.h */, + 7ACE562B0DDFA1E500CA06EA /* btDynamicsWorld.h */, + 7ACE562C0DDFA1E500CA06EA /* btRigidBody.cpp */, + 7ACE562D0DDFA1E500CA06EA /* btRigidBody.h */, + 7ACE562E0DDFA1E500CA06EA /* btSimpleDynamicsWorld.cpp */, + 7ACE562F0DDFA1E500CA06EA /* btSimpleDynamicsWorld.h */, + 7ACE56300DDFA1E500CA06EA /* Bullet-C-API.cpp */, + ); + path = Dynamics; + sourceTree = ""; + }; + 7ACE56380DDFA1E500CA06EA /* Vehicle */ = { + isa = PBXGroup; + children = ( + 7ACE56390DDFA1E500CA06EA /* btRaycastVehicle.cpp */, + 7ACE563A0DDFA1E500CA06EA /* btRaycastVehicle.h */, + 7ACE563B0DDFA1E500CA06EA /* btVehicleRaycaster.h */, + 7ACE563C0DDFA1E500CA06EA /* btWheelInfo.cpp */, + 7ACE563D0DDFA1E500CA06EA /* btWheelInfo.h */, + ); + path = Vehicle; + sourceTree = ""; + }; + 7ACE563E0DDFA1E500CA06EA /* BulletSoftBody */ = { + isa = PBXGroup; + children = ( + 7ACE563F0DDFA1E500CA06EA /* btSoftBody.cpp */, + 7ACE56400DDFA1E500CA06EA /* btSoftBody.h */, + 7ACE56410DDFA1E500CA06EA /* btSoftBodyConcaveCollisionAlgorithm.cpp */, + 7ACE56420DDFA1E500CA06EA /* btSoftBodyConcaveCollisionAlgorithm.h */, + 7ACE56430DDFA1E500CA06EA /* btSoftBodyHelpers.cpp */, + 7ACE56440DDFA1E500CA06EA /* btSoftBodyHelpers.h */, + 7ACE56450DDFA1E500CA06EA /* btSoftBodyRigidBodyCollisionConfiguration.cpp */, + 7ACE56460DDFA1E500CA06EA /* btSoftBodyRigidBodyCollisionConfiguration.h */, + 7ACE56470DDFA1E500CA06EA /* btSoftRigidCollisionAlgorithm.cpp */, + 7ACE56480DDFA1E500CA06EA /* btSoftRigidCollisionAlgorithm.h */, + 7ACE56490DDFA1E500CA06EA /* btSoftRigidDynamicsWorld.cpp */, + 7ACE564A0DDFA1E500CA06EA /* btSoftRigidDynamicsWorld.h */, + 7ACE564B0DDFA1E500CA06EA /* btSoftSoftCollisionAlgorithm.cpp */, + 7ACE564C0DDFA1E500CA06EA /* btSoftSoftCollisionAlgorithm.h */, + 7ACE564D0DDFA1E500CA06EA /* btSparseSDF.h */, + ); + path = BulletSoftBody; + sourceTree = ""; + }; + 7ACE567D0DDFA1E600CA06EA /* LinearMath */ = { + isa = PBXGroup; + children = ( + 7ACE567E0DDFA1E600CA06EA /* btAabbUtil2.h */, + 7ACE567F0DDFA1E600CA06EA /* btAlignedAllocator.cpp */, + 7ACE56800DDFA1E600CA06EA /* btAlignedAllocator.h */, + 7ACE56810DDFA1E600CA06EA /* btAlignedObjectArray.h */, + 7ACE56820DDFA1E600CA06EA /* btConvexHull.cpp */, + 7ACE56830DDFA1E600CA06EA /* btConvexHull.h */, + 7ACE56840DDFA1E600CA06EA /* btDefaultMotionState.h */, + 7ACE56850DDFA1E600CA06EA /* btGeometryUtil.cpp */, + 7ACE56860DDFA1E600CA06EA /* btGeometryUtil.h */, + 7ACE56870DDFA1E600CA06EA /* btHashMap.h */, + 7ACE56880DDFA1E600CA06EA /* btIDebugDraw.h */, + 7ACE56890DDFA1E600CA06EA /* btList.h */, + 7ACE568A0DDFA1E600CA06EA /* btMatrix3x3.h */, + 7ACE568B0DDFA1E600CA06EA /* btMinMax.h */, + 7ACE568C0DDFA1E600CA06EA /* btMotionState.h */, + 7ACE568D0DDFA1E600CA06EA /* btPoint3.h */, + 7ACE568E0DDFA1E600CA06EA /* btPoolAllocator.h */, + 7ACE568F0DDFA1E600CA06EA /* btQuadWord.h */, + 7ACE56900DDFA1E600CA06EA /* btQuaternion.h */, + 7ACE56910DDFA1E600CA06EA /* btQuickprof.cpp */, + 7ACE56920DDFA1E600CA06EA /* btQuickprof.h */, + 7ACE56930DDFA1E600CA06EA /* btRandom.h */, + 7ACE56940DDFA1E600CA06EA /* btScalar.h */, + 7ACE56950DDFA1E600CA06EA /* btStackAlloc.h */, + 7ACE56960DDFA1E600CA06EA /* btTransform.h */, + 7ACE56970DDFA1E600CA06EA /* btTransformUtil.h */, + 7ACE56980DDFA1E600CA06EA /* btVector3.h */, + ); + path = LinearMath; + sourceTree = ""; + }; + 7ACE5A390DDFA30100CA06EA /* OpenGL */ = { + isa = PBXGroup; + children = ( + 7ACE5A3A0DDFA30100CA06EA /* BMF_Api.cpp */, + 7ACE5A3B0DDFA30100CA06EA /* BMF_Api.h */, + 7ACE5A3C0DDFA30100CA06EA /* BMF_BitmapFont.cpp */, + 7ACE5A3D0DDFA30100CA06EA /* BMF_BitmapFont.h */, + 7ACE5A3E0DDFA30100CA06EA /* BMF_font_helv10.cpp */, + 7ACE5A3F0DDFA30100CA06EA /* BMF_FontData.h */, + 7ACE5A400DDFA30100CA06EA /* BMF_Fonts.h */, + 7ACE5A410DDFA30100CA06EA /* BMF_Settings.h */, + 7ACE5AAF0DDFA30100CA06EA /* DebugCastResult.h */, + 7ACE5AB00DDFA30100CA06EA /* DemoApplication.cpp */, + 7ACE5AB10DDFA30100CA06EA /* DemoApplication.h */, + 7ACE5AB20DDFA30100CA06EA /* GL_ShapeDrawer.cpp */, + 7ACE5AB30DDFA30100CA06EA /* GL_ShapeDrawer.h */, + 7ACE5AB40DDFA30100CA06EA /* GL_Simplex1to4.cpp */, + 7ACE5AB50DDFA30100CA06EA /* GL_Simplex1to4.h */, + 7ACE5AB60DDFA30100CA06EA /* GLDebugDrawer.cpp */, + 7ACE5AB70DDFA30100CA06EA /* GLDebugDrawer.h */, + 7ACE5AC00DDFA30100CA06EA /* RenderTexture.cpp */, + 7ACE5AC10DDFA30100CA06EA /* RenderTexture.h */, + ); + name = OpenGL; + path = ../../Demos/OpenGL; + sourceTree = SOURCE_ROOT; + }; + 7ACE5B2E0DDFA36000CA06EA /* ConvexDecomposition */ = { + isa = PBXGroup; + children = ( + 7ACE5B2F0DDFA36000CA06EA /* bestfit.cpp */, + 7ACE5B300DDFA36000CA06EA /* bestfit.h */, + 7ACE5B310DDFA36000CA06EA /* bestfitobb.cpp */, + 7ACE5B320DDFA36000CA06EA /* bestfitobb.h */, + 7ACE5B9D0DDFA36100CA06EA /* cd_hull.cpp */, + 7ACE5B9E0DDFA36100CA06EA /* cd_hull.h */, + 7ACE5B9F0DDFA36100CA06EA /* cd_vector.h */, + 7ACE5BA00DDFA36100CA06EA /* cd_wavefront.cpp */, + 7ACE5BA10DDFA36100CA06EA /* cd_wavefront.h */, + 7ACE5BC10DDFA36100CA06EA /* concavity.cpp */, + 7ACE5BC20DDFA36100CA06EA /* concavity.h */, + 7ACE5BC30DDFA36100CA06EA /* ConvexBuilder.cpp */, + 7ACE5BC40DDFA36100CA06EA /* ConvexBuilder.h */, + 7ACE5BC50DDFA36100CA06EA /* ConvexDecomposition.cpp */, + 7ACE5BC60DDFA36100CA06EA /* ConvexDecomposition.h */, + 7ACE5BC90DDFA36100CA06EA /* fitsphere.cpp */, + 7ACE5BCA0DDFA36100CA06EA /* fitsphere.h */, + 7ACE5BCB0DDFA36100CA06EA /* float_math.cpp */, + 7ACE5BCC0DDFA36100CA06EA /* float_math.h */, + 7ACE5BD00DDFA36100CA06EA /* meshvolume.cpp */, + 7ACE5BD10DDFA36100CA06EA /* meshvolume.h */, + 7ACE5BD20DDFA36100CA06EA /* planetri.cpp */, + 7ACE5BD30DDFA36100CA06EA /* planetri.h */, + 7ACE5BD40DDFA36100CA06EA /* raytri.cpp */, + 7ACE5BD50DDFA36100CA06EA /* raytri.h */, + 7ACE5BD80DDFA36100CA06EA /* splitplane.cpp */, + 7ACE5BD90DDFA36100CA06EA /* splitplane.h */, + 7ACE5BDA0DDFA36100CA06EA /* vlookup.cpp */, + 7ACE5BDB0DDFA36100CA06EA /* vlookup.h */, + ); + name = ConvexDecomposition; + path = ../ConvexDecomposition; + sourceTree = SOURCE_ROOT; + }; + 7ACE5C6A0DDFA37F00CA06EA /* GIMPACT */ = { + isa = PBXGroup; + children = ( + 7ACE5CE50DDFA37F00CA06EA /* include */, + 7ACE5D0B0DDFA37F00CA06EA /* src */, + ); + name = GIMPACT; + path = ../GIMPACT; + sourceTree = SOURCE_ROOT; + }; + 7ACE5CE50DDFA37F00CA06EA /* include */ = { + isa = PBXGroup; + children = ( + 7ACE5CE60DDFA37F00CA06EA /* GIMPACT */, + ); + path = include; + sourceTree = ""; + }; + 7ACE5CE60DDFA37F00CA06EA /* GIMPACT */ = { + isa = PBXGroup; + children = ( + 7ACE5CE70DDFA37F00CA06EA /* Bullet */, + 7ACE5CF40DDFA37F00CA06EA /* core */, + 7ACE5D040DDFA37F00CA06EA /* gim_manual.h */, + ); + path = GIMPACT; + sourceTree = ""; + }; + 7ACE5CE70DDFA37F00CA06EA /* Bullet */ = { + isa = PBXGroup; + children = ( + 7ACE5CE80DDFA37F00CA06EA /* btBoxCollision.h */, + 7ACE5CE90DDFA37F00CA06EA /* btClipPolygon.h */, + 7ACE5CEA0DDFA37F00CA06EA /* btContactProcessing.h */, + 7ACE5CEB0DDFA37F00CA06EA /* btGenericPoolAllocator.h */, + 7ACE5CEC0DDFA37F00CA06EA /* btGeometryOperations.h */, + 7ACE5CED0DDFA37F00CA06EA /* btGImpactBvh.h */, + 7ACE5CEE0DDFA37F00CA06EA /* btGImpactCollisionAlgorithm.h */, + 7ACE5CEF0DDFA37F00CA06EA /* btGImpactMassUtil.h */, + 7ACE5CF00DDFA37F00CA06EA /* btGImpactQuantizedBvh.h */, + 7ACE5CF10DDFA37F00CA06EA /* btGImpactShape.h */, + 7ACE5CF20DDFA37F00CA06EA /* btQuantization.h */, + 7ACE5CF30DDFA37F00CA06EA /* btTriangleShapeEx.h */, + ); + path = Bullet; + sourceTree = ""; + }; + 7ACE5CF40DDFA37F00CA06EA /* core */ = { + isa = PBXGroup; + children = ( + 7ACE5CF50DDFA37F00CA06EA /* gim_array.h */, + 7ACE5CF60DDFA37F00CA06EA /* gim_basic_geometry_operations.h */, + 7ACE5CF70DDFA37F00CA06EA /* gim_bitset.h */, + 7ACE5CF80DDFA37F00CA06EA /* gim_box_collision.h */, + 7ACE5CF90DDFA37F00CA06EA /* gim_box_set.h */, + 7ACE5CFA0DDFA37F00CA06EA /* gim_clip_polygon.h */, + 7ACE5CFB0DDFA37F00CA06EA /* gim_contact.h */, + 7ACE5CFC0DDFA37F00CA06EA /* gim_geom_types.h */, + 7ACE5CFD0DDFA37F00CA06EA /* gim_geometry.h */, + 7ACE5CFE0DDFA37F00CA06EA /* gim_hash_table.h */, + 7ACE5CFF0DDFA37F00CA06EA /* gim_linear_math.h */, + 7ACE5D000DDFA37F00CA06EA /* gim_math.h */, + 7ACE5D010DDFA37F00CA06EA /* gim_memory.h */, + 7ACE5D020DDFA37F00CA06EA /* gim_radixsort.h */, + 7ACE5D030DDFA37F00CA06EA /* gim_tri_collision.h */, + ); + path = core; + sourceTree = ""; + }; + 7ACE5D0B0DDFA37F00CA06EA /* src */ = { + isa = PBXGroup; + children = ( + 7ACE5D0C0DDFA37F00CA06EA /* Bullet */, + 7ACE5D140DDFA37F00CA06EA /* core */, + ); + path = src; + sourceTree = ""; + }; + 7ACE5D0C0DDFA37F00CA06EA /* Bullet */ = { + isa = PBXGroup; + children = ( + 7ACE5D0D0DDFA37F00CA06EA /* btContactProcessing.cpp */, + 7ACE5D0E0DDFA37F00CA06EA /* btGenericPoolAllocator.cpp */, + 7ACE5D0F0DDFA37F00CA06EA /* btGImpactBvh.cpp */, + 7ACE5D100DDFA37F00CA06EA /* btGImpactCollisionAlgorithm.cpp */, + 7ACE5D110DDFA37F00CA06EA /* btGImpactQuantizedBvh.cpp */, + 7ACE5D120DDFA37F00CA06EA /* btGImpactShape.cpp */, + 7ACE5D130DDFA37F00CA06EA /* btTriangleShapeEx.cpp */, + ); + path = Bullet; + sourceTree = ""; + }; + 7ACE5D140DDFA37F00CA06EA /* core */ = { + isa = PBXGroup; + children = ( + 7ACE5D150DDFA37F00CA06EA /* gim_box_set.cpp */, + 7ACE5D160DDFA37F00CA06EA /* gim_contact.cpp */, + 7ACE5D170DDFA37F00CA06EA /* gim_memory.cpp */, + 7ACE5D180DDFA37F00CA06EA /* gim_tri_collision.cpp */, + ); + path = core; + sourceTree = ""; + }; + 7ACE5D910DDFA39700CA06EA /* GIMPACTUtils */ = { + isa = PBXGroup; + children = ( + 7ACE5D920DDFA39700CA06EA /* btGImpactConvexDecompositionShape.cpp */, + 7ACE5D930DDFA39700CA06EA /* btGImpactConvexDecompositionShape.h */, + ); + name = GIMPACTUtils; + path = ../GIMPACTUtils; + sourceTree = SOURCE_ROOT; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 8D1107260486CEB800E47090 /* AllBulletDemos */ = { + isa = PBXNativeTarget; + buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "AllBulletDemos" */; + buildPhases = ( + 8D1107290486CEB800E47090 /* Resources */, + 8D11072C0486CEB800E47090 /* Sources */, + 8D11072E0486CEB800E47090 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = AllBulletDemos; + productInstallPath = "$(HOME)/Applications"; + productName = AllBulletDemos; + productReference = 8D1107320486CEB800E47090 /* AllBulletDemos.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 29B97313FDCFA39411CA2CEA /* Project object */ = { + isa = PBXProject; + buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "AllBulletDemos" */; + compatibilityVersion = "Xcode 2.4"; + hasScannedForEncodings = 1; + mainGroup = 29B97314FDCFA39411CA2CEA /* AllBulletDemos */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8D1107260486CEB800E47090 /* AllBulletDemos */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 8D1107290486CEB800E47090 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 36A05BD30DCBA13600ADF289 /* Credits.rtf in Resources */, + 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */, + 1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */, + 36A05B910DCB9EF000ADF289 /* BulletIcon.icns in Resources */, + 366318C00DCE4C6600FB1C5E /* BspDemo.bsp in Resources */, + 3620538B0DCE4FB70048F794 /* file.obj in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8D11072C0486CEB800E47090 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8D11072D0486CEB800E47090 /* main.m in Sources */, + 36A05DD20DCBBAC000ADF289 /* BTFullscreenWindow.m in Sources */, + 36A05DD30DCBBAC000ADF289 /* BTGLUTKeyAdapter.m in Sources */, + 36A05DD40DCBBAC000ADF289 /* BTOpenGLView.m in Sources */, + 36A05DD50DCBBAC000ADF289 /* BTSimulationParameters.m in Sources */, + 36A05DD60DCBBAC000ADF289 /* BTDemosAppController.m in Sources */, + 36A72EFF0DCC816F00BA8039 /* BTDemo.mm in Sources */, + 3699D19C0DCF64EE001D9494 /* DemoEntries.cpp in Sources */, + 3699D19D0DCF64EE001D9494 /* CcdPhysicsDemo.cpp in Sources */, + 3699D19E0DCF64EE001D9494 /* BasicDemo.cpp in Sources */, + 3699D19F0DCF64EE001D9494 /* BenchmarkDemo.cpp in Sources */, + 3699D1A00DCF64EE001D9494 /* BspDemo.cpp in Sources */, + 3699D1A10DCF64EE001D9494 /* BspConverter.cpp in Sources */, + 3699D1A20DCF64EE001D9494 /* BspLoader.cpp in Sources */, + 3699D1A30DCF64EE001D9494 /* MotorDemo.cpp in Sources */, + 3699D1A40DCF64EE001D9494 /* ConcavePhysicsDemo.cpp in Sources */, + 3699D1A50DCF64EE001D9494 /* ConcaveRaycastDemo.cpp in Sources */, + 3699D1A60DCF64EE001D9494 /* ConcaveConvexcastDemo.cpp in Sources */, + 3699D1A70DCF64EE001D9494 /* ConvexDecompositionDemo.cpp in Sources */, + 3699D1A80DCF64EE001D9494 /* SliderConstraintDemo.cpp in Sources */, + 3699D1A90DCF64EE001D9494 /* RagdollDemo.cpp in Sources */, + 3699D1AA0DCF64EE001D9494 /* GimpactTestDemo.cpp in Sources */, + 3699D1AB0DCF64EE001D9494 /* Raytracer.cpp in Sources */, + 3699D1AC0DCF64EE001D9494 /* LinearConvexCastDemo.cpp in Sources */, + 3699D1AD0DCF64EE001D9494 /* VehicleDemo.cpp in Sources */, + 3699D1AE0DCF64EE001D9494 /* SoftDemo.cpp in Sources */, + 3699D1AF0DCF64EE001D9494 /* ConstraintDemo.cpp in Sources */, + 7ACE56F10DDFA1E600CA06EA /* btAxisSweep3.cpp in Sources */, + 7ACE56F20DDFA1E600CA06EA /* btBroadphaseProxy.cpp in Sources */, + 7ACE56F30DDFA1E600CA06EA /* btCollisionAlgorithm.cpp in Sources */, + 7ACE56F40DDFA1E600CA06EA /* btDbvt.cpp in Sources */, + 7ACE56F50DDFA1E600CA06EA /* btDbvtBroadphase.cpp in Sources */, + 7ACE56F60DDFA1E600CA06EA /* btDispatcher.cpp in Sources */, + 7ACE56F70DDFA1E600CA06EA /* btMultiSapBroadphase.cpp in Sources */, + 7ACE56F80DDFA1E600CA06EA /* btOverlappingPairCache.cpp in Sources */, + 7ACE56F90DDFA1E600CA06EA /* btSimpleBroadphase.cpp in Sources */, + 7ACE58A90DDFA1E600CA06EA /* btBoxBoxCollisionAlgorithm.cpp in Sources */, + 7ACE58AA0DDFA1E600CA06EA /* btBoxBoxDetector.cpp in Sources */, + 7ACE58AB0DDFA1E600CA06EA /* btCollisionDispatcher.cpp in Sources */, + 7ACE58AC0DDFA1E600CA06EA /* btCollisionObject.cpp in Sources */, + 7ACE58AD0DDFA1E600CA06EA /* btCollisionWorld.cpp in Sources */, + 7ACE58AE0DDFA1E600CA06EA /* btCompoundCollisionAlgorithm.cpp in Sources */, + 7ACE58AF0DDFA1E600CA06EA /* btConvexConcaveCollisionAlgorithm.cpp in Sources */, + 7ACE58B00DDFA1E600CA06EA /* btConvexConvexAlgorithm.cpp in Sources */, + 7ACE58B10DDFA1E600CA06EA /* btConvexPlaneCollisionAlgorithm.cpp in Sources */, + 7ACE58B20DDFA1E600CA06EA /* btDefaultCollisionConfiguration.cpp in Sources */, + 7ACE58B30DDFA1E600CA06EA /* btEmptyCollisionAlgorithm.cpp in Sources */, + 7ACE58B40DDFA1E600CA06EA /* btManifoldResult.cpp in Sources */, + 7ACE58B50DDFA1E600CA06EA /* btSimulationIslandManager.cpp in Sources */, + 7ACE58B60DDFA1E600CA06EA /* btSphereBoxCollisionAlgorithm.cpp in Sources */, + 7ACE58B70DDFA1E600CA06EA /* btSphereSphereCollisionAlgorithm.cpp in Sources */, + 7ACE58B80DDFA1E600CA06EA /* btSphereTriangleCollisionAlgorithm.cpp in Sources */, + 7ACE58B90DDFA1E600CA06EA /* btUnionFind.cpp in Sources */, + 7ACE58BA0DDFA1E600CA06EA /* SphereTriangleDetector.cpp in Sources */, + 7ACE58BB0DDFA1E600CA06EA /* btBoxShape.cpp in Sources */, + 7ACE58BC0DDFA1E600CA06EA /* btBvhTriangleMeshShape.cpp in Sources */, + 7ACE58BD0DDFA1E600CA06EA /* btCapsuleShape.cpp in Sources */, + 7ACE58BE0DDFA1E600CA06EA /* btCollisionShape.cpp in Sources */, + 7ACE58BF0DDFA1E600CA06EA /* btCompoundShape.cpp in Sources */, + 7ACE58C00DDFA1E600CA06EA /* btConcaveShape.cpp in Sources */, + 7ACE58C10DDFA1E600CA06EA /* btConeShape.cpp in Sources */, + 7ACE58C20DDFA1E600CA06EA /* btConvexHullShape.cpp in Sources */, + 7ACE58C30DDFA1E600CA06EA /* btConvexInternalShape.cpp in Sources */, + 7ACE58C40DDFA1E600CA06EA /* btConvexShape.cpp in Sources */, + 7ACE58C50DDFA1E600CA06EA /* btConvexTriangleMeshShape.cpp in Sources */, + 7ACE58C60DDFA1E600CA06EA /* btCylinderShape.cpp in Sources */, + 7ACE58C70DDFA1E600CA06EA /* btEmptyShape.cpp in Sources */, + 7ACE58C80DDFA1E600CA06EA /* btHeightfieldTerrainShape.cpp in Sources */, + 7ACE58C90DDFA1E600CA06EA /* btMinkowskiSumShape.cpp in Sources */, + 7ACE58CA0DDFA1E600CA06EA /* btMultiSphereShape.cpp in Sources */, + 7ACE58CB0DDFA1E600CA06EA /* btOptimizedBvh.cpp in Sources */, + 7ACE58CC0DDFA1E600CA06EA /* btPolyhedralConvexShape.cpp in Sources */, + 7ACE58CD0DDFA1E600CA06EA /* btShapeHull.cpp in Sources */, + 7ACE58CE0DDFA1E600CA06EA /* btSphereShape.cpp in Sources */, + 7ACE58CF0DDFA1E600CA06EA /* btStaticPlaneShape.cpp in Sources */, + 7ACE58D00DDFA1E600CA06EA /* btStridingMeshInterface.cpp in Sources */, + 7ACE58D10DDFA1E600CA06EA /* btTetrahedronShape.cpp in Sources */, + 7ACE58D20DDFA1E600CA06EA /* btTriangleBuffer.cpp in Sources */, + 7ACE58D30DDFA1E600CA06EA /* btTriangleCallback.cpp in Sources */, + 7ACE58D40DDFA1E600CA06EA /* btTriangleIndexVertexArray.cpp in Sources */, + 7ACE58D50DDFA1E600CA06EA /* btTriangleMesh.cpp in Sources */, + 7ACE58D60DDFA1E600CA06EA /* btTriangleMeshShape.cpp in Sources */, + 7ACE58D70DDFA1E600CA06EA /* btUniformScalingShape.cpp in Sources */, + 7ACE58DE0DDFA1E700CA06EA /* btContinuousConvexCollision.cpp in Sources */, + 7ACE58DF0DDFA1E700CA06EA /* btConvexCast.cpp in Sources */, + 7ACE58E00DDFA1E700CA06EA /* btGjkConvexCast.cpp in Sources */, + 7ACE58E10DDFA1E700CA06EA /* btGjkEpa.cpp in Sources */, + 7ACE58E20DDFA1E700CA06EA /* btGjkEpa2.cpp in Sources */, + 7ACE58E30DDFA1E700CA06EA /* btGjkEpaPenetrationDepthSolver.cpp in Sources */, + 7ACE58E40DDFA1E700CA06EA /* btGjkPairDetector.cpp in Sources */, + 7ACE58E50DDFA1E700CA06EA /* btMinkowskiPenetrationDepthSolver.cpp in Sources */, + 7ACE58E60DDFA1E700CA06EA /* btPersistentManifold.cpp in Sources */, + 7ACE58E70DDFA1E700CA06EA /* btRaycastCallback.cpp in Sources */, + 7ACE58E80DDFA1E700CA06EA /* btSubSimplexConvexCast.cpp in Sources */, + 7ACE58E90DDFA1E700CA06EA /* btVoronoiSimplexSolver.cpp in Sources */, + 7ACE59AA0DDFA1E700CA06EA /* btConeTwistConstraint.cpp in Sources */, + 7ACE59AB0DDFA1E700CA06EA /* btContactConstraint.cpp in Sources */, + 7ACE59AC0DDFA1E700CA06EA /* btGeneric6DofConstraint.cpp in Sources */, + 7ACE59AD0DDFA1E700CA06EA /* btHingeConstraint.cpp in Sources */, + 7ACE59AE0DDFA1E700CA06EA /* btOdeContactJoint.cpp in Sources */, + 7ACE59AF0DDFA1E700CA06EA /* btOdeJoint.cpp in Sources */, + 7ACE59B00DDFA1E700CA06EA /* btOdeQuickstepConstraintSolver.cpp in Sources */, + 7ACE59B10DDFA1E700CA06EA /* btOdeTypedJoint.cpp in Sources */, + 7ACE59B20DDFA1E700CA06EA /* btPoint2PointConstraint.cpp in Sources */, + 7ACE59B30DDFA1E700CA06EA /* btSequentialImpulseConstraintSolver.cpp in Sources */, + 7ACE59B40DDFA1E700CA06EA /* btSliderConstraint.cpp in Sources */, + 7ACE59B50DDFA1E700CA06EA /* btSolve2LinearConstraint.cpp in Sources */, + 7ACE59B60DDFA1E700CA06EA /* btSorLcp.cpp in Sources */, + 7ACE59B70DDFA1E700CA06EA /* btTypedConstraint.cpp in Sources */, + 7ACE59B90DDFA1E700CA06EA /* btContinuousDynamicsWorld.cpp in Sources */, + 7ACE59BA0DDFA1E700CA06EA /* btDiscreteDynamicsWorld.cpp in Sources */, + 7ACE59BB0DDFA1E700CA06EA /* btRigidBody.cpp in Sources */, + 7ACE59BC0DDFA1E700CA06EA /* btSimpleDynamicsWorld.cpp in Sources */, + 7ACE59BD0DDFA1E700CA06EA /* Bullet-C-API.cpp in Sources */, + 7ACE59C30DDFA1E700CA06EA /* btRaycastVehicle.cpp in Sources */, + 7ACE59C40DDFA1E700CA06EA /* btWheelInfo.cpp in Sources */, + 7ACE59C50DDFA1E700CA06EA /* btSoftBody.cpp in Sources */, + 7ACE59C60DDFA1E700CA06EA /* btSoftBodyConcaveCollisionAlgorithm.cpp in Sources */, + 7ACE59C70DDFA1E700CA06EA /* btSoftBodyHelpers.cpp in Sources */, + 7ACE59C80DDFA1E700CA06EA /* btSoftBodyRigidBodyCollisionConfiguration.cpp in Sources */, + 7ACE59C90DDFA1E700CA06EA /* btSoftRigidCollisionAlgorithm.cpp in Sources */, + 7ACE59CA0DDFA1E700CA06EA /* btSoftRigidDynamicsWorld.cpp in Sources */, + 7ACE59CB0DDFA1E700CA06EA /* btSoftSoftCollisionAlgorithm.cpp in Sources */, + 7ACE59ED0DDFA1E700CA06EA /* btAlignedAllocator.cpp in Sources */, + 7ACE59EE0DDFA1E700CA06EA /* btConvexHull.cpp in Sources */, + 7ACE59EF0DDFA1E700CA06EA /* btGeometryUtil.cpp in Sources */, + 7ACE59F00DDFA1E700CA06EA /* btQuickprof.cpp in Sources */, + 7ACE5AC20DDFA30100CA06EA /* BMF_Api.cpp in Sources */, + 7ACE5AC30DDFA30100CA06EA /* BMF_BitmapFont.cpp in Sources */, + 7ACE5AC40DDFA30100CA06EA /* BMF_font_helv10.cpp in Sources */, + 7ACE5B230DDFA30200CA06EA /* DemoApplication.cpp in Sources */, + 7ACE5B240DDFA30200CA06EA /* GL_ShapeDrawer.cpp in Sources */, + 7ACE5B250DDFA30200CA06EA /* GL_Simplex1to4.cpp in Sources */, + 7ACE5B260DDFA30200CA06EA /* GLDebugDrawer.cpp in Sources */, + 7ACE5B2C0DDFA30200CA06EA /* RenderTexture.cpp in Sources */, + 7ACE5BDC0DDFA36100CA06EA /* bestfit.cpp in Sources */, + 7ACE5BDD0DDFA36100CA06EA /* bestfitobb.cpp in Sources */, + 7ACE5C3C0DDFA36100CA06EA /* cd_hull.cpp in Sources */, + 7ACE5C3D0DDFA36100CA06EA /* cd_wavefront.cpp in Sources */, + 7ACE5C5B0DDFA36100CA06EA /* concavity.cpp in Sources */, + 7ACE5C5C0DDFA36100CA06EA /* ConvexBuilder.cpp in Sources */, + 7ACE5C5D0DDFA36100CA06EA /* ConvexDecomposition.cpp in Sources */, + 7ACE5C5F0DDFA36100CA06EA /* fitsphere.cpp in Sources */, + 7ACE5C600DDFA36100CA06EA /* float_math.cpp in Sources */, + 7ACE5C640DDFA36100CA06EA /* meshvolume.cpp in Sources */, + 7ACE5C650DDFA36100CA06EA /* planetri.cpp in Sources */, + 7ACE5C660DDFA36100CA06EA /* raytri.cpp in Sources */, + 7ACE5C680DDFA36100CA06EA /* splitplane.cpp in Sources */, + 7ACE5C690DDFA36100CA06EA /* vlookup.cpp in Sources */, + 7ACE5D860DDFA38000CA06EA /* btContactProcessing.cpp in Sources */, + 7ACE5D870DDFA38000CA06EA /* btGenericPoolAllocator.cpp in Sources */, + 7ACE5D880DDFA38000CA06EA /* btGImpactBvh.cpp in Sources */, + 7ACE5D890DDFA38000CA06EA /* btGImpactCollisionAlgorithm.cpp in Sources */, + 7ACE5D8A0DDFA38000CA06EA /* btGImpactQuantizedBvh.cpp in Sources */, + 7ACE5D8B0DDFA38000CA06EA /* btGImpactShape.cpp in Sources */, + 7ACE5D8C0DDFA38000CA06EA /* btTriangleShapeEx.cpp in Sources */, + 7ACE5D8D0DDFA38000CA06EA /* gim_box_set.cpp in Sources */, + 7ACE5D8E0DDFA38000CA06EA /* gim_contact.cpp in Sources */, + 7ACE5D8F0DDFA38000CA06EA /* gim_memory.cpp in Sources */, + 7ACE5D900DDFA38000CA06EA /* gim_tri_collision.cpp in Sources */, + 7ACE5DD60DDFA39800CA06EA /* btGImpactConvexDecompositionShape.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 089C165DFE840E0CC02AAC07 /* English */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 1DDD58140DA1D0A300B32029 /* MainMenu.xib */ = { + isa = PBXVariantGroup; + children = ( + 1DDD58150DA1D0A300B32029 /* English */, + ); + name = MainMenu.xib; + sourceTree = ""; + }; + 36A05BBA0DCBA09000ADF289 /* Credits.rtf */ = { + isa = PBXVariantGroup; + children = ( + 36A05BBB0DCBA09000ADF289 /* English */, + ); + name = Credits.rtf; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + C01FCF4B08A954540054247B /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_MODEL_TUNING = G5; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = AllBulletDemos_Prefix.pch; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Applications"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_52)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_53)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_54)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_55)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_56)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_57)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_58)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_59)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_60)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_61)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_62)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_63)", + ); + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../src/BulletSoftBody/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10 = "\"$(SRCROOT)/../../Extras/COLLADA_DOM/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11 = "\"$(SRCROOT)/../../Extras/GIMPACTUtils/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12 = "\"$(SRCROOT)/../../Extras/GIMPACT/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13 = "\"$(SRCROOT)/../../Demos/OpenGL/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14 = "\"$(SRCROOT)/../../src/BulletCollision/BULLET_PHYSICS.build/Release/libLibBulletCollision.a.build/Objects-normal/i386\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15 = "\"$(SRCROOT)/../../src/BulletCollision/BULLET_PHYSICS.build/Release/libLibBulletCollision.a.build/Objects-normal/ppc\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16 = "\"$(SRCROOT)/../../src/BulletCollision/BULLET_PHYSICS.build/Release/libLibBulletCollision.a.build/Objects-normal/ppc64\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17 = "\"$(SRCROOT)/../../src/BulletCollision/BULLET_PHYSICS.build/Release/libLibBulletCollision.a.build/Objects-normal/x86_64\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18 = "\"$(SRCROOT)/../../src/BulletCollision/Debug\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19 = "\"$(SRCROOT)/../../src/BulletCollision\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = "\"$(SRCROOT)/../../src/BulletCollision/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20 = "\"$(SRCROOT)/../../src/BulletCollision/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21 = "\"$(SRCROOT)/../../src/BulletDynamics/BULLET_PHYSICS.build/Release/libLibBulletDynamics.a.build/Objects-normal/i386\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22 = "\"$(SRCROOT)/../../src/BulletDynamics/BULLET_PHYSICS.build/Release/libLibBulletDynamics.a.build/Objects-normal/ppc\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23 = "\"$(SRCROOT)/../../src/BulletDynamics/BULLET_PHYSICS.build/Release/libLibBulletDynamics.a.build/Objects-normal/ppc64\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24 = "\"$(SRCROOT)/../../src/BulletDynamics/BULLET_PHYSICS.build/Release/libLibBulletDynamics.a.build/Objects-normal/x86_64\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25 = "\"$(SRCROOT)/../../src/BulletDynamics/Debug\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26 = "\"$(SRCROOT)/../../src/BulletDynamics\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27 = "\"$(SRCROOT)/../../src/BulletDynamics/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28 = "\"$(SRCROOT)/../../src/BulletSoftBody/Debug\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29 = "\"$(SRCROOT)/../../src/BulletSoftBody/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3 = "\"$(SRCROOT)/../../src/BulletDynamics/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30 = "\"$(SRCROOT)/../../src/LinearMath/BULLET_PHYSICS.build/Release/libLibLinearMath.a.build/Objects-normal/i386\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31 = "\"$(SRCROOT)/../../src/LinearMath/BULLET_PHYSICS.build/Release/libLibLinearMath.a.build/Objects-normal/ppc\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32 = "\"$(SRCROOT)/../../src/LinearMath/BULLET_PHYSICS.build/Release/libLibLinearMath.a.build/Objects-normal/ppc64\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33 = "\"$(SRCROOT)/../../src/LinearMath/BULLET_PHYSICS.build/Release/libLibLinearMath.a.build/Objects-normal/x86_64\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34 = "\"$(SRCROOT)/../../src/LinearMath/Debug\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35 = "\"$(SRCROOT)/../../src/LinearMath\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36 = "\"$(SRCROOT)/../../src/LinearMath/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37 = "\"$(SRCROOT)/../../Demos/OpenGL/BULLET_PHYSICS.build/Release/libLibOpenGLSupport.a.build/Objects-normal/i386\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38 = "\"$(SRCROOT)/../../Demos/OpenGL/BULLET_PHYSICS.build/Release/libLibOpenGLSupport.a.build/Objects-normal/ppc\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39 = "\"$(SRCROOT)/../../Demos/OpenGL/BULLET_PHYSICS.build/Release/libLibOpenGLSupport.a.build/Objects-normal/ppc64\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4 = "\"$(SRCROOT)/../../src/LinearMath/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40 = "\"$(SRCROOT)/../../Demos/OpenGL/BULLET_PHYSICS.build/Release/libLibOpenGLSupport.a.build/Objects-normal/x86_64\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41 = "\"$(SRCROOT)/../../Demos/OpenGL/Debug\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42 = "\"$(SRCROOT)/../../Demos/OpenGL/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43 = "\"$(SRCROOT)/../ConvexDecomposition/BULLET_PHYSICS.build/Release/libLibConvexDecomposition.a.build/Objects-normal/i386\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44 = "\"$(SRCROOT)/../ConvexDecomposition/BULLET_PHYSICS.build/Release/libLibConvexDecomposition.a.build/Objects-normal/ppc\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45 = "\"$(SRCROOT)/../ConvexDecomposition/BULLET_PHYSICS.build/Release/libLibConvexDecomposition.a.build/Objects-normal/ppc64\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46 = "\"$(SRCROOT)/../ConvexDecomposition/BULLET_PHYSICS.build/Release/libLibConvexDecomposition.a.build/Objects-normal/x86_64\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47 = "\"$(SRCROOT)/../ConvexDecomposition/Debug\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48 = "\"$(SRCROOT)/../ConvexDecomposition\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49 = "\"$(SRCROOT)/../ConvexDecomposition/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5 = "\"$(SRCROOT)/../OpenGL/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50 = "\"$(SRCROOT)/../GIMPACT/BULLET_PHYSICS.build/Release/libLibGIMPACT.a.build/Objects-normal/i386\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51 = "\"$(SRCROOT)/../GIMPACT/BULLET_PHYSICS.build/Release/libLibGIMPACT.a.build/Objects-normal/ppc\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_52 = "\"$(SRCROOT)/../GIMPACT/BULLET_PHYSICS.build/Release/libLibGIMPACT.a.build/Objects-normal/ppc64\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_53 = "\"$(SRCROOT)/../GIMPACT/BULLET_PHYSICS.build/Release/libLibGIMPACT.a.build/Objects-normal/x86_64\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_54 = "\"$(SRCROOT)/../GIMPACT/Debug\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_55 = "\"$(SRCROOT)/../GIMPACT\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_56 = "\"$(SRCROOT)/../GIMPACT/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_57 = "\"$(SRCROOT)/../GIMPACTUtils/BULLET_PHYSICS.build/Release/libLibGIMPACTUtils.a.build/Objects-normal/i386\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_58 = "\"$(SRCROOT)/../GIMPACTUtils/BULLET_PHYSICS.build/Release/libLibGIMPACTUtils.a.build/Objects-normal/ppc\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_59 = "\"$(SRCROOT)/../GIMPACTUtils/BULLET_PHYSICS.build/Release/libLibGIMPACTUtils.a.build/Objects-normal/ppc64\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6 = "\"$(SRCROOT)/../../Extras/glui/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_60 = "\"$(SRCROOT)/../GIMPACTUtils/BULLET_PHYSICS.build/Release/libLibGIMPACTUtils.a.build/Objects-normal/x86_64\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_61 = "\"$(SRCROOT)/../GIMPACTUtils/Debug\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_62 = "\"$(SRCROOT)/../GIMPACTUtils\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_63 = "\"$(SRCROOT)/../GIMPACTUtils/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7 = "\"$(SRCROOT)/../../Extras/ConvexDecomposition/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8 = "\"$(SRCROOT)/../../Extras/BulletColladaConverter/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9 = "\"$(SRCROOT)/../../Extras/LibXML/Release\""; + PRODUCT_NAME = AllBulletDemos; + }; + name = Debug; + }; + C01FCF4C08A954540054247B /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_MODEL_TUNING = G5; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = AllBulletDemos_Prefix.pch; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Applications"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_52)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_53)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_54)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_55)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_56)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_57)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_58)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_59)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_60)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_61)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_62)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_63)", + ); + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../src/BulletSoftBody/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_10 = "\"$(SRCROOT)/../../Extras/COLLADA_DOM/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_11 = "\"$(SRCROOT)/../../Extras/GIMPACTUtils/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_12 = "\"$(SRCROOT)/../../Extras/GIMPACT/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_13 = "\"$(SRCROOT)/../../Demos/OpenGL/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_14 = "\"$(SRCROOT)/../../src/BulletCollision/BULLET_PHYSICS.build/Release/libLibBulletCollision.a.build/Objects-normal/i386\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_15 = "\"$(SRCROOT)/../../src/BulletCollision/BULLET_PHYSICS.build/Release/libLibBulletCollision.a.build/Objects-normal/ppc\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_16 = "\"$(SRCROOT)/../../src/BulletCollision/BULLET_PHYSICS.build/Release/libLibBulletCollision.a.build/Objects-normal/ppc64\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_17 = "\"$(SRCROOT)/../../src/BulletCollision/BULLET_PHYSICS.build/Release/libLibBulletCollision.a.build/Objects-normal/x86_64\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_18 = "\"$(SRCROOT)/../../src/BulletCollision/Debug\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_19 = "\"$(SRCROOT)/../../src/BulletCollision\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = "\"$(SRCROOT)/../../src/BulletCollision/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_20 = "\"$(SRCROOT)/../../src/BulletCollision/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_21 = "\"$(SRCROOT)/../../src/BulletDynamics/BULLET_PHYSICS.build/Release/libLibBulletDynamics.a.build/Objects-normal/i386\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_22 = "\"$(SRCROOT)/../../src/BulletDynamics/BULLET_PHYSICS.build/Release/libLibBulletDynamics.a.build/Objects-normal/ppc\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_23 = "\"$(SRCROOT)/../../src/BulletDynamics/BULLET_PHYSICS.build/Release/libLibBulletDynamics.a.build/Objects-normal/ppc64\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_24 = "\"$(SRCROOT)/../../src/BulletDynamics/BULLET_PHYSICS.build/Release/libLibBulletDynamics.a.build/Objects-normal/x86_64\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_25 = "\"$(SRCROOT)/../../src/BulletDynamics/Debug\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_26 = "\"$(SRCROOT)/../../src/BulletDynamics\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_27 = "\"$(SRCROOT)/../../src/BulletDynamics/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_28 = "\"$(SRCROOT)/../../src/BulletSoftBody/Debug\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_29 = "\"$(SRCROOT)/../../src/BulletSoftBody/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_3 = "\"$(SRCROOT)/../../src/BulletDynamics/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_30 = "\"$(SRCROOT)/../../src/LinearMath/BULLET_PHYSICS.build/Release/libLibLinearMath.a.build/Objects-normal/i386\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_31 = "\"$(SRCROOT)/../../src/LinearMath/BULLET_PHYSICS.build/Release/libLibLinearMath.a.build/Objects-normal/ppc\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_32 = "\"$(SRCROOT)/../../src/LinearMath/BULLET_PHYSICS.build/Release/libLibLinearMath.a.build/Objects-normal/ppc64\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_33 = "\"$(SRCROOT)/../../src/LinearMath/BULLET_PHYSICS.build/Release/libLibLinearMath.a.build/Objects-normal/x86_64\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_34 = "\"$(SRCROOT)/../../src/LinearMath/Debug\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_35 = "\"$(SRCROOT)/../../src/LinearMath\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_36 = "\"$(SRCROOT)/../../src/LinearMath/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_37 = "\"$(SRCROOT)/../../Demos/OpenGL/BULLET_PHYSICS.build/Release/libLibOpenGLSupport.a.build/Objects-normal/i386\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_38 = "\"$(SRCROOT)/../../Demos/OpenGL/BULLET_PHYSICS.build/Release/libLibOpenGLSupport.a.build/Objects-normal/ppc\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_39 = "\"$(SRCROOT)/../../Demos/OpenGL/BULLET_PHYSICS.build/Release/libLibOpenGLSupport.a.build/Objects-normal/ppc64\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_4 = "\"$(SRCROOT)/../../src/LinearMath/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_40 = "\"$(SRCROOT)/../../Demos/OpenGL/BULLET_PHYSICS.build/Release/libLibOpenGLSupport.a.build/Objects-normal/x86_64\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_41 = "\"$(SRCROOT)/../../Demos/OpenGL/Debug\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_42 = "\"$(SRCROOT)/../../Demos/OpenGL/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_43 = "\"$(SRCROOT)/../ConvexDecomposition/BULLET_PHYSICS.build/Release/libLibConvexDecomposition.a.build/Objects-normal/i386\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_44 = "\"$(SRCROOT)/../ConvexDecomposition/BULLET_PHYSICS.build/Release/libLibConvexDecomposition.a.build/Objects-normal/ppc\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_45 = "\"$(SRCROOT)/../ConvexDecomposition/BULLET_PHYSICS.build/Release/libLibConvexDecomposition.a.build/Objects-normal/ppc64\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_46 = "\"$(SRCROOT)/../ConvexDecomposition/BULLET_PHYSICS.build/Release/libLibConvexDecomposition.a.build/Objects-normal/x86_64\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_47 = "\"$(SRCROOT)/../ConvexDecomposition/Debug\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_48 = "\"$(SRCROOT)/../ConvexDecomposition\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_49 = "\"$(SRCROOT)/../ConvexDecomposition/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_5 = "\"$(SRCROOT)/../OpenGL/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_50 = "\"$(SRCROOT)/../GIMPACT/BULLET_PHYSICS.build/Release/libLibGIMPACT.a.build/Objects-normal/i386\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_51 = "\"$(SRCROOT)/../GIMPACT/BULLET_PHYSICS.build/Release/libLibGIMPACT.a.build/Objects-normal/ppc\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_52 = "\"$(SRCROOT)/../GIMPACT/BULLET_PHYSICS.build/Release/libLibGIMPACT.a.build/Objects-normal/ppc64\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_53 = "\"$(SRCROOT)/../GIMPACT/BULLET_PHYSICS.build/Release/libLibGIMPACT.a.build/Objects-normal/x86_64\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_54 = "\"$(SRCROOT)/../GIMPACT/Debug\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_55 = "\"$(SRCROOT)/../GIMPACT\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_56 = "\"$(SRCROOT)/../GIMPACT/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_57 = "\"$(SRCROOT)/../GIMPACTUtils/BULLET_PHYSICS.build/Release/libLibGIMPACTUtils.a.build/Objects-normal/i386\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_58 = "\"$(SRCROOT)/../GIMPACTUtils/BULLET_PHYSICS.build/Release/libLibGIMPACTUtils.a.build/Objects-normal/ppc\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_59 = "\"$(SRCROOT)/../GIMPACTUtils/BULLET_PHYSICS.build/Release/libLibGIMPACTUtils.a.build/Objects-normal/ppc64\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_6 = "\"$(SRCROOT)/../../Extras/glui/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_60 = "\"$(SRCROOT)/../GIMPACTUtils/BULLET_PHYSICS.build/Release/libLibGIMPACTUtils.a.build/Objects-normal/x86_64\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_61 = "\"$(SRCROOT)/../GIMPACTUtils/Debug\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_62 = "\"$(SRCROOT)/../GIMPACTUtils\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_63 = "\"$(SRCROOT)/../GIMPACTUtils/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_7 = "\"$(SRCROOT)/../../Extras/ConvexDecomposition/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_8 = "\"$(SRCROOT)/../../Extras/BulletColladaConverter/Release\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_9 = "\"$(SRCROOT)/../../Extras/LibXML/Release\""; + PRODUCT_NAME = AllBulletDemos; + }; + name = Release; + }; + C01FCF4F08A954540054247B /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ONLY_ACTIVE_ARCH_PRE_XCODE_3_1)"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + ../../Demos/AllBulletDemos/, + ../../Demos/OpenGL, + ../../src, + ../../Extras/COLLADA_DOM/include, + ../../Extras/COLLADA_DOM/include/1.4, + ../../Extras/LibXML/include, + ../../Extras/LibXML, + ../../Extras/ConvexDecomposition, + ../../Extras/GIMPACTUtils, + ../../Extras/GIMPACT/include, + ../../Extras, + ../../Extras/BulletColladaConverter, + /System/Library/Frameworks/GLUT.framework/Headers, + ); + ONLY_ACTIVE_ARCH_PRE_XCODE_3_1 = "$(NATIVE_ARCH)"; + PREBINDING = NO; + SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; + }; + name = Debug; + }; + C01FCF5008A954540054247B /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1)"; + ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1 = "ppc i386"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + ../../Demos/AllBulletDemos/, + ../../Demos/OpenGL, + ../../src, + ../../Extras/COLLADA_DOM/include, + ../../Extras/COLLADA_DOM/include/1.4, + ../../Extras/LibXML/include, + ../../Extras/LibXML, + ../../Extras/ConvexDecomposition, + ../../Extras/GIMPACTUtils, + ../../Extras/GIMPACT/include, + ../../Extras, + ../../Extras/BulletColladaConverter, + /System/Library/Frameworks/GLUT.framework/Headers, + ); + PREBINDING = NO; + SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "AllBulletDemos" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C01FCF4B08A954540054247B /* Debug */, + C01FCF4C08A954540054247B /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + C01FCF4E08A954540054247B /* Build configuration list for PBXProject "AllBulletDemos" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C01FCF4F08A954540054247B /* Debug */, + C01FCF5008A954540054247B /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 29B97313FDCFA39411CA2CEA /* Project object */; +} diff --git a/Extras/AllBulletDemosOSX/AllBulletDemos.xcodeproj/zakariya.pbxuser b/Extras/AllBulletDemosOSX/AllBulletDemos.xcodeproj/zakariya.pbxuser new file mode 100644 index 000000000..5c986ac31 --- /dev/null +++ b/Extras/AllBulletDemosOSX/AllBulletDemos.xcodeproj/zakariya.pbxuser @@ -0,0 +1,248 @@ +// !$*UTF8*$! +{ + 29B97313FDCFA39411CA2CEA /* Project object */ = { + activeArchitecture = i386; + activeBuildConfigurationName = Release; + activeExecutable = 36C69D030DC9E7BD0034504A /* AllBulletDemos */; + activeTarget = 8D1107260486CEB800E47090 /* AllBulletDemos */; + addToTargets = ( + 8D1107260486CEB800E47090 /* AllBulletDemos */, + ); + codeSenseManager = 36C69D160DC9E7C30034504A /* Code sense */; + executables = ( + 36C69D030DC9E7BD0034504A /* AllBulletDemos */, + ); + perUserDictionary = { + "PBXConfiguration.PBXBreakpointsDataSource.v1:1CA23EDF0692099D00951B8B" = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXBreakpointsDataSource_BreakpointID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 20, + 327, + 20, + 227, + 227, + 156, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXBreakpointsDataSource_ActionID, + PBXBreakpointsDataSource_TypeID, + PBXBreakpointsDataSource_BreakpointID, + PBXBreakpointsDataSource_UseID, + PBXBreakpointsDataSource_LocationID, + PBXBreakpointsDataSource_ConditionID, + PBXBreakpointsDataSource_IgnoreCountID, + PBXBreakpointsDataSource_ContinueID, + ); + }; + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 827, + 20, + 48, + 43, + 43, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + PBXFileDataSource_Target_ColumnID, + ); + }; + PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 787, + 60, + 20, + 48, + 43, + 43, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXTargetDataSource_PrimaryAttribute, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + ); + }; + PBXPerProjectTemplateStateSaveDate = 231705029; + PBXWorkspaceStateSaveDate = 231705029; + }; + sourceControlManager = 36C69D150DC9E7C30034504A /* Source Control */; + userBuildSettings = { + }; + }; + 3620538A0DCE4FB70048F794 /* file.obj */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1005, 23897}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 1284}"; + }; + }; + 3699D19A0DCF64EE001D9494 /* SoftDemo.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1713, 6007}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 1773}"; + }; + }; + 36A05BBB0DCBA09000ADF289 /* English */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1393, 270}}"; + sepNavSelRange = "{126, 0}"; + sepNavVisRect = "{{0, 0}, {1393, 270}}"; + }; + }; + 36A05DC70DCBBAC000ADF289 /* BTFullscreenWindow.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1713, 523}}"; + sepNavSelRange = "{973, 0}"; + sepNavVisRange = "{0, 1071}"; + }; + }; + 36A05DC80DCBBAC000ADF289 /* BTFullscreenWindow.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1713, 637}}"; + sepNavSelRange = "{1017, 0}"; + sepNavVisRange = "{464, 1072}"; + }; + }; + 36A05DC90DCBBAC000ADF289 /* BTGLUTKeyAdapter.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1713, 611}}"; + sepNavSelRange = "{949, 0}"; + sepNavVisRange = "{0, 1547}"; + }; + }; + 36A05DCA0DCBBAC000ADF289 /* BTGLUTKeyAdapter.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1713, 1410}}"; + sepNavSelRange = "{949, 0}"; + sepNavVisRange = "{0, 1483}"; + }; + }; + 36A05DCB0DCBBAC000ADF289 /* BTOpenGLDisplayDelegate.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1713, 663}}"; + sepNavSelRange = "{948, 0}"; + sepNavVisRange = "{503, 1525}"; + }; + }; + 36A05DCC0DCBBAC000ADF289 /* BTOpenGLView.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1713, 858}}"; + sepNavSelRange = "{1773, 0}"; + sepNavVisRange = "{1035, 919}"; + }; + }; + 36A05DCD0DCBBAC000ADF289 /* BTOpenGLView.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1713, 4646}}"; + sepNavSelRange = "{3853, 0}"; + sepNavVisRange = "{3389, 750}"; + }; + }; + 36A05DCE0DCBBAC000ADF289 /* BTSimulationParameters.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1713, 1118}}"; + sepNavSelRange = "{1044, 0}"; + sepNavVisRange = "{1466, 552}"; + }; + }; + 36A05DCF0DCBBAC000ADF289 /* BTDemosAppController.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1713, 1578}}"; + sepNavSelRange = "{1175, 0}"; + sepNavVisRange = "{1623, 839}"; + }; + }; + 36A05DD00DCBBAC000ADF289 /* BTSimulationParameters.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1713, 585}}"; + sepNavSelRange = "{1140, 0}"; + sepNavVisRange = "{137, 1474}"; + }; + }; + 36A05DD10DCBBAC000ADF289 /* BTDemosAppController.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1713, 715}}"; + sepNavSelRange = "{948, 0}"; + sepNavVisRange = "{0, 1519}"; + }; + }; + 36A72EFD0DCC816F00BA8039 /* BTDemo.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1713, 1352}}"; + sepNavSelRange = "{1030, 0}"; + sepNavVisRange = "{1827, 1143}"; + }; + }; + 36A72EFE0DCC816F00BA8039 /* BTDemo.mm */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1713, 2372}}"; + sepNavSelRange = "{948, 0}"; + sepNavVisRange = "{0, 1551}"; + }; + }; + 36C69D030DC9E7BD0034504A /* AllBulletDemos */ = { + isa = PBXExecutable; + activeArgIndices = ( + ); + argumentStrings = ( + ); + autoAttachOnCrash = 1; + breakpointsEnabled = 0; + configStateDict = { + }; + customDataFormattersEnabled = 1; + debuggerPlugin = GDBDebugging; + disassemblyDisplayState = 0; + dylibVariantSuffix = ""; + enableDebugStr = 1; + environmentEntries = ( + ); + executableSystemSymbolLevel = 0; + executableUserSymbolLevel = 0; + libgmallocEnabled = 0; + name = AllBulletDemos; + savedGlobals = { + }; + sourceDirectories = ( + ); + variableFormatDictionary = { + }; + }; + 36C69D150DC9E7C30034504A /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + }; + }; + 36C69D160DC9E7C30034504A /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 8D1107260486CEB800E47090 /* AllBulletDemos */ = { + activeExec = 0; + executables = ( + 36C69D030DC9E7BD0034504A /* AllBulletDemos */, + ); + }; +} diff --git a/Extras/AllBulletDemosOSX/AllBulletDemos.xcodeproj/zakariya.perspectivev3 b/Extras/AllBulletDemosOSX/AllBulletDemos.xcodeproj/zakariya.perspectivev3 new file mode 100644 index 000000000..6188f3fca --- /dev/null +++ b/Extras/AllBulletDemosOSX/AllBulletDemos.xcodeproj/zakariya.perspectivev3 @@ -0,0 +1,1517 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + AIODescriptionKey + DockingSystemVisible + + Extension + perspectivev3 + FavBarConfig + + PBXProjectModuleGUID + 36C69D140DC9E7C30034504A + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.defaultV3 + MajorVersion + 34 + MinorVersion + 0 + Name + All-In-One + Notifications + + + XCObserverAutoDisconnectKey + + XCObserverDefintionKey + + PBXStatusErrorsKey + 0 + + XCObserverFactoryKey + XCPerspectivesSpecificationIdentifier + XCObserverGUIDKey + XCObserverProjectIdentifier + XCObserverNotificationKey + PBXStatusBuildStateMessageNotification + XCObserverTargetKey + XCMainBuildResultsModuleGUID + XCObserverTriggerKey + awakenModuleWithObserver: + XCObserverValidationKey + + PBXStatusErrorsKey + 2 + + + + XCObserverAutoDisconnectKey + + XCObserverDefintionKey + + PBXStatusWarningsKey + 0 + + XCObserverFactoryKey + XCPerspectivesSpecificationIdentifier + XCObserverGUIDKey + XCObserverProjectIdentifier + XCObserverNotificationKey + PBXStatusBuildStateMessageNotification + XCObserverTargetKey + XCMainBuildResultsModuleGUID + XCObserverTriggerKey + awakenModuleWithObserver: + XCObserverValidationKey + + PBXStatusWarningsKey + 2 + + + + OpenEditors + + PerspectiveWidths + + 1440 + 1440 + + Perspectives + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-target-popup + active-executable-popup + active-buildstyle-popup + action + NSToolbarFlexibleSpaceItem + buildOrClean + build-and-goOrGo + com.apple.ide.PBXToolbarStopButton + get-info + toggle-editor + NSToolbarFlexibleSpaceItem + researchAssistant + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C08E77C0454961000C914BD + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CA23ED40692098700951B8B + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 352 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 29B97314FDCFA39411CA2CEA + 36A05D5A0DCBAD9000ADF289 + 36C69D250DC9E7FE0034504A + 36A05DC60DCBBAC000ADF289 + 29B97317FDCFA39411CA2CEA + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 20 + 18 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {352, 780}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + + GeometryConfiguration + + Frame + {{0, 0}, {369, 798}} + GroupTreeTableConfiguration + + MainColumn + 352 + + RubberWindowFrame + 0 39 1440 839 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 369pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 36C69D0F0DC9E7C30034504A + PBXProjectModuleLabel + + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 36C69D100DC9E7C30034504A + PBXProjectModuleLabel + + + SplitCount + 1 + + StatusBarVisibility + + XCSharingToken + com.apple.Xcode.CommonNavigatorGroupSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {1066, 555}} + RubberWindowFrame + 0 39 1440 839 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 555pt + + + Proportion + 238pt + Tabs + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EDF0692099D00951B8B + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{10, 27}, {1066, 211}} + RubberWindowFrame + 0 39 1440 839 0 0 1440 878 + + Module + XCDetailModule + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EE00692099D00951B8B + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{10, 27}, {1066, -27}} + + Module + PBXProjectFindModule + + + ContentConfiguration + + PBXCVSModuleFilterTypeKey + 1032 + PBXProjectModuleGUID + 1CA23EE10692099D00951B8B + PBXProjectModuleLabel + SCM Results + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXCVSModule + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build + XCBuildResultsTrigger_Collapse + 1021 + XCBuildResultsTrigger_Open + 1013 + + GeometryConfiguration + + Frame + {{10, 27}, {1066, 211}} + + Module + PBXBuildResultsModule + + + + + Proportion + 1066pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDockableTabModule + XCDetailModule + PBXProjectFindModule + PBXCVSModule + PBXBuildResultsModule + + TableOfContents + + 3699D2370DCF89C9001D9494 + 1CA23ED40692098700951B8B + 3699D2380DCF89C9001D9494 + 36C69D0F0DC9E7C30034504A + 3699D2390DCF89C9001D9494 + 1CA23EDF0692099D00951B8B + 1CA23EE00692099D00951B8B + 1CA23EE10692099D00951B8B + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + build-and-go + go + NSToolbarFlexibleSpaceItem + debugger-fix-and-continue + debugger-restart-executable + debugger-pause + debugger-step-over + debugger-step-into + debugger-step-out + debugger-step-instruction + NSToolbarFlexibleSpaceItem + + ControllerClassBaseName + PBXDebugSessionModule + IconName + DebugTabIcon + Identifier + perspective.debug + IsVertical + + Layout + + + ContentConfiguration + + PBXProjectModuleGUID + 1CCC7628064C1048000F2A68 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {1440, 238}} + + Module + PBXDebugCLIModule + Proportion + 238pt + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {703, 268}} + {{703, 0}, {737, 268}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {1440, 268}} + {{0, 268}, {1440, 287}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1CCC7629064C1048000F2A68 + PBXProjectModuleLabel + Debug + + GeometryConfiguration + + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 243}, {1440, 555}} + PBXDebugSessionStackFrameViewKey + + DebugVariablesTableConfiguration + + Name + 120 + Value + 85 + Summary + 507 + + Frame + {{703, 0}, {737, 268}} + + + Module + PBXDebugSessionModule + Proportion + 555pt + + + Name + Debug + ServiceClasses + + XCModuleDock + PBXDebugCLIModule + PBXDebugSessionModule + PBXDebugProcessAndThreadModule + PBXDebugProcessViewModule + PBXDebugThreadViewModule + PBXDebugStackFrameViewModule + PBXNavigatorGroup + + TableOfContents + + 3699D2080DCF68BE001D9494 + 1CCC7628064C1048000F2A68 + 1CCC7629064C1048000F2A68 + 3699D2090DCF68BE001D9494 + 3699D20A0DCF68BE001D9494 + 3699D20B0DCF68BE001D9494 + 3699D20C0DCF68BE001D9494 + 36C69D0F0DC9E7C30034504A + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecification.xcperspec' + StatusbarIsVisible + + TimeStamp + 231705097.779064 + ToolbarDisplayMode + 2 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + + WindowJustification + 5 + WindowOrderList + + /Users/zakariya/Code/vendor/bullet-2.68/Extras/AllBulletDemosOSX/AllBulletDemos.xcodeproj + + WindowString + 0 39 1440 839 0 0 1440 878 + WindowToolsV3 + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.build + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD052900623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {500, 215}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build + + GeometryConfiguration + + Frame + {{0, 222}, {500, 236}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 458pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAA5065D492600B07095 + 1C78EAA6065D492600B07095 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowString + 192 257 500 500 0 0 1280 1002 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {700, 358}} + RubberWindowFrame + 149 87 700 400 0 0 1440 878 + + Module + PBXDebugCLIModule + Proportion + 358pt + + + Proportion + 358pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D5B069F1CE1000CFCEE + 1C530D5C069F1CE1000CFCEE + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 149 87 440 400 0 0 1440 878 + WindowToolGUID + 1C530D5B069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.09500122070312 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scmV3 + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 166pt + + + Proportion + 166pt + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {369, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {616, 353}} + MembersFrame + {{0, 105}, {369, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 94 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 597 125 616 374 0 0 1280 1002 + + Module + PBXClassBrowserModule + Proportion + 354pt + + + Proportion + 354pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C78EABA065D492600B07095 + 1C78EABB065D492600B07095 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 597 125 616 374 0 0 1280 1002 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/Extras/AllBulletDemosOSX/AllBulletDemos_Prefix.pch b/Extras/AllBulletDemosOSX/AllBulletDemos_Prefix.pch new file mode 100644 index 000000000..f1d2c1188 --- /dev/null +++ b/Extras/AllBulletDemosOSX/AllBulletDemos_Prefix.pch @@ -0,0 +1,7 @@ +// +// Prefix header for all source files of the 'AllBulletDemos' target in the 'AllBulletDemos' project +// + +#ifdef __OBJC__ + #import +#endif diff --git a/Extras/AllBulletDemosOSX/BulletIcon.icns b/Extras/AllBulletDemosOSX/BulletIcon.icns new file mode 100644 index 000000000..1429602ce Binary files /dev/null and b/Extras/AllBulletDemosOSX/BulletIcon.icns differ diff --git a/Extras/AllBulletDemosOSX/BulletIcon.psd b/Extras/AllBulletDemosOSX/BulletIcon.psd new file mode 100644 index 000000000..c0b4a99c9 Binary files /dev/null and b/Extras/AllBulletDemosOSX/BulletIcon.psd differ diff --git a/Extras/AllBulletDemosOSX/English.lproj/Credits.rtf b/Extras/AllBulletDemosOSX/English.lproj/Credits.rtf new file mode 100644 index 000000000..7e45b63a8 --- /dev/null +++ b/Extras/AllBulletDemosOSX/English.lproj/Credits.rtf @@ -0,0 +1,11 @@ +{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf270 +{\fonttbl\f0\fnil\fcharset0 LucidaGrande;} +{\colortbl;\red255\green255\blue255;} +\deftab560 +\pard\tx560\pardeftab560\qc\pardirnatural + +\f0\b\fs28 \cf0 \CocoaLigature0 Bullet Continuous Collision Detection and Physics Library +\b0\fs22 \ +\ +Copyright (c) 2003-2008 Erwin Coumans \ +{\field{\*\fldinst{HYPERLINK "http://www.bulletphysics.com/"}}{\fldrslt http://www.bulletphysics.com}}} \ No newline at end of file diff --git a/Extras/AllBulletDemosOSX/English.lproj/InfoPlist.strings b/Extras/AllBulletDemosOSX/English.lproj/InfoPlist.strings new file mode 100644 index 000000000..5e45963c3 Binary files /dev/null and b/Extras/AllBulletDemosOSX/English.lproj/InfoPlist.strings differ diff --git a/Extras/AllBulletDemosOSX/English.lproj/MainMenu.xib b/Extras/AllBulletDemosOSX/English.lproj/MainMenu.xib new file mode 100644 index 000000000..2305b55e0 --- /dev/null +++ b/Extras/AllBulletDemosOSX/English.lproj/MainMenu.xib @@ -0,0 +1,2095 @@ + + + + 1040 + 9C7010 + 652 + 949.26 + 352.00 + + YES + + + + YES + com.apple.InterfaceBuilderKit + com.apple.InterfaceBuilder.CocoaPlugin + + + YES + + NSApplication + + + FirstResponder + + + NSApplication + + + AMainMenu + + YES + + + AllBulletDemos + + 1048576 + 2147483647 + + NSImage + NSMenuCheckmark + + + NSImage + NSMenuMixedState + + submenuAction: + + AllBulletDemos + + YES + + + About AllBulletDemos + + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + UHJlZmVyZW5jZXPigKY + , + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Services + + 1048576 + 2147483647 + + + submenuAction: + + Services + + YES + + _NSServicesMenu + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Hide AllBulletDemos + h + 1048576 + 2147483647 + + + + + + Hide Others + h + 1572864 + 2147483647 + + + + + + Show All + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Quit AllBulletDemos + q + 1048576 + 2147483647 + + + + + _NSAppleMenu + + + + + File + + 2147483647 + + + submenuAction: + + File + + YES + + + Reset Current Demo + r + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Close + w + 1048576 + 2147483647 + + + + + + + + + View + + 1048576 + 2147483647 + + + submenuAction: + + View + + YES + + + Previous Demo + [ + 1048576 + 2147483647 + + + + + + Next Demo + ] + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Fullscreen + F + 1048576 + 2147483647 + + + + + + + + + Window + + 1048576 + 2147483647 + + + submenuAction: + + Window + + YES + + + Minimize + m + 1048576 + 2147483647 + + + + + + Zoom + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Bring All to Front + + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Show Paramaters + P + 1048576 + 2147483647 + + + + + _NSWindowsMenu + + + + _NSMainMenu + + + 15 + 2 + {{500, 363}, {593, 360}} + 1954021376 + All Bullet Demos + NSWindow + + {593, 360} + + + 256 + + YES + + + 274 + {593, 320} + + BTOpenGLView + + + + 268 + {{17, 328}, {210, 22}} + + YES + + -2076049856 + 133120 + + LucidaGrande + 1.100000e+01 + 3100 + + + 109199615 + 129 + + + 400 + 75 + + + Item 1 + + 1048576 + 2147483647 + 1 + + + _popUpItemAction: + + + YES + + OtherViews + + YES + + + + Item 2 + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + Item 3 + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + 1 + YES + YES + 2 + + + + + 265 + {{489, 331}, {86, 18}} + + YES + + 67239424 + 131072 + Fullscreen + + + 1211912703 + 130 + + NSImage + NSSwitch + + + NSSwitch + + + + 200 + 25 + + + + + 265 + {{393, 331}, {93, 18}} + + YES + + 67239424 + 131072 + Parameters + + + 1211912703 + 130 + + + + + 200 + 25 + + + + + 268 + {{227, 325}, {96, 28}} + + YES + + 67239424 + 134348800 + Reset + + + -2038284033 + 129 + + + 200 + 25 + + + + {593, 360} + + {{0, 0}, {1440, 878}} + {593, 382} + {3.40282e+38, 3.40282e+38} + _main_window_ + + + NSFontManager + + + BTDemosAppController + + + 19 + 2 + {{196, 291}, {276, 219}} + -469762048 + Parameters + NSPanel + + {276, 219} + {276, 219} + + + 256 + + YES + + + 268 + {{17, 177}, {64, 17}} + + YES + + 68288064 + 272630784 + Iterations + + LucidaGrande + 1.300000e+01 + 1044 + + + + 6 + System + controlColor + + 3 + MC42NjY2NjY2OQA + + + + 6 + System + controlTextColor + + 3 + MAA + + + + + + + 268 + {{86, 174}, {121, 22}} + + YES + + -1804468671 + -1874852864 + + + + + YES + + YES + allowsFloats + formatterBehavior + minimum + + + YES + + + + + + # + # + + + + + + + + + + NaN + + YES + + YES + + + YES + + + + + + 0 + 0 + YES + NO + 1 + AAAAAAAAAAAAAAAAAAAAAA + + + 3 + YES + YES + YES + + . + , + NO + YES + YES + + + YES + + 6 + System + textBackgroundColor + + 3 + MQA + + + + 6 + System + textColor + + + + + + + 268 + {{84, 140}, {149, 18}} + + YES + + -2080244224 + 0 + Disable deactivation + + + 1211912703 + 130 + + + + + 200 + 25 + + + + + 12 + {{12, 121}, {252, 5}} + + {0, 0} + + 67239424 + 0 + Box + + + + 3 + MCAwLjgwMDAwMDAxAA + + + 3 + 2 + 0 + NO + + + + 268 + {{212, 171}, {19, 27}} + + YES + + 917024 + 0 + + 1.000000e+02 + 1.000000e+00 + YES + + + + + 268 + {{9, 87}, {69, 17}} + + YES + + 68288064 + 272630784 + Rendering + + + + + + + + + 268 + {{84, 59}, {63, 18}} + + YES + + -2080244224 + 0 + AABBs + + + 1211912703 + 130 + + + + + 200 + 25 + + + + + 268 + {{84, 39}, {113, 18}} + + YES + + -2080244224 + 0 + Debug Drawer + + + 1211912703 + 130 + + + + + 200 + 25 + + + + + 268 + {{84, 19}, {113, 18}} + + YES + + -2080244224 + 0 + Contacts + + + 1211912703 + 130 + + + + + 200 + 25 + + + + {276, 219} + + {{0, 0}, {1440, 878}} + {276, 235} + {276, 235} + _parameters_window_ + + + BTSimulationParameters + + + YES + + + + + YES + + + performMiniaturize: + + + + 37 + + + + arrangeInFront: + + + + 39 + + + + orderFrontStandardAboutPanel: + + + + 142 + + + + performZoom: + + + + 240 + + + + hide: + + + + 367 + + + + hideOtherApplications: + + + + 368 + + + + terminate: + + + + 369 + + + + unhideAllApplications: + + + + 370 + + + + _glView + + + + 451 + + + + delegate + + + + 453 + + + + content: demos + + + + + + content: demos + content + demos + 2 + + + 489 + + + + selectedValue: demo + + + + + + selectedValue: demo + selectedValue + demo + + 2 + + + 490 + + + + value: fullscreen + + + + + + value: fullscreen + value + fullscreen + 2 + + + 493 + + + + nextDemo: + + + + 498 + + + + previousDemo: + + + + 499 + + + + _parameters + + + + 526 + + + + value: iterations + + + + + + value: iterations + value + iterations + 2 + + + 527 + + + + maxValue: maxIterations + + + + + + maxValue: maxIterations + maxValue + maxIterations + 2 + + + 531 + + + + minValue: minIterations + + + + + + minValue: minIterations + minValue + minIterations + + 2 + + + 532 + + + + value: iterations + + + + + + value: iterations + value + iterations + + 2 + + + 533 + + + + value: disableDeactivation + + + + + + value: disableDeactivation + value + disableDeactivation + 2 + + + 534 + + + + value: drawAABBs + + + + + + value: drawAABBs + value + drawAABBs + 2 + + + 535 + + + + value: debugDraw + + + + + + value: debugDraw + value + debugDraw + 2 + + + 537 + + + + visible: showParameters + + + + + + visible: showParameters + visible + showParameters + 2 + + + 540 + + + + value: showParameters + + + + + + value: showParameters + value + showParameters + 2 + + + 543 + + + + performClose: + + + + 559 + + + + value: showParameters + + + + + + value: showParameters + value + showParameters + 2 + + + 564 + + + + value: fullscreen + + + + + + value: fullscreen + value + fullscreen + 2 + + + 567 + + + + resetDemo: + + + + 570 + + + + resetDemo: + + + + 573 + + + + value: drawContacts + + + + + + value: drawContacts + value + drawContacts + 2 + + + 576 + + + + nullMenuTarget: + + + + 579 + + + + nullMenuTarget: + + + + 580 + + + + + YES + + 0 + + YES + + + + + + -2 + + + RmlsZSdzIE93bmVyA + + + -1 + + + First Responder + + + -3 + + + Application + + + 29 + + + YES + + + + + + + MainMenu + + + 19 + + + YES + + + + + + 56 + + + YES + + + + + + 57 + + + YES + + + + + + + + + + + + + + + + 58 + + + + + 134 + + + + + 150 + + + + + 136 + + + 1111 + + + 144 + + + + + 129 + + + 121 + + + 143 + + + + + 236 + + + + + 131 + + + YES + + + + + + 149 + + + + + 145 + + + + + 130 + + + + + 24 + + + YES + + + + + + + + + + + 92 + + + + + 5 + + + + + 239 + + + + + 23 + + + + + 295 + + + YES + + + + + + 296 + + + YES + + + + + + + + + 371 + + + YES + + + + + + 372 + + + YES + + + + + + + + + + 420 + + + + + 449 + + + + + 450 + + + + + 483 + + + YES + + + + + + 484 + + + YES + + + + + + 485 + + + YES + + + + + + + + 486 + + + + + 487 + + + + + 488 + + + + + 491 + + + YES + + + + + + 492 + + + + + 496 + + + + + 497 + + + + + 501 + + + + + 503 + + + YES + + + + + + 504 + + + YES + + + + + + + + + + + + + + 507 + + + YES + + + + + + 508 + + + + + 509 + + + YES + + + + + + 510 + + + YES + + + + + + 511 + + + + + 512 + + + YES + + + + + + 513 + + + + + 514 + + + + + 515 + + + YES + + + + + + 516 + + + + + 517 + + + YES + + + + + + 518 + + + + + 519 + + + YES + + + + + + 520 + + + + + 521 + + + YES + + + + + + 522 + + + + + 523 + + + YES + + + + + + 524 + + + + + 525 + + + + + 538 + + + + + 541 + + + YES + + + + + + 542 + + + + + 544 + + + YES + + + + + + 545 + + + YES + + + + + + + + 550 + + + + + 560 + + + + + 561 + + + + + 562 + + + + + 568 + + + + + 569 + + + + + 571 + + + YES + + + + + + 572 + + + + + + + YES + + YES + -1.IBPluginDependency + -2.IBPluginDependency + -3.IBPluginDependency + 129.IBPluginDependency + 129.ImportedFromIB2 + 130.IBPluginDependency + 130.ImportedFromIB2 + 130.editorWindowContentRectSynchronizationRect + 131.IBPluginDependency + 131.ImportedFromIB2 + 134.IBPluginDependency + 134.ImportedFromIB2 + 136.IBPluginDependency + 136.ImportedFromIB2 + 143.IBPluginDependency + 143.ImportedFromIB2 + 144.IBPluginDependency + 144.ImportedFromIB2 + 145.IBPluginDependency + 145.ImportedFromIB2 + 149.IBPluginDependency + 149.ImportedFromIB2 + 150.IBPluginDependency + 150.ImportedFromIB2 + 19.IBPluginDependency + 19.ImportedFromIB2 + 23.IBPluginDependency + 23.ImportedFromIB2 + 236.IBPluginDependency + 236.ImportedFromIB2 + 239.IBPluginDependency + 239.ImportedFromIB2 + 24.IBEditorWindowLastContentRect + 24.IBPluginDependency + 24.ImportedFromIB2 + 24.editorWindowContentRectSynchronizationRect + 29.IBEditorWindowLastContentRect + 29.IBPluginDependency + 29.ImportedFromIB2 + 29.WindowOrigin + 29.editorWindowContentRectSynchronizationRect + 295.IBPluginDependency + 296.IBEditorWindowLastContentRect + 296.IBPluginDependency + 296.editorWindowContentRectSynchronizationRect + 371.IBEditorWindowLastContentRect + 371.IBPluginDependency + 371.IBWindowTemplateEditedContentRect + 371.NSWindowTemplate.visibleAtLaunch + 371.editorWindowContentRectSynchronizationRect + 371.windowTemplate.hasMinSize + 371.windowTemplate.minSize + 372.IBPluginDependency + 449.IBPluginDependency + 450.IBPluginDependency + 483.IBPluginDependency + 484.IBPluginDependency + 485.IBPluginDependency + 486.IBPluginDependency + 487.IBPluginDependency + 488.IBPluginDependency + 491.IBPluginDependency + 492.IBPluginDependency + 496.IBPluginDependency + 497.IBPluginDependency + 5.IBPluginDependency + 5.ImportedFromIB2 + 501.IBPluginDependency + 503.IBEditorWindowLastContentRect + 503.IBPluginDependency + 503.IBWindowTemplateEditedContentRect + 503.NSWindowTemplate.visibleAtLaunch + 503.windowTemplate.hasMaxSize + 503.windowTemplate.hasMinSize + 503.windowTemplate.maxSize + 503.windowTemplate.minSize + 504.IBPluginDependency + 507.IBPluginDependency + 508.IBPluginDependency + 509.IBPluginDependency + 510.IBPluginDependency + 511.IBPluginDependency + 512.IBPluginDependency + 513.IBPluginDependency + 514.IBPluginDependency + 515.IBPluginDependency + 516.IBPluginDependency + 517.IBPluginDependency + 518.IBPluginDependency + 519.IBPluginDependency + 520.IBPluginDependency + 521.IBPluginDependency + 522.IBPluginDependency + 523.IBPluginDependency + 524.IBPluginDependency + 525.IBPluginDependency + 541.IBPluginDependency + 542.IBPluginDependency + 544.IBPluginDependency + 545.IBEditorWindowLastContentRect + 545.IBPluginDependency + 550.IBPluginDependency + 56.IBPluginDependency + 56.ImportedFromIB2 + 560.IBPluginDependency + 561.IBPluginDependency + 562.IBPluginDependency + 568.IBPluginDependency + 569.IBPluginDependency + 57.IBEditorWindowLastContentRect + 57.IBPluginDependency + 57.ImportedFromIB2 + 57.editorWindowContentRectSynchronizationRect + 571.IBPluginDependency + 572.IBPluginDependency + 58.IBPluginDependency + 58.ImportedFromIB2 + 92.IBPluginDependency + 92.ImportedFromIB2 + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilderKit + com.apple.InterfaceBuilderKit + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{436, 809}, {64, 6}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{440, 182}, {211, 103}} + com.apple.InterfaceBuilder.CocoaPlugin + + {{525, 802}, {197, 73}} + {{207, 285}, {316, 20}} + com.apple.InterfaceBuilder.CocoaPlugin + + {74, 862} + {{6, 978}, {478, 20}} + com.apple.InterfaceBuilder.CocoaPlugin + {{390, 212}, {192, 73}} + com.apple.InterfaceBuilder.CocoaPlugin + {{475, 832}, {234, 43}} + {{115, 412}, {593, 360}} + com.apple.InterfaceBuilder.CocoaPlugin + {{115, 412}, {593, 360}} + + {{33, 99}, {480, 360}} + + {593, 360} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + {{543, 587}, {276, 219}} + com.apple.InterfaceBuilder.CocoaPlugin + {{543, 587}, {276, 219}} + + + + {276, 219} + {276, 219} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{348, 232}, {218, 53}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{219, 102}, {242, 183}} + com.apple.InterfaceBuilder.CocoaPlugin + + {{23, 794}, {245, 183}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + + + + YES + + YES + + + YES + + + + + YES + + YES + + + YES + + + + 580 + + + + YES + + BTDemosAppController + NSObject + + YES + + YES + nextDemo: + nullMenuTarget: + previousDemo: + resetDemo: + toggleFullscreen: + toggleParameters: + + + YES + id + id + id + id + id + id + + + + YES + + YES + _glView + _parameters + + + YES + BTOpenGLView + BTSimulationParameters + + + + IBProjectSource + src/BTDemosAppController.h + + + + BTOpenGLView + NSView + + _delegate + id + + + IBProjectSource + src/toolkit/BTOpenGLView.h + + + + BTSimulationParameters + NSObject + + IBProjectSource + src/BTSimulationParameters.h + + + + + 0 + ../AllBulletDemos.xcodeproj + 3 + + diff --git a/Extras/AllBulletDemosOSX/Info.plist b/Extras/AllBulletDemosOSX/Info.plist new file mode 100644 index 000000000..5081c73b8 --- /dev/null +++ b/Extras/AllBulletDemosOSX/Info.plist @@ -0,0 +1,28 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + BulletIcon + CFBundleIdentifier + org.bullet.${PRODUCT_NAME:identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleVersion + 1.0 + NSMainNibFile + MainMenu + NSPrincipalClass + NSApplication + + diff --git a/Extras/AllBulletDemosOSX/README.txt b/Extras/AllBulletDemosOSX/README.txt new file mode 100644 index 000000000..173847c85 --- /dev/null +++ b/Extras/AllBulletDemosOSX/README.txt @@ -0,0 +1,6 @@ +To build: +Place AllBulletDemosOSX in bullet-/Extras and build with Xcode. + +Questions: +contact Shamyl Zakariya +shamyl@zakariya.net \ No newline at end of file diff --git a/Extras/AllBulletDemosOSX/main.m b/Extras/AllBulletDemosOSX/main.m new file mode 100644 index 000000000..699ddd42d --- /dev/null +++ b/Extras/AllBulletDemosOSX/main.m @@ -0,0 +1,14 @@ +// +// main.m +// AllBulletDemos +// +// Created by Shamyl Zakariya on 5/1/08. +// Copyright Shamyl Zakariya 2008. All rights reserved. +// + +#import + +int main(int argc, char *argv[]) +{ + return NSApplicationMain(argc, (const char **) argv); +} diff --git a/Extras/AllBulletDemosOSX/src/BTDemo.h b/Extras/AllBulletDemosOSX/src/BTDemo.h new file mode 100644 index 000000000..0f7810f73 --- /dev/null +++ b/Extras/AllBulletDemosOSX/src/BTDemo.h @@ -0,0 +1,103 @@ +/* +Bullet Continuous Collision Detection and Physics Library +Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/ + +This software is provided 'as-is', without any express or implied warranty. +In no event will the authors be held liable for any damages arising from the use of this software. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it freely, +subject to the following restrictions: + +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. +2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +*/ + +#import +#import "BTOpenGLDisplayDelegate.h" + +@class BTDemoEntry; + +@interface BTDemo : NSObject { + + NSString *_demoName; + BTDemoEntry *_demo; +} + +/** + @brief Array of all available bullet demos +*/ ++ (NSArray*) demoNames; + +/** + @brief Verify a given string is a demo name +*/ ++ (BOOL) isDemo: (NSString *) demoName; + +/** + @brief Create a demo with a given name + @note Returns nil if the name is not a valid demo name +*/ ++ (BTDemo*) demoWithName: (NSString *) demoName; + +/** + @brief Initialize a demo with a given name +*/ +- (id) initWithDemoName: (NSString *) demoName; + +/** + @brief Reset current demo +*/ +- (void) reset; + +/** + @brief Name of current demo +*/ +- (NSString*) demoName; + +/////////////////////////////////////////////////////////////////////// +// BTOpenGLDisplayDelegate + +- (void) contextCreated; +- (void) contextWillBeDestroyed; +- (void) contextWillResize; +- (void) contextResized: (NSSize) newSize; +- (void) contextDidResize; +- (void) contextStateInvalidated; + +- (void) display: (float) deltaT; + +- (void) keyPressed: (unsigned char) key; +- (void) keyReleased: (unsigned char) key; + +- (void) specialKeyPressed: (unsigned) GLUTKey; +- (void) specialKeyReleased: (unsigned) GLUTKey; + +- (void) mouseButtonPressed: (unsigned) mouseButton; +- (void) mouseButtonReleased: (unsigned) mouseButton; +- (void) mouseMoved: (NSPoint) delta; +- (void) newMousePosition: (NSPoint) newMousePosition; +- (void) scrollWheel: (NSPoint) delta; + +/////////////////////////////////////////////////////////////////////// +// Global simulation properties -- applies to all demos + ++ (void) setIterations: (unsigned) iterations; ++ (unsigned) iterations; + ++ (unsigned) minIterations; ++ (unsigned) maxIterations; + ++ (void) setDisableDeactivation: (BOOL) disableDeactivation; ++ (BOOL) disableDeactivation; + ++ (void) setDrawAABBs: (BOOL) drawAABBs; ++ (BOOL) drawAABBs; + ++ (void) setDebugDraw: (BOOL) debugDraw; ++ (BOOL) debugDraw; + ++ (void) setDrawContacts: (BOOL) drawContacts; ++ (BOOL) drawContacts; + +@end diff --git a/Extras/AllBulletDemosOSX/src/BTDemo.mm b/Extras/AllBulletDemosOSX/src/BTDemo.mm new file mode 100644 index 000000000..d44a98338 --- /dev/null +++ b/Extras/AllBulletDemosOSX/src/BTDemo.mm @@ -0,0 +1,390 @@ +/* +Bullet Continuous Collision Detection and Physics Library +Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/ + +This software is provided 'as-is', without any express or implied warranty. +In no event will the authors be held liable for any damages arising from the use of this software. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it freely, +subject to the following restrictions: + +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. +2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +*/ + +#import "BTDemo.h" + +/////////////////////////////////////////////////////////////////////// +// Bullet includes + +#include "LinearMath/btScalar.h" +#include "LinearMath/btMinMax.h" + +#include "DemoApplication.h" +#include "DemoEntries.h" +#include "BulletDynamics/Dynamics/btDiscreteDynamicsWorld.h" + +#include "GLDebugDrawer.h" + +#include "LinearMath/btQuickprof.h" + + +/////////////////////////////////////////////////////////////////////// + +#pragma mark - +#pragma mark Globals + +static NSPoint MousePosition; +static NSSize ViewSize; +static int NumIterations = 10; +static BOOL DisableDeactivation = NO; +static BOOL DrawAABBs = NO; +static BOOL DebugDraw = NO; +static BOOL DrawContacts = NO; + +/////////////////////////////////////////////////////////////////////// + +#pragma mark - +#pragma mark BTDemoEntry + +@interface BTDemoEntry : NSObject { + btDemoEntry *ctor; + DemoApplication *demo; +} + +- (id) initWithDemoEntry: (btDemoEntry*) constructor; +- (DemoApplication*) demo; +- (void) reset; + +@end + +@implementation BTDemoEntry + +- (id) initWithDemoEntry: (btDemoEntry*) constructor +{ + if ( self = [super init] ) + { + ctor = constructor; + [self reset]; + } + + return self; +} + +- (void) dealloc +{ + if ( demo ) delete demo; + [super dealloc]; +} + +- (DemoApplication*) demo +{ + return demo; +} + +- (void) reset +{ + if ( demo ) + { + if (demo->getDynamicsWorld()->getDebugDrawer()) + delete demo->getDynamicsWorld()->getDebugDrawer(); + + delete demo; + demo = NULL; + } + + demo = ctor->createFcn(); + btAssert(demo); + + if (demo->getDynamicsWorld()) + { + demo->getDynamicsWorld()->setDebugDrawer(new GLDebugDrawer()); + } + + #ifndef BT_NO_PROFILE + CProfileManager::Reset(); + #endif //BT_NO_PROFILE +} + +@end + +/////////////////////////////////////////////////////////////////////// + +#pragma mark - +#pragma mark BTDemo + + +@implementation BTDemo + ++ (NSArray*) demoNames +{ + static NSMutableArray *DEMOS = nil; + if ( !DEMOS ) + { + DEMOS = [[NSMutableArray alloc] init]; + + btDemoEntry* e = g_demoEntries; + while (e->createFcn) + { + [DEMOS addObject: [NSString stringWithUTF8String: e->name]]; + ++e; + } + } + + return DEMOS; +} + ++ (BOOL) isDemo: (NSString *) demoName +{ + return [[self demoNames] containsObject: demoName]; +} + ++ (BTDemo*) demoWithName: (NSString *) demoName +{ + if ( [BTDemo isDemo: demoName] ) + { + return [[[BTDemo alloc] initWithDemoName: demoName] autorelease]; + } + + return nil; +} + +- (id) initWithDemoName: (NSString *) demoName +{ + if ( self = [super init] ) + { + _demoName = [demoName copy]; + + // now walk the constructor list and find this demo + + btDemoEntry* e = g_demoEntries; + while (e->createFcn) + { + NSString *name = [NSString stringWithCString: e->name]; + if ( [name isEqualToString: demoName] ) + { + _demo = [[BTDemoEntry alloc] initWithDemoEntry: e]; + break; + } + + e++; + } + } + + return self; +} + +- (void) dealloc +{ + [_demoName release]; + [_demo release]; + [super dealloc]; +} + +- (void) reset +{ + [_demo reset]; + + [self contextWillResize]; + [self contextResized: ViewSize]; + [self contextDidResize]; +} + +- (NSString*) demoName +{ + return _demoName; +} + +#pragma mark - +#pragma mark BTOpenGLDisplayDelegate + +- (void) contextCreated +{} + +- (void) contextWillBeDestroyed +{} + +- (void) contextWillResize +{} + +- (void) contextResized: (NSSize) newSize +{ + ViewSize = newSize; + glViewport( 0, 0, (int) newSize.width, (int) newSize.height ); + + glMatrixMode(GL_PROJECTION); + glLoadIdentity(); + + [_demo demo]->reshape( (int) newSize.width, (int) newSize.height ); +} + +- (void) contextDidResize +{} + +- (void) contextStateInvalidated +{} + +- (void) display: (float) deltaT +{ + DemoApplication *demo = [_demo demo]; + + if ( !demo ) + { + glClearColor( 1, 0.5, 1, 1 ); + glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); + return; + } + + if (DrawAABBs) + { + demo->setDebugMode(demo->getDebugMode() |btIDebugDraw::DBG_DrawAabb); + } + else + { + demo->setDebugMode(demo->getDebugMode() & (~btIDebugDraw::DBG_DrawAabb)); + } + + if (DebugDraw) + { + demo->setDebugMode(demo->getDebugMode() |btIDebugDraw::DBG_DrawWireframe); + } + else + { + demo->setDebugMode(demo->getDebugMode() & (~btIDebugDraw::DBG_DrawWireframe)); + } + + if (DrawContacts) + { + demo->setDebugMode(demo->getDebugMode() |btIDebugDraw::DBG_DrawContactPoints); + } + else + { + demo->setDebugMode(demo->getDebugMode() & (~btIDebugDraw::DBG_DrawContactPoints)); + } + + if (DisableDeactivation) + { + demo->setDebugMode(demo->getDebugMode() |btIDebugDraw::DBG_NoDeactivation); + } + else + { + demo->setDebugMode(demo->getDebugMode() & (~btIDebugDraw::DBG_NoDeactivation)); + } + + if (demo->getDynamicsWorld() && demo->getDynamicsWorld()->getWorldType() == BT_DISCRETE_DYNAMICS_WORLD) + { + btDiscreteDynamicsWorld* discreteWorld = (btDiscreteDynamicsWorld*) demo->getDynamicsWorld(); + discreteWorld->getSolverInfo().m_numIterations = NumIterations; + } + + if (!demo->isIdle()) + { + demo->clientMoveAndDisplay(); + } + else + { + demo->displayCallback(); + } + +} + +- (void) keyPressed: (unsigned char) key +{ + [_demo demo]->keyboardCallback(key, (int)MousePosition.x, (int)MousePosition.y ); +} + +- (void) keyReleased: (unsigned char) key +{} + +- (void) specialKeyPressed: (unsigned) key +{ + [_demo demo]->specialKeyboard(key,(int)MousePosition.x, (int)MousePosition.y ); +} + +- (void) specialKeyReleased: (unsigned) key +{} + +- (void) mouseButtonPressed: (unsigned) mouseButton +{ + [_demo demo]->mouseFunc( mouseButton, GLUT_DOWN, (int)MousePosition.x, (int)MousePosition.y ); +} + +- (void) mouseButtonReleased: (unsigned) mouseButton +{ + [_demo demo]->mouseFunc( mouseButton, GLUT_UP, (int)MousePosition.x, (int)MousePosition.y ); +} + +- (void) mouseMoved: (NSPoint) delta +{ + [_demo demo]->mouseMotionFunc((int)MousePosition.x, (int)MousePosition.y ); +} + +- (void) newMousePosition: (NSPoint) newMousePosition +{ + // Need to invert Y, since DemoApplication assumes origin at top-left + MousePosition = NSMakePoint( newMousePosition.x, ViewSize.height - newMousePosition.y ); +} + +- (void) scrollWheel: (NSPoint) delta +{} + +#pragma mark - +#pragma mark Global Simulation Properties + ++ (void) setIterations: (unsigned) iterations +{ + NumIterations = iterations; +} + ++ (unsigned) iterations +{ + return NumIterations; +} + ++ (unsigned) minIterations { return 1; } ++ (unsigned) maxIterations { return 1000; } + + ++ (void) setDisableDeactivation: (BOOL) disableDeactivation +{ + DisableDeactivation = disableDeactivation; +} + ++ (BOOL) disableDeactivation +{ + return DisableDeactivation; +} + ++ (void) setDrawAABBs: (BOOL) drawAABBs +{ + DrawAABBs = drawAABBs; +} + ++ (BOOL) drawAABBs +{ + return DrawAABBs; +} + ++ (void) setDebugDraw: (BOOL) debugDraw +{ + DebugDraw = debugDraw; +} + ++ (BOOL) debugDraw +{ + return DebugDraw; +} + ++ (void) setDrawContacts: (BOOL) drawContacts +{ + DrawContacts = drawContacts; +} + ++ (BOOL) drawContacts +{ + return DrawContacts; +} + + +@end diff --git a/Extras/AllBulletDemosOSX/src/BTDemosAppController.h b/Extras/AllBulletDemosOSX/src/BTDemosAppController.h new file mode 100644 index 000000000..62349e3e1 --- /dev/null +++ b/Extras/AllBulletDemosOSX/src/BTDemosAppController.h @@ -0,0 +1,54 @@ +/* +Bullet Continuous Collision Detection and Physics Library +Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/ + +This software is provided 'as-is', without any express or implied warranty. +In no event will the authors be held liable for any damages arising from the use of this software. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it freely, +subject to the following restrictions: + +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. +2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +*/ + +#import +#import "BTOpenGLView.h" +#import "BTSimulationParameters.h" +#import "BTDemo.h" + +@interface BTDemosAppController : NSObject { + + IBOutlet BTOpenGLView* _glView; + IBOutlet BTSimulationParameters *_parameters; + + BTDemo *_currentDemo; + BOOL _showParameters; +} + +/////////////////////////////////////////////////////////////////////// +// Public API + +- (void) setFullscreen: (BOOL) fullscreen; +- (BOOL) fullscreen; + +- (void) setShowParameters: (BOOL) showParameters; +- (BOOL) showParameters; + +- (NSArray*) demos; + +- (void) setDemo: (NSString*) demoName; +- (NSString*) demo; + +/////////////////////////////////////////////////////////////////////// +// IBActions + +- (IBAction) nextDemo: (id) sender; +- (IBAction) previousDemo: (id) sender; +- (IBAction) toggleFullscreen: (id) sender; +- (IBAction) toggleParameters: (id) sender; +- (IBAction) resetDemo: (id) sender; +- (IBAction) nullMenuTarget: (id) sender; + +@end diff --git a/Extras/AllBulletDemosOSX/src/BTDemosAppController.m b/Extras/AllBulletDemosOSX/src/BTDemosAppController.m new file mode 100644 index 000000000..544471385 --- /dev/null +++ b/Extras/AllBulletDemosOSX/src/BTDemosAppController.m @@ -0,0 +1,151 @@ +/* +Bullet Continuous Collision Detection and Physics Library +Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/ + +This software is provided 'as-is', without any express or implied warranty. +In no event will the authors be held liable for any damages arising from the use of this software. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it freely, +subject to the following restrictions: + +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. +2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +*/ + +#import "BTDemosAppController.h" + + +@implementation BTDemosAppController + +- (id) init +{ + if ( self = [super init] ) + { + // change cwd to .app/Contents/Resources + NSString *resourcePath = [[NSBundle mainBundle] resourcePath]; + [[NSFileManager defaultManager] changeCurrentDirectoryPath:resourcePath]; + } + + return self; +} + +- (void) awakeFromNib +{} + +#pragma mark - +#pragma mark Public API + +- (void) setFullscreen: (BOOL) fullscreen +{ + [_glView setFullscreen: fullscreen]; +} + +- (BOOL) fullscreen +{ + return [_glView fullscreen]; +} + +- (void) setShowParameters: (BOOL) showParameters +{ + _showParameters = showParameters; +} + +- (BOOL) showParameters +{ + return _showParameters; +} + +- (NSArray*) demos +{ + return [BTDemo demoNames]; +} + +- (void) setDemo: (NSString*) demoName +{ + [_currentDemo release]; + [_glView setDelegate: nil]; + + _currentDemo = [[BTDemo demoWithName: demoName] retain]; + + if ( _currentDemo ) + { + // the demo is the rendering & input delegate for the gl view + [_glView setDelegate: _currentDemo]; + + [_currentDemo contextWillResize]; + [_currentDemo contextResized: [_glView bounds].size]; + [_currentDemo contextDidResize]; + } +} + +- (NSString*) demo +{ + return _currentDemo ? [_currentDemo demoName] : nil; +} + +#pragma mark - +#pragma mark IBActions + +- (IBAction) nextDemo: (id) sender +{ + NSArray *demos = [self demos]; + unsigned index = [demos indexOfObject: [self demo]]; + if ( index != NSNotFound ) + { + index = ( index + 1 ) % [demos count]; + [self setDemo: [demos objectAtIndex: index]]; + } +} + +- (IBAction) previousDemo: (id) sender +{ + NSArray *demos = [self demos]; + unsigned index = [demos indexOfObject: [self demo]]; + if ( index != NSNotFound ) + { + if ( index == 0 ) index = [demos count] - 1; + else index--; + + [self setDemo: [demos objectAtIndex: index]]; + } +} + +- (IBAction) toggleFullscreen: (id) sender +{ + [self setFullscreen: ![self fullscreen]]; +} + +- (IBAction) toggleParameters: (id) sender +{ + [self setShowParameters: ![self showParameters]]; +} + +- (IBAction) resetDemo: (id) sender +{ + [_currentDemo reset]; +} + +- (IBAction) nullMenuTarget: (id) sender +{ + // this handles a 10.4 bug. A menu bound to some property for toggling + // will not invoke unless it has a target and selector set. +} + +#pragma mark - +#pragma mark NSApplicationDelegate + +- (void) applicationDidFinishLaunching: (NSNotification *)aNotification +{ + // note: We load the first demo here and not in -awakeFromNib as the + // OpenGL view is instantiated, but not running yet at that point + + [self setDemo: [[self demos] objectAtIndex:0]]; +} + +- (BOOL) applicationShouldTerminateAfterLastWindowClosed: (NSApplication *)theApplication +{ + return YES; +} + +@end diff --git a/Extras/AllBulletDemosOSX/src/BTSimulationParameters.h b/Extras/AllBulletDemosOSX/src/BTSimulationParameters.h new file mode 100644 index 000000000..f549a8b3d --- /dev/null +++ b/Extras/AllBulletDemosOSX/src/BTSimulationParameters.h @@ -0,0 +1,44 @@ +/* +Bullet Continuous Collision Detection and Physics Library +Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/ + +This software is provided 'as-is', without any express or implied warranty. +In no event will the authors be held liable for any damages arising from the use of this software. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it freely, +subject to the following restrictions: + +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. +2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +*/ + +#import + +/* + BTSimulationParameters is an instanceable proxy for BTDemo's global + simulation properties. We're doing this so we can bind UI to something + in the nib file. +*/ + +@interface BTSimulationParameters : NSObject {} + +- (void) setIterations: (unsigned) iterations; +- (unsigned) iterations; + +- (unsigned) minIterations; +- (unsigned) maxIterations; + +- (void) setDisableDeactivation: (BOOL) disableDeactivation; +- (BOOL) disableDeactivation; + +- (void) setDrawAABBs: (BOOL) drawAABBs; +- (BOOL) drawAABBs; + +- (void) setDebugDraw: (BOOL) debugDraw; +- (BOOL) debugDraw; + +- (void) setDrawContacts: (BOOL) drawContacts; +- (BOOL) drawContacts; + +@end diff --git a/Extras/AllBulletDemosOSX/src/BTSimulationParameters.m b/Extras/AllBulletDemosOSX/src/BTSimulationParameters.m new file mode 100644 index 000000000..45445c5ad --- /dev/null +++ b/Extras/AllBulletDemosOSX/src/BTSimulationParameters.m @@ -0,0 +1,85 @@ +/* +Bullet Continuous Collision Detection and Physics Library +Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/ + +This software is provided 'as-is', without any express or implied warranty. +In no event will the authors be held liable for any damages arising from the use of this software. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it freely, +subject to the following restrictions: + +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. +2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +*/ + +#import "BTSimulationParameters.h" +#import "BTDemo.h" + +@implementation BTSimulationParameters + +- (id) init +{ + if ( self = [super init] ) + {} + + return self; +} + +#pragma mark Public API + +- (void) setIterations: (unsigned) iterations +{ + [BTDemo setIterations: iterations]; +} + +- (unsigned) iterations +{ + return [BTDemo iterations]; +} + +- (unsigned) minIterations { return [BTDemo minIterations]; } +- (unsigned) maxIterations { return [BTDemo maxIterations]; } + + +- (void) setDisableDeactivation: (BOOL) disableDeactivation +{ + [BTDemo setDisableDeactivation: disableDeactivation]; +} + +- (BOOL) disableDeactivation +{ + return [BTDemo disableDeactivation]; +} + +- (void) setDrawAABBs: (BOOL) drawAABBs +{ + [BTDemo setDrawAABBs: drawAABBs]; +} + +- (BOOL) drawAABBs +{ + return [BTDemo drawAABBs];; +} + +- (void) setDebugDraw: (BOOL) debugDraw +{ + [BTDemo setDebugDraw: debugDraw]; +} + +- (BOOL) debugDraw +{ + return [BTDemo debugDraw]; +} + +- (void) setDrawContacts: (BOOL) drawContacts +{ + [BTDemo setDrawContacts: drawContacts]; +} + +- (BOOL) drawContacts +{ + return [BTDemo drawContacts]; +} + +@end diff --git a/Extras/AllBulletDemosOSX/src/toolkit/BTFullscreenWindow.h b/Extras/AllBulletDemosOSX/src/toolkit/BTFullscreenWindow.h new file mode 100644 index 000000000..3172f95a0 --- /dev/null +++ b/Extras/AllBulletDemosOSX/src/toolkit/BTFullscreenWindow.h @@ -0,0 +1,25 @@ +/* +Bullet Continuous Collision Detection and Physics Library +Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/ + +This software is provided 'as-is', without any express or implied warranty. +In no event will the authors be held liable for any damages arising from the use of this software. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it freely, +subject to the following restrictions: + +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. +2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +*/ + +#import + + +@interface BTFullScreenWindow : NSWindow { + +} + +- (id) initForScreen: (NSScreen *) screen; + +@end diff --git a/Extras/AllBulletDemosOSX/src/toolkit/BTFullscreenWindow.m b/Extras/AllBulletDemosOSX/src/toolkit/BTFullscreenWindow.m new file mode 100644 index 000000000..2528f6e12 --- /dev/null +++ b/Extras/AllBulletDemosOSX/src/toolkit/BTFullscreenWindow.m @@ -0,0 +1,48 @@ +/* +Bullet Continuous Collision Detection and Physics Library +Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/ + +This software is provided 'as-is', without any express or implied warranty. +In no event will the authors be held liable for any damages arising from the use of this software. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it freely, +subject to the following restrictions: + +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. +2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +*/ + +#import "BTFullScreenWindow.h" + + +@implementation BTFullScreenWindow + +- (id) initForScreen: (NSScreen *) screen +{ + NSRect frame = [screen frame]; + frame.size.height -= [NSMenuView menuBarHeight]; + + self = [self initWithContentRect: frame + styleMask: NSBorderlessWindowMask + backing: NSBackingStoreBuffered + defer: YES + screen: screen ]; + if ( self ) + { + /* + For some reason, without this + we lose mouse moved events in fullscreen + */ + [self setAcceptsMouseMovedEvents: YES]; + } + + return self; +} + +- (BOOL)canBecomeKeyWindow +{ + return YES; +} + +@end diff --git a/Extras/AllBulletDemosOSX/src/toolkit/BTGLUTKeyAdapter.h b/Extras/AllBulletDemosOSX/src/toolkit/BTGLUTKeyAdapter.h new file mode 100644 index 000000000..3d19f479a --- /dev/null +++ b/Extras/AllBulletDemosOSX/src/toolkit/BTGLUTKeyAdapter.h @@ -0,0 +1,46 @@ +/* +Bullet Continuous Collision Detection and Physics Library +Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/ + +This software is provided 'as-is', without any express or implied warranty. +In no event will the authors be held liable for any damages arising from the use of this software. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it freely, +subject to the following restrictions: + +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. +2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +*/ + +#ifndef __BT_KEY_CODE_H__ +#define __BT_KEY_CODE_H__ + +#include + +#if defined(__cplusplus) +extern "C" { +#endif + +/** + @brief Determine if a key is a letter. + @return true if @a keycode is a letter, and not a control + or modifier key. E.g., the letter 'b' is, where the Esc key ( BTKey_Escape ) is not. +*/ +extern BOOL BTKeyIsAlpha( int ); + +/** + @brief Determine if a key is a GLUT special key. ( arrow, F-Keys, etc ) +*/ +extern BOOL BTKeyIsSpecial( int keycode ); + +/** + @brief Convert an OS X keycode to GLUT Special key representation +*/ +extern int BTKeyTranslateKeyCodeToSpecial( int ); + +#if defined(__cplusplus) +} +#endif + +#endif diff --git a/Extras/AllBulletDemosOSX/src/toolkit/BTGLUTKeyAdapter.m b/Extras/AllBulletDemosOSX/src/toolkit/BTGLUTKeyAdapter.m new file mode 100644 index 000000000..786498d9e --- /dev/null +++ b/Extras/AllBulletDemosOSX/src/toolkit/BTGLUTKeyAdapter.m @@ -0,0 +1,128 @@ +/* +Bullet Continuous Collision Detection and Physics Library +Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/ + +This software is provided 'as-is', without any express or implied warranty. +In no event will the authors be held liable for any damages arising from the use of this software. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it freely, +subject to the following restrictions: + +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. +2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +*/ + +#import "BTGLUTKeyAdapter.h" +#import + +BOOL BTKeyIsAlpha( int key ) +{ + return !BTKeyIsSpecial( key ); +} + +BOOL BTKeyIsSpecial( int keycode ) +{ + BOOL ret = NO; + switch( keycode ) + { + case NSUpArrowFunctionKey: + case NSDownArrowFunctionKey: + case NSLeftArrowFunctionKey: + case NSRightArrowFunctionKey: + case NSF1FunctionKey: + case NSF2FunctionKey: + case NSF3FunctionKey: + case NSF4FunctionKey: + case NSF5FunctionKey: + case NSF6FunctionKey: + case NSF7FunctionKey: + case NSF8FunctionKey: + case NSF9FunctionKey: + case NSF10FunctionKey: + case NSF11FunctionKey: + case NSF12FunctionKey: + ret = YES; + break; + + default: break; + } + + return ret; +} + + +int BTKeyTranslateKeyCodeToSpecial( int kc ) +{ + int ret = kc; + switch( kc ) + { + case NSUpArrowFunctionKey: + ret = GLUT_KEY_UP; + break; + + case NSDownArrowFunctionKey: + ret = GLUT_KEY_DOWN; + break; + + case NSLeftArrowFunctionKey: + ret = GLUT_KEY_LEFT; + break; + + case NSRightArrowFunctionKey: + ret = GLUT_KEY_RIGHT; + break; + + case NSF1FunctionKey: + ret = GLUT_KEY_F1; + break; + + case NSF2FunctionKey: + ret = GLUT_KEY_F2; + break; + + case NSF3FunctionKey: + ret = GLUT_KEY_F3; + break; + + case NSF4FunctionKey: + ret = GLUT_KEY_F4; + break; + + case NSF5FunctionKey: + ret = GLUT_KEY_F5; + break; + + case NSF6FunctionKey: + ret = GLUT_KEY_F6; + break; + + case NSF7FunctionKey: + ret = GLUT_KEY_F7; + break; + + case NSF8FunctionKey: + ret = GLUT_KEY_F8; + break; + + case NSF9FunctionKey: + ret = GLUT_KEY_F9; + break; + + case NSF10FunctionKey: + ret = GLUT_KEY_F10; + break; + + case NSF11FunctionKey: + ret = GLUT_KEY_F11; + break; + + case NSF12FunctionKey: + ret = GLUT_KEY_F12; + break; + + default: break; + } + + return ret; +} diff --git a/Extras/AllBulletDemosOSX/src/toolkit/BTOpenGLDisplayDelegate.h b/Extras/AllBulletDemosOSX/src/toolkit/BTOpenGLDisplayDelegate.h new file mode 100644 index 000000000..41d506902 --- /dev/null +++ b/Extras/AllBulletDemosOSX/src/toolkit/BTOpenGLDisplayDelegate.h @@ -0,0 +1,50 @@ +/* +Bullet Continuous Collision Detection and Physics Library +Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/ + +This software is provided 'as-is', without any express or implied warranty. +In no event will the authors be held liable for any damages arising from the use of this software. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it freely, +subject to the following restrictions: + +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. +2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +*/ + +#import + + +@protocol BTOpenGLDisplayDelegate + +- (void) contextCreated; +- (void) contextWillBeDestroyed; +- (void) contextWillResize; +- (void) contextResized: (NSSize) newSize; +- (void) contextDidResize; +- (void) contextStateInvalidated; + +- (void) display: (float) deltaT; + +/////////////////////////////////////////////////////////////////////// +// ASCII keypresses + +- (void) keyPressed: (unsigned char) key; +- (void) keyReleased: (unsigned char) key; + +/////////////////////////////////////////////////////////////////////// +// GLUT Special Keys, such as GLUT_KEY_LEFT ( "left arrow key" ) + +- (void) specialKeyPressed: (unsigned) GLUTKey; +- (void) specialKeyReleased: (unsigned) GLUTKey; + +/////////////////////////////////////////////////////////////////////// +// Mouse. button is GLUT_LEFT_MOUSE, GLUT_RIGHT_MOUSE, etc. + +- (void) mouseButtonPressed: (unsigned) mouseButton; +- (void) mouseButtonReleased: (unsigned) mouseButton; +- (void) mouseMoved: (NSPoint) delta; +- (void) newMousePosition: (NSPoint) newMousePosition; +- (void) scrollWheel: (NSPoint) delta; +@end diff --git a/Extras/AllBulletDemosOSX/src/toolkit/BTOpenGLView.h b/Extras/AllBulletDemosOSX/src/toolkit/BTOpenGLView.h new file mode 100644 index 000000000..a5f4c72b8 --- /dev/null +++ b/Extras/AllBulletDemosOSX/src/toolkit/BTOpenGLView.h @@ -0,0 +1,65 @@ +/* +Bullet Continuous Collision Detection and Physics Library +Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/ + +This software is provided 'as-is', without any express or implied warranty. +In no event will the authors be held liable for any damages arising from the use of this software. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it freely, +subject to the following restrictions: + +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. +2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +*/ + +#import +#import +#import "BTOpenGLDisplayDelegate.h" + +@interface BTOpenGLView : NSView +{ + IBOutlet id _delegate; + + BOOL _firstFrame, + _setupBoundsChangeNotification, + _isFullScreen, + _multisample, + _vblSync, + _suppressResize; + + NSOpenGLContext *_windowedContext; + + unsigned int _modifierFlags; + + float _interval, + _currentFPS; + + double _lastFrameTime; + + NSWindow *_fullscreenWindow, + *_windowedWindow; + + NSTimer *_timer; +} + +- (void) setDelegate: (id ) delegate; +- (id ) delegate; + +- (void) setTargetFPS: (float) fps; +- (float) targetFPS; +- (float) currentFPS; + +- (void) setFullscreen: (BOOL) yesno; +- (BOOL) fullscreen; + +- (void) setMultisampleRendering: (BOOL) multisample; +- (BOOL) multisampleRendering; + +- (void) setVBLSync: (BOOL) sync; +- (BOOL) vblSync; + +- (NSOpenGLContext*) openGLContext; + + +@end diff --git a/Extras/AllBulletDemosOSX/src/toolkit/BTOpenGLView.m b/Extras/AllBulletDemosOSX/src/toolkit/BTOpenGLView.m new file mode 100644 index 000000000..397764a13 --- /dev/null +++ b/Extras/AllBulletDemosOSX/src/toolkit/BTOpenGLView.m @@ -0,0 +1,603 @@ +/* +Bullet Continuous Collision Detection and Physics Library +Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/ + +This software is provided 'as-is', without any express or implied warranty. +In no event will the authors be held liable for any damages arising from the use of this software. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it freely, +subject to the following restrictions: + +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. +2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +*/ + +#import "BTOpenGLView.h" + +#include +#import +#import + +#import "BTFullScreenWindow.h" +#import "BTGLUTKeyAdapter.h" + +#pragma mark - +#pragma mark Private Methods + +@interface BTOpenGLView (Internal) + +- (void) update; +- (void) boundsDidChange: (NSNotification *) notification; +- (void) setVBL: (BOOL*) vbl forContext: (NSOpenGLContext*) context; +- (void) setMultithreaded: (BOOL) mt; +- (NSOpenGLPixelFormat*) windowedPixelFormat: (BOOL*) antialias; + +@end + +@implementation BTOpenGLView + +#pragma mark - +#pragma mark Bootstrap + +- (id)initWithFrame:(NSRect)frameRect +{ + self = [super initWithFrame:frameRect]; + if (self == nil) + { + NSLog( @"BTOpenGLView::initWithFrame - Unable to init" ); + return nil; + } + + _modifierFlags = 0; + _multisample = YES; + _vblSync = YES; + _firstFrame = YES; + _setupBoundsChangeNotification = NO; + + /* + Set up the windowed context -- it will be assigned to the + view later, not now. + */ + _windowedContext = [[NSOpenGLContext alloc] initWithFormat: [self windowedPixelFormat: &_multisample] + shareContext: nil]; + + [self setVBL: &_vblSync forContext: _windowedContext]; + + if (_windowedContext == nil) + { + NSLog(@"Got nil windowed context"); + [self dealloc]; + return nil; + } + + /* + Setup and start the update timer. + */ + _interval = 1.0 / 60.0; + _timer = [[NSTimer scheduledTimerWithTimeInterval: _interval + target: self + selector: @selector(update) + userInfo: nil + repeats: YES ] retain]; + + [[NSRunLoop currentRunLoop] addTimer: _timer forMode: NSEventTrackingRunLoopMode]; + + return self; +} + +- (void)dealloc +{ + [_timer invalidate]; + [_timer release]; + + [_delegate contextWillBeDestroyed]; + + [_windowedContext release]; + + [[NSNotificationCenter defaultCenter] removeObserver: self]; + + [super dealloc]; +} + +- (void) awakeFromNib +{ + NSWindow *window = [self window]; + [window setAcceptsMouseMovedEvents: YES]; + [window makeFirstResponder: self]; + [window setInitialFirstResponder: self]; +} + +- (void)drawRect:(NSRect)rect +{ + [self update]; +} + +#pragma mark - +#pragma mark Public API + +- (void) setDelegate: (id ) delegate +{ + // we don't retain delegates + _delegate = delegate; +} + +- (id ) delegate +{ + return _delegate; +} + +- (void) setTargetFPS: (float) fps +{ + float newInterval = 1.0 / fps; + if ( ABS( newInterval - _interval ) > 1.0e-3 ) + { + _interval = newInterval; + + [_timer invalidate]; + [_timer release]; + + _timer = [[NSTimer scheduledTimerWithTimeInterval: _interval + target: self + selector: @selector(update) + userInfo: nil + repeats: YES ] retain]; + + [[NSRunLoop currentRunLoop] addTimer: _timer forMode: NSEventTrackingRunLoopMode]; + } + +} + +- (float) targetFPS +{ + return 1.0 / _interval; +} + +- (float) currentFPS +{ + return _currentFPS; +} + +- (void) setFullscreen: (BOOL) fullscreen +{ + if ( fullscreen == _isFullScreen ) return; + + _isFullScreen = fullscreen; + _suppressResize = YES; + + if ( _isFullScreen ) + { + _windowedWindow = [self window]; + + /* + Detach & retain the content view from the non-fullscreen window. + */ + + NSView *contentView = [_windowedWindow contentView]; + [contentView retain]; + [contentView removeFromSuperviewWithoutNeedingDisplay]; + + /* + Create a fullscreen window, attach the content view, + and release the content view since the fullscreen window retained it. + */ + + _fullscreenWindow = [[BTFullScreenWindow alloc] initForScreen: [_windowedWindow screen]]; + [_fullscreenWindow setContentView: contentView ]; + [_fullscreenWindow makeKeyAndOrderFront:nil]; + [contentView release]; + + /* + Hide the old window + */ + [_windowedWindow orderOut: nil]; + + /* + Now, use the SetSystemUIMode API to auto-hide the dock + */ + + OSStatus error = SetSystemUIMode( kUIModeContentSuppressed, 0 ); + if ( error != noErr) + { + NSLog(@"Error couldn't set SystemUIMode: %ld", (long)error); + } + + } + else if ( _fullscreenWindow ) + { + /* + Detach and retain the content view from the fullscreen window + */ + NSView *contentView = [_fullscreenWindow contentView]; + [contentView retain]; + [contentView removeFromSuperviewWithoutNeedingDisplay]; + + /* + Reparent the content view to the non-fullscreen window, + and release it since it's now owned by the non-fullscreen window + */ + [_windowedWindow setContentView: contentView]; + [contentView release]; + + [_windowedWindow makeKeyAndOrderFront: nil]; + + /* + Release the fullscreen window + */ + [_fullscreenWindow orderOut: nil]; + [_fullscreenWindow release]; + _fullscreenWindow = nil; + + /* + Restore dock's normal behaior + */ + + OSStatus error = SetSystemUIMode( kUIModeNormal, 0 ); + if ( error != noErr) + { + NSLog(@"Error couldn't set SystemUIMode: %ld", (long)error); + } + } + + _suppressResize = NO; + + [self boundsDidChange: nil]; +} + +- (BOOL) fullscreen +{ + return _isFullScreen; +} + +- (void) setMultisampleRendering: (BOOL) multisample +{ + if ( multisample == _multisample ) return; + + _multisample = multisample; + _firstFrame = YES; + + + NSOpenGLContext *oldWindowedContext = _windowedContext; + _windowedContext = [[NSOpenGLContext alloc] initWithFormat: [self windowedPixelFormat: &_multisample] + shareContext: oldWindowedContext ]; + + [self setVBL: &_vblSync forContext: _windowedContext]; + + [oldWindowedContext release]; + [_windowedContext setView: self]; + [_windowedContext makeCurrentContext]; + [_windowedContext update]; + [self update]; +} + +- (BOOL) multisampleRendering +{ + return _multisample; +} + +- (void) setVBLSync: (BOOL) sync +{ + if ( sync == _vblSync ) return; + + _vblSync = sync; + [self setVBL: &_vblSync forContext: _windowedContext]; +} + +- (BOOL) vblSync +{ + return _vblSync; +} + +- (NSOpenGLContext *) openGLContext +{ + return _windowedContext; +} + +#pragma mark - +#pragma mark NSView Overrides + +- (BOOL) isOpaque +{ + return YES; +} + +- (BOOL) acceptsFirstResponder +{ + return YES; +} + +- (void) keyDown:(NSEvent *)theEvent +{ + int key = [[theEvent charactersIgnoringModifiers] characterAtIndex:0]; + + if ( BTKeyIsAlpha( key )) + { + [ _delegate keyPressed: key ]; + } + else + { + [_delegate specialKeyPressed: BTKeyTranslateKeyCodeToSpecial( key )]; + } +} + +- (void) keyUp:(NSEvent *)theEvent +{ + int key = [[theEvent charactersIgnoringModifiers] characterAtIndex:0]; + + if ( BTKeyIsAlpha( key )) + { + [ _delegate keyReleased: key ]; + } + else + { + [_delegate specialKeyReleased: BTKeyTranslateKeyCodeToSpecial( key )]; + } +} + +- (void) mouseDown: (NSEvent *) event +{ + int button = GLUT_LEFT_BUTTON; + switch( [event buttonNumber] ) + { + case 0: button = GLUT_LEFT_BUTTON; break; + case 1: button = GLUT_RIGHT_BUTTON; break; + case 2: button = GLUT_MIDDLE_BUTTON; break; + default: break; + } + + if ( _modifierFlags & NSControlKeyMask ) button = GLUT_RIGHT_BUTTON; + else if ( _modifierFlags & NSAlternateKeyMask ) button = GLUT_MIDDLE_BUTTON; + + [_delegate mouseButtonPressed: button]; +} + +- (void) mouseUp: (NSEvent *) event +{ + int button = GLUT_LEFT_BUTTON; + switch( [event buttonNumber] ) + { + case 0: button = GLUT_LEFT_BUTTON; break; + case 1: button = GLUT_RIGHT_BUTTON; break; + case 2: button = GLUT_MIDDLE_BUTTON; break; + default: break; + } + + if ( _modifierFlags & NSControlKeyMask ) button = GLUT_RIGHT_BUTTON; + else if ( _modifierFlags & NSAlternateKeyMask ) button = GLUT_MIDDLE_BUTTON; + + [_delegate mouseButtonReleased: button]; +} + +-(void) mouseMoved: (NSEvent *) event +{ + float dx = [event deltaX], + dy = [event deltaY]; + + NSPoint locationInView = [self convertPoint: [event locationInWindow] fromView: nil ]; + + [_delegate mouseMoved: NSMakePoint( dx, dy )]; + [_delegate newMousePosition: locationInView]; +} + +-(void) mouseDragged: (NSEvent *) event +{ + [self mouseMoved: event]; +} + +- (void) scrollWheel: (NSEvent *) event +{ + float dx = [event deltaX], + dy = [event deltaY]; + + [_delegate scrollWheel: NSMakePoint( dx, dy )]; +} + +- (void)flagsChanged:(NSEvent *) event +{ + _modifierFlags = [event modifierFlags]; +} + + +#pragma mark - +#pragma mark Private + +- (void) update +{ + if ( !_setupBoundsChangeNotification ) + { + _setupBoundsChangeNotification = YES; + + /* + This is hacky, but basically, we can't handle bounds-changing + ops correctly until everything's set up correctly. + */ + [self setPostsBoundsChangedNotifications:YES]; + [[NSNotificationCenter defaultCenter] addObserver: self + selector: @selector( boundsDidChange: ) + name: NSViewFrameDidChangeNotification + object: nil]; + } + + if (_firstFrame) + { + [_windowedContext setView:self]; + } + + [_windowedContext makeCurrentContext]; + + if (_firstFrame) + { + _firstFrame = NO; + + [_delegate contextCreated]; + + if ( _multisample ) + { + glEnable (GL_MULTISAMPLE_ARB); + // this fucks up text rendering, on nVIDIA, at least + //glHint (GL_MULTISAMPLE_FILTER_HINT_NV, GL_NICEST); + } + else + { + glDisable( GL_MULTISAMPLE_ARB ); + } + + [self setMultithreaded: NO]; + + NSSize contextSize; + if ( _isFullScreen ) + { + contextSize.width = CGDisplayPixelsWide(kCGDirectMainDisplay); + contextSize.height = CGDisplayPixelsHigh(kCGDirectMainDisplay); + } + else + { + contextSize = [self bounds].size; + } + + [_delegate contextWillResize]; + [_delegate contextResized: contextSize]; + [_delegate contextDidResize]; + [_delegate contextStateInvalidated]; + } + + double now = CFAbsoluteTimeGetCurrent(); + + if ( _delegate) [_delegate display: now - _lastFrameTime]; + else + { + glClearColor( 0.5, 0.5, 0.5, 1 ); + glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); + } + + _lastFrameTime = now; + + + [[NSOpenGLContext currentContext] flushBuffer]; + + /* + Now, update our FPS + */ + + { + static unsigned int frameCounter = 1; + static double lastCheckTime = 0; + + double elapsed = now - lastCheckTime; + if ( elapsed > 1.0 ) + { + _currentFPS = (float) ( ((double) frameCounter ) / elapsed ); + + lastCheckTime = now; + frameCounter = 0; + } + + frameCounter++; + } +} + +- (void) boundsDidChange: (NSNotification *) notification +{ + if ( _suppressResize ) return; + + [_windowedContext setView:self]; + [_windowedContext makeCurrentContext]; + [_windowedContext update]; + + NSSize contextSize = [self bounds].size; + + if ( _delegate ) + { + [_delegate contextWillResize]; + [_delegate contextResized: contextSize ]; + [_delegate contextDidResize]; + } + else + { + glViewport( 0, 0, (int) contextSize.width, (int) contextSize.height ); + } +} + +- (void) setVBL: (BOOL*) vbl forContext: (NSOpenGLContext*) context +{ + GLint value = *vbl ? 1 : 0; + [context setValues: &value forParameter: NSOpenGLCPSwapInterval]; + + *vbl = value ? YES : NO; +} + +- (void) setMultithreaded: (BOOL) mt +{ + CGLError err = kCGLNoError; + CGLContextObj ctx = CGLGetCurrentContext(); + + // Enable Apple's multi-threaded GL engine -- it's generally useful for + // high vertex throughput. Not high fragment situations + + if ( mt ) + { + err = CGLEnable( ctx, kCGLCEMPEngine ); + } + else + { + err = CGLDisable( ctx, kCGLCEMPEngine ); + } + + if (err != kCGLNoError ) + { + NSLog( @"BTOpenGLView -setMultithreaded: forContext: -- Unable to %s multithreaded GL", + mt ? "enable" : "disable" ); + } +} + +- (NSOpenGLPixelFormat*) windowedPixelFormat: (BOOL*) antialias +{ + NSOpenGLPixelFormatAttribute aaAttrs[] = + { + NSOpenGLPFADoubleBuffer, + NSOpenGLPFAAccelerated, + NSOpenGLPFADepthSize, (NSOpenGLPixelFormatAttribute)32, + NSOpenGLPFAStencilSize, (NSOpenGLPixelFormatAttribute)0, + NSOpenGLPFASingleRenderer, + NSOpenGLPFASampleBuffers, (NSOpenGLPixelFormatAttribute)( 1 ), + NSOpenGLPFASamples, (NSOpenGLPixelFormatAttribute)( 4 ), + NSOpenGLPFAScreenMask, (NSOpenGLPixelFormatAttribute) CGDisplayIDToOpenGLDisplayMask(kCGDirectMainDisplay), + NSOpenGLPFANoRecovery, + (NSOpenGLPixelFormatAttribute)0 + }; + + NSOpenGLPixelFormatAttribute vanillaAttrs[] = + { + NSOpenGLPFADoubleBuffer, + NSOpenGLPFAAccelerated, + NSOpenGLPFADepthSize, (NSOpenGLPixelFormatAttribute)32, + NSOpenGLPFAStencilSize, (NSOpenGLPixelFormatAttribute)0, + NSOpenGLPFASingleRenderer, + NSOpenGLPFASampleBuffers, (NSOpenGLPixelFormatAttribute)( 0 ), + NSOpenGLPFASamples, (NSOpenGLPixelFormatAttribute)( 0 ), + NSOpenGLPFAScreenMask, (NSOpenGLPixelFormatAttribute) CGDisplayIDToOpenGLDisplayMask(kCGDirectMainDisplay), + NSOpenGLPFANoRecovery, + (NSOpenGLPixelFormatAttribute)0 + }; + + NSOpenGLPixelFormat* fmt = 0; + + if ( *antialias ) + { + fmt = [[NSOpenGLPixelFormat alloc] initWithAttributes: (NSOpenGLPixelFormatAttribute*) aaAttrs]; + if ( nil == fmt ) + { + *antialias = NO; + fmt = [[NSOpenGLPixelFormat alloc] initWithAttributes: (NSOpenGLPixelFormatAttribute*) vanillaAttrs]; + } + } + else + { + fmt = [[NSOpenGLPixelFormat alloc] initWithAttributes: (NSOpenGLPixelFormatAttribute*) vanillaAttrs]; + } + + return fmt; +} + + +@end