diff --git a/manimlib/mobject/types/vectorized_mobject.py b/manimlib/mobject/types/vectorized_mobject.py index a9d2abf3..f54d18ec 100644 --- a/manimlib/mobject/types/vectorized_mobject.py +++ b/manimlib/mobject/types/vectorized_mobject.py @@ -1053,13 +1053,22 @@ class VMobject(Mobject): vmob.pointwise_become_partial(self, a, b) return vmob + def resize_points( + self, + new_length: int, + resize_func: Callable[[np.ndarray, int], np.ndarray] = resize_array + ) -> Self: + super().resize_points(new_length, resize_func) + + n_curves = self.get_num_curves() + # Creates the pattern (0, 1, 2, 2, 3, 4, 4, 5, 6, ...) + self.outer_vert_indices = (np.arange(1, 3 * n_curves + 1) * 2) // 3 + return self + def get_outer_vert_indices(self) -> np.ndarray: """ Returns the pattern (0, 1, 2, 2, 3, 4, 4, 5, 6, ...) """ - n_curves = self.get_num_curves() - if len(self.outer_vert_indices) != 3 * n_curves: - self.outer_vert_indices = (np.arange(1, 3 * n_curves + 1) * 2) // 3 return self.outer_vert_indices # Data for shaders that may need refreshing