code: def __init__(self, glyphset=None, tolerance=0.005):
      BasePen.__init__(self, glyphset)
      self.value = 0
      self.tolerance = tolerance
  
      # Choose which algorithm to use for quadratic and for cubic.
      # Quadrature is faster but has fixed error characteristic with no strong
      # error bound.  The cutoff points are derived empirically.
      self._addCubic = (
          self._addCubicQuadrature
          if tolerance >= 0.0015
          else self._addCubicRecursive
      )
      self._addQuadratic = (
          self._addQuadraticQuadrature
          if tolerance >= 0.00075
          else self._addQuadraticExact
      )
  
file_path: catboost/contrib/python/fonttools/fontTools/pens/perimeterPen.py
imports: from fontTools.pens.basePen import BasePen
  from fontTools.misc.bezierTools import approximateQuadraticArcLengthC, calcQuadraticArcLengthC, approximateCubicArcLengthC, calcCubicArcLengthC
  import math
label_desc: Use image node_id 1 to create a new PerimeterPen object from inherited base classes: BasePen with example: obj = PerimeterPen(glyphset, tolerance)