void IfcRecurrencePattern::readStepData( std::vector<std::string>& args, const std::map<int,shared_ptr<IfcTunnelEntity> >& map ) { const int num_args = (int)args.size(); if( num_args<8 ){ std::stringstream strserr; strserr << "Wrong parameter count for entity IfcRecurrencePattern, expecting 8, having " << num_args << ". Object id: " << getId() << std::endl; throw IfcTunnelException( strserr.str().c_str() ); } #ifdef _DEBUG if( num_args>8 ){ std::cout << "Wrong parameter count for entity IfcRecurrencePattern, expecting 8, having " << num_args << ". Object id: " << getId() << std::endl; } #endif m_RecurrenceType = IfcRecurrenceTypeEnum::readStepData( args[0] ); readTypeOfIntList( args[1], m_DayComponent ); readTypeOfIntList( args[2], m_WeekdayComponent ); readTypeOfIntList( args[3], m_MonthComponent ); m_Position = IfcInteger::readStepData( args[4] ); m_Interval = IfcInteger::readStepData( args[5] ); m_Occurrences = IfcInteger::readStepData( args[6] ); readEntityReferenceList( args[7], m_TimePeriods, map ); }
void IfcRelConnectsPathElements::readStepArguments( const std::vector<std::wstring>& args, const map_t<int,shared_ptr<IfcPPEntity> >& map ) { const auto num_args = args.size(); if( num_args != 11 ){ std::stringstream err; err << "Wrong parameter count for entity IfcRelConnectsPathElements, expecting 11, having " << num_args << ". Entity ID: " << m_id << std::endl; throw IfcPPException( err.str().c_str() ); } m_GlobalId = IfcGloballyUniqueId::createObjectFromSTEP( args[0] ); readEntityReference( args[1], m_OwnerHistory, map ); m_Name = IfcLabel::createObjectFromSTEP( args[2] ); m_Description = IfcText::createObjectFromSTEP( args[3] ); readEntityReference( args[4], m_ConnectionGeometry, map ); readEntityReference( args[5], m_RelatingElement, map ); readEntityReference( args[6], m_RelatedElement, map ); readTypeOfIntList( args[7], m_RelatingPriorities ); readTypeOfIntList( args[8], m_RelatedPriorities ); m_RelatedConnectionType = IfcConnectionTypeEnum::createObjectFromSTEP( args[9] ); m_RelatingConnectionType = IfcConnectionTypeEnum::createObjectFromSTEP( args[10] ); }
void IfcBSplineCurveWithKnots::readStepArguments( const std::vector<std::wstring>& args, const boost::unordered_map<int,shared_ptr<IfcPPEntity> >& map ) { const int num_args = (int)args.size(); if( num_args != 8 ){ std::stringstream err; err << "Wrong parameter count for entity IfcBSplineCurveWithKnots, expecting 8, having " << num_args << ". Entity ID: " << m_id << std::endl; throw IfcPPException( err.str().c_str() ); } m_Degree = IfcInteger::createObjectFromSTEP( args[0] ); readEntityReferenceList( args[1], m_ControlPointsList, map ); m_CurveForm = IfcBSplineCurveForm::createObjectFromSTEP( args[2] ); m_ClosedCurve = IfcLogical::createObjectFromSTEP( args[3] ); m_SelfIntersect = IfcLogical::createObjectFromSTEP( args[4] ); readTypeOfIntList( args[5], m_KnotMultiplicities ); readTypeOfRealList( args[6], m_Knots ); m_KnotSpec = IfcKnotType::createObjectFromSTEP( args[7] ); }