PropertyMixer

优质
小牛编辑
144浏览
2023-12-01

允许加权累加的缓冲场景图属性,内部使用

构造器

PropertyMixer( binding : PropertyBinding, typeName : String, valueSize : Number )

-- binding
-- typeName
-- valueSize

属性

.binding : PropertyBinding

.buffer : TypedArray

大小为 4 * valueSize 的缓冲区

布局为: [ incoming | accu0 | accu1 | orig ]

插值器可使用 .buffer 作为 .result 且数据会进入'incoming'区. 'accu0'和'accu1'用于按帧交错累加‘incoming’中的数据并进行比较以侦测变化。'orig'存储着属性的原始状态。

.cumulativeWeight : Number

默认值是0

.valueSize : Number

.referenceCount : Number

默认值是0

.useCount : Number

默认值是0

方法

.accumulate ( accuIndex : Number, weight : Number ) : null

buffer[accuIndex]中'incoming'区的数据累加到'accu[i]'区中。
如果权值为0,则什么都不做。

.apply ( accuIndex : Number ) : null

当累加值不同时,将buffer 'accu[i]区的状态应用于绑定.

.saveOriginalState ( ) : null

记住绑定属性的状态并复制到两个'accu'区中.

.restoreOriginalState ( ) : null

将预先通过'saveOriginalState'方法取得的状态应用于绑定。

方法

src/animation/PropertyMixer.js