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

vertexes.hpp

Go to the documentation of this file.
00001 // libdoomwad: manipulates Doom wad files.
00002 // Copyright (C) 2005  John Gaughan
00003 //
00004 // This library is free software; you can redistribute it and/or
00005 // modify it under the terms of the GNU Lesser General Public
00006 // License as published by the Free Software Foundation; either
00007 // version 2.1 of the License, or (at your option) any later version.
00008 //
00009 // This library is distributed in the hope that it will be useful,
00010 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00011 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012 // Lesser General Public License for more details.
00013 //
00014 // You should have received a copy of the GNU Lesser General Public
00015 // License along with this library; if not, write to the Free Software
00016 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00017 //
00018 // This library is distributed with the full text of the LGPL. Please see
00019 // the accompanying file named COPYING.
00020 // 
00021 // You may contact the author at john@johngaughan.net
00022 
00045 // C++ required.
00046 #if !defined __cplusplus
00047 #error C++ compiler required
00048 #endif
00049 
00050 // Include guard
00051 #if !defined VERTEXES_H
00052 #define VERTEXES_H
00053 
00054 // C++ headers
00055 #include <vector>
00056 
00057 // Doom headers
00058 #include "global.hpp"
00059 #include "lump.hpp"
00060 #include "wadentry.hpp"
00061 
00062 namespace Doomwad
00063 {
00064 
00073   EXPORT class Vertex : public WadEntryElement
00074   {
00075     public:
00076 
00078     static const size_t LENGTH;
00079 
00080     int16 x; 
00081     int16 y; 
00082 
00083     Vertex (int16 = 0, int16 = 0) throw ();
00084     virtual ~Vertex (void) throw ();
00085 
00086     virtual size_t getLength (void) const throw ();
00087     virtual bool write (Lump &lump, Lump::size_type i) const throw ();
00088     virtual bool read (const Lump &lump, Lump::size_type i) throw ();
00089     virtual std::string toString (void) const throw ();
00090   };
00091 
00106   EXPORT class GLVertex : public WadEntryElement
00107   {
00108     public:
00109 
00111     static const size_t LENGTH;
00112 
00113     int32 x; 
00114     int32 y; 
00115 
00116     GLVertex (int32 = 0, int32 = 0) throw ();
00117     virtual ~GLVertex (void) throw ();
00118 
00119     virtual bool writeV1 (Lump &lump, Lump::size_type i) const throw ();
00120     virtual bool readV1 (const Lump &lump, Lump::size_type i) throw ();
00121     virtual size_t getLength (void) const throw ();
00122     virtual bool write (Lump &lump, Lump::size_type i) const throw ();
00123     virtual bool read (const Lump &lump, Lump::size_type i) throw ();
00124     virtual std::string toString (void) const throw ();
00125   };
00126 
00132   EXPORT class Vertexes : public WadEntry, public std::vector<Vertex>
00133   {
00134     public:
00135 
00137     static const std::string NAME;
00138 
00139     Vertexes (void) throw ();
00140     Vertexes (const Lump&) throw ();
00141     virtual ~Vertexes (void) throw ();
00142 
00143     virtual bool setFromLump (const Lump &lump) throw ();
00144     virtual Lump toLump (void) const throw ();
00145     virtual std::string toString (void) const throw ();
00146   };
00147 
00148 
00149 
00155   EXPORT class GLVertexes : public WadEntry, public std::vector<GLVertex>
00156   {
00157     public:
00158 
00159     static const size_t V2_MARKER; 
00160     static const std::string NAME; 
00161 
00162     GLVertexes (void) throw ();
00163     GLVertexes (const Lump&) throw ();
00164     virtual ~GLVertexes (void) throw ();
00165 
00166     virtual bool setFromLump (const Lump &lump) throw ();
00167     virtual Lump toLump (void) const throw ();
00168     virtual Lump toLumpV1 (void) const throw ();
00169     virtual std::string toString (void) const throw ();
00170   };
00171 }
00172 #endif

Generated on Fri Jun 10 19:38:51 2005 for libdoomwad by  doxygen 1.4.0