/* Image Georeferencing
*
* Axios Engineering
* http://www.axios.es
*
* (C) 2011, Axios Engineering S.L. (Axios)
* Axios agrees to licence under Lesser General Public License (LGPL).
*
* You can redistribute it and/or modify it under the terms of the
* GNU Lesser General Public License as published by the Free Software
* Foundation; version 2.1 of the License.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*/
package es.axios.udig.georeferencing.internal.process;
import java.util.Observable;
import java.util.Observer;
import org.eclipse.swt.graphics.Point;
import com.vividsolutions.jts.geom.Coordinate;
/**
* Stores valuable info about each mark or dot.
*
* This class is also an {@link Observable}, so it'll broadcast actions like:
* New mark, mark modified or mark deleted.
*
* @author Mauricio Pazos (www.axios.es)
* @author Aritz Davila (www.axios.es)
* @since 1.0.0
*
*/
public interface MarkModel{
public enum MarkModelChange {
NEW, MODIFY, DELETE
};
public void addObserver(Observer observer);
public void deleteObserver(Observer observer);
public int getXImage();
public void setXImage(int xImage);
public int getYImage() ;
public void setYImage(int yImage);
public Double getXCoord();
public void setXCoord(Double xCoord);
public Double getYCoord();
public void setYCoord(Double yCoord);
public String getID();
public void initializeImagePosition(Point point) ;
public void updateImagePosition(Point point);
public void updateCoordinatePosition(Coordinate coord);
public Point getImagePosition();
public void delete();
}