Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        //
        // 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);
        }