internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary <int, BaseClassIfc> dictionary)
{
base.parse(str, ref pos, release, len, dictionary);
Directrix = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcCurve;
string field = ParserSTEP.StripField(str, ref pos, len);
if (field.StartsWith("I"))
{
mStartParam = ParserIfc.parseMeasureValue(field) as IfcCurveMeasureSelect;
}
else
{
double d = ParserSTEP.ParseDouble(field);
if (!double.IsNaN(d))
{
mStartParam = new IfcParameterValue(d);
}
}
field = ParserSTEP.StripField(str, ref pos, len);
if (field.StartsWith("I"))
{
mEndParam = ParserIfc.parseMeasureValue(field) as IfcCurveMeasureSelect;
}
else
{
double d = ParserSTEP.ParseDouble(field);
if (!double.IsNaN(d))
{
mEndParam = new IfcParameterValue(d);
}
}
}