2.0.2 • Published 4 years ago

parse-bga-mesh v2.0.2

Weekly downloads
2
License
BSD
Repository
github
Last release
4 years ago

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

2.0.2

4 years ago

2.0.1

4 years ago

2.0.0

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago