Пример #1
0
 def __init__(self, *vmobjects: VMobject, **kwargs):
     if len(vmobjects) < 2:
         raise ValueError("At least 2 mobjects needed for Intersection.")
     super().__init__(**kwargs)
     outpen = pathops.Path()
     pathops.intersection(
         [_convert_vmobject_to_skia_path(vmobjects[0])],
         [_convert_vmobject_to_skia_path(vmobjects[1])],
         outpen.getPen(),
     )
     new_outpen = outpen
     for _i in range(2, len(vmobjects)):
         new_outpen = pathops.Path()
         pathops.intersection(
             [outpen],
             [_convert_vmobject_to_skia_path(vmobjects[_i])],
             new_outpen.getPen(),
         )
         outpen = new_outpen
     _convert_skia_path_to_vmobject(outpen, self)
Пример #2
0
    def __init__(self, *vmobjects, **kwargs) -> None:
        if len(vmobjects) < 2:
            raise ValueError("At least 2 mobjects needed for Intersection.")

        super().__init__(**kwargs)
        outpen = SkiaPath()
        intersection(
            [self._convert_vmobject_to_skia_path(vmobjects[0])],
            [self._convert_vmobject_to_skia_path(vmobjects[1])],
            outpen.getPen(),
        )
        new_outpen = outpen
        for _i in range(2, len(vmobjects)):
            new_outpen = SkiaPath()
            intersection(
                [outpen],
                [self._convert_vmobject_to_skia_path(vmobjects[_i])],
                new_outpen.getPen(),
            )
            outpen = new_outpen

        self._convert_skia_path_to_vmobject(outpen)