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 |
|
---|
6 | namespace GtpVisibilityPreprocessor {
|
---|
7 |
|
---|
8 | class Vector3;
|
---|
9 | class Preprocessor;
|
---|
10 |
|
---|
11 |
|
---|
12 | /** A class for managing interactive object placement
|
---|
13 | */
|
---|
14 | class ObjectPlacer
|
---|
15 | {
|
---|
16 | public:
|
---|
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 |
|
---|
43 | protected:
|
---|
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.