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

Revision 2702, 970 bytes checked in by mattausch, 16 years ago (diff)

implemented dynamic object placement / removal

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        /** Returns the currently active object.
36        */
37        SceneGraphLeaf *GetCurrentObject();
38        /** Returns a ref to the object container.
39        */
40        DynamicObjectsContainer &GetDynamicObjects() { return mLibraryObjects; }
41
42
43protected:
44
45        DynamicObjectsContainer mLibraryObjects;
46        int mCurrentObject;
47
48};
49
50}
51
52#endif // OBJECTPLACER_H
Note: See TracBrowser for help on using the repository browser.