Commit eec1e8c5 authored by guillaume.garbay's avatar guillaume.garbay
Browse files

Shape affiché mais pas dans la bonne fenêtre...

1 merge request!1Add Svn history
Showing with 79 additions and 32 deletions
+79 -32
package pikelake.environment; package pikelake.environment;
import fr.cemagref.observation.gui.Configurable;
import fr.cemagref.observation.gui.Drawable;
import fr.cemagref.observation.kernel.ObservablesHandler;
//import fr.cemagref.observation.kernel.ObservablesHandler;
import fr.cemagref.observation.kernel.ObserverListener;
import fr.cemagref.ohoui.swing.OhOUIDialog;
import fr.cemagref.ohoui.swing.OhOUI;
import fr.cemagref.ohoui.annotations.Description;
import fr.cemagref.ohoui.annotations.NoRecursive;
import fr.cemagref.ohoui.filters.NoTransientField;
import fr.cemagref.simaqualife.kernel.AquaNism;
import fr.cemagref.simaqualife.kernel.AquaNismsGroup;
import fr.cemagref.simaqualife.pilot.Pilot;
//import fr.cemagref.simaqualife.pilot.gui.util.FileChooserField;
import java.awt.Color; import java.awt.Color;
import java.awt.Dimension; import java.awt.Dimension;
import java.awt.Graphics; import java.awt.Graphics;
...@@ -24,6 +9,8 @@ import java.awt.Shape; ...@@ -24,6 +9,8 @@ import java.awt.Shape;
import java.awt.geom.AffineTransform; import java.awt.geom.AffineTransform;
import java.awt.geom.GeneralPath; import java.awt.geom.GeneralPath;
import java.awt.geom.Point2D; import java.awt.geom.Point2D;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.Iterator; import java.util.Iterator;
...@@ -31,6 +18,31 @@ import java.util.List; ...@@ -31,6 +18,31 @@ import java.util.List;
import javax.swing.JComponent; import javax.swing.JComponent;
import org.geotools.data.FileDataStore;
import org.geotools.data.FileDataStoreFinder;
import org.geotools.data.simple.SimpleFeatureSource;
import org.geotools.map.FeatureLayer;
import org.geotools.map.Layer;
import org.geotools.map.MapContent;
import org.geotools.styling.SLD;
import org.geotools.swing.JMapFrame;
import org.opengis.style.Style;
import fr.cemagref.observation.gui.Configurable;
import fr.cemagref.observation.gui.Drawable;
import fr.cemagref.observation.kernel.ObservablesHandler;
import fr.cemagref.observation.kernel.ObserverListener;
import fr.cemagref.ohoui.annotations.Description;
import fr.cemagref.ohoui.annotations.NoRecursive;
import fr.cemagref.ohoui.filters.NoTransientField;
import fr.cemagref.ohoui.swing.OhOUI;
import fr.cemagref.ohoui.swing.OhOUIDialog;
import fr.cemagref.simaqualife.kernel.AquaNism;
import fr.cemagref.simaqualife.kernel.AquaNismsGroup;
import fr.cemagref.simaqualife.pilot.Pilot;
@SuppressWarnings({ "serial" }) @SuppressWarnings({ "serial" })
@NoRecursive @NoRecursive
public class Movement2DWithinShapeObserver extends ObserverListener implements Configurable, Drawable { public class Movement2DWithinShapeObserver extends ObserverListener implements Configurable, Drawable {
...@@ -38,6 +50,7 @@ public class Movement2DWithinShapeObserver extends ObserverListener implements C ...@@ -38,6 +50,7 @@ public class Movement2DWithinShapeObserver extends ObserverListener implements C
// private transient FileChooserField modulesChooser; // private transient FileChooserField modulesChooser;
private transient JComponent display; private transient JComponent display;
// private String generalPathS;
private transient GeneralPath generalPath; private transient GeneralPath generalPath;
private transient List<AquaNismsGroup<? extends AquaNism<? extends Point2D,?>,?>> groups; private transient List<AquaNismsGroup<? extends AquaNism<? extends Point2D,?>,?>> groups;
...@@ -48,8 +61,8 @@ public class Movement2DWithinShapeObserver extends ObserverListener implements C ...@@ -48,8 +61,8 @@ public class Movement2DWithinShapeObserver extends ObserverListener implements C
private transient List<Color> groupsColors; private transient List<Color> groupsColors;
@Description (name="Background color",tooltip="Background color") @Description (name="Background color",tooltip="Background color")
private Color bgColor; private Color bgColor;
@Description (name="Pikes color",tooltip="Pikes color") @Description (name="Pikes color",tooltip="Pikes color") ///////////////
private Color pikeColor; private Color pikeColor; /////////
@Description (name="River color",tooltip="River color") @Description (name="River color",tooltip="River color")
private Color shapeColor; private Color shapeColor;
...@@ -93,7 +106,7 @@ public class Movement2DWithinShapeObserver extends ObserverListener implements C ...@@ -93,7 +106,7 @@ public class Movement2DWithinShapeObserver extends ObserverListener implements C
display.repaint(); display.repaint();
} }
@SuppressWarnings("unchecked") @SuppressWarnings({ "unchecked" })
public void init() { public void init() {
Pilot pilot = new Pilot(); Pilot pilot = new Pilot();
...@@ -103,8 +116,39 @@ public class Movement2DWithinShapeObserver extends ObserverListener implements C ...@@ -103,8 +116,39 @@ public class Movement2DWithinShapeObserver extends ObserverListener implements C
displayWidthBak = 0; displayWidthBak = 0;
displayHeightBak = 0; displayHeightBak = 0;
// init shape
// init shape ////////////////////////////////////////////////////////////
//File file = JFileDataStoreChooser.showOpenFile("shp", null);
File file = new File("/Users/guillaume.garbay/workspace/PikeLake/data/input/shape/hsi_BROPRINTEMPS513_5.shp");
FileDataStore store;
try {
store = FileDataStoreFinder.getDataStore(file);
SimpleFeatureSource featureSource = store.getFeatureSource();
// Create a map content and add our shapefile to it
MapContent display = new MapContent();
display.setTitle("Bariousses");
Style style = SLD.createSimpleStyle(featureSource.getSchema());
Layer layer = new FeatureLayer(featureSource, (org.geotools.styling.Style) style);
display.addLayer(layer);
// Now display the map
JMapFrame.showMap(display);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(generalPath);
this.generalPath = new GeneralPath(((AsShapeConvertible)pilot.getAquaticWorld().getEnvironment()).getShape()); this.generalPath = new GeneralPath(((AsShapeConvertible)pilot.getAquaticWorld().getEnvironment()).getShape());
System.out.println(generalPath);
// original dimension storage // original dimension storage
this.shapeOriginalWidth = this.generalPath.getBounds().getWidth(); this.shapeOriginalWidth = this.generalPath.getBounds().getWidth();
this.shapeOriginalHeight = this.generalPath.getBounds().getHeight(); this.shapeOriginalHeight = this.generalPath.getBounds().getHeight();
...@@ -128,6 +172,8 @@ public class Movement2DWithinShapeObserver extends ObserverListener implements C ...@@ -128,6 +172,8 @@ public class Movement2DWithinShapeObserver extends ObserverListener implements C
groupsColors.add(Color.CYAN); groupsColors.add(Color.CYAN);
groupsColors.add(Color.GRAY); groupsColors.add(Color.GRAY);
display.repaint(); display.repaint();
} }
public void disable() { public void disable() {
...@@ -135,12 +181,12 @@ public class Movement2DWithinShapeObserver extends ObserverListener implements C ...@@ -135,12 +181,12 @@ public class Movement2DWithinShapeObserver extends ObserverListener implements C
} }
@Override @Override
public void addObservable(ObservablesHandler classObservable) { public void addObservable(ObservablesHandler classObservable) { ///////////////////////////////////
// nothing to do // nothing to do
} }
@Override @Override
public void valueChanged(ObservablesHandler clObservable, Object instance, long t) { public void valueChanged(ObservablesHandler clObservable, Object instance, long t) { ////////////////////
display.repaint(); display.repaint();
} }
...@@ -155,7 +201,7 @@ public class Movement2DWithinShapeObserver extends ObserverListener implements C ...@@ -155,7 +201,7 @@ public class Movement2DWithinShapeObserver extends ObserverListener implements C
display.repaint(); display.repaint();
} }
public void addObservable(ObserverListener classObservable) { public void addObservable(ObserverListener classObservable) { ////////////////////////
// nothing to do // nothing to do
} }
......
package pikelake.environment;
public class Time {
}
...@@ -4,7 +4,7 @@ package pikelake.pikes; ...@@ -4,7 +4,7 @@ package pikelake.pikes;
import java.util.Comparator; import java.util.Comparator;
//import java.util.List; //import java.util.List;
import pikelake.Cell; //import pikelake.Cell;
import umontreal.iro.lecuyer.probdist.UniformDist; import umontreal.iro.lecuyer.probdist.UniformDist;
import umontreal.iro.lecuyer.randvar.UniformGen; import umontreal.iro.lecuyer.randvar.UniformGen;
import fr.cemagref.simaqualife.kernel.AquaNismsGroup; import fr.cemagref.simaqualife.kernel.AquaNismsGroup;
...@@ -23,14 +23,14 @@ LoopAquaNismsGroupProcess<Pike, AquaNismsGroup<Pike, ?>> { ...@@ -23,14 +23,14 @@ LoopAquaNismsGroupProcess<Pike, AquaNismsGroup<Pike, ?>> {
* <code>satiety</code> ratio of the pike weigth which stops eating * <code>satiety</code> ratio of the pike weigth which stops eating
* preys * preys
*/ */
private double satiety = 0.10; // private double satiety = 0.10;
transient private UniformGen uniformGen; transient private UniformGen uniformGen;
@Override @Override
protected void doProcess(Pike pike, protected void doProcess(Pike pike,
AquaNismsGroup<Pike, ?> group) { AquaNismsGroup<Pike, ?> group) {
Cell pikeCell = pike.getPosition(); // Cell pikeCell = pike.getPosition();
/* if (pikeCell.getPreys().size() > 0) { /* if (pikeCell.getPreys().size() > 0) {
//System.out.print(" " + pikeCell.getPreys().size() +" preys available in cell "); //System.out.print(" " + pikeCell.getPreys().size() +" preys available in cell ");
//System.out.print("("+pikeCell.getX()+","+pikeCell.getY()+")"); //System.out.print("("+pikeCell.getX()+","+pikeCell.getY()+")");
......
/**
*
*/
package pikelake.pikes; package pikelake.pikes;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -30,8 +27,6 @@ public class PikeReproductionProcess extends AquaNismsGroupProcess<Pike,PikesGro ...@@ -30,8 +27,6 @@ public class PikeReproductionProcess extends AquaNismsGroupProcess<Pike,PikesGro
transient private PoissonGen poissonGen; transient private PoissonGen poissonGen;
public void initTransientParameters(Pilot pilot) { public void initTransientParameters(Pilot pilot) {
poissonGen = new PoissonGen(pilot.getRandomStream(), new PoissonDist(pikeFertility)); poissonGen = new PoissonGen(pilot.getRandomStream(), new PoissonDist(pikeFertility));
...@@ -64,9 +59,7 @@ public class PikeReproductionProcess extends AquaNismsGroupProcess<Pike,PikesGro ...@@ -64,9 +59,7 @@ public class PikeReproductionProcess extends AquaNismsGroupProcess<Pike,PikesGro
for (Pike pike: offsprings) for (Pike pike: offsprings)
group.addAquaNism(pike); group.addAquaNism(pike);
} }
} }
} }
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment