plyparser

5.0.0 • Public • Published

PLYParser

PLYParser is a javascript library that parses PLY (Polygon File Format) files.

It currently considers and extracts:

  • Vertices
  • Faces
EXAMPLE USAGE
Installing and Using with npm
npm install plyparser@latest

// Require the package in your code:
const plyParser = require('plyparser');

Using in the browser
// add a script tag 
<script src="https://unpkg.com/plyparser@latest/PLYParser.js" type="text/javascript"></script>
Sample usage can be seen in the file sampleUsage.js
const fs = require('fs');
// const parsePlyData = require('./PLYParser')
const parsePlyData = require('plyparser')
const filePath = 'cube.ply';
const data = fs.readFileSync(filePath, 'utf-8');
const result = parsePlyData(data);

console.log("vertices", result.vertices)
console.log("faces", result.faces)
console.log("colors", result.colors)
console.log(`Vertices Length = ${result.vertices.length}`)
console.log(`Faces Length = ${result.faces.length}`)

to run do node sampleUsage.js Which will show an output that looks like this:
vertices [
  [ -1, -1, 1 ],
  [ -1, 1, 1 ],
  [ -1, 1, -1 ],
  [ 1, 1, 1 ],
  [ 1, 1, -1 ],
  [ 1, -1, 1 ],
  [ 1, -1, -1 ],
  [ -1, -1, -1 ]
]
faces [
  [ 0, 1, 2 ], [ 1, 3, 4 ],
  [ 3, 5, 6 ], [ 0, 7, 5 ],
  [ 7, 2, 4 ], [ 5, 3, 1 ],
  [ 7, 0, 2 ], [ 2, 1, 4 ],
  [ 4, 3, 6 ], [ 5, 7, 6 ],
  [ 6, 7, 4 ], [ 0, 5, 1 ]
]
colors []
Vertices Length = 8
Faces Length = 12
Tests
nyc mocha PLYParserTest.js

Test Results

 npm test

> plyparser@5.0.0 test
> nyc mocha PLYParserTest.js

  PLYParser
    ✔ should parse PLY data with vertices and faces
    ✔ should parse PLY data with vertices, colors, and faces
    ✔ should correctly distinguish and count lines that represent vertices and faces
    ✔ should correctly distinguish and handle face lines that start with 4
    ✔ should parse PLY data with no vertices or faces
File format is not ascii! It is: binary
    ✔ should handle PLY data with invalid format
Error: total vertices read: 2 does not match expected vertices: 3
    ✔ should handle incomplete vertex data
Error: total faces read: 1 does not match expected faces: 2
    ✔ should handle incomplete face data
    ✔ should parse PLY colors data if it is described in the header
    ✔ should not parse colors if color property is not described in the header
    ✔ should parse PLY data with vertices, colors, faces
    ✔ should handle PLY data with negative coordinates


  12 passing (17ms)

------------------|---------|----------|---------|---------|-------------------
File              | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s 
------------------|---------|----------|---------|---------|-------------------
All files         |     100 |    95.74 |     100 |     100 |                   
 PLYParser.js     |     100 |    95.74 |     100 |     100 | 83,110            
 PLYParserTest.js |     100 |      100 |     100 |     100 |                   
------------------|---------|----------|---------|---------|-------------------

Package Sidebar

Install

npm i plyparser

Weekly Downloads

1

Version

5.0.0

License

ISC

Unpacked Size

36.8 kB

Total Files

9

Last publish

Collaborators

  • qrishna