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

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