00001
00002 /*
00003 TEDDY - General graphics application library
00004 Copyright (C) 1999-2002 Timo Suoranta
00005 tksuoran@cc.helsinki.fi
00006
00007 This library is free software; you can redistribute it and/or
00008 modify it under the terms of the GNU Lesser General Public
00009 License as published by the Free Software Foundation; either
00010 version 2.1 of the License, or (at your option) any later version.
00011
00012 This library is distributed in the hope that it will be useful,
00013 but WITHOUT ANY WARRANTY; without even the implied warranty of
00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00015 Lesser General Public License for more details.
00016
00017 You should have received a copy of the GNU Lesser General Public
00018 License along with this library; if not, write to the Free Software
00019 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
00020
00021 $Id: $
00022 */
00023
00024
00025 #ifndef TEDDY__APPLICATION__BASE_OBJECT_MANAGER__H
00026 #define TEDDY__APPLICATION__BASE_OBJECT_MANAGER__H
00027
00028
00029 // Forward declarations
00030 namespace Teddy {
00031 namespace Scenes { class Camera; };
00032 namespace Scenes { class Scene; };
00033 namespace SysSupport { class Clock; };
00034 };
00035 using namespace Teddy::Scenes;
00036 using namespace Teddy::SysSupport;
00037
00038
00039 namespace Teddy {
00040 namespace Application {
00041
00042
00044 class BaseObjectManager {
00045 public:
00046 BaseObjectManager();
00047
00048 Camera *getCamera();
00049 Scene *getScene ();
00050
00051 void setCamera( Camera *camera );
00052 void setScene ( Scene *scene );
00053
00054 protected:
00055 Scene *scene;
00056 Camera *camera;
00057 };
00058
00059
00060 }; // namespace Application
00061 }; // namespace Teddy
00062
00063
00064 #endif // TEDDY__APPLICATION__BASE_OBJECT_MANAGER__H
00065