diff --git a/core/src/main/java/com/seibel/distanthorizons/core/dataObjects/fullData/accessor/FullDataArrayAccessor.java b/core/src/main/java/com/seibel/distanthorizons/core/dataObjects/fullData/accessor/FullDataArrayAccessor.java index f2bfa5ad1..1e303ee74 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/dataObjects/fullData/accessor/FullDataArrayAccessor.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/dataObjects/fullData/accessor/FullDataArrayAccessor.java @@ -133,20 +133,24 @@ public class FullDataArrayAccessor implements IFullDataAccessor /** * Takes a higher detail {@link FullDataArrayAccessor}'s and converts the data to a lower detail level. * - * @param fullDataAccessor must be larger than this {@link FullDataArrayAccessor} and its width must a power of two larger (example: this.width = 4, other.width = 8) + * @param incomingFullDataAccessor must be larger than this {@link FullDataArrayAccessor} and its width must a power of two larger (example: this.width = 4, other.width = 8) */ - public void downsampleFrom(FullDataArrayAccessor fullDataAccessor) + public void downsampleFrom(FullDataArrayAccessor incomingFullDataAccessor) { // validate that the incoming data isn't smaller than this accessor - LodUtil.assertTrue(fullDataAccessor.width >= this.width && fullDataAccessor.width % this.width == 0); + LodUtil.assertTrue(incomingFullDataAccessor.width >= this.width && incomingFullDataAccessor.width % this.width == 0); - int dataPointsPerWidthUnit = fullDataAccessor.width / this.width; + int dataPointsPerWidthUnit = incomingFullDataAccessor.width / this.width; for (int xOffset = 0; xOffset < this.width; xOffset++) { for (int zOffset = 0; zOffset < this.width; zOffset++) { + FullDataArrayAccessor subView = incomingFullDataAccessor.subView(dataPointsPerWidthUnit, + xOffset * dataPointsPerWidthUnit, + zOffset * dataPointsPerWidthUnit); + SingleColumnFullDataAccessor column = this.get(xOffset, zOffset); - column.downsampleFrom(fullDataAccessor.subView(dataPointsPerWidthUnit, xOffset * dataPointsPerWidthUnit, zOffset * dataPointsPerWidthUnit)); + column.downsampleFrom(subView); } } }