triangles-to-three-geometry

0.0.111 • Public • Published

triangles-to-three-geometry

convert raw triangles or complexes [such as bunny] to/from three.js geometries

Installation

npm i triangles-to-three-geometry

Usage

var tttg = require('triangles-to-three-geometry');

//indexed mesh {positions, cells}
var bunny = require('bunny');

//raw list of triangles [ [[x,y,z],[x,y,z],[x,y,z]] ... ]
var bunnyTriangles = require('triangles-index').deindexTriangles_meshView(bunny);

//indexed triangles --> indexed three geom
var threeBunny = tttg.trianglesIndexed2ThreeGeom(bunny);
//also trianglesIndexed2ThreeGeom_dummyUvsNormals -- adds dummy uv and normals attributes 

//raw triangles --> three geom [optionally, indexed]
var doIndex = true; //default true
var threeBunny2 = tttg.triangles2ThreeGeom(bunnyTriangles, doIndex);
//also triangles2ThreeGeom_dummyUvsNormals -- adds dummy uv and normals attributes 

//three geom --> tris [or indexed tris]
//threeGeomToTriangles(threeGeom, doIndex=false);
//if doIndex=true, returns {cells, positions}, otherwise returns raw tris
var bunnyTris2 = tttg.threeGeomToTriangles(threeBunny2);

//three geom --> indexed triangles
//this is the same as threeGeomToTriangles(threeGeom, true)
var bunny2 = tttg.threeGeomToTrianglesIndexed(threeBunny2) ;

console.log("bunny orig ", bunny.cells.length)
console.log("bunny tris ", bunnyTriangles.length)
console.log("three bunny verts", threeBunny.attributes.position.array.length)
console.log("bunnyTris2 ", bunnyTris2.length)
console.log("bunny2 ", bunny2.cells.length)

// bunny orig  3674
// bunny tris  3674
// three bunny verts 5517
// bunnyTris2  3674
// bunny2  3674

See Also

stonks

Readme

Keywords

Package Sidebar

Install

npm i triangles-to-three-geometry

Weekly Downloads

0

Version

0.0.111

License

MIT

Unpacked Size

7.83 kB

Total Files

4

Last publish

Collaborators

  • stonkpunk