internal static void parseFields(IfcAsymmetricIShapeProfileDef p, List<string> arrFields, ref int ipos,ReleaseVersion schema)
{
IfcParameterizedProfileDef.parseFields(p, arrFields, ref ipos);
if (schema == ReleaseVersion.IFC2x3)
{
p.mBottomFlangeWidth = ParserSTEP.ParseDouble(arrFields[ipos++]);
p.mOverallDepth = ParserSTEP.ParseDouble(arrFields[ipos++]);
p.mWebThickness = ParserSTEP.ParseDouble(arrFields[ipos++]);
p.mBottomFlangeThickness = ParserSTEP.ParseDouble(arrFields[ipos++]);
p.mBottomFlangeFilletRadius = ParserSTEP.ParseDouble(arrFields[ipos++]);
p.mTopFlangeWidth = ParserSTEP.ParseDouble(arrFields[ipos++]);
p.mTopFlangeThickness = ParserSTEP.ParseDouble(arrFields[ipos++]);
p.mTopFlangeFilletRadius = ParserSTEP.ParseDouble(arrFields[ipos++]);
p.mCentreOfGravityInY = ParserSTEP.ParseDouble(arrFields[ipos++]);
}
else
{
p.mBottomFlangeWidth = ParserSTEP.ParseDouble(arrFields[ipos++]);
p.mOverallDepth = ParserSTEP.ParseDouble(arrFields[ipos++]);
p.mWebThickness = ParserSTEP.ParseDouble(arrFields[ipos++]);
p.mBottomFlangeThickness = ParserSTEP.ParseDouble(arrFields[ipos++]);
p.mBottomFlangeFilletRadius = ParserSTEP.ParseDouble(arrFields[ipos++]);
p.mTopFlangeWidth = ParserSTEP.ParseDouble(arrFields[ipos++]);
p.mTopFlangeThickness = ParserSTEP.ParseDouble(arrFields[ipos++]);
p.mTopFlangeFilletRadius = ParserSTEP.ParseDouble(arrFields[ipos++]);
p.mBottomFlangeEdgeRadius = ParserSTEP.ParseDouble(arrFields[ipos++]);
p.mBottomFlangeSlope = ParserSTEP.ParseDouble(arrFields[ipos++]);
p.mTopFlangeEdgeRadius = ParserSTEP.ParseDouble(arrFields[ipos++]);
p.mTopFlangeSlope = ParserSTEP.ParseDouble(arrFields[ipos++]);
}
}
internal static IfcAsymmetricIShapeProfileDef Parse(string strDef,ReleaseVersion schema) { IfcAsymmetricIShapeProfileDef p = new IfcAsymmetricIShapeProfileDef(); int ipos = 0; parseFields(p, ParserSTEP.SplitLineFields(strDef), ref ipos,schema); return p; }