void BackgroundWorkerDoWork(object sender, DoWorkEventArgs e) { var args = e.Argument as TraceArgs; var coeff = new List <Dictionary <int, double> >(); WWCrossFeedFir crossfeed = args.CrossfeedFir; crossfeed.WallReflectionType = WWCrossFeedFir.ReflectionType.Diffuse; crossfeed.Start(mRoom); crossfeed.TraceAll(mRoom); coeff.AddRange(crossfeed.OutputFirCoeffs(args.SampleRate)); crossfeed.Clear(); crossfeed.WallReflectionType = WWCrossFeedFir.ReflectionType.Specular; crossfeed.Start(mRoom); crossfeed.TraceAll(mRoom); coeff.AddRange(crossfeed.OutputFirCoeffs(args.SampleRate)); crossfeed.Clear(); WWCrossFeedFir.OutputFile(args.SampleRate, coeff.ToArray(), args.FileName); }
private void ButtonClearRay_Click(object sender, RoutedEventArgs e) { mCrossFeed.Clear(); UpdateRoomCanvas(); }