docs: def rebuildSmooth(self):
          """
          Rebuilds a smooth path based on the inputed points and set \
          parameters for this item.
          
          :return     <QPainterPath>
          """
          # collect the control points
          points = self.controlPoints()
  
          # create the path
          path = QPainterPath()
  
          if len(points) == 3:
              x0, y0 = points[0]
              x1, y1 = points[1]
              xN, yN = points[2]
  
              path.moveTo(x0, y0)
              path.quadTo(x1, y1, xN, yN)
  
          elif len(points) == 4:
              x0, y0 = points[0]
              x1, y1 = points[1]
              x2, y2 = points[2]
              xN, yN = points[3]
  
              path.moveTo(x0, y0)
              path.cubicTo(x1, y1, x2, y2, xN, yN)
  
          elif len(points) == 6:
              x0, y0 = points[0]
              x1, y1 = points[1]
              x2, y2 = points[2]
              x3, y3 = points[3]
              x4, y4 = points[4]
              xN, yN = points[5]
  
              xC = (x2 + x3) / 2.0
              yC = (y2 + y3) / 2.0
  
              path.moveTo(x0, y0)
              path.cubicTo(x1, y1, x2, y2, xC, yC)
              path.cubicTo(x3, y3, x4, y4, xN, yN)
  
          else:
              x0, y0 = points[0]
              xN, yN = points[-1]
  
              path.moveTo(x0, y0)
              path.lineTo(xN, yN)
  
          return path