
import fr.ocelet.runtime.*;
import fr.ocelet.runtime.affectoperators.*;
import fr.ocelet.runtime.relation.*;
import edu.uci.ics.jung.graph.util.Pair;
import java.util.Collection;

public class VoisinageVase extends RegularOgraph {
    
    public VoisinageVase() {
        super();
    }
    
    public static class Evolve implements Interaction {
        
        public Evolve(final String date, final List<List<Double>> line) {
            super();
            this.date = date;
            this.line = line;
        }
        
        public Evolve() {
            super();
        }
        
        public <T extends Collection<Role>> void interact(T roles) {
            Vase vase = (Vase)((Pair<Role>)roles).getFirst();
            Ocean disturb = (Ocean)((Pair<Role>)roles).getSecond();
            if ((Integer)vase.getProperty("id") == 1) {
                vase.moveCoordinatesAndAdapt((Double)disturb.getProperty("houle"), (Double)disturb.getProperty("sable"), line);
            }
            if ((Integer)vase.getProperty("id") == 2) {
                vase.moveCoordinatesByRight((Double)disturb.getProperty("houle"), (Double)disturb.getProperty("sable"), line);
            }
            if ((Integer)vase.getProperty("id") == 3) {
                vase.moveCoordinates((Double)disturb.getProperty("houle"), (Double)disturb.getProperty("sable"));
            }
            vase.kmlSave(date);
        }
        String date;
        List<List<Double>> line;
    }
}