Change rgbas -> rgba

This commit is contained in:
Grant Sanderson 2023-01-15 16:46:03 -08:00
parent 2815f60616
commit f4c50f61b8
3 changed files with 17 additions and 17 deletions

View file

@ -70,7 +70,7 @@ class Mobject(object):
] ]
data_dtype: np.dtype = np.dtype([ data_dtype: np.dtype = np.dtype([
('points', '<f4', (3,)), ('points', '<f4', (3,)),
('rgbas', '<f4', (4,)), ('rgba', '<f4', (4,)),
]) ])
aligned_data_keys = ['points'] aligned_data_keys = ['points']
@ -1222,7 +1222,7 @@ class Mobject(object):
def set_rgba_array( def set_rgba_array(
self, self,
rgba_array: npt.ArrayLike, rgba_array: npt.ArrayLike,
name: str = "rgbas", name: str = "rgba",
recurse: bool = False recurse: bool = False
): ):
for mob in self.get_family(recurse): for mob in self.get_family(recurse):
@ -1261,7 +1261,7 @@ class Mobject(object):
self, self,
color: ManimColor | Iterable[ManimColor] | None = None, color: ManimColor | Iterable[ManimColor] | None = None,
opacity: float | Iterable[float] | None = None, opacity: float | Iterable[float] | None = None,
name: str = "rgbas", name: str = "rgba",
recurse: bool = True recurse: bool = True
): ):
for mob in self.get_family(recurse): for mob in self.get_family(recurse):
@ -1300,10 +1300,10 @@ class Mobject(object):
return self return self
def get_color(self) -> str: def get_color(self) -> str:
return rgb_to_hex(self.data["rgbas"][0, :3]) return rgb_to_hex(self.data["rgba"][0, :3])
def get_opacity(self) -> float: def get_opacity(self) -> float:
return self.data["rgbas"][0, 3] return self.data["rgba"][0, 3]
def set_color_by_gradient(self, *colors: ManimColor): def set_color_by_gradient(self, *colors: ManimColor):
if self.has_points(): if self.has_points():

View file

@ -31,8 +31,8 @@ class DotCloud(PMobject):
] ]
data_dtype: np.dtype = np.dtype([ data_dtype: np.dtype = np.dtype([
('points', np.float32, (3,)), ('points', np.float32, (3,)),
('radii', np.float32, (1,)), ('radius', np.float32, (1,)),
('rgbas', np.float32, (4,)), ('rgba', np.float32, (4,)),
]) ])
def __init__( def __init__(
self, self,
@ -104,15 +104,15 @@ class DotCloud(PMobject):
def set_radii(self, radii: npt.ArrayLike): def set_radii(self, radii: npt.ArrayLike):
n_points = len(self.get_points()) n_points = len(self.get_points())
radii = np.array(radii).reshape((len(radii), 1)) radii = np.array(radii).reshape((len(radii), 1))
self.data["radii"][:] = resize_with_interpolation(radii, n_points) self.data["radius"][:] = resize_with_interpolation(radii, n_points)
self.refresh_bounding_box() self.refresh_bounding_box()
return self return self
def get_radii(self) -> np.ndarray: def get_radii(self) -> np.ndarray:
return self.data["radii"] return self.data["radius"]
def set_radius(self, radius: float): def set_radius(self, radius: float):
self.data["radii"][:] = radius self.data["radius"][:] = radius
self.refresh_bounding_box() self.refresh_bounding_box()
return self return self
@ -151,8 +151,8 @@ class DotCloud(PMobject):
def get_shader_data(self) -> np.ndarray: def get_shader_data(self) -> np.ndarray:
shader_data = super().get_shader_data() shader_data = super().get_shader_data()
self.read_data_to_shader(shader_data, "radius", "radii") self.read_data_to_shader(shader_data, "radius", "radius")
self.read_data_to_shader(shader_data, "color", "rgbas") self.read_data_to_shader(shader_data, "color", "rgba")
return shader_data return shader_data

View file

@ -37,14 +37,14 @@ class PMobject(Mobject):
# rgbas array will have been resized with points # rgbas array will have been resized with points
if color is not None: if color is not None:
if opacity is None: if opacity is None:
opacity = self.data["rgbas"][-1, 3] opacity = self.data["rgba"][-1, 3]
rgbas = np.repeat( rgbas = np.repeat(
[color_to_rgba(color, opacity)], [color_to_rgba(color, opacity)],
len(points), len(points),
axis=0 axis=0
) )
if rgbas is not None: if rgbas is not None:
self.data["rgbas"][-len(rgbas):] = rgbas self.data["rgba"][-len(rgbas):] = rgbas
return self return self
def add_point(self, point: Vect3, rgba=None, color=None, opacity=None): def add_point(self, point: Vect3, rgba=None, color=None, opacity=None):
@ -53,15 +53,15 @@ class PMobject(Mobject):
return self return self
def set_color_by_gradient(self, *colors: ManimColor): def set_color_by_gradient(self, *colors: ManimColor):
self.data["rgbas"][:] = np.array(list(map( self.data["rgba"][:] = np.array(list(map(
color_to_rgba, color_to_rgba,
color_gradient(colors, self.get_num_points()) color_gradient(colors, self.get_num_points())
))) )))
return self return self
def match_colors(self, pmobject: PMobject): def match_colors(self, pmobject: PMobject):
self.data["rgbas"][:] = resize_with_interpolation( self.data["rgba"][:] = resize_with_interpolation(
pmobject.data["rgbas"], self.get_num_points() pmobject.data["rgba"], self.get_num_points()
) )
return self return self