(pt)
| 407 | } |
| 408 | |
| 409 | function makeUpdateTextInterpolator(pt) { |
| 410 | var prev0 = prevLookup[helpers.getPtId(pt)]; |
| 411 | var prev; |
| 412 | var transform = pt.transform; |
| 413 | |
| 414 | if (prev0) { |
| 415 | prev = prev0; |
| 416 | } else { |
| 417 | prev = { |
| 418 | rpx1: pt.rpx1, |
| 419 | transform: { |
| 420 | textPosAngle: transform.textPosAngle, |
| 421 | scale: 0, |
| 422 | rotate: transform.rotate, |
| 423 | rCenter: transform.rCenter, |
| 424 | x: transform.x, |
| 425 | y: transform.y |
| 426 | } |
| 427 | }; |
| 428 | |
| 429 | // for new pts: |
| 430 | if (prevEntry) { |
| 431 | // if trace was visible before |
| 432 | if (pt.parent) { |
| 433 | if (nextX1ofPrevEntry) { |
| 434 | // if new branch, twist it in clockwise or |
| 435 | // counterclockwise which ever is shorter to |
| 436 | // its final angle |
| 437 | var a = pt.x1 > nextX1ofPrevEntry ? 2 * Math.PI : 0; |
| 438 | prev.x0 = prev.x1 = a; |
| 439 | } else { |
| 440 | // if leaf |
| 441 | Lib.extendFlat(prev, interpX0X1FromParent(pt)); |
| 442 | } |
| 443 | } else { |
| 444 | // if new root-node |
| 445 | prev.x0 = prev.x1 = baseX; |
| 446 | } |
| 447 | } else { |
| 448 | // on new traces |
| 449 | prev.x0 = prev.x1 = baseX; |
| 450 | } |
| 451 | } |
| 452 | |
| 453 | var textPosAngleFn = interpolate(prev.transform.textPosAngle, pt.transform.textPosAngle); |
| 454 | var rpx1Fn = interpolate(prev.rpx1, pt.rpx1); |
| 455 | var x0Fn = interpolate(prev.x0, pt.x0); |
| 456 | var x1Fn = interpolate(prev.x1, pt.x1); |
| 457 | var scaleFn = interpolate(prev.transform.scale, transform.scale); |
| 458 | var rotateFn = interpolate(prev.transform.rotate, transform.rotate); |
| 459 | |
| 460 | // smooth out start/end from entry, to try to keep text inside sector |
| 461 | // while keeping transition smooth |
| 462 | var pow = transform.rCenter === 0 ? 3 : prev.transform.rCenter === 0 ? 1 / 3 : 1; |
| 463 | var _rCenterFn = interpolate(prev.transform.rCenter, transform.rCenter); |
| 464 | var rCenterFn = function (t) { |
| 465 | return _rCenterFn(Math.pow(t, pow)); |
| 466 | }; |
no test coverage detected
searching dependent graphs…