def cut_crossing_segments(
        self,
        cut_start_pos,
        cut_end_pos,
    ):
        """Sever segments crossed by the "cutting" segment.

        Parameters
        ==========
        cut_start_pos (2-tuple of integers)
            start position of "cutting" segment.
        cut_end_pos (2-tuple of integers)
            end position of "cutting" segment.
        """
        ### define the cutting segment
        cutting_segment = (cut_start_pos, cut_end_pos)

        ### reference all existing socket pairs which
        ### are connected by line segments

        socket_pairs = [
            (parent, child) for parent in self.parents for child in parent.children
        ]

        ### create a flag indicating whether any segment
        ### was severed
        any_severed = False

        ### iterate over each socket pair, checking whether
        ### the segment they form is crossed by the cutting
        ### segment, in which case it must be severed (and
        ### the 'any_severed' flag set to True)

        for parent, child in socket_pairs:

            existing_segment = (parent.rect.center, child.rect.center)

            if do_segments_cross(
                cutting_segment,
                existing_segment,
            ):

                self.sever_segment_between_sockets(
                    parent,
                    child,
                )

                any_severed = True

        self.signal_severance_of_removed_sockets()

        ### if any segment was severed, indicate the change in the data and
        ### that the birdseye view state of window manager must have its
        ### objects updated next time it is set

        if any_severed:

            indicate_unsaved()
            APP_REFS.ea.must_update_birdseye_view_objects = True
Sever segments crossed by the "cutting" segment.

        Parameters
        ==========
        cut_start_pos (2-tuple of integers)
            start position of "cutting" segment.
        cut_end_pos (2-tuple of integers)
            end position of "cutting" segment.
        
nodezator/graphman/socketparenthood/support.py