class_docstr: Pen to calculate the bounds of a shape. It calculates the
  correct bounds even when the shape contains curves that don't
  have points on their extremes. This is somewhat slower to compute
  than the "control bounds".
  
  When the shape has been drawn, the bounds are available as the
  ``bounds`` attribute of the pen object. It's a 4-tuple::
  
          (xMin, yMin, xMax, yMax)
code: def _curveToOne(self, bcp1, bcp2, pt):
      self._addMoveTo()
      bounds = self.bounds
      bounds = updateBounds(bounds, pt)
      if not pointInRect(bcp1, bounds) or not pointInRect(bcp2, bounds):
          bounds = unionRect(
              bounds,
              calcCubicBounds(self._getCurrentPoint(), bcp1, bcp2, pt),
          )
      self.bounds = bounds
  
file_path: catboost/contrib/python/fonttools/fontTools/pens/boundsPen.py
imports: from fontTools.misc.arrayTools import updateBounds, pointInRect, unionRect
  from fontTools.misc.bezierTools import calcCubicBounds, calcQuadraticBounds
  from fontTools.pens.basePen import BasePen
label_desc: Use image node_id 1 for calling the BoundsPen obj's underlying member method code with example usage: obj._curveToOne(bcp1, bcp2, pt) without return types