#ifndef OBJECTPLACER_H #define OBJECTPLACER_H #include "Containers.h" namespace GtpVisibilityPreprocessor { class Vector3; class Preprocessor; /** A class for managing interactive object placement */ class ObjectPlacer { public: /** Default constructor taking a pointer to the currently used preprocessor. */ // ObjectPlacer(Preprocessor *prep); ObjectPlacer(); /** Sets library objects. */ void AddObject(SceneGraphLeaf *object); /** Selects the next library object. */ void NextObject(); /** Selects the previous library object. */ void PreviousObject(); /** Adds an object at the indicated position. */ void PlaceObject(const Vector3 &p); SceneGraphLeaf *GetCurrentObject(); virtual ~ObjectPlacer() {} DynamicObjectsContainer &GetDynamicObjects() { return mDynamicObjects; } protected: //Preprocessor *mPreprocessor; DynamicObjectsContainer mDynamicObjects; int mCurrentObject; }; } #endif // OBJECTPLACER_H