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