Ejemplo n.º 1
0
		void AddVariantToMap(MeshVariantMap &variantMap, GLuint vao, const int components)
		{
			if(components == 0)
			{
				variantMap["unlit"] = vao;
				variantMap["flat"] = vao;
				return;
			}

			std::vector<std::string> currNames = GenerateNameList(components);

			if(currNames.size() == 1)
			{
				variantMap[currNames[0]] = vao;
				return;
			}

			std::sort(currNames.begin(), currNames.end());

			std::ostringstream theName;
			do
			{
				CalcName(theName, currNames);

				variantMap[theName.str()] = vao;
			}
			while(std::next_permutation(currNames.begin(), currNames.end()));
		}
Ejemplo n.º 2
0
		std::string GenerateNameForVariant( const int components )
		{
			if(components == 0)
				return "flat";

			std::ostringstream theName;
			CalcName(theName, GenerateNameList(components));

			return theName.str();
		}
Ejemplo n.º 3
0
Type ParamMap<Type,Tag>::Find( AxFGOp& op, const AxString& name )
{
    MapIterType iter;

    iter = _map.find( name );
    if ( iter == _map.end() ) {
        throw AxFGOpUsageEx( op, L"\"" + name + L"\"" + L" unknown, try: " +
                             GenerateNameList() );
    }

    return _map[ name ];
}