Skip to content
Snippets Groups Projects
Commit 4923e299 authored by Alexander Rose's avatar Alexander Rose
Browse files

added SimpleBuffer.copy

parent b3c368d5
No related branches found
No related tags found
No related merge requests found
......@@ -4,6 +4,8 @@
* @author Alexander Rose <alexander.rose@weirdbyte.de>
*/
import { defaults } from 'mol-util';
export interface SimpleBuffer extends Uint8Array {
readInt8: (offset: number) => number
readUInt8: (offset: number) => number
......@@ -38,6 +40,8 @@ export interface SimpleBuffer extends Uint8Array {
writeUInt32BE: (value: number, offset: number) => void
writeFloatBE: (value: number, offset: number) => void
writeDoubleBE: (value: number, offset: number) => void
copy: (targetBuffer: Uint8Array, targetStart?: number, sourceStart?: number, sourceEnd?: number) => number
}
export namespace SimpleBuffer {
......@@ -76,6 +80,14 @@ export namespace SimpleBuffer {
writeUInt32BE: (value: number, offset: number) => dv.setUint32(offset, value, false),
writeFloatBE: (value: number, offset: number) => dv.setFloat32(offset, value, false),
writeDoubleBE: (value: number, offset: number) => dv.setFloat64(offset, value, false),
copy: (targetBuffer: Uint8Array, targetStart?: number, sourceStart?: number, sourceEnd?: number) => {
targetStart = defaults(targetStart, 0)
sourceStart = defaults(sourceStart, 0)
sourceEnd = defaults(sourceEnd, array.length)
targetBuffer.set(array.subarray(sourceStart, sourceEnd), targetStart)
return sourceEnd - sourceStart
}
})
}
......
......@@ -46,8 +46,7 @@ function fillCubeBuffer(ctx: Data.Context, sampling: Data.Sampling, u: number, v
for (let k = offsetK; k < maxK; k++) {
// copying the bytes direct is faster than using buffer.write* functions.
const start = (l * sizeHK + k * sizeH + offsetH) * elementSize;
// TODO
cubeBuffer.set(src.subarray(start, start + copyH), writeOffset)
src.copy(cubeBuffer, writeOffset, start, start + copyH);
writeOffset += copyH;
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment