data

class janim.utils.data.ContextSetter(ctx: ContextVar[T], val: T)

基类:Generic

class janim.utils.data.Array(*, _data)

基类:object

使得在使用 .data = xxx 修改(赋值)后必定是不同的 id

并且通过 .data 得到的 numpy 数组必定是只读的

一般来说,不使用 __init__ 构造,而是使用 create()

static create(x, dtype=<class 'numpy.float32'>) Array
len() int
property data: ndarray
copy() Array
is_share(other: Array) bool
class janim.utils.data.SortedKeyQueue

基类:Generic

key 排序的队列(基于两个列表); 使用生成器方式弹出 key <= max_key 的元素

这是对 insort + key 的优化方案,因为 insort 会频繁调用 key 回调,在高频使用的场景下导致性能损失

insert(key: K, value: T)

插入 value,保持按 key 排序

pop_up_to(max_key: float) Generator[T, None, None]

弹出所有 key <= max_key 的元素

class janim.utils.data.AlignedData(data1: T, data2: T, union: T)

基类:Generic

数据对齐后的结构,用于 align_for_interpolate()

data1: T
data2: T
union: T
class janim.utils.data.Margins(buff: float | tuple[float], /)
class janim.utils.data.Margins(left: float, top: float, right: float, bottom: float, /)

基类:object

定义了一组四个边距:左、上、右、下,用于描述矩形周围边框的大小。

如果直接传入单个数值,则表示为四个方向皆为该值

property left: float
property top: float
property right: float
property bottom: float
class janim.utils.data.Align(*values)

基类:IntFlag

Center = 0
Left = 1
Right = 4
Top = 8
Bottom = 16