graphics/GraphicCommons.py
changeset 398 c215899298c7
parent 395 d432eae889ed
child 399 3b9e0b092298
equal deleted inserted replaced
397:ea47ebbe23b7 398:c215899298c7
  1928             self.Points[-1] = self.EndPoint[0]
  1928             self.Points[-1] = self.EndPoint[0]
  1929             # Calculate the segments directions
  1929             # Calculate the segments directions
  1930             self.Segments = []
  1930             self.Segments = []
  1931             i = 0
  1931             i = 0
  1932             while i < len(self.Points) - 1:
  1932             while i < len(self.Points) - 1:
  1933                 segment = vector(self.Points[i], self.Points[i + 1])
  1933                 if 0 < i < len(self.Points) - 2 and \
  1934                 if is_null_vector(segment) and i > 0:
  1934                    self.Points[i] == self.Points[i + 1] and \
  1935                     segment = (self.Segments[-1][1], self.Segments[-1][0])
  1935                    self.Segments[-1] == vector(self.Points[i + 1], self.Points[i + 2]):
  1936                 if i < len(self.Points) - 2:
  1936                     for j in xrange(2):
  1937                     next = vector(self.Points[i + 1], self.Points[i + 2])
  1937                         self.Points.pop(i)
  1938                     if next == segment or is_null_vector(add_vectors(segment, next)):
  1938                 else:
  1939                         self.Points.insert(i + 1, wx.Point(self.Points[i + 1].x, self.Points[i + 1].y))
  1939                     segment = vector(self.Points[i], self.Points[i + 1])
  1940                 self.Segments.append(segment)
  1940                     if is_null_vector(segment) and i > 0:
  1941                 i += 1
  1941                         segment = (self.Segments[-1][1], self.Segments[-1][0])
       
  1942                     if i < len(self.Points) - 2:
       
  1943                         next = vector(self.Points[i + 1], self.Points[i + 2])
       
  1944                         if next == segment or is_null_vector(add_vectors(segment, next)):
       
  1945                             self.Points.insert(i + 1, wx.Point(self.Points[i + 1].x, self.Points[i + 1].y))
       
  1946                     self.Segments.append(segment)
       
  1947                     i += 1
  1942             self.RefreshBoundingBox()
  1948             self.RefreshBoundingBox()
  1943             self.RefreshRealPoints()
  1949             self.RefreshRealPoints()
  1944     
  1950     
  1945     # Returns the position of the point indicated
  1951     # Returns the position of the point indicated
  1946     def GetPoint(self, index):
  1952     def GetPoint(self, index):