Whoops, forgot to actually add Container files to last commit, but this is the purely virtual Container class from which MObject and Scene now derive

This commit is contained in:
Sridhar Ramesh 2018-01-29 13:37:17 -08:00
parent 322a172c28
commit d1647d32ef
2 changed files with 22 additions and 0 deletions

1
container/__init__.py Normal file
View file

@ -0,0 +1 @@
from container import *

21
container/container.py Normal file
View file

@ -0,0 +1,21 @@
from helpers import *
# 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.
#
# 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.
class Container(object):
def __init__(self, *submobjects, **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")