00001 // 00002 // sgObjectFiles.h 00003 // iSDGE 00004 // 00005 // Created by Nils Daumann on 19.04.10. 00006 // Copyright (c) 2010 Nils Daumann 00007 00008 // Permission is hereby granted, free of charge, to any person obtaining a copy 00009 // of this software and associated documentation files (the "Software"), to deal 00010 // in the Software without restriction, including without limitation the rights 00011 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 00012 // copies of the Software, and to permit persons to whom the Software is 00013 // furnished to do so, subject to the following conditions: 00014 00015 // The above copyright notice and this permission notice shall be included in 00016 // all copies or substantial portions of the Software. 00017 00018 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 00019 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 00020 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 00021 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 00022 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 00023 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 00024 // THE SOFTWARE. 00025 00026 #import <vector> 00027 #import <string> 00028 #import <map> 00029 #import "cstdio" 00030 00031 #import "sgRessourceManager.h" 00032 #import "sgDebug.h" 00033 #import "sgTools.h" 00034 #import "sgVertex.h" 00035 #import "sgMesh.h" 00036 #import "sgTexture.h" 00037 #import "sgMaterial.h" 00038 #import "sgObject.h" 00039 00040 #import "TBXML.h" 00041 00045 namespace sgObjectFiles 00046 { 00050 struct sgSGMMaterial 00051 { 00052 unsigned int id_; 00053 std::vector<std::string> texnames; 00054 }; 00055 00059 struct sgSGMMesh 00060 { 00061 unsigned int id_; 00062 sgSGMMaterial *material; 00063 std::vector<sgVertex> vertices; 00064 std::vector<unsigned short> indices; 00065 // std::vector<sgBone> bones; 00066 // std::multimap<std::string, unsigned int*> animations; 00067 }; 00068 00069 00077 BOOL loadSGM(sgObjectContainer *obj, const char *filename); 00078 }