ModisTiePointGeoCoding extends AbstractGeoCoding { static boolean mustRecalculateTiePointGrids(ProductSubsetDef subsetDef) { return subsetDef != null && subsetDef.getRegion() != null; } ModisTiePointGeoCoding(TiePointGrid latGrid, TiePointGrid lonGrid); boolean canGetPixelPos(); boolean canGetGeoPos(); PixelPos getPixelPos(GeoPos geoPos, PixelPos pixelPos); GeoPos getGeoPos(PixelPos pixelPos, GeoPos geoPos); Datum getDatum(); @Override boolean equals(Object o); @Override int hashCode(); @Override void dispose(); boolean isCrossingMeridianAt180(); @Override boolean transferGeoCoding(final Scene srcScene, final Scene destScene, final ProductSubsetDef subsetDef);  }
@Test public void testMustRecalculateGeoCoding() { final ProductSubsetDef subsetDef = new ProductSubsetDef(); Assert.assertFalse(ModisTiePointGeoCoding.mustRecalculateTiePointGrids(null)); Assert.assertFalse(ModisTiePointGeoCoding.mustRecalculateTiePointGrids(subsetDef)); subsetDef.setSubsetRegion(new PixelSubsetRegion(0, 3, 4, 5, 0)); Assert.assertTrue(ModisTiePointGeoCoding.mustRecalculateTiePointGrids(subsetDef)); }