class_docstr: Baseclass for point pens that apply some transformation to the
  coordinates they receive and pass them to another point pen.
  
  You can override any of its methods. The default implementation does
  nothing, but passes the commands unmodified to the other pen.
  
  >>> from fontTools.pens.recordingPen import RecordingPointPen
  >>> rec = RecordingPointPen()
  >>> pen = FilterPointPen(rec)
  >>> v = iter(rec.value)
  >>> pen.beginPath(identifier="abc")
  >>> next(v)
  ('beginPath', (), {'identifier': 'abc'})
  >>> pen.addPoint((1, 2), "line", False)
  >>> next(v)
  ('addPoint', ((1, 2), 'line', False, None), {})
  >>> pen.addComponent("a", (2, 0, 0, 2, 10, -10), identifier="0001")
  >>> next(v)
  ('addComponent', ('a', (2, 0, 0, 2, 10, -10)), {'identifier': '0001'})
  >>> pen.endPath()
  >>> next(v)
  ('endPath', (), {})
code: def addPoint(
      self, pt, segmentType=None, smooth=False, name=None, **kwargs
  ):
      self._outPen.addPoint(pt, segmentType, smooth, name, **kwargs)
  
imports: from fontTools.pens.basePen import AbstractPen
  from fontTools.pens.pointPen import AbstractPointPen
  from fontTools.pens.recordingPen import RecordingPen
label_desc: Use image node_id 4 for calling the FilterPointPen obj's underlying member method code with example usage: obj.addPoint(pt, segmentType, smooth, name) without return types