class_docstr: Point pen used for drawing to a TrueType glyph.
  
  This pen can be used to construct or modify glyphs in a TrueType format
  font. After using the pen to draw, use the ``.glyph()`` method to retrieve
  a :py:class:`~._g_l_y_f.Glyph` object representing the glyph.
class_docstr_tok: ["Point","pen","used","for","drawing","to","a","TrueType","glyph",".","This","pen","can","be","used","to","construct","or","modify","glyphs","in","a","TrueType","format","font",".","After","using","the","pen","to","draw",",","use","the","``",".glyph","(",")","``","method","to","retrieve","a",":","py",":","class",":","`","~._g_l_y_f.Glyph","`","object","representing","the","glyph","."]
docstr: Add a point to the current sub path.
docstr_tok: ["Add","a","point","to","the","current","sub","path","."]
code: def addPoint(
      self,
      pt: Tuple[float, float],
      segmentType: Optional[str] = None,
      smooth: bool = False,
      name: Optional[str] = None,
      identifier: Optional[str] = None,
      **kwargs: Any,
  ) -> None:
      """
      Add a point to the current sub path.
      """
      if self._isClosed():
          raise PenError("Can't add a point to a closed contour.")
      if segmentType is None:
          self.types.append(0)
      elif segmentType in ("line", "move"):
          self.types.append(flagOnCurve)
      elif segmentType == "qcurve":
          self.types.append(flagOnCurve)
      elif segmentType == "curve":
          self.types.append("curve")
      else:
          raise AssertionError(segmentType)
  
      self.points.append(pt)
  
imports: from array import array
  from typing import Any, Callable, Dict, Optional, Tuple
  from fontTools.misc.fixedTools import MAX_F2DOT14, floatToFixedToFloat
  from fontTools.misc.loggingTools import LogMixin
  from fontTools.pens.pointPen import AbstractPointPen
  from fontTools.misc.roundTools import otRound
  from fontTools.pens.basePen import LoggingPen, PenError
  from fontTools.pens.transformPen import TransformPen, TransformPointPen
  from fontTools.ttLib.tables import ttProgram
  from fontTools.ttLib.tables._g_l_y_f import flagOnCurve, flagCubic
  from fontTools.ttLib.tables._g_l_y_f import Glyph
  from fontTools.ttLib.tables._g_l_y_f import GlyphComponent
  from fontTools.ttLib.tables._g_l_y_f import GlyphCoordinates
  from fontTools.ttLib.tables._g_l_y_f import dropImpliedOnCurvePoints
  import math
label_desc: Use image node_id 5 for calling the TTGlyphPointPen obj's underlying member method code with example usage: obj.addPoint(pt, segmentType, smooth, name, identifier) without return types