From c780a7471b2e63940e6c38ef9655a150e7d643a6 Mon Sep 17 00:00:00 2001 From: Grant Sanderson Date: Thu, 13 Feb 2020 11:56:39 -0800 Subject: [PATCH] Default SVG paths and dots to have locked triangulation --- manimlib/mobject/geometry.py | 3 +-- manimlib/mobject/svg/svg_mobject.py | 4 +++- manimlib/mobject/types/vectorized_mobject.py | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/manimlib/mobject/geometry.py b/manimlib/mobject/geometry.py index 11f70414..c2e5a037 100644 --- a/manimlib/mobject/geometry.py +++ b/manimlib/mobject/geometry.py @@ -1,4 +1,3 @@ -import warnings import numpy as np from manimlib.constants import * @@ -13,7 +12,6 @@ from manimlib.utils.simple_functions import fdiv from manimlib.utils.space_ops import angle_of_vector from manimlib.utils.space_ops import angle_between_vectors from manimlib.utils.space_ops import compass_directions -from manimlib.utils.space_ops import line_intersection from manimlib.utils.space_ops import find_intersection from manimlib.utils.space_ops import get_norm from manimlib.utils.space_ops import normalize @@ -317,6 +315,7 @@ class Dot(Circle): def __init__(self, point=ORIGIN, **kwargs): Circle.__init__(self, arc_center=point, **kwargs) + self.lock_triangulation() class SmallDot(Dot): diff --git a/manimlib/mobject/svg/svg_mobject.py b/manimlib/mobject/svg/svg_mobject.py index 36b175ad..652a480e 100644 --- a/manimlib/mobject/svg/svg_mobject.py +++ b/manimlib/mobject/svg/svg_mobject.py @@ -316,7 +316,7 @@ class SVGMobject(VMobject): class VMobjectFromSVGPathstring(VMobject): def __init__(self, path_string, **kwargs): - digest_locals(self) + self.path_string = path_string VMobject.__init__(self, **kwargs) def init_points(self): @@ -328,6 +328,8 @@ class VMobjectFromSVGPathstring(VMobject): self.subdivide_sharp_curves() # SVG treats y-coordinate differently self.stretch(-1, 1, about_point=ORIGIN) + # For faster rendering + self.lock_triangulation() def get_commands_and_coord_strings(self): all_commands = list(self.get_command_to_function_map().keys()) diff --git a/manimlib/mobject/types/vectorized_mobject.py b/manimlib/mobject/types/vectorized_mobject.py index 426961c3..fb27d667 100644 --- a/manimlib/mobject/types/vectorized_mobject.py +++ b/manimlib/mobject/types/vectorized_mobject.py @@ -56,11 +56,11 @@ class VMobject(Mobject): # Could also be Bevel, Miter, Round "joint_type": "auto", "render_primative": moderngl.TRIANGLES, + "triangulation_locked": False, } def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - self.triangulation_locked = False def get_group_class(self): return VGroup