コード例 #1
0
        /// <summary>
        /// //默认构造函数
        /// </summary>
        public MainForm()
        {
            InitializeComponent();
            if (Properties.Settings.Default.ShowGettingStart)
            {
                Shown += new EventHandler(NewToolStripMenuItem_Click);
            }
            string MapPath      = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\Cosmos\\DefaultMaps\\无标题.cgm";
            string DatabasePath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\Cosmos\\DefaultDatabases";

            if (!Directory.Exists(Path.GetDirectoryName(MapPath)))
            {
                Directory.CreateDirectory(Path.GetDirectoryName(MapPath));
            }
            if (!File.Exists(mapPath))
            {
                CGM.CreateEmptyCgv(mapPath);
            }
            if (!Directory.Exists(DatabasePath))
            {
                Directory.CreateDirectory(DatabasePath);
            }
        }
コード例 #2
0
        /// <summary>
        /// Создаёт решатель для метода с указанным логером
        /// </summary>
        /// <param name="type">Метод</param>
        /// <param name="logger">Логер</param>
        /// <param name="factorizer">Разложение</param>
        /// <param name="krylovSubspaceDimension">Размерность подпространства Крылова</param>
        /// <returns></returns>
        public static ISolver Spawn(MethodsEnum type, ILogger logger, int krylovSubspaceDimension = 4)
        {
            IMethod method;

            switch (type)
            {
            case MethodsEnum.CGM: method = new CGM(); break;

            case MethodsEnum.GaussianSeidel: method = new GaussianSeidelMethod(); break;

            case MethodsEnum.Jacobi: method = new JacobiMethod(); break;

            case MethodsEnum.LOS: method = new LOS(); break;

            case MethodsEnum.BCGStab: method = new BCGStab(); break;

            default: return(null);
            }



            return(new LoggingSolver(method, logger));
        }
コード例 #3
0
 /// <summary>
 /// Read CGM file and parse it.
 /// Later parsed file will be drawn in form.
 /// </summary>
 /// <param name="filename"></param>
 private void Read(string filename)
 {
     textBoxFilename.Text = filename;
     cgm = new CGM();
     cgm.Read(filename);
 }