You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP

flatten-vertex-data

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install
f

flatten-vertex-data

flattens nested vertex data into a typed array

1.0.2
latest
95

Supply Chain Security

100

Vulnerability

100

Quality

89

Maintenance

100

License

Version published
Weekly downloads
272K
-0.99%
Maintainers
1
Weekly downloads
 
Created
Issues
0

flatten-vertex-data

stable

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.

Install

npm install flatten-vertex-data --save

Example

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] ]

flatten(positions)
//=> 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)

Usage

NPM

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).

License

MIT, see LICENSE.md for details.

FAQs

Package last updated on 01 May 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts