public virtual void MakeAlgorithm(ref Cl3DModel p_Model) { if (p_Model == null) throw new Exception("NULL model"); ClInformationSender.SendInformation("-> In progress: " + m_sAlgorithmName +" for: " +p_Model.ModelFileName, ClInformationSender.eInformationType.eTextInternal); p_Model.ResetVisitedPoints(); DateTime start = DateTime.Now; m_AlgorithmTime = TimeSpan.Zero; Algorithm(ref p_Model); DateTime stop = DateTime.Now; m_AlgorithmTime = (stop - start); p_Model.IsModelChanged = true; ClInformationSender.SendInformation("-] Finished: " + m_sAlgorithmName + " for: " + p_Model.ModelFileName+" [time: " + m_AlgorithmTime.TotalSeconds + " sec.]", ClInformationSender.eInformationType.eTextInternal); string fullAlgorithmAdditionalData = GetAlgorithmFullPath() + "\n"; foreach (KeyValuePair<string, string> prop in GetProperitis()) fullAlgorithmAdditionalData += "\t" + prop.Key + " -> " + prop.Value + "\n"; p_Model.AddDoneProcessingAlgorithm(fullAlgorithmAdditionalData); }