<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <base href="../../../" /> <script src="page.js"></script> <link type="text/css" rel="stylesheet" href="page.css" /> </head> <body> <h1>[name]</h1> <p class="desc"> Buffered scene graph property that allows weighted accumulation; used internally. </p> <h2>Constructor</h2> <h3>[name]( [param:PropertyBinding binding], [param:String typeName], [param:Number valueSize] )</h3> <p> -- binding <br /> -- typeName <br /> -- valueSize <br /> </p> <h2>Properties</h2> <h3>[property:PropertyBinding binding]</h3> <p> </p> <h3>[property:TypedArray buffer]</h3> <p> Buffer with size [page:PropertyMixer valueSize] * 4. <br /><br /> This has the layout: [ incoming | accu0 | accu1 | orig ]<br /><br /> 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. </p> <h3>[property:Number cumulativeWeight]</h3> <p> Default is `0`. </p> <h3>[property:Number cumulativeWeightAdditive]</h3> <p> Default is `0`. </p> <h3>[property:Number valueSize]</h3> <p> </p> <h3>[property:Number referenceCount]</h3> <p> Default is `0`. </p> <h3>[property:Number useCount]</h3> <p> Default is `0`. </p> <h2>Methods</h2> <h3>[method:undefined accumulate]( [param:Number accuIndex], [param:Number weight] )</h3> <p> Accumulate data in [page:PropertyMixer.buffer buffer][accuIndex] 'incoming' region into 'accu[i]'.<br /> If weight is `0` this does nothing. </p> <h3>[method:undefined accumulateAdditive]( [param:Number weight] )</h3> <p> Accumulate data in the 'incoming' region into 'add'.<br /> If weight is `0` this does nothing. </p> <h3>[method:undefined apply]( [param:Number accuIndex] )</h3> <p> Apply the state of [page:PropertyMixer.buffer buffer] 'accu[i]' to the binding when accus differ. </p> <h3>[method:undefined saveOriginalState]( )</h3> <p> Remember the state of the bound property and copy it to both accus. </p> <h3>[method:undefined restoreOriginalState]( )</h3> <p> Apply the state previously taken via 'saveOriginalState' to the binding. </p> <h2>Source</h2> <p> [link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js] </p> </body> </html>