Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/ogreode/demos/SimpleScenes/include/SimpleScenes_BoxStack.h @ 21

Last change on this file since 21 was 21, checked in by nicolasc, 16 years ago

added ogreode and Colladaplugin

File size: 1.8 KB
Line 
1/*
2SimpleScenes_BoxStack.h
3----------------------
4A reimplementation of the ODE box stacking (actually loads of different
5objects) demo using Ogre and the OgreOde wrapper.
6*/
7#ifndef _SIMPLESCENES_BOXSTACK_H_
8#define _SIMPLESCENES_BOXSTACK_H_
9
10/*
11The box stacking test extends the base test class
12*/
13class SimpleScenes_BoxStack:public SimpleScenes
14{
15public:
16        // Standard constructor/destructor
17    SimpleScenes_BoxStack(OgreOde::World *world) : SimpleScenes(world) {}
18        virtual ~SimpleScenes_BoxStack(){}
19
20        // Return our name for the test application to display
21        virtual const String& getName()
22        {
23                static String name = "Test Box Stack";
24                return name;
25        }
26
27        // Return a description of the keys that the user can use in this test
28        virtual const String& getKeys()
29        {
30                static String keys = "Z - Sphere, X - Box, C - Capsule, G - Ragdoll, T - Trimesh";
31                return keys;
32        }
33
34#if (OGRE_VERSION_MINOR < 4)
35    // Handle the user's key presses   
36    virtual void frameEnded(Real time,InputReader* input)
37    {
38        // Do default key handling
39        SimpleScenes::frameEnded(time,input);
40#else
41
42        virtual void frameEnded(Real time, OIS::Keyboard* input, OIS::Mouse* mouse)
43        {
44                // Do default processing
45                SimpleScenes::frameEnded(time, input, mouse);
46#endif
47                OgreOde::Body* body = 0;
48       
49                // Create random objects, that method will stop them being created too often
50                if (input->isKeyDown(KC_Z)) 
51            body = createRandomObject(OgreOde::Geometry::Class_Sphere);
52                else if (input->isKeyDown(KC_X)) 
53            body = createRandomObject(OgreOde::Geometry::Class_Box);
54                else if (input->isKeyDown(KC_C)) 
55            body = createRandomObject(OgreOde::Geometry::Class_Capsule);
56        else if (input->isKeyDown(KC_T)) 
57            body = createRandomObject(OgreOde::Geometry::Class_TriangleMesh);
58        else if (input->isKeyDown(KC_G)) 
59            createRagDoll();
60       
61        }
62};
63
64#endif
Note: See TracBrowser for help on using the repository browser.