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

Function makeExitSliceInterpolator

src/traces/sunburst/plot.js:325–368  ·  view source on GitHub ↗
(pt)

Source from the content-addressed store, hash-verified

323 });
324
325 function makeExitSliceInterpolator(pt) {
326 var id = helpers.getPtId(pt);
327 var prev = prevLookup[id];
328 var entryPrev = prevLookup[helpers.getPtId(entry)];
329 var next;
330
331 if (entryPrev) {
332 var a = (pt.x1 > entryPrev.x1 ? 2 * Math.PI : 0) + baseX;
333 // if pt to remove:
334 // - if 'below' where the root-node used to be: shrink it radially inward
335 // - otherwise, collapse it clockwise or counterclockwise which ever is shortest to theta=0
336 next =
337 pt.rpx1 < entryPrev.rpx1
338 ? { x0: pt.x0, x1: pt.x1, rpx0: 0, rpx1: 0 }
339 : { x0: a, x1: a, rpx0: pt.rpx0, rpx1: pt.rpx1 };
340 } else {
341 // this happens when maxdepth is set, when leaves must
342 // be removed and the rootPt is new (i.e. does not have a 'prev' object)
343 var parent;
344 var parentId = helpers.getPtId(pt.parent);
345 slices.each(function (pt2) {
346 if (helpers.getPtId(pt2) === parentId) {
347 return (parent = pt2);
348 }
349 });
350 var parentChildren = parent.children;
351 var ci;
352 parentChildren.forEach(function (pt2, i) {
353 if (helpers.getPtId(pt2) === id) {
354 return (ci = i);
355 }
356 });
357 var n = parentChildren.length;
358 var interp = interpolate(parent.x0, parent.x1);
359 next = {
360 rpx0: rMax,
361 rpx1: rMax,
362 x0: interp(ci / n),
363 x1: interp((ci + 1) / n)
364 };
365 }
366
367 return interpolate(prev, next);
368 }
369
370 function makeUpdateSliceInterpolator(pt) {
371 var prev0 = prevLookup[helpers.getPtId(pt)];

Callers 1

plotOneFunction · 0.70

Calls 1

interpolateFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…