public double GetValue(Point2D p) { if (AggregateType == AggregateType.Sum) { return(Factors.Sum(x => x.Formula(p))); } else if (AggregateType == AggregateType.Min) { return(Factors.Min0(x => x.Formula(p))); } else if (AggregateType == AggregateType.Max) { return(Factors.Max0(x => x.Formula(p))); } else { return(0); } }