void IfcBSplineSurfaceWithKnots::getAttributes( std::vector<std::pair<std::string, shared_ptr<BuildingObject> > >& vec_attributes ) const
{
	IfcBSplineSurface::getAttributes( vec_attributes );
	if( m_UMultiplicities.size() > 0 )
	{
		shared_ptr<AttributeObjectVector> UMultiplicities_vec_object( new AttributeObjectVector() );
		std::copy( m_UMultiplicities.begin(), m_UMultiplicities.end(), std::back_inserter( UMultiplicities_vec_object->m_vec ) );
		vec_attributes.push_back( std::make_pair( "UMultiplicities", UMultiplicities_vec_object ) );
	}
	if( m_VMultiplicities.size() > 0 )
	{
		shared_ptr<AttributeObjectVector> VMultiplicities_vec_object( new AttributeObjectVector() );
		std::copy( m_VMultiplicities.begin(), m_VMultiplicities.end(), std::back_inserter( VMultiplicities_vec_object->m_vec ) );
		vec_attributes.push_back( std::make_pair( "VMultiplicities", VMultiplicities_vec_object ) );
	}
	if( m_UKnots.size() > 0 )
	{
		shared_ptr<AttributeObjectVector> UKnots_vec_object( new AttributeObjectVector() );
		std::copy( m_UKnots.begin(), m_UKnots.end(), std::back_inserter( UKnots_vec_object->m_vec ) );
		vec_attributes.push_back( std::make_pair( "UKnots", UKnots_vec_object ) );
	}
	if( m_VKnots.size() > 0 )
	{
		shared_ptr<AttributeObjectVector> VKnots_vec_object( new AttributeObjectVector() );
		std::copy( m_VKnots.begin(), m_VKnots.end(), std::back_inserter( VKnots_vec_object->m_vec ) );
		vec_attributes.push_back( std::make_pair( "VKnots", VKnots_vec_object ) );
	}
	vec_attributes.push_back( std::make_pair( "KnotSpec", m_KnotSpec ) );
}
void IfcBSplineSurfaceWithKnots::getAttributes( std::vector<std::pair<std::string, shared_ptr<IfcPPObject> > >& vec_attributes )
{
	IfcBSplineSurface::getAttributes( vec_attributes );
	shared_ptr<IfcPPAttributeObjectVector> UKnots_vec_object( new  IfcPPAttributeObjectVector() );
	std::copy( m_UKnots.begin(), m_UKnots.end(), std::back_inserter( UKnots_vec_object->m_vec ) );
	vec_attributes.push_back( std::make_pair( "UKnots", UKnots_vec_object ) );
	shared_ptr<IfcPPAttributeObjectVector> VKnots_vec_object( new  IfcPPAttributeObjectVector() );
	std::copy( m_VKnots.begin(), m_VKnots.end(), std::back_inserter( VKnots_vec_object->m_vec ) );
	vec_attributes.push_back( std::make_pair( "VKnots", VKnots_vec_object ) );
	vec_attributes.push_back( std::make_pair( "KnotSpec", m_KnotSpec ) );
}