[name]
Buffered scene graph property that allows weighted accumulation; used internally.
Constructor
[name]( binding, typeName, valueSize )
-- binding
-- typeName
-- valueSize
Properties
[property:Number binding]
[property:Number buffer]
Buffer with size [page:PropertyMixer valueSize] * 4.
This has the layout: [ incoming | accu0 | accu1 | orig ]
Interpolators can use .buffer as their .result and the data then goes to 'incoming'.
'accu0' and 'accu1' are used frame-interleaved for the cumulative result and
are compared to detect changes.
'orig' stores the original state of the property.
[property:Number cumulativeWeight]
Default is *0*.
[property:Number valueSize]
[property:Number referenceCount]
Default is *0*.
[property:Number useCount]
Default is *0*.
Methods
[method:null accumulate]( accuIndex, weight )
Accumulate data in [page:PropertyMixer.buffer buffer][accuIndex] 'incoming' region into 'accu[i]'.
If weight is *0* this does nothing.
[method:null apply]( accuIndex )
Apply the state of [page:PropertyMixer.buffer buffer] 'accu[i]' to the binding when accus differ.
[method:null saveOriginalState]( )
Remember the state of the bound property and copy it to both accus.
[method:null restoreOriginalState]( )
Apply the state previously taken via 'saveOriginalState' to the binding.
Source
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]