Ensure align_family works well with VMobject fill

This commit is contained in:
Grant Sanderson 2023-01-25 09:50:16 -08:00
parent 4cb9c9c2fc
commit 93dd9f687b
2 changed files with 11 additions and 1 deletions

View file

@ -1673,10 +1673,13 @@ class Mobject(object):
for submob, sf in zip(self.submobjects, split_factors): for submob, sf in zip(self.submobjects, split_factors):
new_submobs.append(submob) new_submobs.append(submob)
for k in range(1, sf): for k in range(1, sf):
new_submobs.append(submob.copy().scale(0)) new_submobs.append(submob.invisible_copy())
self.set_submobjects(new_submobs) self.set_submobjects(new_submobs)
return self return self
def invisible_copy(self):
return self.copy().set_opacity(0)
# Interpolate # Interpolate
def interpolate( def interpolate(

View file

@ -878,6 +878,12 @@ class VMobject(Mobject):
mob.get_joint_products() mob.get_joint_products()
return self return self
def invisible_copy(self):
result = self.copy()
result.append_vectorized_mobject(self.copy().reverse_points())
result.set_opacity(0)
return result
def insert_n_curves(self, n: int, recurse: bool = True): def insert_n_curves(self, n: int, recurse: bool = True):
for mob in self.get_family(recurse): for mob in self.get_family(recurse):
if mob.get_num_curves() > 0: if mob.get_num_curves() > 0:
@ -1107,6 +1113,7 @@ class VMobject(Mobject):
if refresh: if refresh:
self.refresh_triangulation() self.refresh_triangulation()
self.refresh_joint_products() self.refresh_joint_products()
return self
return wrapper return wrapper
@triggers_refreshed_triangulation @triggers_refreshed_triangulation