code: def __densify_border(self):
          
          if isinstance(self._input_geom, MultiPolygon):
              polygons = [polygon for polygon in self._input_geom]
          else:
              polygons = [self._input_geom]
  
          points = []
          for polygon in polygons:
              if len(polygon.interiors) == 0:
                  exterior = LineString(polygon.exterior)
                  points += self.__fixed_interpolation(exterior)
  
              else:
                  exterior = LineString(polygon.exterior)
                  points += self.__fixed_interpolation(exterior)
  
                  for j in range(len(polygon.interiors)):
                      interior = LineString(polygon.interiors[j])
                      points += self.__fixed_interpolation(interior)
  
          return points
docs: Densify the border of a polygon.
  
          The border is densified by a given factor (by default: 0.5).
  
          The complexity of the polygon's geometry is evaluated in order
          to densify the borders of its interior rings as well.
  
          Returns:
              list: a list of points where each point is represented by
                  a list of its reduced coordinates
  
          Example:
              [[X1, Y1], [X2, Y2], ..., [Xn, Yn]