def resize_points(self, size, resize_func=resize_array): # TODO for key in self.data: if key == "bounding_box": continue if len(self.data[key]) != size: self.data[key] = resize_array(self.data[key], size) return self
def get_fill_shader_data(self): points = self.get_points() if len(self.fill_data) != len(points): self.fill_data = resize_array(self.fill_data, len(points)) self.fill_data["vert_index"][:, 0] = range(len(points)) self.read_data_to_shader(self.fill_data, "point", "points") self.read_data_to_shader(self.fill_data, "color", "fill_rgba") self.read_data_to_shader(self.fill_data, "unit_normal", "unit_normal") return self.fill_data
def get_stroke_shader_data(self) -> np.ndarray: points = self.get_points() if len(self.stroke_data) != len(points): self.stroke_data = resize_array(self.stroke_data, len(points)) if "points" not in self.locked_data_keys: nppc = self.n_points_per_curve self.stroke_data["point"] = points self.stroke_data["prev_point"][:nppc] = points[-nppc:] self.stroke_data["prev_point"][nppc:] = points[:-nppc] self.stroke_data["next_point"][:-nppc] = points[nppc:] self.stroke_data["next_point"][-nppc:] = points[:nppc] self.read_data_to_shader(self.stroke_data, "color", "stroke_rgba") self.read_data_to_shader(self.stroke_data, "stroke_width", "stroke_width") self.read_data_to_shader(self.stroke_data, "unit_normal", "unit_normal") return self.stroke_data
def resize_points(self, size, resize_func=resize_array): # TODO for key in self.data: if len(self.data[key]) != size: self.data[key] = resize_array(self.data[key], size) return self