double GetNextDoubleFromCurveData(CurveStream curveStream) { var a = curveStream.GetNextCurveStreamElement(); if (a == null) Error("cannot parse curveData"); var d = a as DoubleStreamElement; if (d == null) Error("cannot parse curveData"); // ReSharper disable PossibleNullReferenceException return d.Double; // ReSharper restore PossibleNullReferenceException }
ICurve ParseCurve(string curveData) { var curve = new Curve(); var curveStream = new CurveStream(curveData); var currentPoint = new Point(); do { var curveStreamElement = curveStream.GetNextCurveStreamElement(); if (curveStreamElement == null) return curve; var charStreamElement = curveStreamElement as CharStreamElement; if (charStreamElement == null) { Error("wrong formatted curve string " + curveStreamElement); return null; } AddCurveSegment(curveStream, charStreamElement.Char, curve, ref currentPoint); } while (true); }