LightManager.h

Go to the documentation of this file.
00001 /******************************************************************************
00002 *       SOFA, Simulation Open-Framework Architecture, version 1.0 beta 3      *
00003 *                (c) 2006-2008 MGH, INRIA, USTL, UJF, CNRS                    *
00004 *                                                                             *
00005 * This library is free software; you can redistribute it and/or modify it     *
00006 * under the terms of the GNU Lesser General Public License as published by    *
00007 * the Free Software Foundation; either version 2.1 of the License, or (at     *
00008 * your option) any later version.                                             *
00009 *                                                                             *
00010 * This library is distributed in the hope that it will be useful, but WITHOUT *
00011 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or       *
00012 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License *
00013 * for more details.                                                           *
00014 *                                                                             *
00015 * You should have received a copy of the GNU Lesser General Public License    *
00016 * along with this library; if not, write to the Free Software Foundation,     *
00017 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA.          *
00018 *******************************************************************************
00019 *                               SOFA :: Modules                               *
00020 *                                                                             *
00021 * Authors: The SOFA Team and external contributors (see Authors.txt)          *
00022 *                                                                             *
00023 * Contact information: contact@sofa-framework.org                             *
00024 ******************************************************************************/
00025 //
00026 // C++ Interface: LightManager
00027 //
00028 // Description:
00029 //
00030 //
00031 // Author: The SOFA team </www.sofa-framework.org>, (C) 2007
00032 //
00033 // Copyright: See COPYING file that comes with this distribution
00034 //
00035 //
00036 
00037 #ifndef SOFA_COMPONENT_LIGHTMANAGER_H
00038 #define SOFA_COMPONENT_LIGHTMANAGER_H
00039 
00040 #include <sofa/defaulttype/SolidTypes.h>
00041 #include <sofa/component/visualmodel/Light.h>
00042 
00043 namespace sofa
00044 {
00045 
00046 namespace component
00047 {
00048 
00049 namespace visualmodel
00050 {
00051 
00060 class LightManager : public core::VisualModel {
00061 private:
00062     static const unsigned int MAX_NUMBER_OF_LIGHTS = GL_MAX_LIGHTS;
00063     std::vector<Light*> lights;
00064 
00065 public:
00066     LightManager();
00067     virtual ~LightManager();
00068 
00069     void init();
00070     void reinit();
00071     void initVisual();
00072     void update() { };
00073     void draw();
00074 
00076     void putLight(Light* light);
00078     void putLights(std::vector<Light*> lights);
00080     void clear();
00081 };
00082 
00083 }//namespace visualmodel
00084 
00085 }//namespace component
00086 
00087 }//namespace sofa
00088 
00089 #endif //SOFA_COMPONENT_LIGHT_MANAGER_H

Generated on Sun Nov 23 03:48:33 2008 for Sofa by  doxygen 1.5.7.1