00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00045
00046 #if !defined __cplusplus
00047 #error C++ compiler required
00048 #endif
00049
00050
00051 #if !defined VERTEXES_H
00052 #define VERTEXES_H
00053
00054
00055 #include <vector>
00056
00057
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