Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

QGLViewerSceneTreeObjects.h

Go to the documentation of this file.
00001 /*
00002  * QGLViewerSceneTreeObjects.h
00003  * $Id: 
00004  *
00005  * Copyright (C) 2001 Richard Guenther, Markus Janich
00006  *
00007  * This program is free software; you can redistribute it and/or modify
00008  * it under the terms of the GNU General Public License as published by
00009  * the Free Software Foundation; either version 2 of the License, or
00010  * (at your option) any later version.
00011  *
00012  * This program 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
00015  * GNU General Public License for more details.
00016  *
00017  * You should have received a copy of the GNU General Public License
00018  * along with this program; if not, write to the Free Software
00019  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00020  *
00021  * As a special exception to the GPL, the QGLViewer authors (Markus
00022  * Janich, Michael Meissner, Richard Guenther, Alexander Buck and Thomas
00023  * Woerner) give permission to link this program with Qt (non-)commercial
00024  * edition, and distribute the resulting executable, without including
00025  * the source code for the Qt (non-)commercial edition in the source
00026  * distribution.
00027  *
00028  */
00029 
00030 //  Description : Different general node types to put into a scene tree
00031 //  Purpose     : what do you think about
00032 
00033 
00034 #ifndef __QGLVIEWERSCENETREEOBJECTS_H
00035 #define __QGLVIEWERSCENETREEOBJECTS_H
00036 
00037 
00038 // Qt
00040 #include <qcolor.h>
00041 
00042 
00043 // Own
00045 #include "QGLViewer.h"
00046 #include "QSceneTreeNode.h"
00047 #include "CLightSource.h"
00048 #include "CList.h"
00049 
00054 class STLightList : public QSceneTreeDrawable
00055 {
00056 public:
00061   STLightList(const CList<CLightSource> *pLightList);
00063   STLightList(const CLightSource &Light);
00064 
00066   ~STLightList();
00067 
00071   virtual void draw();
00072 
00073 private:
00074   CList<CLightSource> *m_pLightList;
00075 };
00076 
00077 
00082 class STQGLViewerBoundingBox : public CBoundingBox3D, public QSceneTreeDrawable
00083 {
00084 public:
00086   STQGLViewerBoundingBox(const CBoundingBox3D &cBBox);
00087 
00090   virtual void draw();
00091 
00092 private:
00093   GLuint m_nDispList;
00094 };
00095 
00096 
00101 class STDisplayList : public QSceneTreeDrawable
00102 {
00103 public:
00116   STDisplayList(GLuint nDispList, QRgb rgba = qRgba(255,255,255,255)) 
00117     : m_nDispList(nDispList),
00118       m_qRgba(rgba)
00119     {};
00121   ~STDisplayList();
00122 
00125   virtual void draw();
00126 
00128   QRgb getRGBA() { return m_qRgba; };
00129 
00131   void setRGBA(QRgb qRgba) { m_qRgba = qRgba; };
00132 
00133 
00134 private:
00135   GLuint m_nDispList;
00136   QRgb m_qRgba;
00137 };
00138 
00139 
00140 /*
00141 class STProxy : public QObject, public QSceneTreeDrawable
00142 {
00143   Q_OBJECT
00144 
00145 public:
00146   STProxy();
00147   ~STProxy();
00148 
00149   virtual void draw() { emit(sigRedrawGL()); };
00150 
00151 signals:
00152   void sigRedrawGL();
00153 
00154 public slots:
00155   void sltUpdateView() { requestUpdate(); };
00156 };
00157 */
00158 
00159 
00160 #endif  // __QGLVIEWERSCENETREEOBJECTS_H

Generated on Wed Mar 5 18:23:25 2003 for QGLViewer by doxygen1.3-rc3