parse-bga-mesh

2.0.2 • Public • Published

parse-bga-mesh

parse a bga mesh

example

var parse = require('parse-bga-mesh')
var fs = require('fs')
var buf = fs.readFileSync(process.argv[2])
var mesh = parse(buf.buffer.slice(0,buf.length))
console.log(JSON.stringify(mesh,null,2))

output:

$ node example/parse.js example/teapot.bga
{
  "version": "2.0",
  "endian": "little",
  "data": {
    "vertex": {
      "position": {
        "type": "float",
        "quantity": 3,
        "offset": 112,
        "stride": 24,
        "count": 792
      },
      "normal": {
        "type": "float",
        "quantity": 3,
        "offset": 124,
        "stride": 24,
        "count": 792
      }
    },
    "triangle": {
      "cell": {
        "type": "uint32",
        "quantity": 3,
        "offset": 19120,
        "stride": 12,
        "count": 992
      }
    }
  }
}

api

var parse = require('parse-bga-mesh')

var mesh = parse(arraybuffer)

Parse a mesh given an arraybuffer of BGA content.

In the browser, to load a file over HTTP as an array buffer, make an xhr request with responseType: 'arraybuffer'.

This operation is very fast. It should take a few milliseconds at most.

The mesh object has these properties:

  • mesh.version - version number of the file
  • mesh.header.endian - endianness: 'big' or 'little'
  • mesh.data - object mapping buffer names to property names (see below)

Each property value in mesh.data should have:

  • prop.type - one of: float, uint8, uint16, uint32, int8, int16, int32
  • prop.quantity - number of contiguous items in each record
  • prop.offset - starting byte offset into the array buffer
  • prop.stride - number of bytes between records
  • prop.count - number of records

install

npm install parse-bga-mesh

license

BSD

Readme

Keywords

Package Sidebar

Install

npm i parse-bga-mesh

Weekly Downloads

0

Version

2.0.2

License

BSD

Unpacked Size

95.5 kB

Total Files

15

Last publish

Collaborators

  • nopersonsmodules