public void CalculateAndSaveColorDistanceMapForPosition(int positionIndex, double maxColorDistance) { if (_computedDistances[positionIndex] == null) { throw new WristException("Raw distances (_computedDistancs) must be pre-computed before calculating ColorDistanceMap"); } int[] colorMap = DistanceMaps.createColormap(_computedDistances[positionIndex], maxColorDistance); lock (_computedColorMaps) { _computedColorMaps[positionIndex] = colorMap; } }
public void CalculateAndSaveColorDistanceMapForAnimation(int absoluteFrameNumber, double maxColorDistance) { if (_animationComputedDistances[absoluteFrameNumber] == null) { throw new WristException("Raw distances (_animationComputedDistances) must be pre-computed before calculating ColorDistanceMap"); } int[] colorMap = DistanceMaps.createColormap(_animationComputedDistances[absoluteFrameNumber], maxColorDistance); lock (this) { if (_animationComputedColorMaps == null) { _animationComputedColorMaps = new int[_animationComputedDistances.Length][]; } _animationComputedColorMaps[absoluteFrameNumber] = colorMap; } }