/// <summary> /// Edit Optimization Parameter /// </summary> /// <param name="index"></param> /// <param name="parameter"></param> /// <exception cref="ArgumentException"></exception> /// <exception cref="IndexOutOfRangeException"></exception> public void editParamter(int index, double[] parameter) { if (parameter.Length != representationMethod.numberOfParameters()) { throw new ArgumentException("Invalid Size of Parameter", nameof(parameter)); } try { airfoils[index] = new RepresentedAirfoil(representationMethod, parameter); } catch (IndexOutOfRangeException) { throw; } optimizationParametersDidChangeByModel?.Invoke(this, EventArgs.Empty); }
// // Set number of airfoils public void setNumberOfAirfoils(int value) { RepresentedAirfoil[] tempAirfoils = new RepresentedAirfoil[value]; int iterator; for (iterator = 0; iterator < airfoils.Length && iterator < value; ++iterator) { tempAirfoils[iterator] = airfoils[iterator]; } for (var i = iterator; i < value; ++i) { tempAirfoils[i] = new RepresentedAirfoil(representationMethod, null); } airfoils = tempAirfoils; optimizationParametersDidChangeByModel?.Invoke(this, EventArgs.Empty); }