mirror of https://gitlab.com/pamhyr/pamhyr2
debug mesh AGAIN
parent
31b4c47379
commit
d66e75c183
|
|
@ -63,38 +63,29 @@ class InternalMeshing(AMeshingTool):
|
||||||
|
|
||||||
def st_to_m(self, profiles, guide_list):
|
def st_to_m(self, profiles, guide_list):
|
||||||
|
|
||||||
gl1 = [""] + guide_list
|
guide_list = ["un"] + guide_list + ["np"]
|
||||||
gl2 = guide_list + [""]
|
max_values = [0] * (len(guide_list) - 1)
|
||||||
max_values = [0] * (len(guide_list) + 1)
|
max_values_index = [0] * (len(guide_list) - 1)
|
||||||
max_values_index = [0] * (len(guide_list) + 1)
|
|
||||||
# we work between each couple of guidelines
|
# we work between each couple of guidelines
|
||||||
for j, p in enumerate(profiles):
|
for j, p in enumerate(profiles):
|
||||||
index1 = 0
|
|
||||||
index2 = p.named_point_index(guide_list[0])
|
|
||||||
if index2 - index1 > max_values[0]:
|
|
||||||
max_values[0] = index2 - index1
|
|
||||||
max_values_index[0] = j
|
|
||||||
for i in range(len(guide_list) - 1):
|
for i in range(len(guide_list) - 1):
|
||||||
index1 = p.named_point_index(guide_list[i])
|
index1 = p.named_point_index(guide_list[i])
|
||||||
index2 = p.named_point_index(guide_list[i+1])
|
index2 = p.named_point_index(guide_list[i+1])
|
||||||
if index2 - index1 > max_values[i+1]:
|
if index2 - index1 > max_values[i]:
|
||||||
max_values[i+1] = index2 - index1
|
max_values[i] = index2 - index1
|
||||||
max_values_index[i+1] = j
|
max_values_index[i] = j
|
||||||
index1 = p.named_point_index(guide_list[-1])
|
|
||||||
index2 = len(p) - 1
|
|
||||||
if index2 - index1 > max_values[-1]:
|
|
||||||
max_values[-1] = index2 - index1
|
|
||||||
max_values_index[-1] = j
|
|
||||||
|
|
||||||
for i in range(len(max_values)):
|
for i in range(len(max_values)):
|
||||||
for isect in range(max_values_index[i], len(profiles)-1):
|
for isect in range(max_values_index[i], len(profiles)-1):
|
||||||
self.compl_sect(profiles[isect],
|
self.compl_sect(profiles[isect],
|
||||||
profiles[isect+1],
|
profiles[isect+1],
|
||||||
gl1[i], gl2[i])
|
guide_list[i],
|
||||||
|
guide_list[i+1])
|
||||||
for isect in reversed(range(0, max_values_index[i])):
|
for isect in reversed(range(0, max_values_index[i])):
|
||||||
self.compl_sect(profiles[isect+1],
|
self.compl_sect(profiles[isect+1],
|
||||||
profiles[isect],
|
profiles[isect],
|
||||||
gl1[i], gl2[i])
|
guide_list[i],
|
||||||
|
guide_list[i+1])
|
||||||
return profiles
|
return profiles
|
||||||
|
|
||||||
def interpolate_transversal_step(self,
|
def interpolate_transversal_step(self,
|
||||||
|
|
@ -294,6 +285,8 @@ class InternalMeshing(AMeshingTool):
|
||||||
sgn = -1.0
|
sgn = -1.0
|
||||||
else:
|
else:
|
||||||
sgn = old_orientation
|
sgn = old_orientation
|
||||||
|
if abs(sgn) < 0.5:
|
||||||
|
sgn = 1.0
|
||||||
|
|
||||||
new_rk = [0.0]*nprof
|
new_rk = [0.0]*nprof
|
||||||
new_rk[origin] = origin_value
|
new_rk[origin] = origin_value
|
||||||
|
|
|
||||||
|
|
@ -76,12 +76,23 @@ class Profile(object):
|
||||||
return self.points[index]
|
return self.points[index]
|
||||||
|
|
||||||
def named_point(self, name):
|
def named_point(self, name):
|
||||||
return next((p for p in self.points if p.name == name), None)
|
if name == "un":
|
||||||
|
return self.points[0]
|
||||||
|
elif name == "np":
|
||||||
|
return self.points[-1]
|
||||||
|
else:
|
||||||
|
return next((p for p in self.points if p.name == name), None)
|
||||||
|
|
||||||
def named_point_index(self, name):
|
def named_point_index(self, name):
|
||||||
return next(
|
if name == "un":
|
||||||
(p for p in enumerate(self.points) if p[1].name == name), None
|
return 0
|
||||||
)[0]
|
elif name == "np":
|
||||||
|
return len(self.points) - 1
|
||||||
|
else:
|
||||||
|
return next(
|
||||||
|
(p for p in enumerate(self.points) if p[1].name == name),
|
||||||
|
None
|
||||||
|
)[0]
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def reach(self):
|
def reach(self):
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue