Merge pull request #1766 from sunkisser/SVGfeedback

Give the user feedback for SVGs that take a while
This commit is contained in:
Grant Sanderson 2022-03-28 09:30:00 -07:00 committed by GitHub
commit 393f77cb03
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -4,11 +4,13 @@ import math
import operator as op import operator as op
from functools import reduce from functools import reduce
from typing import Callable, Iterable, Sequence from typing import Callable, Iterable, Sequence
import platform
import numpy as np import numpy as np
import numpy.typing as npt import numpy.typing as npt
from mapbox_earcut import triangulate_float32 as earcut from mapbox_earcut import triangulate_float32 as earcut
from scipy.spatial.transform import Rotation from scipy.spatial.transform import Rotation
from tqdm import tqdm as ProgressDisplay
from manimlib.constants import RIGHT from manimlib.constants import RIGHT
from manimlib.constants import DOWN from manimlib.constants import DOWN
@ -414,7 +416,16 @@ def earclip_triangulation(verts: np.ndarray, ring_ends: list[int]) -> list:
)) ))
chilren = [[] for i in rings] chilren = [[] for i in rings]
for idx, i in enumerate(rings_sorted): ringenum = ProgressDisplay(
enumerate(rings_sorted),
total=len(rings),
leave=False,
ascii=True if platform.system() == 'Windows' else None,
dynamic_ncols=True,
desc="SVG Triangulation",
delay=3,
)
for idx, i in ringenum:
for j in rings_sorted[:idx][::-1]: for j in rings_sorted[:idx][::-1]:
if is_in_fast(i, j): if is_in_fast(i, j):
chilren[j].append(i) chilren[j].append(i)