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