Main Page   Modules   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages   Examples  

glt/project.h

Go to the documentation of this file.
00001 #ifndef GLT_PROJECT_H
00002 #define GLT_PROJECT_H
00003 
00004 /*
00005 
00006   GLT OpenGL C++ Toolkit      
00007   Copyright (C) 2000-2002 Nigel Stewart
00008   Email: nigels.com@gmail.com   WWW: http://www.nigels.com/glt/
00009       
00010   This library is free software; you can redistribute it and/or
00011   modify it under the terms of the GNU Lesser General Public
00012   License as published by the Free Software Foundation; either
00013   version 2.1 of the License, or (at your option) any later version.
00014 
00015   This library 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 GNU
00018   Lesser General Public License for more details.
00019 
00020   You should have received a copy of the GNU Lesser General Public
00021   License along with this library; if not, write to the Free Software
00022   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00023 
00024 */
00025 
00039 #include <glt/config.h>
00040 #include <glt/gl.h>
00041 
00047 class GltOrtho
00048 {
00049 public:
00050     
00052     GltOrtho();
00054     ~GltOrtho();
00055 
00057     void set();
00059     void set(int width,int height);
00060 
00062     GLdouble &left();
00064     GLdouble &right();
00066     GLdouble &bottom();
00068     GLdouble &top();
00070     GLdouble &zNear();
00072     GLdouble &zFar();
00073 
00075     const GLdouble &left()   const;
00077     const GLdouble &right()  const;
00079     const GLdouble &bottom() const;
00081     const GLdouble &top()    const;
00083     const GLdouble &zNear()  const;
00085     const GLdouble &zFar()   const;
00086 
00088     bool tile(GltOrtho &frust,const int dx,const int dy,const int n) const;
00089 
00090 private:
00091 
00092     GLdouble _left;
00093     GLdouble _right;
00094     GLdouble _bottom;
00095     GLdouble _top;
00096     GLdouble _zNear;
00097     GLdouble _zFar;
00098 };
00099 
00105 class GltFrustum
00106 {
00107 public:
00108     
00110     GltFrustum();
00112     ~GltFrustum();
00113 
00115     void set();
00117     void set(int width,int height);
00118 
00120     GLdouble &left();
00122     GLdouble &right();
00124     GLdouble &bottom();
00126     GLdouble &top();
00128     GLdouble &zNear();
00130     GLdouble &zFar();
00131 
00133     const GLdouble &left()   const;
00135     const GLdouble &right()  const;
00137     const GLdouble &bottom() const;
00139     const GLdouble &top()    const;
00141     const GLdouble &zNear()  const;
00143     const GLdouble &zFar()   const;
00144 
00146     bool tile(GltFrustum &frust,const int dx,const int dy,const int n) const;
00147 
00148 private:
00149 
00150     GLdouble _left;
00151     GLdouble _right;
00152     GLdouble _bottom;
00153     GLdouble _top;
00154     GLdouble _zNear;
00155     GLdouble _zFar;
00156 };
00157 
00158 #endif

Generated on Tue Nov 5 11:11:03 2002 for GLT by doxygen1.2.18