private void OnValidate(object sender, EventArgs e) { try { const double DEG_TO_RAD = 3.1415926535897932384626433832795 / 180.0; double gradx, grady, gradz; SphericalHarmonic s0 = new SphericalHarmonic(C, S, N, N - 1, 0, a, SphericalHarmonic.Normalization.SCHMIDT); s0 = new SphericalHarmonic(C, S, N, a, SphericalHarmonic.Normalization.SCHMIDT); double sum = s0.HarmonicSum(1.0, 2.0, 3.0); double test = s0.HarmonicSum(1.0, 2.0, 3.0, out gradx, out grady, out grady); if (sum != test) { throw new Exception("Error in SphericalHarmonic.HarmonicSum"); } SphericalCoefficients sc = s0.Coefficients(); CircularEngine ce = s0.Circle(1.0, 0.5, true); sum = ce.LongitudeSum(60.0); test = ce.LongitudeSum(Math.Cos(60.0 * DEG_TO_RAD), Math.Sin(60.0 * DEG_TO_RAD)); if (sum != test) { throw new Exception("Error in CircularEngine.LongitudeSum 1"); } test = ce.LongitudeSum(60.0, out gradx, out grady, out gradz); if (sum != test) { throw new Exception("Error in CircularEngine.LongitudeSum 2"); } ce.LongitudeSum(Math.Cos(60.0 * DEG_TO_RAD), Math.Sin(60.0 * DEG_TO_RAD), out gradx, out grady, out gradz); if (sum != test) { throw new Exception("Error in CircularEngine.LongitudeSum 3"); } SphericalHarmonic1 s1 = new SphericalHarmonic1(C, S, N, N - 1, 1, C1, S1, N1, N1 - 1, 0, a, SphericalHarmonic1.Normalization.SCHMIDT); s1 = new SphericalHarmonic1(C, S, N, C1, S1, N1, a, SphericalHarmonic1.Normalization.SCHMIDT); sum = s1.HarmonicSum(0.95, 1.0, 2.0, 3.0); test = s1.HarmonicSum(0.95, 1.0, 2.0, 3.0, out gradx, out grady, out gradz); if (sum != test) { throw new Exception("Error in SphericalHarmonic1.HarmonicSum 3"); } ce = s1.Circle(0.95, 1.0, 0.5, true); sc = s1.Coefficients(); sc = s1.Coefficients1(); SphericalHarmonic2 s2 = new SphericalHarmonic2(C, S, N, N - 1, 2, C1, S1, N1, N1 - 1, 1, C2, S2, N2, N2 - 1, 0, a, SphericalHarmonic2.Normalization.SCHMIDT); s2 = new SphericalHarmonic2(C, S, N, C1, S1, N1, C2, S2, N2, a, SphericalHarmonic2.Normalization.SCHMIDT); sum = s2.HarmonicSum(0.95, 0.8, 1.0, 2.0, 3.0); test = s2.HarmonicSum(0.95, 0.8, 1.0, 2.0, 3.0, out gradx, out grady, out gradz); if (sum != test) { throw new Exception("Error in SphericalHarmonic2.HarmonicSum 3"); } ce = s2.Circle(0.95, 0.8, 1.0, 0.5, true); sc = s2.Coefficients(); sc = s2.Coefficients1(); sc = s2.Coefficients2(); } catch (Exception xcpt) { MessageBox.Show(xcpt.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } MessageBox.Show("No errors found", "OK", MessageBoxButtons.OK, MessageBoxIcon.Information); }