PropertyMixer class

Buffered scene graph property that allows weighted accumulation; used internally.

Buffer with size 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.

Constructors

PropertyMixer.new(PropertyBinding binding, String typeName, int valueSize)

Properties

binding PropertyBinding
getter/setter pair
buffer List
getter/setter pair
cacheIndex int?
getter/setter pair
cumulativeWeight double
getter/setter pair
cumulativeWeightAdditive double
getter/setter pair
hashCode int
The hash code for this object.
no setterinherited
referenceCount int
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
useCount int
getter/setter pair
valueSize int
getter/setter pair

Methods

accumulate(int accuIndex, double weight) → void
Accumulate data in accuIndex incoming region into accu[i]. If weight is 0 this does nothing.
accumulateAdditive(double weight) → void
Accumulate data in the incoming region into 'add'.
apply(dynamic accuIndex) → void
Apply the state of buffer accu[i] to the binding when accus differ.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
restoreOriginalState() → void
Apply the state previously taken via 'saveOriginalState' to the binding.
saveOriginalState() → void
Remember the state of the bound property and copy it to both accus.
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited