code: def addPointLast(self, p, add_point=True):
      if add_point:
          grip = GripItem(
              self,
              len(self),
              self.borderColor,
              (self.height, self.width),
          )
          self.scene().addItem(grip)
          self.m_items.append(grip)
          grip.updateSize()
          grip.setPos(p)
      if len(self) == 0:
          line = LineItem(self, len(self), self.borderColor)
          self.scene().addItem(line)
          self.m_lines.append(line)
          line.setLine(QtCore.QLineF(p, p))
      else:
          self.m_lines[-1].setLine(QtCore.QLineF(self.points[-1], p))
          line = LineItem(self, len(self), self.borderColor)
          self.scene().addItem(line)
          self.m_lines.append(line)
          line.setLine(QtCore.QLineF(p, self.points[0]))
      self.points.append(p)
      self.setPolygon(QtGui.QPolygonF(self.points))
      if self.bbox:
          self.bbox.update()
  
imports: from qtpy import QtWidgets, QtGui, QtCore
  from .None import GripItem, LineItem, BBoxAnnotation
label_desc: Use image node_id 5 for calling the PolygonAnnotation obj's underlying member method code with example usage: obj.addPointLast(p, add_point) without return types