mirror of
https://github.com/3b1b/manim.git
synced 2025-08-05 16:49:03 +00:00
Make sure Mobject.become remaps any attributes pointing to family members appropriately.
This commit is contained in:
parent
77309a634b
commit
dfa019fcde
1 changed files with 7 additions and 1 deletions
|
@ -634,13 +634,19 @@ class Mobject(object):
|
||||||
to another mobject
|
to another mobject
|
||||||
"""
|
"""
|
||||||
self.align_family(mobject)
|
self.align_family(mobject)
|
||||||
for sm1, sm2 in zip(self.get_family(), mobject.get_family()):
|
family1 = self.get_family()
|
||||||
|
family2 = mobject.get_family()
|
||||||
|
for sm1, sm2 in zip(family1, family2):
|
||||||
sm1.set_data(sm2.data)
|
sm1.set_data(sm2.data)
|
||||||
sm1.set_uniforms(sm2.uniforms)
|
sm1.set_uniforms(sm2.uniforms)
|
||||||
sm1.shader_folder = sm2.shader_folder
|
sm1.shader_folder = sm2.shader_folder
|
||||||
sm1.texture_paths = sm2.texture_paths
|
sm1.texture_paths = sm2.texture_paths
|
||||||
sm1.depth_test = sm2.depth_test
|
sm1.depth_test = sm2.depth_test
|
||||||
sm1.render_primitive = sm2.render_primitive
|
sm1.render_primitive = sm2.render_primitive
|
||||||
|
# Make sure named family members carry over
|
||||||
|
for attr, value in list(mobject.__dict__.items()):
|
||||||
|
if isinstance(value, Mobject) and value in family2:
|
||||||
|
setattr(self, attr, family1[family2.index(value)])
|
||||||
self.refresh_bounding_box(recurse_down=True)
|
self.refresh_bounding_box(recurse_down=True)
|
||||||
self.match_updaters(mobject)
|
self.match_updaters(mobject)
|
||||||
return self
|
return self
|
||||||
|
|
Loading…
Add table
Reference in a new issue