Merge pull request #2177 from 3b1b/video-work

Fix issue with Difference
This commit is contained in:
Grant Sanderson 2024-10-10 13:20:53 -07:00 committed by GitHub
commit cce4ffbb60
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -11,15 +11,15 @@ from manimlib.mobject.types.vectorized_mobject import VMobject
def _convert_vmobject_to_skia_path(vmobject: VMobject) -> pathops.Path:
path = pathops.Path()
subpaths = vmobject.get_subpaths_from_points(vmobject.get_all_points())
for subpath in subpaths:
quads = vmobject.get_bezier_tuples_from_points(subpath)
start = subpath[0]
path.moveTo(*start[:2])
for p0, p1, p2 in quads:
path.quadTo(*p1[:2], *p2[:2])
if vmobject.consider_points_equal(subpath[0], subpath[-1]):
path.close()
for submob in vmobject.family_members_with_points():
for subpath in submob.get_subpaths():
quads = vmobject.get_bezier_tuples_from_points(subpath)
start = subpath[0]
path.moveTo(*start[:2])
for p0, p1, p2 in quads:
path.quadTo(*p1[:2], *p2[:2])
if vmobject.consider_points_equal(subpath[0], subpath[-1]):
path.close()
return path