1 /* 2 * Copyright (c) 2006-2009 Erin Catto http://www.box2d.org 3 * 4 * This software is provided 'as-is', without any express or implied 5 * warranty. In no event will the authors be held liable for any damages 6 * arising from the use of this software. 7 * Permission is granted to anyone to use this software for any purpose, 8 * including commercial applications, and to alter it and redistribute it 9 * freely, subject to the following restrictions: 10 * 1. The origin of this software must not be misrepresented; you must not 11 * claim that you wrote the original software. If you use this software 12 * in a product, an acknowledgment in the product documentation would be 13 * appreciated but is not required. 14 * 2. Altered source versions must be plainly marked as such, and must not be 15 * misrepresented as being the original software. 16 * 3. This notice may not be removed or altered from any source distribution. 17 */ 18 19 #include "../Framework/Test.h" 20 #include "../Framework/Render.h" 21 22 #ifdef __APPLE__ 23 #include <GLUT/glut.h> 24 #else 25 #include "freeglut/freeglut.h" 26 #endif 27 28 #include <cstring> 29 using namespace std; 30 31 #include "AddPair.h" 32 #include "ApplyForce.h" 33 #include "BodyTypes.h" 34 #include "Breakable.h" 35 #include "Bridge.h" 36 #include "BulletTest.h" 37 #include "Cantilever.h" 38 #include "Car.h" 39 #include "ContinuousTest.h" 40 #include "Chain.h" 41 #include "CharacterCollision.h" 42 #include "CollisionFiltering.h" 43 #include "CollisionProcessing.h" 44 #include "CompoundShapes.h" 45 #include "Confined.h" 46 #include "DistanceTest.h" 47 #include "Dominos.h" 48 #include "DumpShell.h" 49 #include "DynamicTreeTest.h" 50 #include "EdgeShapes.h" 51 #include "EdgeTest.h" 52 #include "Gears.h" 53 #include "OneSidedPlatform.h" 54 #include "Pinball.h" 55 #include "PolyCollision.h" 56 #include "PolyShapes.h" 57 #include "Prismatic.h" 58 #include "Pulleys.h" 59 #include "Pyramid.h" 60 #include "RayCast.h" 61 #include "Revolute.h" 62 //#include "Rope.h" 63 #include "RopeJoint.h" 64 #include "SensorTest.h" 65 #include "ShapeEditing.h" 66 #include "SliderCrank.h" 67 #include "SphereStack.h" 68 #include "TheoJansen.h" 69 #include "Tiles.h" 70 #include "TimeOfImpact.h" 71 #include "Tumbler.h" 72 #include "VaryingFriction.h" 73 #include "VaryingRestitution.h" 74 #include "VerticalStack.h" 75 #include "Web.h" 76 77 TestEntry g_testEntries[] = 78 { 79 {"Tumbler", Tumbler::Create}, 80 {"Tiles", Tiles::Create}, 81 {"Dump Shell", DumpShell::Create}, 82 {"Gears", Gears::Create}, 83 {"Cantilever", Cantilever::Create}, 84 {"Varying Restitution", VaryingRestitution::Create}, 85 {"Character Collision", CharacterCollision::Create}, 86 {"Edge Test", EdgeTest::Create}, 87 {"Body Types", BodyTypes::Create}, 88 {"Shape Editing", ShapeEditing::Create}, 89 {"Car", Car::Create}, 90 {"Apply Force", ApplyForce::Create}, 91 {"Prismatic", Prismatic::Create}, 92 {"Vertical Stack", VerticalStack::Create}, 93 {"SphereStack", SphereStack::Create}, 94 {"Revolute", Revolute::Create}, 95 {"Pulleys", Pulleys::Create}, 96 {"Polygon Shapes", PolyShapes::Create}, 97 //{"Rope", Rope::Create}, 98 {"Web", Web::Create}, 99 {"RopeJoint", RopeJoint::Create}, 100 {"One-Sided Platform", OneSidedPlatform::Create}, 101 {"Pinball", Pinball::Create}, 102 {"Bullet Test", BulletTest::Create}, 103 {"Continuous Test", ContinuousTest::Create}, 104 {"Time of Impact", TimeOfImpact::Create}, 105 {"Ray-Cast", RayCast::Create}, 106 {"Confined", Confined::Create}, 107 {"Pyramid", Pyramid::Create}, 108 {"Theo Jansen's Walker", TheoJansen::Create}, 109 {"Edge Shapes", EdgeShapes::Create}, 110 {"PolyCollision", PolyCollision::Create}, 111 {"Bridge", Bridge::Create}, 112 {"Breakable", Breakable::Create}, 113 {"Chain", Chain::Create}, 114 {"Collision Filtering", CollisionFiltering::Create}, 115 {"Collision Processing", CollisionProcessing::Create}, 116 {"Compound Shapes", CompoundShapes::Create}, 117 {"Distance Test", DistanceTest::Create}, 118 {"Dominos", Dominos::Create}, 119 {"Dynamic Tree", DynamicTreeTest::Create}, 120 {"Sensor Test", SensorTest::Create}, 121 {"Slider Crank", SliderCrank::Create}, 122 {"Varying Friction", VaryingFriction::Create}, 123 {"Add Pair Stress Test", AddPair::Create}, 124 {NULL, NULL} 125 }; 126