Add TransformMatching code review changes

This commit is contained in:
Simeon Widdis 2022-06-18 16:39:25 -06:00
commit 6de61ecbba
No known key found for this signature in database
GPG key ID: D54B2EB10049EEA9
2 changed files with 5 additions and 6 deletions

View file

@ -122,6 +122,7 @@ class TransformMatchingAbstractBase(AnimationGroup):
fade_source.add(source_map[key])
for key in set(target_map).difference(source_map):
fade_target.add(target_map[key])
fade_target_copy = fade_target.copy()
if transform_mismatches:
if "replace_mobject_with_target_in_scene" not in kwargs:
@ -132,12 +133,12 @@ class TransformMatchingAbstractBase(AnimationGroup):
else:
anims.append(FadeOut(fade_source, target_position=fade_target, **kwargs))
anims.append(
FadeIn(fade_target, target_position=fade_target, **kwargs),
FadeIn(fade_target_copy, target_position=fade_target, **kwargs),
)
super().__init__(*anims)
self.to_remove = mobject
self.to_remove = [mobject, fade_target_copy]
self.to_add = target_mobject
def get_shape_map(self, mobject: Mobject) -> dict:
@ -155,11 +156,9 @@ class TransformMatchingAbstractBase(AnimationGroup):
def clean_up_from_scene(self, scene: Scene) -> None:
# Interpolate all animations back to 0 to ensure source mobjects remain unchanged.
for anim in self.animations:
# Skip interpolating FadeIn because fade_target is not a source.
if not isinstance(anim, FadeIn):
anim.interpolate(0)
anim.interpolate(0)
scene.remove(self.mobject)
scene.remove(self.to_remove)
scene.remove(*self.to_remove)
scene.add(self.to_add)
@staticmethod