MCPcopy Create free account
hub / github.com/microsoft/SandDance / render

Method render

docs/app/js/sanddance-app.js:140400–140426  ·  view source on GitHub ↗
(context)

Source from the content-addressed store, hash-verified

140398 }
140399 }
140400 render(context) {
140401 const buffer = context == null ? context = new (0, _pathJsDefault.default) : undefined;
140402 const { delaunay: { halfedges , inedges , hull } , circumcenters , vectors } = this;
140403 if (hull.length <= 1) return null;
140404 for(let i = 0, n = halfedges.length; i < n; ++i){
140405 const j = halfedges[i];
140406 if (j < i) continue;
140407 const ti = Math.floor(i / 3) * 2;
140408 const tj = Math.floor(j / 3) * 2;
140409 const xi = circumcenters[ti];
140410 const yi = circumcenters[ti + 1];
140411 const xj = circumcenters[tj];
140412 const yj = circumcenters[tj + 1];
140413 this._renderSegment(xi, yi, xj, yj, context);
140414 }
140415 let h0, h1 = hull[hull.length - 1];
140416 for(let i2 = 0; i2 < hull.length; ++i2){
140417 h0 = h1, h1 = hull[i2];
140418 const t = Math.floor(inedges[h1] / 3) * 2;
140419 const x = circumcenters[t];
140420 const y = circumcenters[t + 1];
140421 const v = h0 * 4;
140422 const p = this._project(x, y, vectors[v + 2], vectors[v + 3]);
140423 if (p) this._renderSegment(x, y, p[0], p[1], context);
140424 }
140425 return buffer && buffer.value();
140426 }
140427 renderBounds(context) {
140428 const buffer = context == null ? context = new (0, _pathJsDefault.default) : undefined;
140429 context.rect(this.xmin, this.ymin, this.xmax - this.xmin, this.ymax - this.ymin);

Callers

nothing calls this directly

Calls 3

_renderSegmentMethod · 0.95
_projectMethod · 0.95
valueMethod · 0.45

Tested by

no test coverage detected