arbeit
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members

quadTexGen.h

Go to the documentation of this file.
00001 //////////////////////////////////////////////////////////////////////
00002 // 6/27/02      Aaron Lefohn    Scientific Computing and Imaging Institute
00003 // School of Computing          University of Utah
00004 //
00005 //  This library is free software; you can redistribute it and/or
00006 //  modify it under the terms of the GNU Lesser General Public
00007 //  License as published by the Free Software Foundation; either
00008 //  version 2.1 of the License, or (at your option) any later version.
00009 //
00010 //  This library is distributed in the hope that it will be useful,
00011 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013 //  Lesser General Public License for more details.
00014 //
00015 //  You should have received a copy of the GNU Lesser General Public
00016 //  License along with this library; if not, write to the Free Software
00017 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00018 
00019 #ifndef QUADTEXGEN_H
00020 #define QUADTEXGEN_H
00021 
00022 #include "texCoordGen.h"
00023 #include <arrayGutz.h>
00024 
00025 namespace glift {
00026 
00027 /////////////////////////////////////////////////////////////////////////
00028 ///
00029 /// QuadTexGen: Generate the texture coordinates for a quad
00030 /// 
00031 ///////////////////////////////////////////////////////////////////////
00032 
00033 class _export_ QuadTexGen : public TexCoordGen
00034 {
00035 public:
00036    virtual gutz::arrayo2f operator()()
00037    {
00038       float   data[8] = { 0.0f, 0.0f,
00039          1.0f, 0.0f,
00040          1.0f, 1.0f,
00041          0.0f, 1.0f };
00042 
00043       return gutz::arrayo2f(4, 2, data); /// 4 vertices, 2 dimensions per vertex
00044    }
00045 
00046    virtual gutz::arrayo2f operator()( const gutz::arrayw2f& coords, const gutz::vec3f& dimen )
00047    {
00048       return (*this)();
00049    }
00050 };
00051 
00052 } /// End of namespace glift
00053 
00054 #endif

Send questions, comments, and bug reports to:
jmk