def compress_lines(self, Curve): """ compress_lines() """ NewCurve = [] Pts = [] for geo in Curve: NewCurve.append(geo) anz = len(NewCurve) if anz >= 2: # Wenn Geo eine Linie ist anh�ngen und �berpr�fen if isinstance(NewCurve[-2], LineGeo) and isinstance(NewCurve[-1], LineGeo): Pts.append(geo.Pe) JointLine = LineGeo(NewCurve[-2].Ps, NewCurve[-1].Pe) # �berpr�fung der Abweichung res = [] for Point in Pts: res.append(JointLine.distance(Point)) # print res # Wenn die Abweichung OK ist Vorheriges anh�ngen if max(res) < self.epsilon: anz = len(NewCurve) del NewCurve[anz - 2:anz] NewCurve.append(JointLine) points = [geo.Pe] # Wenn nicht nicht anh�ngen und Pts zur�cksetzen else: Pts = [geo.Pe] # Wenn es eines eine andere Geometrie als eine Linie ist else: Pts = [] return NewCurve