Slightly shorten a couple of MeshStreamReader methods

By using object destructuring in the `readCoordinate` and `readComponents` methods we can ever so slightly shorten this code.
This commit is contained in:
Jonas Jenwald 2025-03-14 12:57:41 +01:00
parent 2294a510b0
commit ec30f0788b

View File

@ -395,10 +395,9 @@ class MeshStreamReader {
} }
readCoordinate() { readCoordinate() {
const bitsPerCoordinate = this.context.bitsPerCoordinate; const { bitsPerCoordinate, decode } = this.context;
const xi = this.readBits(bitsPerCoordinate); const xi = this.readBits(bitsPerCoordinate);
const yi = this.readBits(bitsPerCoordinate); const yi = this.readBits(bitsPerCoordinate);
const decode = this.context.decode;
const scale = const scale =
bitsPerCoordinate < 32 bitsPerCoordinate < 32
? 1 / ((1 << bitsPerCoordinate) - 1) ? 1 / ((1 << bitsPerCoordinate) - 1)
@ -410,23 +409,20 @@ class MeshStreamReader {
} }
readComponents() { readComponents() {
const numComps = this.context.numComps; const { bitsPerComponent, colorFn, colorSpace, decode, numComps } =
const bitsPerComponent = this.context.bitsPerComponent; this.context;
const scale = const scale =
bitsPerComponent < 32 bitsPerComponent < 32
? 1 / ((1 << bitsPerComponent) - 1) ? 1 / ((1 << bitsPerComponent) - 1)
: 2.3283064365386963e-10; // 2 ^ -32 : 2.3283064365386963e-10; // 2 ^ -32
const decode = this.context.decode;
const components = this.tmpCompsBuf; const components = this.tmpCompsBuf;
for (let i = 0, j = 4; i < numComps; i++, j += 2) { for (let i = 0, j = 4; i < numComps; i++, j += 2) {
const ci = this.readBits(bitsPerComponent); const ci = this.readBits(bitsPerComponent);
components[i] = ci * scale * (decode[j + 1] - decode[j]) + decode[j]; components[i] = ci * scale * (decode[j + 1] - decode[j]) + decode[j];
} }
const color = this.tmpCsCompsBuf; const color = this.tmpCsCompsBuf;
if (this.context.colorFn) { colorFn?.(components, 0, color, 0);
this.context.colorFn(components, 0, color, 0); return colorSpace.getRgb(color, 0);
}
return this.context.colorSpace.getRgb(color, 0);
} }
} }