/* Code generated by IfcQuery EXPRESS generator, www.ifcquery.com */
#include <map>
#include "ifcpp/model/BasicTypes.h"
#include "ifcpp/model/BuildingException.h"
#include "ifcpp/reader/ReaderUtil.h"
#include "ifcpp/IFC4/include/IfcSpecularExponent.h"
#include "ifcpp/IFC4/include/IfcSpecularRoughness.h"
#include "ifcpp/IFC4/include/IfcSpecularHighlightSelect.h"

// TYPE IfcSpecularHighlightSelect = SELECT	(IfcSpecularExponent	,IfcSpecularRoughness);
shared_ptr<IfcSpecularHighlightSelect> IfcSpecularHighlightSelect::createObjectFromSTEP( const std::wstring& arg, const std::map<int,shared_ptr<BuildingEntity> >& map )
{
	if( arg.empty() ){ return shared_ptr<IfcSpecularHighlightSelect>(); }
	if( arg.compare(L"$")==0 )
	{
		return shared_ptr<IfcSpecularHighlightSelect>();
	}
	if( arg.compare(L"*")==0 )
	{
		return shared_ptr<IfcSpecularHighlightSelect>();
	}
	shared_ptr<IfcSpecularHighlightSelect> result_object;
	readSelectType( arg, result_object, map );
	return result_object;
}
