1 /*
2  *  Copyright (C) 2005  Andreas Volz
3  *  Copyright (C) 2006-2007  MakeHuman Project
4  *
5  *  This program is free software; you  can  redistribute  it  and/or
6  *  modify  it  under  the terms of the GNU General Public License as
7  *  published by the Free Software Foundation; either  version  3  of
8  *  the License, or (at your option) any later version.
9  *
10  *  This  program  is distributed in the hope that it will be useful,
11  *  but WITHOUT ANY WARRANTY; without even the  implied  warranty  of
12  *  MERCHANTABILITY  or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  *  General Public License for more details.
14  *
15  *  You should have received a copy of the GNU General Public License
16  *  along with this program; if not, write to the Free Software Foun-
17  *  dation, Inc., 59 Temple Place, Suite 330, Boston,  MA  02111-1307
18  *  USA
19  *
20  *  File: TextureVector.h
21  *  Project: MakeHuman <info@makehuman.org>, http://www.makehuman.org/
22  *  Library: ANIMORPH
23  *
24  *  For individual developers look into the AUTHORS file.
25  *
26  */
27 
28 #ifndef TEXTUREVECTOR_H
29 #define TEXTUREVECTOR_H 1
30 
31 #ifdef HAVE_CONFIG_H
32   #include <config.h>
33 #endif
34 #include <iostream>
35 #include <fstream>
36 #include <vector>
37 #include <string>
38 
39 #include "FileReader.h"
40 #include "Vector2.h"
41 
42 using std::string;
43 using std::vector;
44 using std::ifstream;
45 
46 namespace Animorph {
47 
48 typedef std::vector <Vector2f> TextureFace;
49 
50 /*! \brief Loadble vector of TextureFace
51  */
52 class TextureVector : public vector <TextureFace>
53 {
54 private:
55   void fromUVStream (ifstream &in_stream);
56 
57 public:
58   bool load (const string& filename);
59 };
60 
61 }
62 
63 #endif	// TEXTUREVECTOR_H
64