From 99ae9bf0bf0bd65a5f2c1c8f09c5468c733ba628 Mon Sep 17 00:00:00 2001 From: JasonGrace2282 Date: Mon, 11 Mar 2024 20:03:33 -0400 Subject: [PATCH 1/2] Fix typehint of Vector --- manim/mobject/geometry/line.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/manim/mobject/geometry/line.py b/manim/mobject/geometry/line.py index 93b0d73bf0..a06d225e56 100644 --- a/manim/mobject/geometry/line.py +++ b/manim/mobject/geometry/line.py @@ -17,7 +17,6 @@ from typing import TYPE_CHECKING import numpy as np -from typing_extensions import Self from manim import config from manim.constants import * @@ -31,7 +30,9 @@ from manim.utils.space_ops import angle_of_vector, line_intersection, normalize if TYPE_CHECKING: - from manim.typing import Point2D, Point3D, Vector3D + from typing_extensions import Self + + from manim.typing import Point2D, Point3D, Vector2D, Vector3D from manim.utils.color import ParsableManimColor from ..matrix import Matrix # Avoid circular import @@ -659,7 +660,9 @@ def construct(self): self.add(plane, vector_1, vector_2) """ - def __init__(self, direction: Vector3D = RIGHT, buff: float = 0, **kwargs) -> None: + def __init__( + self, direction: Vector2D | Vector3D = RIGHT, buff: float = 0, **kwargs + ) -> None: self.buff = buff if len(direction) == 2: direction = np.hstack([direction, 0]) From 596e2802530d5cdf808b293235a3ac38293a653d Mon Sep 17 00:00:00 2001 From: JasonGrace2282 Date: Sun, 17 Mar 2024 15:23:34 -0400 Subject: [PATCH 2/2] Change from Vector to Point in typehint In `TipableVMobject._pointify` it converts a 3D list of the form [x, y, z] to a Vector3D. Therefore the direction parameter can take lists, not just numpy arrays. --- manim/mobject/geometry/line.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manim/mobject/geometry/line.py b/manim/mobject/geometry/line.py index a06d225e56..2989dcb44a 100644 --- a/manim/mobject/geometry/line.py +++ b/manim/mobject/geometry/line.py @@ -32,7 +32,7 @@ if TYPE_CHECKING: from typing_extensions import Self - from manim.typing import Point2D, Point3D, Vector2D, Vector3D + from manim.typing import Point2D, Point3D, Vector3D from manim.utils.color import ParsableManimColor from ..matrix import Matrix # Avoid circular import @@ -661,7 +661,7 @@ def construct(self): """ def __init__( - self, direction: Vector2D | Vector3D = RIGHT, buff: float = 0, **kwargs + self, direction: Point2D | Point3D = RIGHT, buff: float = 0, **kwargs ) -> None: self.buff = buff if len(direction) == 2: