Small changes to Mobject.upate

This commit is contained in:
Grant Sanderson 2019-02-03 12:11:56 -08:00
parent 0212fa27e7
commit b5c60ecd0a

View file

@ -125,6 +125,7 @@ class Mobject(Container):
copy_mobject.submobjects = [ copy_mobject.submobjects = [
submob.copy() for submob in self.submobjects submob.copy() for submob in self.submobjects
] ]
copy_mobject.updaters = list(self.updaters)
family = self.get_family() family = self.get_family()
for attr, value in list(self.__dict__.items()): for attr, value in list(self.__dict__.items()):
if isinstance(value, Mobject) and value in family and value is not self: if isinstance(value, Mobject) and value in family and value is not self:
@ -147,7 +148,8 @@ class Mobject(Container):
# Updating # Updating
def update(self, dt=0, recursive=True): def update(self, dt=0, recursive=True):
if not self.updating_suspended: if self.updating_suspended:
return self
for updater in self.updaters: for updater in self.updaters:
parameters = get_parameters(updater) parameters = get_parameters(updater)
if "dt" in parameters: if "dt" in parameters:
@ -182,8 +184,11 @@ class Mobject(Container):
self.updaters.remove(update_function) self.updaters.remove(update_function)
return self return self
def clear_updaters(self): def clear_updaters(self, recursive=True):
self.updaters = [] self.updaters = []
if recursive:
for submob in self.submobjects:
submob.clear_updaters()
return self return self
def suspend_updating(self, recursive=True): def suspend_updating(self, recursive=True):