Geometry: Meshing: Add cross sections limites.

setup.py
Pierre-Antoine Rouby 2024-02-09 17:08:29 +01:00
parent 387d462c2c
commit 1b22ba436b
2 changed files with 55 additions and 0 deletions

View File

@ -44,6 +44,7 @@ class MeshingDialog(PamhyrDialog):
)
self._reach = reach
self._profiles = None
self._init_default_values()
@ -51,6 +52,10 @@ class MeshingDialog(PamhyrDialog):
self._space_step = 50.0
self._lplan = False
self._linear = False
self._begin_cs = -1
self._end_cs = -1
self._init_default_values_profiles()
self.set_double_spin_box(
"doubleSpinBox_space_step",
@ -62,6 +67,41 @@ class MeshingDialog(PamhyrDialog):
else:
self.set_radio_button("radioButton_spline", True)
def _init_default_values_profiles(self):
profiles = self.profiles
self.combobox_add_items("comboBox_begin_kp", profiles)
self.combobox_add_items("comboBox_end_kp", profiles)
self.set_combobox_text("comboBox_begin_kp", profiles[0])
self.set_combobox_text("comboBox_end_kp", profiles[-1])
@property
def profiles(self):
if self._profiles == None:
self._profiles = list(
map(
lambda p: self._profile_name(p),
self._reach.profiles
)
)
return self._profiles
def _profile_name(self, profile):
name = profile.name
if name == "":
name = f"{profile.kp}"
else:
name += f" ({profile.kp})"
return name
def _get_guide_line(self):
gl = self._reach
return []
@property
def space_step(self):
return self._space_step
@ -74,12 +114,26 @@ class MeshingDialog(PamhyrDialog):
def linear(self):
return self._linear
@property
def begin_cs(self):
return self._begin_cs + 1
@property
def end_cs(self):
return self._end_cs + 1
def accept(self):
self._space_step = self.get_double_spin_box(
"doubleSpinBox_space_step",
)
self._linear = self.get_radio_button("radioButton_linear")
p1 = self.get_combobox_text("comboBox_begin_kp")
p2 = self.get_combobox_text("comboBox_end_kp")
self._begin_cs = self.profiles.index(p1)
self._end_cs = self.profiles.index(p2)
super().accept()
def reject(self):

View File

@ -268,6 +268,7 @@ class GeometryWindow(PamhyrWindow):
if dlg.exec():
data = {
"step": dlg.space_step,
"limites": [dlg.begin_cs, dlg.end_cs],
"lplan": dlg.lplan,
"linear": dlg.linear,
}