'use strict' var bsearch = require('binary-search-bounds') module.exports = createTriangulation function Triangulation(stars, edges) { this.stars = stars this.edges = edges } var proto = Triangulation.prototype function removePair(list, j, k) { for(var i=1, n=list.length; i= 0 } })() proto.removeTriangle = function(i, j, k) { var stars = this.stars removePair(stars[i], j, k) removePair(stars[j], k, i) removePair(stars[k], i, j) } proto.addTriangle = function(i, j, k) { var stars = this.stars stars[i].push(j, k) stars[j].push(k, i) stars[k].push(i, j) } proto.opposite = function(j, i) { var list = this.stars[i] for(var k=1, n=list.length; k