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