manim 0.18.0.post0__py3-none-any.whl → 0.19.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of manim might be problematic. Click here for more details.
- manim/__init__.py +3 -6
- manim/__main__.py +61 -20
- manim/_config/__init__.py +6 -3
- manim/_config/cli_colors.py +16 -8
- manim/_config/default.cfg +1 -3
- manim/_config/logger_utils.py +14 -8
- manim/_config/utils.py +651 -472
- manim/animation/animation.py +152 -5
- manim/animation/composition.py +80 -39
- manim/animation/creation.py +196 -14
- manim/animation/fading.py +5 -9
- manim/animation/indication.py +103 -47
- manim/animation/movement.py +22 -5
- manim/animation/rotation.py +3 -2
- manim/animation/specialized.py +4 -6
- manim/animation/speedmodifier.py +10 -5
- manim/animation/transform.py +4 -5
- manim/animation/transform_matching_parts.py +1 -1
- manim/animation/updaters/mobject_update_utils.py +17 -14
- manim/camera/camera.py +15 -6
- manim/cli/__init__.py +17 -0
- manim/cli/cfg/group.py +70 -44
- manim/cli/checkhealth/checks.py +93 -75
- manim/cli/checkhealth/commands.py +14 -5
- manim/cli/default_group.py +157 -25
- manim/cli/init/commands.py +32 -24
- manim/cli/plugins/commands.py +16 -3
- manim/cli/render/commands.py +72 -60
- manim/cli/render/ease_of_access_options.py +4 -3
- manim/cli/render/global_options.py +51 -15
- manim/cli/render/output_options.py +6 -5
- manim/cli/render/render_options.py +97 -32
- manim/constants.py +65 -19
- manim/gui/gui.py +2 -0
- manim/mobject/frame.py +0 -1
- manim/mobject/geometry/arc.py +112 -78
- manim/mobject/geometry/boolean_ops.py +32 -25
- manim/mobject/geometry/labeled.py +300 -77
- manim/mobject/geometry/line.py +132 -64
- manim/mobject/geometry/polygram.py +126 -30
- manim/mobject/geometry/shape_matchers.py +35 -15
- manim/mobject/geometry/tips.py +38 -29
- manim/mobject/graph.py +414 -133
- manim/mobject/graphing/coordinate_systems.py +126 -64
- manim/mobject/graphing/functions.py +25 -15
- manim/mobject/graphing/number_line.py +24 -10
- manim/mobject/graphing/probability.py +2 -10
- manim/mobject/graphing/scale.py +6 -5
- manim/mobject/matrix.py +17 -19
- manim/mobject/mobject.py +314 -165
- manim/mobject/opengl/opengl_compatibility.py +2 -0
- manim/mobject/opengl/opengl_geometry.py +30 -9
- manim/mobject/opengl/opengl_image_mobject.py +2 -0
- manim/mobject/opengl/opengl_mobject.py +509 -343
- manim/mobject/opengl/opengl_point_cloud_mobject.py +5 -7
- manim/mobject/opengl/opengl_surface.py +3 -2
- manim/mobject/opengl/opengl_three_dimensions.py +2 -0
- manim/mobject/opengl/opengl_vectorized_mobject.py +46 -79
- manim/mobject/svg/brace.py +63 -13
- manim/mobject/svg/svg_mobject.py +4 -3
- manim/mobject/table.py +11 -13
- manim/mobject/text/code_mobject.py +186 -548
- manim/mobject/text/numbers.py +9 -7
- manim/mobject/text/tex_mobject.py +23 -14
- manim/mobject/text/text_mobject.py +70 -24
- manim/mobject/three_d/polyhedra.py +98 -1
- manim/mobject/three_d/three_d_utils.py +4 -4
- manim/mobject/three_d/three_dimensions.py +62 -34
- manim/mobject/types/image_mobject.py +42 -24
- manim/mobject/types/point_cloud_mobject.py +105 -67
- manim/mobject/types/vectorized_mobject.py +496 -228
- manim/mobject/value_tracker.py +5 -4
- manim/mobject/vector_field.py +5 -5
- manim/opengl/__init__.py +3 -3
- manim/plugins/__init__.py +14 -1
- manim/plugins/plugins_flags.py +14 -8
- manim/renderer/cairo_renderer.py +20 -10
- manim/renderer/opengl_renderer.py +21 -23
- manim/renderer/opengl_renderer_window.py +2 -0
- manim/renderer/shader.py +2 -3
- manim/renderer/shader_wrapper.py +5 -2
- manim/renderer/vectorized_mobject_rendering.py +5 -0
- manim/scene/moving_camera_scene.py +23 -0
- manim/scene/scene.py +90 -43
- manim/scene/scene_file_writer.py +316 -165
- manim/scene/section.py +17 -15
- manim/scene/three_d_scene.py +13 -21
- manim/scene/vector_space_scene.py +22 -9
- manim/typing.py +830 -70
- manim/utils/bezier.py +1667 -399
- manim/utils/caching.py +13 -5
- manim/utils/color/AS2700.py +2 -0
- manim/utils/color/BS381.py +3 -0
- manim/utils/color/DVIPSNAMES.py +96 -0
- manim/utils/color/SVGNAMES.py +179 -0
- manim/utils/color/X11.py +3 -0
- manim/utils/color/XKCD.py +3 -0
- manim/utils/color/__init__.py +8 -5
- manim/utils/color/core.py +844 -309
- manim/utils/color/manim_colors.py +7 -9
- manim/utils/commands.py +48 -20
- manim/utils/config_ops.py +18 -13
- manim/utils/debug.py +8 -7
- manim/utils/deprecation.py +90 -40
- manim/utils/docbuild/__init__.py +17 -0
- manim/utils/docbuild/autoaliasattr_directive.py +234 -0
- manim/utils/docbuild/autocolor_directive.py +21 -17
- manim/utils/docbuild/manim_directive.py +50 -35
- manim/utils/docbuild/module_parsing.py +245 -0
- manim/utils/exceptions.py +6 -0
- manim/utils/family.py +5 -3
- manim/utils/family_ops.py +17 -4
- manim/utils/file_ops.py +26 -16
- manim/utils/hashing.py +9 -7
- manim/utils/images.py +10 -4
- manim/utils/ipython_magic.py +14 -8
- manim/utils/iterables.py +161 -119
- manim/utils/module_ops.py +57 -19
- manim/utils/opengl.py +83 -24
- manim/utils/parameter_parsing.py +32 -0
- manim/utils/paths.py +21 -23
- manim/utils/polylabel.py +168 -0
- manim/utils/qhull.py +218 -0
- manim/utils/rate_functions.py +74 -39
- manim/utils/simple_functions.py +24 -15
- manim/utils/sounds.py +7 -1
- manim/utils/space_ops.py +125 -69
- manim/utils/testing/__init__.py +17 -0
- manim/utils/testing/_frames_testers.py +13 -8
- manim/utils/testing/_show_diff.py +5 -3
- manim/utils/testing/_test_class_makers.py +33 -18
- manim/utils/testing/frames_comparison.py +27 -19
- manim/utils/tex.py +127 -197
- manim/utils/tex_file_writing.py +47 -45
- manim/utils/tex_templates.py +2 -1
- manim/utils/unit.py +6 -5
- {manim-0.18.0.post0.dist-info → manim-0.19.0.dist-info}/LICENSE.community +1 -1
- {manim-0.18.0.post0.dist-info → manim-0.19.0.dist-info}/METADATA +40 -39
- manim-0.19.0.dist-info/RECORD +221 -0
- {manim-0.18.0.post0.dist-info → manim-0.19.0.dist-info}/WHEEL +1 -1
- manim/cli/new/__init__.py +0 -0
- manim/cli/new/group.py +0 -189
- manim/plugins/import_plugins.py +0 -43
- manim-0.18.0.post0.dist-info/RECORD +0 -217
- {manim-0.18.0.post0.dist-info → manim-0.19.0.dist-info}/LICENSE +0 -0
- {manim-0.18.0.post0.dist-info → manim-0.19.0.dist-info}/entry_points.txt +0 -0
|
@@ -10,6 +10,8 @@ from manim.mobject.opengl.opengl_vectorized_mobject import OpenGLVMobject
|
|
|
10
10
|
|
|
11
11
|
from ...constants import RendererType
|
|
12
12
|
|
|
13
|
+
__all__ = ["ConvertToOpenGL"]
|
|
14
|
+
|
|
13
15
|
|
|
14
16
|
class ConvertToOpenGL(ABCMeta):
|
|
15
17
|
"""Metaclass for swapping (V)Mobject with its OpenGL counterpart at runtime
|
|
@@ -23,11 +23,36 @@ from manim.utils.space_ops import (
|
|
|
23
23
|
)
|
|
24
24
|
|
|
25
25
|
DEFAULT_DOT_RADIUS = 0.08
|
|
26
|
-
DEFAULT_SMALL_DOT_RADIUS = 0.04
|
|
27
26
|
DEFAULT_DASH_LENGTH = 0.05
|
|
28
27
|
DEFAULT_ARROW_TIP_LENGTH = 0.35
|
|
29
28
|
DEFAULT_ARROW_TIP_WIDTH = 0.35
|
|
30
29
|
|
|
30
|
+
__all__ = [
|
|
31
|
+
"OpenGLTipableVMobject",
|
|
32
|
+
"OpenGLArc",
|
|
33
|
+
"OpenGLArcBetweenPoints",
|
|
34
|
+
"OpenGLCurvedArrow",
|
|
35
|
+
"OpenGLCurvedDoubleArrow",
|
|
36
|
+
"OpenGLCircle",
|
|
37
|
+
"OpenGLDot",
|
|
38
|
+
"OpenGLEllipse",
|
|
39
|
+
"OpenGLAnnularSector",
|
|
40
|
+
"OpenGLSector",
|
|
41
|
+
"OpenGLAnnulus",
|
|
42
|
+
"OpenGLLine",
|
|
43
|
+
"OpenGLDashedLine",
|
|
44
|
+
"OpenGLTangentLine",
|
|
45
|
+
"OpenGLElbow",
|
|
46
|
+
"OpenGLArrow",
|
|
47
|
+
"OpenGLVector",
|
|
48
|
+
"OpenGLDoubleArrow",
|
|
49
|
+
"OpenGLCubicBezier",
|
|
50
|
+
"OpenGLPolygon",
|
|
51
|
+
"OpenGLRegularPolygon",
|
|
52
|
+
"OpenGLTriangle",
|
|
53
|
+
"OpenGLArrowTip",
|
|
54
|
+
]
|
|
55
|
+
|
|
31
56
|
|
|
32
57
|
class OpenGLTipableVMobject(OpenGLVMobject):
|
|
33
58
|
"""
|
|
@@ -162,7 +187,8 @@ class OpenGLTipableVMobject(OpenGLVMobject):
|
|
|
162
187
|
|
|
163
188
|
def get_tip(self):
|
|
164
189
|
"""Returns the TipableVMobject instance's (first) tip,
|
|
165
|
-
otherwise throws an exception.
|
|
190
|
+
otherwise throws an exception.
|
|
191
|
+
"""
|
|
166
192
|
tips = self.get_tips()
|
|
167
193
|
if len(tips) == 0:
|
|
168
194
|
raise Exception("tip not found")
|
|
@@ -438,10 +464,7 @@ class OpenGLLine(OpenGLTipableVMobject):
|
|
|
438
464
|
if buff == 0:
|
|
439
465
|
return
|
|
440
466
|
#
|
|
441
|
-
if self.path_arc == 0
|
|
442
|
-
length = self.get_length()
|
|
443
|
-
else:
|
|
444
|
-
length = self.get_arc_length()
|
|
467
|
+
length = self.get_length() if self.path_arc == 0 else self.get_arc_length()
|
|
445
468
|
#
|
|
446
469
|
if length < 2 * buff:
|
|
447
470
|
return
|
|
@@ -494,9 +517,7 @@ class OpenGLLine(OpenGLTipableVMobject):
|
|
|
494
517
|
return angle_of_vector(self.get_vector())
|
|
495
518
|
|
|
496
519
|
def get_projection(self, point):
|
|
497
|
-
"""
|
|
498
|
-
Return projection of a point onto the line
|
|
499
|
-
"""
|
|
520
|
+
"""Return projection of a point onto the line"""
|
|
500
521
|
unit_vect = self.get_unit_vector()
|
|
501
522
|
start = self.get_start()
|
|
502
523
|
return start + np.dot(point - start, unit_vect) * unit_vect
|
|
@@ -13,6 +13,8 @@ from PIL.Image import Resampling
|
|
|
13
13
|
from manim.mobject.opengl.opengl_surface import OpenGLSurface, OpenGLTexturedSurface
|
|
14
14
|
from manim.utils.images import get_full_raster_image_path
|
|
15
15
|
|
|
16
|
+
__all__ = ["OpenGLImageMobject"]
|
|
17
|
+
|
|
16
18
|
|
|
17
19
|
class OpenGLImageMobject(OpenGLTexturedSurface):
|
|
18
20
|
def __init__(
|