Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class 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 Jul 28 02:09:12 2004 for QGLViewer by doxygen 1.3.7