@Override public Array<GridCell2D> getDomainObjects() { if (domainObjects == null) { domainObjects = new AbstractImmutableArray<GridCell2D>(new int[] {yAxis.size(), xAxis.size()}) { @Override public GridCell2D get(int... coords) { int xIndex = coords[1]; int yIndex = coords[0]; return new GridCell2DImpl( new GridCoordinates2D(xIndex, yIndex), new HorizontalPosition( xAxis.getCoordinateValue(xIndex), yAxis.getCoordinateValue(yIndex), crs), new BoundingBoxImpl( xAxis.getCoordinateBounds(xIndex), yAxis.getCoordinateBounds(yIndex), crs), RectilinearGridImpl.this); } }; } return domainObjects; }
@Override public int getXSize() { return xAxis.size(); }
@Override public int getYSize() { return yAxis.size(); }
@Override public long size() { return xAxis.size() * yAxis.size(); }