code: def _set_bcpOut(self, value):
          
          x, y = absoluteBCPOut(self.anchor, value)
          segment = self._segment
          nextSegment = self._nextSegment
          if nextSegment.type == "move" and value != (0, 0):
              raise FontPartsError(("Cannot set the bcpOut for the last "
                                    "point in an open contour.")
                                   )
          else:
              offCurves = nextSegment.offCurve
              if offCurves:
                  # if the off curves are located at the anchor coordinates
                  # we can switch to a "line" segment type
                  if value == (0, 0) and self.bcpIn == (0, 0):
                      segment.type = "line"
                      segment.smooth = False
                  else:
                      offCurves[0].x = x
                      offCurves[0].y = y
              elif value != (0, 0):
                  nextSegment.type = "curve"
                  offCurves = nextSegment.offCurve
                  offCurves[0].x = x
                  offCurves[0].y = y
docs: Subclasses may override this method.