""" base.py ------------- The base class for `Visual` objects """ import abc from ..util import ABC class Visuals(ABC): """ Parent of Visual classes. """ @abc.abstractproperty def kind(self): pass @abc.abstractmethod def update_vertices(self): pass @abc.abstractmethod def update_faces(self): pass @abc.abstractmethod def concatenate(self, other): pass @abc.abstractmethod def crc(self): pass @abc.abstractmethod def copy(self): pass def __add__(self, other): """ Concatenate two ColorVisuals objects into a single object. Parameters ----------- other : Visuals Other visual to concatenate Returns ----------- result : Visuals Object containing information from current object and other in the order (self, other) """ return self.concatenate(other)