void IfcRecurrencePattern::readStepArguments( const std::vector<std::wstring>& args, const std::map<int,shared_ptr<BuildingEntity> >& map ) { const size_t num_args = args.size(); if( num_args != 8 ){ std::stringstream err; err << "Wrong parameter count for entity IfcRecurrencePattern, expecting 8, having " << num_args << ". Entity ID: " << m_entity_id << std::endl; throw BuildingException( err.str().c_str() ); } m_RecurrenceType = IfcRecurrenceTypeEnum::createObjectFromSTEP( args[0], map ); readTypeOfIntegerList( args[1], m_DayComponent ); readTypeOfIntegerList( args[2], m_WeekdayComponent ); readTypeOfIntegerList( args[3], m_MonthComponent ); m_Position = IfcInteger::createObjectFromSTEP( args[4], map ); m_Interval = IfcInteger::createObjectFromSTEP( args[5], map ); m_Occurrences = IfcInteger::createObjectFromSTEP( args[6], map ); readEntityReferenceList( args[7], m_TimePeriods, map ); }
void IfcBSplineSurfaceWithKnots::readStepArguments( const std::vector<std::wstring>& args, const std::map<int,shared_ptr<BuildingEntity> >& map ) { const size_t num_args = args.size(); if( num_args != 12 ){ std::stringstream err; err << "Wrong parameter count for entity IfcBSplineSurfaceWithKnots, expecting 12, having " << num_args << ". Entity ID: " << m_entity_id << std::endl; throw BuildingException( err.str().c_str() ); } m_UDegree = IfcInteger::createObjectFromSTEP( args[0], map ); m_VDegree = IfcInteger::createObjectFromSTEP( args[1], map ); readEntityReferenceList2D( args[2], m_ControlPointsList, map ); m_SurfaceForm = IfcBSplineSurfaceForm::createObjectFromSTEP( args[3], map ); m_UClosed = IfcLogical::createObjectFromSTEP( args[4], map ); m_VClosed = IfcLogical::createObjectFromSTEP( args[5], map ); m_SelfIntersect = IfcLogical::createObjectFromSTEP( args[6], map ); readTypeOfIntegerList( args[7], m_UMultiplicities ); readTypeOfIntegerList( args[8], m_VMultiplicities ); readTypeOfRealList( args[9], m_UKnots ); readTypeOfRealList( args[10], m_VKnots ); m_KnotSpec = IfcKnotType::createObjectFromSTEP( args[11], map ); }
void IfcPolygonalFaceSet::readStepArguments( const std::vector<std::wstring>& args, const std::map<int,shared_ptr<BuildingEntity> >& map ) { const size_t num_args = args.size(); if( num_args != 4 ){ std::stringstream err; err << "Wrong parameter count for entity IfcPolygonalFaceSet, expecting 4, having " << num_args << ". Entity ID: " << m_entity_id << std::endl; throw BuildingException( err.str().c_str() ); } readEntityReference( args[0], m_Coordinates, map ); m_Closed = IfcBoolean::createObjectFromSTEP( args[1], map ); readEntityReferenceList( args[2], m_Faces, map ); readTypeOfIntegerList( args[3], m_PnIndex ); }
void IfcIndexedPolygonalFace::readStepArguments( const std::vector<std::wstring>& args, const std::map<int,shared_ptr<BuildingEntity> >& map ) { const size_t num_args = args.size(); if( num_args != 1 ){ std::stringstream err; err << "Wrong parameter count for entity IfcIndexedPolygonalFace, expecting 1, having " << num_args << ". Entity ID: " << m_entity_id << std::endl; throw BuildingException( err.str().c_str() ); } readTypeOfIntegerList( args[0], m_CoordIndex ); }