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;
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.Dimension;
import java.awt.Graphics;
......@@ -24,6 +9,8 @@ import java.awt.Shape;
import java.awt.geom.AffineTransform;
import java.awt.geom.GeneralPath;
import java.awt.geom.Point2D;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
......@@ -31,6 +18,31 @@ import java.util.List;
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" })
@NoRecursive
public class Movement2DWithinShapeObserver extends ObserverListener implements Configurable, Drawable {
......@@ -38,6 +50,7 @@ public class Movement2DWithinShapeObserver extends ObserverListener implements C
// private transient FileChooserField modulesChooser;
private transient JComponent display;
// private String generalPathS;
private transient GeneralPath generalPath;
private transient List<AquaNismsGroup<? extends AquaNism<? extends Point2D,?>,?>> groups;
......@@ -48,8 +61,8 @@ public class Movement2DWithinShapeObserver extends ObserverListener implements C
private transient List<Color> groupsColors;
@Description (name="Background color",tooltip="Background color")
private Color bgColor;
@Description (name="Pikes color",tooltip="Pikes color")
private Color pikeColor;
@Description (name="Pikes color",tooltip="Pikes color") ///////////////
private Color pikeColor; /////////
@Description (name="River color",tooltip="River color")
private Color shapeColor;
......@@ -93,7 +106,7 @@ public class Movement2DWithinShapeObserver extends ObserverListener implements C
display.repaint();
}
@SuppressWarnings("unchecked")
@SuppressWarnings({ "unchecked" })
public void init() {
Pilot pilot = new Pilot();
......@@ -103,8 +116,39 @@ public class Movement2DWithinShapeObserver extends ObserverListener implements C
displayWidthBak = 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());
System.out.println(generalPath);
// original dimension storage
this.shapeOriginalWidth = this.generalPath.getBounds().getWidth();
this.shapeOriginalHeight = this.generalPath.getBounds().getHeight();
......@@ -128,6 +172,8 @@ public class Movement2DWithinShapeObserver extends ObserverListener implements C
groupsColors.add(Color.CYAN);
groupsColors.add(Color.GRAY);
display.repaint();
}
public void disable() {
......@@ -135,12 +181,12 @@ public class Movement2DWithinShapeObserver extends ObserverListener implements C
}
@Override
public void addObservable(ObservablesHandler classObservable) {
public void addObservable(ObservablesHandler classObservable) { ///////////////////////////////////
// nothing to do
}
@Override
public void valueChanged(ObservablesHandler clObservable, Object instance, long t) {
public void valueChanged(ObservablesHandler clObservable, Object instance, long t) { ////////////////////
display.repaint();
}
......@@ -155,7 +201,7 @@ public class Movement2DWithinShapeObserver extends ObserverListener implements C
display.repaint();
}
public void addObservable(ObserverListener classObservable) {
public void addObservable(ObserverListener classObservable) { ////////////////////////
// nothing to do
}
......
package pikelake.environment;
public class Time {
}
......@@ -4,7 +4,7 @@ package pikelake.pikes;
import java.util.Comparator;
//import java.util.List;
import pikelake.Cell;
//import pikelake.Cell;
import umontreal.iro.lecuyer.probdist.UniformDist;
import umontreal.iro.lecuyer.randvar.UniformGen;
import fr.cemagref.simaqualife.kernel.AquaNismsGroup;
......@@ -23,14 +23,14 @@ LoopAquaNismsGroupProcess<Pike, AquaNismsGroup<Pike, ?>> {
* <code>satiety</code> ratio of the pike weigth which stops eating
* preys
*/
private double satiety = 0.10;
// private double satiety = 0.10;
transient private UniformGen uniformGen;
@Override
protected void doProcess(Pike pike,
AquaNismsGroup<Pike, ?> group) {
Cell pikeCell = pike.getPosition();
// Cell pikeCell = pike.getPosition();
/* if (pikeCell.getPreys().size() > 0) {
//System.out.print(" " + pikeCell.getPreys().size() +" preys available in cell ");
//System.out.print("("+pikeCell.getX()+","+pikeCell.getY()+")");
......
/**
*
*/
package pikelake.pikes;
import java.util.ArrayList;
......@@ -30,8 +27,6 @@ public class PikeReproductionProcess extends AquaNismsGroupProcess<Pike,PikesGro
transient private PoissonGen poissonGen;
public void initTransientParameters(Pilot pilot) {
poissonGen = new PoissonGen(pilot.getRandomStream(), new PoissonDist(pikeFertility));
......@@ -64,9 +59,7 @@ public class PikeReproductionProcess extends AquaNismsGroupProcess<Pike,PikesGro
for (Pike pike: offsprings)
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