MCPcopy Index your code
hub / github.com/plotly/plotly.js / triangulate

Function triangulate

stackgl_modules/index.js:9997–10102  ·  view source on GitHub ↗
(points, includePointAtInfinity)

Source from the content-addressed store, hash-verified

9995}
9996
9997function triangulate(points, includePointAtInfinity) {
9998 var n = points.length
9999 if(n === 0) {
10000 return []
10001 }
10002
10003 var d = points[0].length
10004 if(d < 1) {
10005 return []
10006 }
10007
10008 //Special case: For 1D we can just sort the points
10009 if(d === 1) {
10010 return triangulate1D(n, points, includePointAtInfinity)
10011 }
10012
10013 //Lift points, sort
10014 var lifted = new Array(n)
10015 var upper = 1.0
10016 for(var i=0; i<n; ++i) {
10017 var p = points[i]
10018 var x = new Array(d+1)
10019 var l = 0.0
10020 for(var j=0; j<d; ++j) {
10021 var v = p[j]
10022 x[j] = v
10023 l += v * v
10024 }
10025 x[d] = l
10026 lifted[i] = new LiftedPoint(x, i)
10027 upper = Math.max(l, upper)
10028 }
10029 uniq(lifted, compareLifted)
10030
10031 //Double points
10032 n = lifted.length
10033
10034 //Create new list of points
10035 var dpoints = new Array(n + d + 1)
10036 var dindex = new Array(n + d + 1)
10037
10038 //Add steiner points at top
10039 var u = (d+1) * (d+1) * upper
10040 var y = new Array(d+1)
10041 for(var i=0; i<=d; ++i) {
10042 y[i] = 0.0
10043 }
10044 y[d] = u
10045
10046 dpoints[0] = y.slice()
10047 dindex[0] = -1
10048
10049 for(var i=0; i<=d; ++i) {
10050 var x = y.slice()
10051 x[i] = 1
10052 dpoints[i+1] = x
10053 dindex[i+1] = -1
10054 }

Callers 2

constructDelaunayFunction · 0.85
delaunayCellsFunction · 0.85

Calls 1

triangulate1DFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…