1 /* 2 Copyright (c) 2008-2009 NetAllied Systems GmbH 3 4 This file is part of COLLADASaxFrameworkLoader. 5 6 Licensed under the MIT Open Source License, 7 for details please see LICENSE file or the website 8 http://www.opensource.org/licenses/mit-license.php 9 */ 10 11 #include "COLLADASaxFWLStableHeaders.h" 12 #include "COLLADASaxFWLGeometryMaterialIdInfo.h" 13 14 15 namespace COLLADASaxFWL 16 { 17 18 //--------------------------------- GeometryMaterialIdInfo()19 GeometryMaterialIdInfo::GeometryMaterialIdInfo() 20 : mHighestMaterialId(0) 21 , mColladaSymbolMaterialIdMap() 22 { 23 } 24 25 //--------------------------------- getMaterialId(const String & symbol)26 COLLADAFW::MaterialId GeometryMaterialIdInfo::getMaterialId( const String& symbol ) 27 { 28 if ( symbol.empty() ) 29 return 0; 30 31 ColladaSymbolMaterialIdMap::const_iterator it = mColladaSymbolMaterialIdMap.find(symbol); 32 if ( it == mColladaSymbolMaterialIdMap.end()) 33 { 34 mHighestMaterialId++; 35 mColladaSymbolMaterialIdMap[symbol] = mHighestMaterialId; 36 return mHighestMaterialId; 37 } 38 else 39 { 40 return it->second; 41 } 42 43 } 44 45 } // namespace COLLADASaxFWL 46