Rev | Line | |
---|
[2702] | 1 | #ifndef OBJECTPLACER_H
|
---|
[2693] | 2 | #define OBJECTPLACER_H
|
---|
| 3 |
|
---|
[2694] | 4 | #include "Containers.h"
|
---|
| 5 |
|
---|
[2693] | 6 | namespace GtpVisibilityPreprocessor {
|
---|
| 7 |
|
---|
| 8 | class Vector3;
|
---|
[2694] | 9 | class Preprocessor;
|
---|
[2693] | 10 |
|
---|
| 11 |
|
---|
| 12 | /** A class for managing interactive object placement
|
---|
| 13 | */
|
---|
| 14 | class ObjectPlacer
|
---|
| 15 | {
|
---|
| 16 | public:
|
---|
[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 |
|
---|
| 46 | protected:
|
---|
| 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.