Subject | Hash | Author | Date (UTC) |
---|---|---|---|
ChanCol - добавлен метод чтения метаданных из CSV файла. GeomReader - добавлен метод подсчета общего количества точек по х. TimeReader - добавлен метод подсчета общего количества временных шагов. TimeMenu - убран "хардкод" при создании объекта класса ChanFile. Также, при создании массива с метаданными по колонкам теперь используется описанная выше функция чтения из CSV файла. | e428e9144c90e5bd1735d8776bd9539f15d0f72c | AnMikhaylova | 2022-04-09 19:05:17 |
TimeMenu - оптимизирована работа кнопки "очистить выбор" | 35dce8258eb2432b5b3fa77c33e04dc3b20d248b | AnMikhaylova | 2022-04-05 11:19:01 |
TimeMenu - реализованы кнопки "очистить выбор", "выбрать всё". | 684d7c56012361a388ffe2210ec0b7e425ebcd8d | AnMikhaylova | 2022-04-05 11:15:49 |
Переименован класс ChanProf из пакета channel для избежания конфликта имён. Добавлен пробный вариант выбора параметров в окне TimeMenu. | 022e133a15f37f403a53232c9b6f81218532dd33 | AnMikhaylova | 2022-04-04 09:29:18 |
Реализованы классы для описания файла с результатами расчетов; создан тест | b9eb54937916bf4538dc559ea3c391f0855d4280 | oam | 2022-04-03 18:51:28 |
Вспомогательные классы для описания переменных канала в определенный момент времени | 33e512158850d511534458dda088a71386044de0 | OAM | 2022-04-01 07:22:42 |
В окне TimeMenu добавлены кнопки для выбора нужных координат. В окно нужно добавить функцию выбора параметров. | 2cd07ab29c86f397b297576a753f96f5fcb0a567 | AnMikhaylova | 2022-03-26 11:08:53 |
В класс TimeReader добавлен метод getPointsInTime(), который вычисляет допустимые моменты времени для моделирования. Расчёт производится по данным из файла timescen.txt. Добавлено окно TimeMenu для выбора нужных моментов времени и выбора параметров. В окне реализован только вывод допустимых значений времени. | 672abb1bfe2906250806e02c36273d561a67d098 | AnMikhaylova | 2022-03-25 20:13:56 |
Добавлено главное меню (MainMenu). Добавлено меню выбора канала (ChanMenu). В данном окне кнопка "выбрать" выступает в качестве загшлушки. Добавлено меню выбора директории файлов конфигурации (DirMenu). | c8d0f12754cf04c526636136484fb552a61878be | AnMikhaylova | 2022-03-24 16:35:56 |
The FileReader class has been renamed (to DefaultReader). TimeInterval - added a method that calculates the total duration of the interval. TimeReader - added a method for calculating the total duration of the simulation. Changed directory with source files. | 7d82fe691e99d1c76e74a7e95496ca14cd9786e3 | AnMikhaylova | 2022-03-17 20:05:59 |
The FileReader class has been renamed (to DefaultReader). TimeInterval - added a method that calculates the total duration of the interval. TimeReader - added a method for calculating the total duration of the simulation. Changed directory with source files. | e348951a762aed7ed2bf0a6d61a06b7873a73518 | AnMikhaylova | 2022-03-17 20:01:36 |
initial commit | 07cb3f608489e2df5cda5655d3055d7c7e46b522 | oam | 2022-03-17 19:33:58 |
File | Lines added | Lines deleted |
---|---|---|
src/lleak/channel/ChanCol.java | 39 | 0 |
src/lleak/helpers/GeomReader.java | 8 | 0 |
src/lleak/helpers/TimeReader.java | 8 | 0 |
src/menu/TimeMenu.java | 20 | 6 |
File src/lleak/channel/ChanCol.java changed (mode: 100644) (index 5d209ad..f8cc357) | |||
5 | 5 | */ | */ |
6 | 6 | package lleak.channel; | package lleak.channel; |
7 | 7 | ||
8 | import java.io.BufferedReader; | ||
9 | import java.io.FileNotFoundException; | ||
10 | import java.io.FileReader; | ||
11 | import java.io.IOException; | ||
12 | import java.util.ArrayList; | ||
13 | import java.util.logging.Level; | ||
14 | import java.util.logging.Logger; | ||
15 | |||
8 | 16 | /** | /** |
9 | 17 | * | * |
10 | 18 | * @author tassy | * @author tassy |
... | ... | public class ChanCol { | |
48 | 56 | this.fullname = fullname; | this.fullname = fullname; |
49 | 57 | } | } |
50 | 58 | ||
59 | public static ArrayList<ChanCol> readCSV(String path) { | ||
60 | BufferedReader br = null; | ||
61 | String line; | ||
62 | ArrayList<ChanCol> arr = new ArrayList<>(); | ||
63 | |||
64 | try { | ||
65 | br = new BufferedReader(new FileReader(path)); | ||
66 | while ((line = br.readLine()) != null) { | ||
67 | String[] data = line.split(";"); | ||
68 | ChanCol chanCol = new ChanCol(Integer.valueOf(data[0]), data[1], data[2]); | ||
69 | arr.add(chanCol); | ||
70 | |||
71 | } | ||
72 | } catch (FileNotFoundException ex) { | ||
73 | Logger.getLogger(ChanCol.class.getName()).log(Level.SEVERE, null, ex); | ||
74 | } catch (IOException ex) { | ||
75 | Logger.getLogger(ChanCol.class.getName()).log(Level.SEVERE, null, ex); | ||
76 | } finally { | ||
77 | if (br != null) { | ||
78 | try { | ||
79 | br.close(); | ||
80 | } catch (IOException ex) { | ||
81 | Logger.getLogger(ChanCol.class.getName()).log(Level.SEVERE, null, ex); | ||
82 | } | ||
83 | } | ||
84 | |||
85 | } | ||
86 | |||
87 | return arr; | ||
88 | |||
89 | } | ||
51 | 90 | } | } |
File src/lleak/helpers/GeomReader.java changed (mode: 100644) (index efc62e0..35284b2) | |||
... | ... | public class GeomReader extends DefaultReader { | |
76 | 76 | ||
77 | 77 | return arr; | return arr; |
78 | 78 | } | } |
79 | |||
80 | public int getNx(){ | ||
81 | int nx = 0; | ||
82 | for (int i = 0; i < nSegments; i++) | ||
83 | nx += segmentGeoms.get(i).getW() / segmentGeoms.get(i).getW(); | ||
84 | |||
85 | return nx; | ||
86 | } | ||
79 | 87 | ||
80 | 88 | } | } |
File src/lleak/helpers/TimeReader.java changed (mode: 100644) (index 4952902..e93cc15) | |||
... | ... | public class TimeReader extends DefaultReader { | |
77 | 77 | ||
78 | 78 | return arr; | return arr; |
79 | 79 | } | } |
80 | |||
81 | public int getNSteps(){ | ||
82 | int Nstep = 0; | ||
83 | for (int i = 0; i < nt; i++) | ||
84 | Nstep += timeIntervals.get(i).getNstep(); | ||
85 | return Nstep; | ||
86 | |||
87 | } | ||
80 | 88 | ||
81 | 89 | } | } |
File src/menu/TimeMenu.java changed (mode: 100644) (index 438e579..23336e1) | |||
... | ... | import java.text.DecimalFormatSymbols; | |
10 | 10 | import java.util.ArrayList; | import java.util.ArrayList; |
11 | 11 | import javax.swing.DefaultListModel; | import javax.swing.DefaultListModel; |
12 | 12 | import lleak.channel.*; | import lleak.channel.*; |
13 | import lleak.helpers.ChanProfReader; | ||
14 | import lleak.helpers.ChanTxtReader; | ||
15 | import lleak.helpers.ConfReader; | ||
16 | import lleak.helpers.GeomReader; | ||
13 | 17 | import lleak.helpers.TimeReader; | import lleak.helpers.TimeReader; |
14 | 18 | ||
15 | 19 | /** | /** |
... | ... | public class TimeMenu extends javax.swing.JDialog { | |
55 | 59 | lmod1.addElement(decimalFormat.format(p)); | lmod1.addElement(decimalFormat.format(p)); |
56 | 60 | } | } |
57 | 61 | ||
58 | ArrayList<ChanCol> columns = new ArrayList<>(); | ||
59 | columns.add(new ChanCol(0, "t", "Время")); | ||
60 | columns.add(new ChanCol(1, "j", "Индекс")); | ||
61 | columns.add(new ChanCol(2, "x", "Координата")); | ||
62 | columns.add(new ChanCol(3, "u", "Скорость")); | ||
63 | ChanFile instance = new ChanFile(1001, 201, parent.getRootDir() + "ch1", columns); | ||
62 | ArrayList<ChanCol> columns = ChanCol.readCSV(parent.getRootDir() + "meta.csv"); | ||
63 | //columns.add(new ChanCol(0, "t", "Время")); | ||
64 | //columns.add(new ChanCol(1, "j", "Индекс")); | ||
65 | //columns.add(new ChanCol(2, "x", "Координата")); | ||
66 | //columns.add(new ChanCol(3, "u", "Скорость")); | ||
67 | int nt = tr.getNSteps()+ 1; | ||
68 | System.out.println(nt); | ||
69 | |||
70 | ConfReader cr = new ConfReader(parent.getRootDir() + "mainconf.txt"); | ||
71 | ChanProfReader cpr = new ChanProfReader(parent.getRootDir() + cr.getChan()); | ||
72 | ChanTxtReader ctr = new ChanTxtReader(parent.getRootDir() + cpr.getChans().get(0).getFile()); //А если несколько каналов?????? | ||
73 | GeomReader gr = new GeomReader(parent.getRootDir() + ctr.getGeom()); | ||
74 | int nx = gr.getNx() + 1; | ||
75 | System.out.println(nx); | ||
76 | |||
77 | ChanFile instance = new ChanFile(nt, nx, parent.getRootDir() + ctr.getOutfile(), columns); | ||
64 | 78 | cf = instance; | cf = instance; |
65 | 79 | ||
66 | 80 | lmod3.clear(); | lmod3.clear(); |