mirror of
https://gitlab.com/pamhyr/pamhyr2.git
synced 2026-10-30 03:20:41 +01:00
merge master
This commit is contained in:
commit
19045329dc
13 files changed
+491
-87
No files matched your search
@@ -23,12 +23,12 @@ from PyQt5.QtGui import (
|
||||
)
|
||||
|
||||
from PyQt5.QtCore import (
|
||||
Qt, QVariant, QAbstractTableModel,
|
||||
Qt, QVariant, QAbstractTableModel, QItemSelectionModel,
|
||||
)
|
||||
|
||||
from PyQt5.QtWidgets import (
|
||||
QDialogButtonBox, QComboBox, QUndoStack, QShortcut,
|
||||
QDoubleSpinBox,
|
||||
QDoubleSpinBox, QRadioButton,
|
||||
)
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ class MeshingDialog(PamhyrDialog):
|
||||
self._space_step = 50.0
|
||||
self._lplan = False
|
||||
self._lm = "3"
|
||||
self._linear = False
|
||||
self._linear = True
|
||||
self._begin_cs = -1
|
||||
self._end_cs = -1
|
||||
self._begin_dir = "un"
|
||||
@@ -71,7 +71,7 @@ class MeshingDialog(PamhyrDialog):
|
||||
self._origin = self._reach.profile(0)
|
||||
|
||||
self._init_default_values_profiles()
|
||||
self._init_default_values_guidelines()
|
||||
# self._init_default_values_guidelines()
|
||||
|
||||
self.set_double_spin_box(
|
||||
"doubleSpinBox_space_step",
|
||||
@@ -83,14 +83,24 @@ class MeshingDialog(PamhyrDialog):
|
||||
else:
|
||||
self.set_radio_button("radioButton_spline", True)
|
||||
|
||||
self.find(QRadioButton, "radioButton_spline").setEnabled(False)
|
||||
self.find(QRadioButton, "radioButton_linear").setEnabled(False)
|
||||
|
||||
def _init_default_values_profiles(self):
|
||||
profiles = self.profiles
|
||||
|
||||
self.combobox_add_items("comboBox_begin_rk", profiles)
|
||||
self.combobox_add_items("comboBox_end_rk", profiles)
|
||||
|
||||
self.set_combobox_text("comboBox_begin_rk", profiles[0])
|
||||
self.set_combobox_text("comboBox_end_rk", profiles[-1])
|
||||
r = self.parent.tableView\
|
||||
.selectionModel()\
|
||||
.selectedRows()
|
||||
if len(r) <= 1:
|
||||
self.set_combobox_text("comboBox_begin_rk", profiles[0])
|
||||
self.set_combobox_text("comboBox_end_rk", profiles[-1])
|
||||
else:
|
||||
self.set_combobox_text("comboBox_begin_rk", profiles[r[0].row()])
|
||||
self.set_combobox_text("comboBox_end_rk", profiles[r[-1].row()])
|
||||
|
||||
@property
|
||||
def profiles(self):
|
||||
@@ -167,8 +177,8 @@ class MeshingDialog(PamhyrDialog):
|
||||
self._begin_cs = self.profiles.index(p1)
|
||||
self._end_cs = self.profiles.index(p2)
|
||||
|
||||
self._begin_dir = self.get_combobox_text("comboBox_begin_gl")
|
||||
self._end_dir = self.get_combobox_text("comboBox_end_gl")
|
||||
# self._begin_dir = self.get_combobox_text("comboBox_begin_gl")
|
||||
# self._end_dir = self.get_combobox_text("comboBox_end_gl")
|
||||
|
||||
super().accept()
|
||||
|
||||
|
||||
@@ -28,8 +28,6 @@ from PyQt5.QtWidgets import (
|
||||
from Model.Geometry import Reach
|
||||
from Model.Except import exception_message_box
|
||||
|
||||
from Meshing.Mage import MeshingWithMage
|
||||
|
||||
logger = logging.getLogger()
|
||||
|
||||
|
||||
@@ -238,7 +236,7 @@ class MeshingCommand(QUndoCommand):
|
||||
self._mesher = mesher
|
||||
self._command = command
|
||||
|
||||
self._profiles = reach.profiles.copy()
|
||||
self._profiles = [p.copy() for p in reach.profiles]
|
||||
self._profiles.reverse()
|
||||
|
||||
self._new_profiles = None
|
||||
@@ -262,7 +260,7 @@ class MeshingCommand(QUndoCommand):
|
||||
**self._data
|
||||
)
|
||||
|
||||
self._new_profiles = self._reach.profiles.copy()
|
||||
self._new_profiles = [p.copy() for p in self._reach.profiles]
|
||||
self._new_profiles.reverse()
|
||||
else:
|
||||
self._reach.purge()
|
||||
|
||||
+29
-12
@@ -32,6 +32,7 @@ from PyQt5.QtGui import (
|
||||
from PyQt5.QtCore import (
|
||||
QModelIndex, Qt, QSettings, pyqtSlot,
|
||||
QItemSelectionModel, QCoreApplication, QSize,
|
||||
QItemSelection, QItemSelectionRange,
|
||||
)
|
||||
from PyQt5.QtWidgets import (
|
||||
QApplication, QMainWindow, QFileDialog, QCheckBox,
|
||||
@@ -49,9 +50,7 @@ from View.Tools.Plot.PamhyrCanvas import MplCanvas
|
||||
|
||||
from View.SelectReach.Window import SelectReachWindow
|
||||
|
||||
from Meshing.Mage import (
|
||||
MeshingWithMage, MeshingWithMageMailleurTT
|
||||
)
|
||||
from Meshing.Internal import InternalMeshing
|
||||
|
||||
from View.Geometry.Table import GeometryReachTableModel
|
||||
from View.Geometry.PlotXY import PlotXY
|
||||
@@ -300,6 +299,13 @@ class GeometryWindow(PamhyrWindow):
|
||||
self.tableView.model().blockSignals(False)
|
||||
|
||||
def edit_meshing(self):
|
||||
|
||||
rows = list(
|
||||
set(
|
||||
(i.row() for i in self.tableView.selectedIndexes())
|
||||
)
|
||||
)
|
||||
selected_rk = [self._reach.profile(r).rk for r in rows]
|
||||
try:
|
||||
dlg = MeshingDialog(
|
||||
reach=self._reach,
|
||||
@@ -310,8 +316,6 @@ class GeometryWindow(PamhyrWindow):
|
||||
data = {
|
||||
"step": dlg.space_step,
|
||||
"limites": [dlg.begin_cs, dlg.end_cs],
|
||||
"directrices": [dlg.begin_dir, dlg.end_dir],
|
||||
"lplan": dlg.lplan,
|
||||
"linear": dlg.linear,
|
||||
}
|
||||
self._edit_meshing(data)
|
||||
@@ -319,18 +323,31 @@ class GeometryWindow(PamhyrWindow):
|
||||
logger_exception(e)
|
||||
return
|
||||
|
||||
ind = []
|
||||
for i in range(self._reach.number_profiles):
|
||||
if self._reach.profile(i).rk in selected_rk:
|
||||
ind.append(i)
|
||||
self.tableView.setFocus()
|
||||
selection = self.tableView.selectionModel()
|
||||
index = QItemSelection()
|
||||
if len(ind) > 0:
|
||||
for i in ind:
|
||||
index.append(QItemSelectionRange(
|
||||
self.tableView.model().index(i, 0)
|
||||
))
|
||||
selection.select(
|
||||
index,
|
||||
QItemSelectionModel.Rows |
|
||||
QItemSelectionModel.ClearAndSelect |
|
||||
QItemSelectionModel.Select
|
||||
)
|
||||
|
||||
def _edit_meshing(self, data):
|
||||
try:
|
||||
mesher = MeshingWithMageMailleurTT()
|
||||
mesher = InternalMeshing()
|
||||
self._table.meshing(mesher, data)
|
||||
except Exception as e:
|
||||
logger_exception(e)
|
||||
raise ExternFileMissingError(
|
||||
module="mage",
|
||||
filename="MailleurTT",
|
||||
path=MeshingWithMageMailleurTT._path(),
|
||||
src_except=e
|
||||
)
|
||||
|
||||
def update_rk(self):
|
||||
try:
|
||||
|
||||
@@ -23,6 +23,8 @@ from numpy import sqrt
|
||||
|
||||
from tools import timer, trace
|
||||
|
||||
from itertools import compress
|
||||
|
||||
from PyQt5.QtGui import (
|
||||
QKeySequence, QColor
|
||||
)
|
||||
@@ -51,8 +53,12 @@ class TableModel(PamhyrTableModel):
|
||||
self._lst = _river.reachs
|
||||
elif self._opt_data == "profile":
|
||||
self._lst = _river.reach(0).profiles
|
||||
# self._lst = list(filter(lambda x: x.name[0:8] != 'interpol',
|
||||
# _river.reach(0).profiles))
|
||||
elif self._opt_data == "raw_data":
|
||||
self._lst = _river.reach(0).profiles
|
||||
# self._lst = list(filter(lambda x: x.name[0:8] != 'interpol',
|
||||
# _river.reach(0).profiles))
|
||||
elif self._opt_data == "solver":
|
||||
self._lst = self._parent._solvers
|
||||
|
||||
@@ -152,7 +158,9 @@ class TableModel(PamhyrTableModel):
|
||||
if self._opt_data == "reach":
|
||||
self._lst = _river.reachs
|
||||
elif self._opt_data == "profile" or self._opt_data == "raw_data":
|
||||
self._lst = _river.reach(reach).profiles
|
||||
# self._lst = _river.reach(reach).profiles
|
||||
self._lst = list(compress(_river.reach(reach).profiles,
|
||||
_river.reach(reach).profile_mask))
|
||||
elif self._opt_data == "solver":
|
||||
self._lst = self._parent._solvers
|
||||
|
||||
|
||||
@@ -7,24 +7,14 @@
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>520</width>
|
||||
<height>341</height>
|
||||
<height>245</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Dialog</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_4">
|
||||
<item row="3" column="0">
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<item row="1" column="0">
|
||||
<widget class="QGroupBox" name="groupBox_2">
|
||||
<property name="title">
|
||||
<string>Parameters</string>
|
||||
@@ -79,7 +69,7 @@
|
||||
<string>Spline</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -88,6 +78,9 @@
|
||||
<property name="text">
|
||||
<string>Linear</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
@@ -108,47 +101,14 @@
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QGroupBox" name="groupBox_3">
|
||||
<property name="title">
|
||||
<string>Guideline used for distance computation</string>
|
||||
<item row="2" column="0">
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_3">
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Second guideline</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>First guideline</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QComboBox" name="comboBox_end_gl">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QComboBox" name="comboBox_begin_gl">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
|
||||
Reference in new issue
Block a user