Skip to content

Commit

Permalink
last steps for patterns:
Browse files Browse the repository at this point in the history
* scale ballooningbezier
* fix steep cut of panels (todo!)
* drawingarea fix
  • Loading branch information
hiaselhans committed Apr 14, 2016
1 parent 31c0eaf commit 54dd254
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 12 deletions.
10 changes: 9 additions & 1 deletion openglider/glider/ballooning.py
Original file line number Diff line number Diff line change
Expand Up @@ -140,8 +140,11 @@ def amount_integral(self):
@amount_maximal.setter
def amount_maximal(self, amount):
factor = float(amount) / self.amount_maximal
self.scale(factor)

def scale(self, factor):
self.upper.scale(1, factor)
self.lower.scale(1, factor)#
self.lower.scale(1, factor)


class BallooningBezier(Ballooning):
Expand Down Expand Up @@ -198,4 +201,9 @@ def controlpoints(self, controlpoints):
self.lower_spline.controlpoints = lower
Ballooning.__init__(self, self.upper_spline.interpolation(), self.lower_spline.interpolation())

def scale(self, factor):
super(BallooningBezier, self).scale(factor)
self.upper_spline.scale(1, factor)
self.lower_spline.scale(1, factor)


18 changes: 10 additions & 8 deletions openglider/plots/glider/cell.py
Original file line number Diff line number Diff line change
Expand Up @@ -98,23 +98,25 @@ def _get_panel(self, panel):
self.outer[0], self.outer[1], amount_back)

# spitzer schnitt
# links
if cut_front[1] >= cut_back[1]:
# rechts
if cut_front[2] >= cut_back[2]:
cut_front_new = PolyLine2D(cut_front[0])
ik1, ik2 = cut_front_new.cut_with_polyline(cut_back[0],
_cuts = cut_front_new.cut_with_polyline(cut_back[0],
startpoint=0)
ik1, ik2 = next(_cuts)

panel_right = PolyLine2D([])
panel_back = PolyLine2D(cut_back[0])[ik2:]
panel_left = self.outer[1][cut_front[2]:cut_back[2]:-1]
panel_left = self.outer[1][cut_front[1]:cut_back[1]:-1]
panel_front = cut_front_new[ik1::-1]
# rechts
elif cut_front[2] >= cut_back[2]:
elif cut_front[1] >= cut_back[1]:
cut_front_new = PolyLine2D(cut_front[0])
ik1, ik2 = cut_front_new.cut_with_polyline(cut_back[0],
startpoint=len(
cut_front_new) - 1)
_cuts = cut_front_new.cut_with_polyline(cut_back[0],
startpoint=len(cut_front_new)-1)
ik1, ik2 = next(_cuts)

print(ik1, ik2, panel.name)
panel_right = self.outer[0][cut_front[2]:cut_back[2]]
panel_back = PolyLine2D(cut_back[0])[:ik2]
panel_left = PolyLine2D([])
Expand Down
4 changes: 2 additions & 2 deletions openglider/plots/sketches/diagonal.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ def diagonal_plot(glider2d, glider3d=None):

for cell_no, cell in enumerate(glider3d.cells):
for diagonal in cell.diagonals:
left = [p[0] for p in (diagonal.left_front, diagonal.left_back)]
right = [p[0] for p in (diagonal.right_front, diagonal.right_back)]
left = [abs(p[0]) for p in (diagonal.left_front, diagonal.left_back)]
right = [abs(p[0]) for p in (diagonal.right_front, diagonal.right_back)]

points_left = [shape.get_shape_point(cell_no, p) for p in left]
points_right = [shape.get_shape_point(cell_no+1, p) for p in right]
Expand Down
3 changes: 2 additions & 1 deletion openglider/utils/css.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,9 @@ def normalize_class_names(code):


def get_material_color(code):
code_upper = code.upper()
for pattern in colour_patterns:
match = pattern.match(code)
match = pattern.match(code_upper)
if match:
return match.groups()[0]

Expand Down

0 comments on commit 54dd254

Please sign in to comment.