0.0.111 • Published 1 year ago

triangles-to-three-geometry v0.0.111

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago

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

0.0.111

1 year ago

0.0.11

2 years ago

0.0.1

2 years ago