flattens nested vertex data into a typed array
Last updated 3 years ago by mattdesl .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install flatten-vertex-data 
SYNC missed versions from official npm registry.



Copies flat or nested array data into the specified typed array, or a new typed array. Intended to be used for WebGL buffers. If the input is nested array data, this guesses the dimensionality based on the length of the first sub-array.


npm install flatten-vertex-data --save


Accepts a dtype string (creating a new array) or an output typed array to re-use. Defaults to creating a new Float32Array.

var flatten = require('flatten-vertex-data')

var positions = [ [x1, y1], [x2, y2], [x3, y3] ]

//=> new Float32Array([ x1, y1, x2, y2, x3, y3 ])

flatten(positions, 'uint16')
//=> new Uint16Array([ x1, y1, x2, y2, x3, y3 ])

// flatten & copy positions into output
var output = new Uint16Array(positions.length * 2)
flatten(positions, output)



output = flatten(data, [output|type], [offset])

Copies flat or nested arrays into a typed array, where data can be:

  • a nested array like [ [ x, y ], [ x, y ] ]
  • a flat array like [ x, y, z, x, y, z ]
  • a typed array like new Float32Array([ x, y ])

The second parameter can be a type string for dtype, which creates a new array. Or, it can be an existing typed array to re-use as the output destination. It defaults to 'float32' (a new Float32Array).

Returns the output typed array.

The third parameter, offset, can be a number (default 0), the index in the destination array at which to start copying the data. If a new array is being created, its capacity will be expanded to fit dataLength + offset (i.e. it will have leading zeros).


MIT, see LICENSE.md for details.

Current Tags

  • 1.0.2                                ...           latest (3 years ago)

3 Versions

  • 1.0.2                                ...           3 years ago
  • 1.0.1                                ...           3 years ago
  • 1.0.0                                ...           5 years ago
Maintainers (1)
Today 0
This Week 425
This Month 1,035
Last Day 48
Last Week 514
Last Month 2,402
Dependencies (1)
Dev Dependencies (3)

Copyright 2014 - 2017 © taobao.org |