source: trunk/VUT/work/TestCulling/SceneContentGenerator.h @ 86

Revision 86, 1.5 KB checked in by mattausch, 20 years ago (diff)
Line 
1#ifndef _SCENECONTENTGENERATOR_H__
2#define _SCENECONTENTGENERATOR_H__
3
4#include <OgrePrerequisites.h>
5#include <OgreMath.h>
6#include <Ogre.h>
7
8namespace Ogre {
9
10/** Class which fills a scene with content in a random fashion.
11*/
12class SceneContentGenerator
13{
14public:
15        SceneContentGenerator(SceneManager *sm);
16        virtual ~SceneContentGenerator() {};
17        /** Generates scene object in a random fashion.
18                @param number of objects to generate
19                @param objName the name of the mesh to be generated
20        */
21        void GenerateScene(int numObjects, const String &objName);
22        /** Generates a new object in the scene using ray scene queries
23                and inserts it into thr scene hierarchy.
24                @param position position where the object is created
25                @param rotation rotation angle applied locally to object
26                @objName the name of the object entity
27                @returns scene object if it was successfully created, NULL otherwise
28        */
29        virtual SceneNode *GenerateSceneObject(const Vector3 &position,
30                const Vector3 &rotation, const String &objName);
31
32        void SetMinAngle(Vector3 minAngle);
33        void SetMaxAngle(Vector3 maxAngle);
34        void SetMinPos(Vector3 minPos);
35        void SetMaxPos(Vector3 maxPos);
36        int GetObjectCount();
37        void SetScale(Vector3 scale);
38
39protected:
40
41        Vector3 mMinAngle;
42        Vector3 mMaxAngle;
43        Vector3 mMaxPos;
44        Vector3 mMinPos;
45        Vector3 mScale;
46
47        SceneManager *mSceneMgr;
48        int mCount;             // The number of objects on the screen
49};
50
51} // namespace Ogre
52
53#endif // SCENECONTENTGENERATOR_H_
Note: See TracBrowser for help on using the repository browser.