/*
* This is part of Geomajas, a GIS framework, http://www.geomajas.org/.
*
* Copyright 2008-2015 Geosparc nv, http://www.geosparc.com/, Belgium.
*
* The program is available in open source according to the GNU Affero
* General Public License. All contributions in this program are covered
* by the Geomajas Contributors License Agreement. For full licensing
* details, see LICENSE.txt in the project root.
*/
package org.geomajas.gwt.client.spatial.snapping;
import java.util.ArrayList;
import java.util.List;
import org.geomajas.configuration.SnappingRuleInfo;
import org.geomajas.gwt.client.map.layer.VectorLayer;
import org.geomajas.gwt.client.spatial.geometry.Geometry;
import org.junit.Test;
public class SnappingModeTest {
private static final String SHAPE_FILE = "org/geomajas/testdata/shapes/cities_world/cities.shp";
private List<Geometry> geometries = new ArrayList<Geometry>();
private SnappingRuleInfo rule;
private VectorLayer vectorLayer;
/**
* Constructor that sets up an initial list of geometries to snap to.
*/
public SnappingModeTest() {
// rule = new SnappingRuleInfo();
// rule.setDistance(5);
// rule.setLayer("cities");
// rule.setType(SnappingRuleInfo.SNAPPING_TYPE_NEAREST);
//
// ApplicationContext applicationContext = new ClassPathXmlApplicationContext(new String[] {
// "org/geomajas/spring/geomajasContext.xml", "org/geomajas/testdata/layerCountries.xml",
// "org/geomajas/testdata/simplevectorsContext.xml" });
// ConfigurationService runtimeParameters = applicationContext.getBean("service.ConfigurationService",
// ConfigurationService.class);
// Layer<VectorLayerInfo> layer = runtimeParameters.getLayer("countries");
// vectorLayer = new VectorLayer(new MapModel("sampleFeaturesMap"), layer.getLayerInfo());
//
// GeometryFactory factory = new GeometryFactory(4326, -1);
// LinearRing shell1 = factory.createLinearRing(new Coordinate[] { new Coordinate(10.0, 10.0),
// new Coordinate(20.0, 10.0), new Coordinate(20.0, 20.0), new Coordinate(10.0, 20.0),
// new Coordinate(10.0, 10.0) });
// LinearRing hole1 = factory.createLinearRing(new Coordinate[] { new Coordinate(12.0, 12.0),
// new Coordinate(18.0, 12.0), new Coordinate(18.0, 18.0), new Coordinate(12.0, 18.0),
// new Coordinate(12.0, 12.0) });
// geometries.add(factory.createPolygon(shell1, new LinearRing[] { hole1 }));
// LinearRing shell2 = factory.createLinearRing(new Coordinate[] { new Coordinate(5.0, 5.0),
// new Coordinate(15.0, 5.0), new Coordinate(15.0, 25.0), new Coordinate(5.0, 25.0) });
// geometries.add(factory.createPolygon(shell2, null));
}
@Test
public void testEqualHandler() {
// EqualSnappingMode snappingMode = new EqualSnappingMode(rule);
// snappingMode.setCoordinate(new Coordinate(16,16));
// vectorLayer.getFeatureStore().query(snappingMode.getBounds(), snappingMode);
// Coordinate snapped = snappingMode.getSnappedCoordinate();
// System.out.println(snapped.toString());
}
}