diff --git a/manimlib/animation/animation.py b/manimlib/animation/animation.py index 2ad04d6b..fb37a5a1 100644 --- a/manimlib/animation/animation.py +++ b/manimlib/animation/animation.py @@ -5,7 +5,6 @@ import numpy as np from manimlib.constants import * from manimlib.mobject.mobject import Mobject from manimlib.utils.config_ops import digest_config -from manimlib.utils.config_ops import instantiate from manimlib.utils.rate_functions import smooth @@ -26,7 +25,6 @@ class Animation(object): } def __init__(self, mobject, **kwargs): - mobject = instantiate(mobject) assert(isinstance(mobject, Mobject)) digest_config(self, kwargs, locals()) # Make sure it's all up to date @@ -38,6 +36,12 @@ class Animation(object): self.all_families_zipped = self.get_all_families_zipped() self.update(0) + def begin_animation(self): + pass + + def end_animation(self): + pass + def __str__(self): return self.name diff --git a/manimlib/animation/composition.py b/manimlib/animation/composition.py index ed466827..d456d731 100644 --- a/manimlib/animation/composition.py +++ b/manimlib/animation/composition.py @@ -3,9 +3,7 @@ import warnings import numpy as np from manimlib.animation.animation import Animation -from manimlib.constants import * from manimlib.mobject.mobject import Group -from manimlib.mobject.mobject import Mobject from manimlib.utils.bezier import inverse_interpolate from manimlib.utils.config_ops import digest_config from manimlib.utils.rate_functions import linear @@ -192,7 +190,7 @@ class AnimationGroup(Animation): self.run_time = 0 else: self.run_time = max([a.run_time for a in sub_anims]) - everything = Mobject(*[a.mobject for a in sub_anims]) + everything = Group(*[a.mobject for a in sub_anims]) Animation.__init__(self, everything, **kwargs) def update(self, alpha): @@ -262,13 +260,13 @@ class ApplyToCenters(Animation): def __init__(self, AnimationClass, mobjects, **kwargs): full_kwargs = AnimationClass.CONFIG full_kwargs.update(kwargs) - full_kwargs["mobject"] = Mobject(*[ + full_kwargs["mobject"] = Group(*[ mob.get_point_mobject() for mob in mobjects ]) self.centers_container = AnimationClass(**full_kwargs) full_kwargs.pop("mobject") - Animation.__init__(self, Mobject(*mobjects), **full_kwargs) + Animation.__init__(self, Group(*mobjects), **full_kwargs) self.name = str(self) + AnimationClass.__name__ def update_mobject(self, alpha): diff --git a/manimlib/animation/transform.py b/manimlib/animation/transform.py index 1dcfeec2..ad99184e 100644 --- a/manimlib/animation/transform.py +++ b/manimlib/animation/transform.py @@ -210,8 +210,10 @@ class ComplexFunction(ApplyPointwiseFunction): ) ApplyPointwiseFunction.__init__( self, - lambda x_y_z: complex_to_R3(function(complex(x_y_z[0], x_y_z[1]))), - instantiate(mobject), + lambda p: complex_to_R3(function( + complex(p[0], p[1]) + )), + mobject, **kwargs ) diff --git a/manimlib/continual_animation/continual_animation.py b/manimlib/continual_animation/continual_animation.py index 88f632a5..9717c0a7 100644 --- a/manimlib/continual_animation/continual_animation.py +++ b/manimlib/continual_animation/continual_animation.py @@ -4,7 +4,6 @@ from manimlib.constants import * from manimlib.mobject.mobject import Group from manimlib.mobject.mobject import Mobject from manimlib.utils.config_ops import digest_config -from manimlib.utils.config_ops import instantiate class ContinualAnimation(object): @@ -15,7 +14,6 @@ class ContinualAnimation(object): } def __init__(self, mobject, **kwargs): - mobject = instantiate(mobject) assert(isinstance(mobject, Mobject)) digest_config(self, kwargs, locals()) self.internal_time = 0 diff --git a/manimlib/utils/config_ops.py b/manimlib/utils/config_ops.py index 3c18740a..2363cc97 100644 --- a/manimlib/utils/config_ops.py +++ b/manimlib/utils/config_ops.py @@ -2,15 +2,6 @@ import inspect import itertools as it -def instantiate(obj): - """ - Useful so that classes or instance of those classes can be - included in configuration, which can prevent defaults from - getting created during compilation/importing - """ - return obj() if isinstance(obj, type) else obj - - def get_all_descendent_classes(Class): awaiting_review = [Class] result = []