3b1b-manim/manimlib/container/container.py

27 lines
1 KiB
Python
Raw Normal View History

from manimlib.utils.config_ops import digest_config
2018-05-09 14:03:53 -07:00
# Currently, this is only used by both Scene and Mobject.
# Still, we abstract its functionality here, albeit purely nominally.
# All actual implementation has to be handled by derived classes for now.
#
2018-05-09 14:03:53 -07:00
# Note that although the prototypical instances add and remove Mobjects,
# there is also the possibility to add ContinualAnimations to Scenes. Thus,
# in the Container class in general, we do not make any presumptions about
# what types of objects may be added; this is again dependent on the specific
# derived instance.
2018-05-09 14:03:53 -07:00
# TODO: Move the "remove" functionality of Scene to this class
class Container(object):
2019-02-06 21:16:26 -08:00
def __init__(self, **kwargs):
digest_config(self, kwargs)
def add(self, *items):
raise Exception(
"Container.add is not implemented; it is up to derived classes to implement")
def remove(self, *items):
raise Exception(
"Container.remove is not implemented; it is up to derived classes to implement")