Skip to content

Commit ca618a6

Browse files
committed
Remove scene references from CairoRenderer
1 parent 4051ee1 commit ca618a6

File tree

3 files changed

+13
-11
lines changed

3 files changed

+13
-11
lines changed

manim/renderer/cairo_renderer.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@
1010

1111
def manage_scene_reference(func):
1212
def wrapper(self, scene, *args, **kwargs):
13-
setattr(self, "temp_scene_ref", scene)
13+
setattr(self, "scene", scene)
1414
func(self, *args, **kwargs)
15-
delattr(self, "temp_scene_ref")
15+
delattr(self, "scene")
1616

1717
return wrapper
1818

@@ -77,7 +77,6 @@ def __init__(self, scene, camera_class, **kwargs):
7777
scene,
7878
**file_writer_config,
7979
)
80-
self.scene = scene
8180
self.original_skipping_status = file_writer_config["skip_animations"]
8281
self.animations_hashes = []
8382
self.num_plays = 0
@@ -97,6 +96,7 @@ def wait(self, duration=DEFAULT_WAIT_TIME, stop_condition=None):
9796

9897
def update_frame( # TODO Description in Docstring
9998
self,
99+
scene,
100100
mobjects=None,
101101
background=None,
102102
include_submobjects=True,
@@ -124,8 +124,8 @@ def update_frame( # TODO Description in Docstring
124124
return
125125
if mobjects is None:
126126
mobjects = list_update(
127-
self.scene.mobjects,
128-
self.scene.foreground_mobjects,
127+
scene.mobjects,
128+
scene.foreground_mobjects,
129129
)
130130
if background is not None:
131131
self.camera.set_frame_to_background(background)
@@ -209,4 +209,3 @@ def finish(self):
209209
self.file_writer.finish()
210210
if file_writer_config["save_last_frame"]:
211211
self.file_writer.save_final_image(self.camera.get_image())
212-
logger.info(f"Rendered {str(self.scene)}\nPlayed {self.num_plays} animations")

manim/scene/scene.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,9 @@ def render(self):
8686
pass
8787
self.tear_down()
8888
self.renderer.finish()
89+
logger.info(
90+
f"Rendered {str(self)}\nPlayed {self.renderer.num_plays} animations"
91+
)
8992

9093
def setup(self):
9194
"""
@@ -718,7 +721,7 @@ def progress_through_animations(self):
718721
"""
719722
for t in self.get_animation_time_progression(self.animations):
720723
self.update_animation_to_time(t)
721-
self.renderer.update_frame(self.moving_mobjects, self.static_image)
724+
self.renderer.update_frame(self, self.moving_mobjects, self.static_image)
722725
self.renderer.add_frame(self.renderer.get_frame())
723726

724727
def update_animation_to_time(self, t):
@@ -786,7 +789,7 @@ def play_internal(self, *args, **kwargs):
786789
# Paint all non-moving objects onto the screen, so they don't
787790
# have to be rendered every frame
788791
self.moving_mobjects = self.get_moving_mobjects(*self.animations)
789-
self.renderer.update_frame(excluded_mobjects=self.moving_mobjects)
792+
self.renderer.update_frame(self, excluded_mobjects=self.moving_mobjects)
790793
self.static_image = self.renderer.get_frame()
791794
self.last_t = 0
792795
self.run_time = self.get_run_time(self.animations)
@@ -808,7 +811,7 @@ def wait_internal(self, duration=DEFAULT_WAIT_TIME, stop_condition=None):
808811
# the same way Scene.play does
809812
for t in time_progression:
810813
self.update_animation_to_time(t)
811-
self.renderer.update_frame()
814+
self.renderer.update_frame(self)
812815
self.renderer.add_frame(self.renderer.get_frame())
813816
if stop_condition is not None and stop_condition():
814817
time_progression.close()
@@ -817,7 +820,7 @@ def wait_internal(self, duration=DEFAULT_WAIT_TIME, stop_condition=None):
817820
# Do nothing
818821
return self
819822
else:
820-
self.renderer.update_frame()
823+
self.renderer.update_frame(self)
821824
dt = 1 / self.renderer.camera.frame_rate
822825
self.renderer.add_frame(
823826
self.renderer.get_frame(), num_frames=int(duration / dt)

tests/control_data/logs_data/BasicSceneLoggingTest.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@
66
{"levelname": "INFO", "module": "scene_file_writer", "message": "Animation 0 : Partial movie file written in <>"}
77
{"levelname": "DEBUG", "module": "scene_file_writer", "message": "Partial movie files to combine (1 files): <>"}
88
{"levelname": "INFO", "module": "scene_file_writer", "message": "\nFile ready at <>\n"}
9-
{"levelname": "INFO", "module": "cairo_renderer", "message": "Rendered SquareToCircle\nPlayed 1 animations"}
9+
{"levelname": "INFO", "module": "scene", "message": "Rendered SquareToCircle\nPlayed 1 animations"}

0 commit comments

Comments
 (0)