1 /******************************************************************************* 2 Copyright (c) 2012, Jonathan Hiller 3 4 This file is part of the AMF Tools suite. http://amf.wikispaces.com/ 5 AMF Tools is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 6 AMF Tools is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. 7 See <http://www.opensource.org/licenses/lgpl-3.0.html> for license details. 8 *******************************************************************************/ 9 10 #ifndef NMAP_H 11 #define NMAP_H 12 13 #include <string> 14 15 class CXmlStreamWrite; 16 class CXmlStreamRead; 17 18 class nAmf; 19 20 class nTexmap 21 { 22 public: 23 nTexmap(void); 24 ~nTexmap(void); nTexmap(int RTexIdIn,int GTexIdIn,int BTexIdIn,double U1In,double U2In,double U3In,double V1In,double V2In,double V3In)25 nTexmap(int RTexIdIn, int GTexIdIn, int BTexIdIn, double U1In, double U2In, double U3In, double V1In, double V2In, double V3In) {Clear(); RTexID = RTexIdIn; GTexID = GTexIdIn; BTexID = BTexIdIn; uTex1 = U1In; uTex2 = U2In; uTex3 = U3In; vTex1 = V1In; vTex2 = V2In; vTex3 = V3In;} nTexmap(const nTexmap & In)26 nTexmap(const nTexmap& In) {*this = In;} //copy constructor 27 nTexmap& operator=(const nTexmap& In); //overload Equals 28 void Clear(void); //clears all data 29 30 //XML read/write 31 bool WriteXML(CXmlStreamWrite* pXML, std::string* pMessage = 0); 32 bool ReadXML(CXmlStreamRead* pXML, nAmf* pAmf, bool StrictLoad=true, std::string* pMessage = 0); 33 bool CheckValid(nAmf* pAmf, bool FixNode=true, std::string* pMessage = 0); 34 35 //required attibutes 36 int RTexID, GTexID, BTexID; 37 38 //optional attributes 39 int ATexID; 40 bool ATexIDExists; 41 42 //required tags 43 double uTex1, uTex2, uTex3, vTex1, vTex2, vTex3; 44 45 //optional tags 46 double wTex1, wTex2, wTex3; 47 bool WExists; 48 }; 49 50 #endif //NMAP_H 51