@@ -53,13 +53,13 @@ def set_camera_orientation(self, phi=None, theta=None, distance=None, gamma=None
53
53
The rotation of the camera about the vector from the ORIGIN to the Camera.
54
54
"""
55
55
if phi is not None :
56
- self .camera .set_phi (phi )
56
+ self .renderer . camera .set_phi (phi )
57
57
if theta is not None :
58
- self .camera .set_theta (theta )
58
+ self .renderer . camera .set_theta (theta )
59
59
if distance is not None :
60
- self .camera .set_distance (distance )
60
+ self .renderer . camera .set_distance (distance )
61
61
if gamma is not None :
62
- self .camera .set_gamma (gamma )
62
+ self .renderer . camera .set_gamma (gamma )
63
63
64
64
def begin_ambient_camera_rotation (self , rate = 0.02 ):
65
65
"""
@@ -74,17 +74,17 @@ def begin_ambient_camera_rotation(self, rate=0.02):
74
74
"""
75
75
# TODO, use a ValueTracker for rate, so that it
76
76
# can begin and end smoothly
77
- self .camera .theta_tracker .add_updater (
77
+ self .renderer . camera .theta_tracker .add_updater (
78
78
lambda m , dt : m .increment_value (rate * dt )
79
79
)
80
- self .add (self .camera .theta_tracker )
80
+ self .add (self .renderer . camera .theta_tracker )
81
81
82
82
def stop_ambient_camera_rotation (self ):
83
83
"""
84
84
This method stops all ambient camera rotation.
85
85
"""
86
- self .camera .theta_tracker .clear_updaters ()
87
- self .remove (self .camera .theta_tracker )
86
+ self .renderer . camera .theta_tracker .clear_updaters ()
87
+ self .remove (self .renderer . camera .theta_tracker )
88
88
89
89
def begin_3dillusion_camera_rotation (
90
90
self , rate = 1 , origin_theta = - 60 * DEGREES , origin_phi = 75 * DEGREES
@@ -96,8 +96,8 @@ def uptate_theta(m, dt):
96
96
val_for_left_right = 0.2 * np .sin (val_tracker_theta .get_value ())
97
97
return m .set_value (origin_theta + val_for_left_right )
98
98
99
- self .camera .theta_tracker .add_updater (uptate_theta )
100
- self .add (self .camera .theta_tracker )
99
+ self .renderer . camera .theta_tracker .add_updater (uptate_theta )
100
+ self .add (self .renderer . camera .theta_tracker )
101
101
102
102
val_tracker_phi = ValueTracker (0 )
103
103
@@ -106,17 +106,17 @@ def update_phi(m, dt):
106
106
val_for_up_down = 0.1 * np .cos (val_tracker_phi .get_value ())
107
107
return m .set_value (origin_phi + val_for_up_down )
108
108
109
- self .camera .phi_tracker .add_updater (update_phi )
110
- self .add (self .camera .phi_tracker )
109
+ self .renderer . camera .phi_tracker .add_updater (update_phi )
110
+ self .add (self .renderer . camera .phi_tracker )
111
111
112
112
def stop_3dillusion_camera_rotation (self ):
113
113
"""
114
114
This method stops all illusion camera rotations.
115
115
"""
116
- self .camera .theta_tracker .clear_updaters ()
117
- self .remove (self .camera .theta_tracker )
118
- self .camera .phi_tracker .clear_updaters ()
119
- self .remove (self .camera .phi_tracker )
116
+ self .renderer . camera .theta_tracker .clear_updaters ()
117
+ self .remove (self .renderer . camera .theta_tracker )
118
+ self .renderer . camera .phi_tracker .clear_updaters ()
119
+ self .remove (self .renderer . camera .phi_tracker )
120
120
121
121
def move_camera (
122
122
self ,
@@ -155,16 +155,18 @@ def move_camera(
155
155
"""
156
156
anims = []
157
157
value_tracker_pairs = [
158
- (phi , self .camera .phi_tracker ),
159
- (theta , self .camera .theta_tracker ),
160
- (distance , self .camera .distance_tracker ),
161
- (gamma , self .camera .gamma_tracker ),
158
+ (phi , self .renderer . camera .phi_tracker ),
159
+ (theta , self .renderer . camera .theta_tracker ),
160
+ (distance , self .renderer . camera .distance_tracker ),
161
+ (gamma , self .renderer . camera .gamma_tracker ),
162
162
]
163
163
for value , tracker in value_tracker_pairs :
164
164
if value is not None :
165
165
anims .append (ApplyMethod (tracker .set_value , value , ** kwargs ))
166
166
if frame_center is not None :
167
- anims .append (ApplyMethod (self .camera .frame_center .move_to , frame_center ))
167
+ anims .append (
168
+ ApplyMethod (self .renderer .camera .frame_center .move_to , frame_center )
169
+ )
168
170
169
171
self .play (* anims + added_anims )
170
172
@@ -179,7 +181,7 @@ def get_moving_mobjects(self, *animations):
179
181
The animations whose mobjects will be checked.
180
182
"""
181
183
moving_mobjects = Scene .get_moving_mobjects (self , * animations )
182
- camera_mobjects = self .camera .get_value_trackers ()
184
+ camera_mobjects = self .renderer . camera .get_value_trackers ()
183
185
if any ([cm in moving_mobjects for cm in camera_mobjects ]):
184
186
return self .mobjects
185
187
return moving_mobjects
@@ -203,7 +205,7 @@ def add_fixed_orientation_mobjects(self, *mobjects, **kwargs):
203
205
center_func : function
204
206
"""
205
207
self .add (* mobjects )
206
- self .camera .add_fixed_orientation_mobjects (* mobjects , ** kwargs )
208
+ self .renderer . camera .add_fixed_orientation_mobjects (* mobjects , ** kwargs )
207
209
208
210
def add_fixed_in_frame_mobjects (self , * mobjects ):
209
211
"""
@@ -218,7 +220,7 @@ def add_fixed_in_frame_mobjects(self, *mobjects):
218
220
The Mobjects whose orientation must be fixed.
219
221
"""
220
222
self .add (* mobjects )
221
- self .camera .add_fixed_in_frame_mobjects (* mobjects )
223
+ self .renderer . camera .add_fixed_in_frame_mobjects (* mobjects )
222
224
223
225
def remove_fixed_orientation_mobjects (self , * mobjects ):
224
226
"""
@@ -232,7 +234,7 @@ def remove_fixed_orientation_mobjects(self, *mobjects):
232
234
*mobjects : Mobjects
233
235
The Mobjects whose orientation must be unfixed.
234
236
"""
235
- self .camera .remove_fixed_orientation_mobjects (* mobjects )
237
+ self .renderer . camera .remove_fixed_orientation_mobjects (* mobjects )
236
238
237
239
def remove_fixed_in_frame_mobjects (self , * mobjects ):
238
240
"""
@@ -245,7 +247,7 @@ def remove_fixed_in_frame_mobjects(self, *mobjects):
245
247
*mobjects : Mobjects
246
248
The Mobjects whose position and orientation must be unfixed.
247
249
"""
248
- self .camera .remove_fixed_in_frame_mobjects (* mobjects )
250
+ self .renderer . camera .remove_fixed_in_frame_mobjects (* mobjects )
249
251
250
252
##
251
253
def set_to_default_angled_camera_orientation (self , ** kwargs ):
@@ -305,7 +307,7 @@ class SpecialThreeDScene(ThreeDScene):
305
307
306
308
def __init__ (self , ** kwargs ):
307
309
digest_config (self , kwargs )
308
- if self .camera_config ["pixel_width" ] == config ["pixel_width" ]:
310
+ if self .renderer . camera_config ["pixel_width" ] == config ["pixel_width" ]:
309
311
config = {}
310
312
else :
311
313
config = self .low_quality_config
0 commit comments