internal CalculatedLine(LineBuilder lineBuilder, IList<IList<PointD>> pointData) { Expression = lineBuilder.Expression; Window = lineBuilder.Window; XScale = lineBuilder.XScale; YScale = lineBuilder.YScale; Increment = lineBuilder.Increment; PointData = pointData; }
private CalculatedLine CalculateLine(Expression expr) { CalculatedLine line; try { switch (expr.Type) { case ExpressionType.Linear: line = LinearLineCalculator.Calculate( (StandardExpression)expr, Calculator, _window, DisplayRectangle.Width, XScale, YScale, _resolution); break; case ExpressionType.Polar: line = _polarCalc.Calculate( (StandardExpression)expr, Calculator, _window, XScale, YScale); break; case ExpressionType.Parametric: line = _paraCalc.Calculate( (ParametricExpression)expr, Calculator, _window, XScale, YScale); break; default: throw new NotSupportedException("Type not implemented."); } } catch (Exception ex) { MessageBox.Show(ex.Message); var calculatedLine = new LineBuilder(expr, Window, XScale, YScale, 0); return calculatedLine.SealLine(); } return line; }