internal RangeData GetRange(Range range) { var effectiveRange = range.Constrain(Length, Width, Height); var data = GetTerrainRangeIndicies(effectiveRange) .Select(index => Terrain[index]) .ToArray(); return new RangeData(effectiveRange, data); }