📄 QuaternionLinearInterpolant.js
¶
📊 Analysis Summary¶
Metric | Count |
---|---|
🔧 Functions | 1 |
🧱 Classes | 1 |
📦 Imports | 2 |
📊 Variables & Constants | 5 |
📚 Table of Contents¶
🛠️ File Location:¶
📂 src/math/interpolants/QuaternionLinearInterpolant.js
📦 Imports¶
Name | Source |
---|---|
Interpolant |
../Interpolant.js |
Quaternion |
../Quaternion.js |
Variables & Constants¶
Name | Type | Kind | Value | Exported |
---|---|---|---|---|
result |
TypedArray |
let/var | this.resultBuffer |
✗ |
values |
TypedArray |
let/var | this.sampleValues |
✗ |
stride |
TypedArray |
let/var | this.valueSize |
✗ |
alpha |
number |
let/var | ( t - t0 ) / ( t1 - t0 ) |
✗ |
offset |
number |
let/var | i1 * stride |
✗ |
Functions¶
QuaternionLinearInterpolant.interpolate_(i1: any, t0: any, t: any, t1: any): TypedArray
¶
Parameters:
i1
any
t0
any
t
any
t1
any
Returns: TypedArray
Calls:
Quaternion.slerpFlat
Code
interpolate_( i1, t0, t, t1 ) {
const result = this.resultBuffer,
values = this.sampleValues,
stride = this.valueSize,
alpha = ( t - t0 ) / ( t1 - t0 );
let offset = i1 * stride;
for ( let end = offset + stride; offset !== end; offset += 4 ) {
Quaternion.slerpFlat( result, 0, values, offset - stride, values, offset, alpha );
}
return result;
}
Classes¶
QuaternionLinearInterpolant
¶
Class Code
class QuaternionLinearInterpolant extends Interpolant {
/**
* Constructs a new SLERP interpolant.
*
* @param {TypedArray} parameterPositions - The parameter positions hold the interpolation factors.
* @param {TypedArray} sampleValues - The sample values.
* @param {number} sampleSize - The sample size
* @param {TypedArray} [resultBuffer] - The result buffer.
*/
constructor( parameterPositions, sampleValues, sampleSize, resultBuffer ) {
super( parameterPositions, sampleValues, sampleSize, resultBuffer );
}
interpolate_( i1, t0, t, t1 ) {
const result = this.resultBuffer,
values = this.sampleValues,
stride = this.valueSize,
alpha = ( t - t0 ) / ( t1 - t0 );
let offset = i1 * stride;
for ( let end = offset + stride; offset !== end; offset += 4 ) {
Quaternion.slerpFlat( result, 0, values, offset - stride, values, offset, alpha );
}
return result;
}
}
Methods¶
interpolate_(i1: any, t0: any, t: any, t1: any): TypedArray
¶
Code
interpolate_( i1, t0, t, t1 ) {
const result = this.resultBuffer,
values = this.sampleValues,
stride = this.valueSize,
alpha = ( t - t0 ) / ( t1 - t0 );
let offset = i1 * stride;
for ( let end = offset + stride; offset !== end; offset += 4 ) {
Quaternion.slerpFlat( result, 0, values, offset - stride, values, offset, alpha );
}
return result;
}