internal static void parseFields(IfcPropertyTableValue p, List<string> arrFields, ref int ipos) { IfcSimpleProperty.parseFields(p, arrFields, ref ipos); string str = arrFields[ipos++]; if (str[0] != '$') { List<string> ss = ParserSTEP.SplitLineFields(str); for (int icounter = 0; icounter < ss.Count; icounter++) { IfcValue v = ParserIfc.parseValue(ss[icounter]); if (v != null) p.mDefiningValues.Add(v); } } str = arrFields[ipos++]; if (str[0] != '$') { List<string> ss = ParserSTEP.SplitLineFields(arrFields[ipos++]); for (int icounter = 0; icounter < ss.Count; icounter++) { IfcValue v = ParserIfc.parseValue(ss[icounter]); if (v != null) p.mDefinedValues.Add(v); } } p.mExpression = arrFields[ipos++]; p.mDefiningUnit = ParserSTEP.ParseLink(arrFields[ipos++]); p.mDefinedUnit = ParserSTEP.ParseLink(arrFields[ipos++]); str = arrFields[ipos++]; if (str[0] != '$') p.mCurveInterpolation = (IfcCurveInterpolationEnum)Enum.Parse(typeof(IfcCurveInterpolationEnum), str.Replace(".", "")); }
internal static IfcPropertyTableValue Parse(string strDef) { IfcPropertyTableValue p = new IfcPropertyTableValue(); int ipos = 0; parseFields(p, ParserSTEP.SplitLineFields(strDef), ref ipos); return p; }
internal IfcCurveInterpolationEnum mCurveInterpolation = IfcCurveInterpolationEnum.NOTDEFINED;// : : OPTIONAL IfcCurveInterpolationEnum; internal IfcPropertyTableValue(IfcPropertyTableValue q) : base(q) { mDefiningValues = new List<IfcValue>(q.mDefiningValues.ToArray()); mDefinedValues = new List<IfcValue>(q.mDefinedValues.ToArray()); mExpression = q.mExpression; mDefiningUnit = q.mDefiningUnit; mDefinedUnit = q.mDefinedUnit; mCurveInterpolation = q.mCurveInterpolation; }