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

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