00001 /* 00002 * This file is part of Micole Architecture 00003 * 00004 * Copyright (C) 2007 Micole partners 00005 * 00006 * Micole Architecture is free software: you can redistribute it 00007 * and/or modify it under the terms of the GNU Lesser General 00008 * Public License as published by the Free Software Foundation, 00009 * either version 3 of the License, or (at your option) any 00010 * later version. 00011 * 00012 * Micole Architecture is distributed in the hope that it will be 00013 * useful, * but WITHOUT ANY WARRANTY; without even the implied 00014 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00015 * PURPOSE. See the GNU Lesser General Public License for more 00016 * details. 00017 * 00018 * You should have received a copy of the GNU Lesser General Public 00019 * License along with Micole Architecture. If not, see 00020 * <http://www.gnu.org/licenses/>. 00021 */ 00022 00023 #pragma once 00024 #include "micolelib.h" 00025 00026 #include <config.h> 00027 00028 #include "AbstractMicoleApplication.h" 00029 00030 #include <Vrml.h> 00031 00032 #include <DeviceInfo.h> 00033 #include <Scene.h> 00034 #include <AutoRef.h> 00035 #include <Display.h> 00036 00037 using namespace Reachin; 00038 00039 class MICOLELIB_API ReachinMicoleApplication: public AbstractMicoleApplication//, public AutoRefBase 00040 { 00041 public: 00042 00043 static ReachinMicoleApplication * getInstance() 00044 { 00045 if (_riInstance == NULL && _instance == NULL) 00046 { 00047 _riInstance = new ReachinMicoleApplication; 00048 _instance = _riInstance; 00049 } 00050 return _riInstance; 00051 } 00052 00053 virtual ~ReachinMicoleApplication(); 00054 00055 virtual void startScene(); 00056 Display * getDisplay() { return _display.get(); } 00057 00058 //void setDisplay(Display * pDis) { _display = pDis; } 00059 private: 00060 ReachinMicoleApplication(); 00061 static ReachinMicoleApplication* _riInstance; 00062 AutoRef<Display> _display; 00063 };