From d5b1a1725da76eb305bb81a14ea1144cbb4942e4 Mon Sep 17 00:00:00 2001 From: Grant Sanderson Date: Fri, 27 Jan 2023 15:15:16 -0800 Subject: [PATCH] Allow Mobject.remove to remove any family member, not just immediate submobjects --- manimlib/mobject/mobject.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/manimlib/mobject/mobject.py b/manimlib/mobject/mobject.py index 540e8250..18efb62a 100644 --- a/manimlib/mobject/mobject.py +++ b/manimlib/mobject/mobject.py @@ -408,14 +408,15 @@ class Mobject(object): self.assemble_family() return self - def remove(self, *mobjects: Mobject, reassemble: bool = True): - for mobject in mobjects: - if mobject in self.submobjects: - self.submobjects.remove(mobject) - if self in mobject.parents: - mobject.parents.remove(self) - if reassemble: - self.assemble_family() + def remove(self, *to_remove: Mobject, reassemble: bool = True): + for parent in self.get_family(): + for child in to_remove: + if child in parent.submobjects: + parent.submobjects.remove(child) + if parent in child.parents: + child.parents.remove(parent) + if reassemble: + parent.assemble_family() return self def add_to_back(self, *mobjects: Mobject):