takeBackControlInterpolant method

void takeBackControlInterpolant(
  1. Interpolant interpolant
)

Implementation

void takeBackControlInterpolant(Interpolant interpolant) {
  final interpolants = _controlInterpolants,
      prevIndex = interpolant.cachedIndex,
      firstInactiveIndex = --_nActiveControlInterpolants,
      lastActiveInterpolant = interpolants[firstInactiveIndex];

  interpolant.cachedIndex = firstInactiveIndex;
  interpolants.listSetter(firstInactiveIndex, interpolant);

  lastActiveInterpolant.cachedIndex = prevIndex;
  interpolants.listSetter(prevIndex, lastActiveInterpolant);
}