3b1b-manim/scene/moving_camera_scene.py

27 lines
826 B
Python
Raw Normal View History

from __future__ import absolute_import
2018-05-16 21:17:14 +02:00
from constants import *
from scene.scene import Scene
2018-03-31 15:20:30 -07:00
from camera.moving_camera import MovingCamera
2018-05-16 21:17:14 +02:00
from mobject.frame import ScreenRectangle
2018-02-23 11:05:57 -08:00
2018-02-23 11:05:57 -08:00
class MovingCameraScene(Scene):
def setup(self):
2018-05-16 21:17:14 +02:00
self.camera_frame = ScreenRectangle(height=FRAME_HEIGHT)
self.camera_frame.set_stroke(width=0)
self.camera = MovingCamera(
self.camera_frame, **self.camera_config
)
2018-02-23 11:05:57 -08:00
return self
def get_moving_mobjects(self, *animations):
2018-05-16 21:17:14 +02:00
# TODO: Code repetition from ZoomedScene
2018-02-23 11:05:57 -08:00
moving_mobjects = Scene.get_moving_mobjects(self, *animations)
2018-05-16 21:17:14 +02:00
if self.camera_frame in moving_mobjects:
# When the camera is moving, so is everything,
return self.mobjects
else:
return moving_mobjects