public void CopyValuesTo(GeometryParameter copy)
 {
     foreach (PropertyInfo pi in typeof(GeometryParameter).GetProperties())
     {
         if (!pi.GetGetMethod().IsVirtual)
         {
             pi.SetValue(copy, pi.GetValue(this));
         }
     }
 }
 public GeometryCalculation()
 {
     GeometricParameter = new GeometryParameter();
     m_Worker           = new BackgroundWorker
     {
         WorkerReportsProgress      = true,
         WorkerSupportsCancellation = true
     };
     m_Worker.DoWork             += Worker_DoWork;
     m_Worker.ProgressChanged    += Worker_ProgressChanged;
     m_Worker.RunWorkerCompleted += Worker_RunWorkerCompleted;
 }