def METHOD_NAME(self, point):
    # Start of with current point
    self.snapPos.assign(point)
    # Snap if necessary
    if self.fXyzSnap:
        self.snapPos.set(
            ROUND_TO(self.snapPos[0], self.gridSpacing),
            ROUND_TO(self.snapPos[1], self.gridSpacing),
            ROUND_TO(self.snapPos[2], self.gridSpacing))
    # Move snap marker to this point
    self.snapMarker.setPos(self.snapPos)
    # Return the hit point
    return self.snapPos