Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

cybglworldc.h

Go to the documentation of this file.
00001 /*
00002 Copyright (C) 1999  Carsten Winkelholz
00003 
00004 Address:  FGAN Forschungsgesellschaft für Angewandte Naturwissenschaften e. V.
00005       Neuenahrer Str. 20
00006       D - 53343 Wachtberg
00007       
00008 Email:    winkelholz@fgan.de
00009 
00010 This program is free software; you can redistribute it and/or
00011 modify it under the terms of the GNU General Public License
00012 as published by the Free Software Foundation; either version 2
00013 of the License, or (at your option) any later version.
00014 
00015 This program is distributed in the hope that it will be useful,
00016 but WITHOUT ANY WARRANTY; without even the implied warranty of
00017 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00018 GNU General Public License for more details.
00019 
00020 You should have received a copy of the GNU General Public License
00021 along with this program; if not, write to the Free Software
00022 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
00023 */
00024 
00025 
00026 #ifndef CYBGLWORLD_HC
00027 #define CYBGLWORLD_HC
00028 
00029 #include <GL/glut.h>
00030 #include "oaw/ctk/cybworldc.h"
00031 #include "../oawconfig.h"
00032 
00033 OAW_BEGIN_NAMESPACE
00034 
00036 // cybglworldc.h 
00038 
00039 class CybGLTouchSensorC;
00040 class CybGLChannelC;
00041 class CybTextureC;
00042 
00043 static GLenum glLightID[] = {GL_LIGHT0, GL_LIGHT1, GL_LIGHT2, 
00044            GL_LIGHT3, GL_LIGHT4, 
00045            GL_LIGHT5, GL_LIGHT6, GL_LIGHT7};
00046 
00047 class OAW_DLLMAPPING CybGLWorldC : public CybWorldC
00048 {
00049 public:
00050   CybGLWorldC();
00051   virtual ~CybGLWorldC();
00052 
00053   long GetFreeLightID();
00054         void FreeLightID(long);
00055         virtual void Unload();
00056   virtual short isectSceneWithNode(SFNode* , IsectResultS&);
00057   
00058   void SetGLChannel(CybGLChannelC* pGLChan){m_pGLChan = pGLChan;}
00059   long AsignTouchSensor(CybGLTouchSensorC*);
00060   CybGLTouchSensorC* GetTouchSensor(long id);  
00061   virtual CybNodeC* CreateNode(long);
00062   virtual void ToChannel(CybChannelC*,long);
00063   const ArrayC<CybTextureC*>& GetTextures(){return m_textures;}
00064   
00065 protected:
00066   KetteC<long> m_freeLightIDList;
00067   long m_lightCounter;
00068 
00069   KetteC<long> m_freeSelectNameIDList;
00070   ArrayC<CybGLTouchSensorC*> m_pTouchSensorList;
00071   ArrayC<CybTextureC*> m_textures;
00072   CybGLChannelC* m_pGLChan;
00073 };
00074 
00075 OAW_END_NAMESPACE
00076 
00077 #endif
00078 
00080 
00081 
00082 
00083 
00084 
00085 
00086 
00087 
00088 
00089 
00090 
00091 
00092 
00093 
00094 
00095 

Generated on Tue Jul 29 14:24:10 2003 for Open ActiveWrl by doxygen1.3-rc2