source: GTP/trunk/Lib/Vis/Preprocessing/src/QtInterface/ObjectPlacer.h @ 2710

Revision 2710, 1.1 KB checked in by mattausch, 16 years ago (diff)
Line 
1#ifndef OBJECTPLACER_H
2#define OBJECTPLACER_H
3
4#include "Containers.h"
5
6namespace GtpVisibilityPreprocessor {
7
8class Vector3;
9class Preprocessor;
10
11
12/** A class for managing interactive object placement
13 */
14class ObjectPlacer
15{
16public:
17        /** Default constructor.
18        */
19        ObjectPlacer();
20
21        virtual ~ObjectPlacer() {}
22
23        /** Adds a library objects.
24        */
25        void AddObject(SceneGraphLeaf *obj);
26        /** Selects the next library object.
27        */
28        void NextObject();
29        /** Selects the previous library object.
30        */
31        void PreviousObject();
32        /** Adds an object at the indicated position.
33        */
34        void PlaceObject(const Vector3 &p);
35        /** Adds an object at the indicated position.
36        */
37        void PlaceObject(SceneGraphLeaf *l, const Vector3 &p);
38        /** Returns the currently active object.
39        */
40        SceneGraphLeaf *GetCurrentObject();
41        /** Returns a ref to the object container.
42        */
43        DynamicObjectsContainer &GetDynamicObjects() { return mLibraryObjects; }
44
45
46protected:
47
48        DynamicObjectsContainer mLibraryObjects;
49        int mCurrentObject;
50
51};
52
53}
54
55#endif // OBJECTPLACER_H
Note: See TracBrowser for help on using the repository browser.