|
From: <de...@us...> - 2012-12-15 00:34:24
|
Revision: 8140
http://fudaa.svn.sourceforge.net/fudaa/?rev=8140&view=rev
Author: deniger
Date: 2012-12-15 00:34:16 +0000 (Sat, 15 Dec 2012)
Log Message:
-----------
Modified Paths:
--------------
trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/action/CalqueCreateGridAction.java
trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/action/CalqueCreateGridProcessor.java
trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/grid/ExportGridData.java
trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/grid/MdlElementModel.java
trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/resource/mdl_en.fr_txt
Added Paths:
-----------
trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/action/CalqueGridSemisSynchronizeProcess.java
trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/grid/GridContourConvexHullPanel.java
Modified: trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/action/CalqueCreateGridAction.java
===================================================================
--- trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/action/CalqueCreateGridAction.java 2012-12-14 18:10:54 UTC (rev 8139)
+++ trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/action/CalqueCreateGridAction.java 2012-12-15 00:34:16 UTC (rev 8140)
@@ -3,26 +3,24 @@
*/
package org.fudaa.fudaa.modeleur.action;
+import com.vividsolutions.jts.geom.LinearRing;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.util.List;
-import javax.swing.JComboBox;
import org.fudaa.ctulu.CtuluRange;
import org.fudaa.ctulu.CtuluTaskDelegate;
-import org.fudaa.ctulu.gui.CtuluDialogPanel;
import org.fudaa.dodico.ef.EfGridInterface;
import org.fudaa.ebli.calque.BCalque;
import org.fudaa.ebli.commun.EbliActionSimple;
import org.fudaa.ebli.palette.BPalettePlage;
import org.fudaa.ebli.palette.BPalettePlageInterface;
import org.fudaa.fudaa.modeleur.MdlVisuPanel;
+import org.fudaa.fudaa.modeleur.grid.GridContourConvexHullPanel;
import org.fudaa.fudaa.modeleur.grid.MdlElementModel;
import org.fudaa.fudaa.modeleur.layer.MdlLayer2dContour;
import org.fudaa.fudaa.modeleur.layer.MdlLayer2dMultiPoint;
import org.fudaa.fudaa.modeleur.resource.MdlResource;
import org.fudaa.fudaa.sig.layer.FSigEditor;
-import org.fudaa.fudaa.sig.wizard.FSigWizardImportHelper;
-import org.fudaa.fudaa.sig.wizard.FSigWizardImportHelper.CalqueCellRender;
/**
*
@@ -71,33 +69,34 @@
MdlVisuPanel visuPanel = (MdlVisuPanel) editor.getPanel();
List<BCalque> calquesContours = visuPanel.getCalquesContours();
BCalque contourLayer = null;
+ LinearRing convexHull = null;
if (!calquesContours.isEmpty()) {
- calquesContours.add(0, null);
- BCalque[] bCalques = (BCalque[]) calquesContours.toArray(new BCalque[calquesContours.size()]);
- JComboBox cb = new JComboBox(bCalques);
- final CalqueCellRender calqueCellRender = new FSigWizardImportHelper.CalqueCellRender();
- calqueCellRender.setNullValue(MdlResource.getS("Aucun"));
- cb.setRenderer(calqueCellRender);
- CtuluDialogPanel pn = new CtuluDialogPanel(false);
- pn.setHelpText(MdlResource.getS("Choisir le calque qui d\xE9terminera le contour et les trous du maillage"));
- pn.add(cb);
- boolean ok = pn.afficheModaleOk(editor.getUi().getParentComponent(), MdlResource.getS("Selectionner le calque de contour"));
+ GridContourConvexHullPanel panel = new GridContourConvexHullPanel(visuPanel);
+ boolean ok = panel.afficheModaleOk(editor.getUi().getParentComponent(), MdlResource.getS("Selectionner le calque de contour"));
if (!ok) {
return;
}
- contourLayer = (BCalque) cb.getSelectedItem();
+ contourLayer = panel.getSelectedLayer();
+ convexHull = panel.getSelectedConvexHull();
}
- final MdlLayer2dContour contour = (MdlLayer2dContour) contourLayer;
+ final MdlLayer2dContour finalContourLayer = (MdlLayer2dContour) contourLayer;
+ final LinearRing finalConvexHull = convexHull;
final CtuluTaskDelegate createTask = editor.getUi().createTask(getTitle());
createTask.start(new Runnable() {
@Override
public void run() {
- processor = new CalqueCreateGridProcessor(layer.modeleDonnees(), editor.getUi(), contour);
+ processor = new CalqueCreateGridProcessor(layer.modeleDonnees(), editor.getUi(), finalContourLayer,finalConvexHull);
+ //on lit le maillage
final EfGridInterface grid = processor.process(createTask.getStateReceiver());
final MdlElementModel model = new MdlElementModel(grid);
- int[] relations = processor.getRelations(grid, createTask.getStateReceiver());
- model.setAltiIdxByGridPtIdx(relations);
- model.setAltiModel(processor.getTriangleNodeAdapter());
+ //si non null, on fait des calculs suppl\xE9mentaires:
+ if (grid != null) {
+ CalqueGridSemisSynchronizeProcess synchProcess = new CalqueGridSemisSynchronizeProcess(processor.getTriangleNodeAdapter());
+ //recherche des relations entre les noeuds du maillage et le semis actuel:
+ int[] relations = synchProcess.getRelations(grid, createTask.getStateReceiver());
+ model.setAltiIdxByGridPtIdx(relations);
+ model.setAltiModel(processor.getTriangleNodeAdapter());
+ }
EventQueue.invokeLater(new Runnable() {
@Override
Modified: trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/action/CalqueCreateGridProcessor.java
===================================================================
--- trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/action/CalqueCreateGridProcessor.java 2012-12-14 18:10:54 UTC (rev 8139)
+++ trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/action/CalqueCreateGridProcessor.java 2012-12-15 00:34:16 UTC (rev 8140)
@@ -3,7 +3,6 @@
*/
package org.fudaa.fudaa.modeleur.action;
-import com.memoire.fu.FuEmptyArrays;
import com.vividsolutions.jts.geom.Geometry;
import com.vividsolutions.jts.geom.LinearRing;
import java.io.File;
@@ -17,8 +16,6 @@
import org.fudaa.ctulu.CtuluLibFile;
import org.fudaa.ctulu.CtuluUI;
import org.fudaa.ctulu.ProgressionInterface;
-import org.fudaa.ctulu.ProgressionUpdater;
-import org.fudaa.ctulu.gis.CtuluLibGeometrie;
import org.fudaa.ctulu.gis.GISLib;
import org.fudaa.ctulu.gis.GISVisitorGeometryCollector;
import org.fudaa.dodico.ef.EfGridInterface;
@@ -41,11 +38,13 @@
public class CalqueCreateGridProcessor implements CExecListener {
private final TriangleNodeAdapter triangleNodeAdapter;
- private CtuluUI ui;
- MdlLayer2dContour contour;
+ private final CtuluUI ui;
+ private final MdlLayer2dContour contour;
+ private final LinearRing convexHull;
- public CalqueCreateGridProcessor(ZModeleMultiPoint points, CtuluUI ui, MdlLayer2dContour contour) {
+ public CalqueCreateGridProcessor(ZModeleMultiPoint points, CtuluUI ui, MdlLayer2dContour contour, LinearRing convexHull) {
this.ui = ui;
+ this.convexHull = convexHull;
this.contour = contour;
triangleNodeAdapter = new TriangleNodeAdapter(points.getGeomData());
}
@@ -68,37 +67,6 @@
}
Process p;
- /**
- *
- * Permet d'avoir une relation entre l'indice du neoud dans le maillage et celui dans le semis. Attention, il est suppos\xE9 que les points sont dans
- * le m\xEAme ordre : a voir
- *
- * @param grid
- * @return un tableau dont la taille est grid.nbPoint.Pour chaque point du maillage donne l'indice du noeud dans le mod\xE8les multipoint.
- */
- public int[] getRelations(EfGridInterface grid, ProgressionInterface prog) {
- if (grid == null) {
- return FuEmptyArrays.INT0;
- }
- int[] res = new int[grid.getPtsNb()];
- Arrays.fill(res, -1);
- ProgressionUpdater updater = new ProgressionUpdater(prog);
- int nb = Math.min(res.length, triangleNodeAdapter.getNbPoints());
- updater.setValue(10, nb);
- updater.majProgessionStateOnly(MdlResource.getS("Synchronisation des indices"));
- for (int i = 0; i < nb; i++) {
- double x = triangleNodeAdapter.getX(i);
- double y = triangleNodeAdapter.getY(i);
- if (CtuluLibGeometrie.getDistance(x, y, grid.getPtX(i), grid.getPtY(i)) < 2e-3) {
- res[i] = i;
- }
- updater.majAvancement();
- }
-
- return res;
-
- }
-
public EfGridInterface process(ProgressionInterface prog) {
if (!CalqueGridTriangleConfigurationAction.isTriangleExeConfigured()) {
return null;
@@ -107,6 +75,8 @@
stop = false;
File tmpDir = CtuluLibFile.createTempDir();
String fileName = null;
+ CExec exe = new CExec();
+ exe.setExecDirectory(tmpDir);
if (contour == null || contour.modeleDonnees().getNbPolygone() == 0) {
fileName = "in.node";
File nodeFile = new File(tmpDir, fileName);
@@ -116,6 +86,7 @@
ui.manageErrorOperationAndIsFatal(write);
return null;
}
+ exe.setCommand(new String[]{CalqueGridTriangleConfigurationAction.getTriangleExe(), fileName});
} else {
fileName = "in.poly";
TrianglePolyDataNodeDefault data = createPolyData();
@@ -126,15 +97,19 @@
ui.manageErrorOperationAndIsFatal(write);
return null;
}
-
+ //https://www.cs.cmu.edu/~quake/triangle.switch.html
+ String options = "-D";
+ if (convexHull == null) {
+ options = "-cD";
+ }
+ exe.setCommand(new String[]{CalqueGridTriangleConfigurationAction.getTriangleExe(), options, fileName});
}
if (prog != null) {
prog.setDesc(MdlResource.getS("Ex\xE9cution du mailleur"));
}
- CExec exe = new CExec();
- exe.setExecDirectory(tmpDir);
- exe.setCommand(new String[]{CalqueGridTriangleConfigurationAction.getTriangleExe(), fileName});
+
+
exe.setListener(this);
exe.exec();
if (stop) {
@@ -169,6 +144,13 @@
LinearRing[] linearRings = (LinearRing[]) geometries.toArray(new LinearRing[geometries.size()]);
boolean[] holes = new boolean[linearRings.length];
Arrays.fill(holes, true);
+ if (convexHull != null) {
+ for (int i = 0; i < holes.length; i++) {
+ if (linearRings[i] == convexHull) {//test voulu.
+ holes[i] = false;
+ }
+ }
+ }
TrianglePolyDataNodeDefault data = new TrianglePolyDataNodeDefault();
data.setNodeData(triangleNodeAdapter);
data.setHoles(holes);
Added: trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/action/CalqueGridSemisSynchronizeProcess.java
===================================================================
--- trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/action/CalqueGridSemisSynchronizeProcess.java (rev 0)
+++ trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/action/CalqueGridSemisSynchronizeProcess.java 2012-12-15 00:34:16 UTC (rev 8140)
@@ -0,0 +1,91 @@
+/*
+ GPL 2
+ */
+package org.fudaa.fudaa.modeleur.action;
+
+import com.memoire.fu.FuEmptyArrays;
+import com.vividsolutions.jts.geom.Coordinate;
+import java.util.Arrays;
+import java.util.TreeMap;
+import org.fudaa.ctulu.ProgressionInterface;
+import org.fudaa.ctulu.ProgressionUpdater;
+import org.fudaa.ctulu.gis.GisZoneCollectionAsListPointAdapter;
+import org.fudaa.ctulu.gis.comparator.CoordinateComparator;
+import org.fudaa.dodico.ef.EfElement;
+import org.fudaa.dodico.ef.EfGridInterface;
+import org.fudaa.fudaa.modeleur.resource.MdlResource;
+
+/**
+ * Permet d'avoir une relation entre l'indice du neoud dans le maillage et celui dans le semis
+ *
+ * @author Frederic Deniger
+ */
+public class CalqueGridSemisSynchronizeProcess {
+
+ private final GisZoneCollectionAsListPointAdapter zone;
+ double eps = 1e-3;
+
+ public CalqueGridSemisSynchronizeProcess(GisZoneCollectionAsListPointAdapter triangleNodeAdapter) {
+ this.zone = triangleNodeAdapter;
+ }
+
+ /**
+ *
+ *
+ * @param grid
+ * @return un tableau dont la taille est grid.nbPoint.Pour chaque point du maillage donne l'indice du noeud dans le mod\xE8les multipoint.
+ */
+ public int[] getRelations(EfGridInterface grid, ProgressionInterface prog) {
+ if (grid == null) {
+ return FuEmptyArrays.INT0;
+ }
+ int[] res = new int[grid.getPtsNb()];
+ Arrays.fill(res, -1);
+ ProgressionUpdater updater = new ProgressionUpdater(prog);
+ TreeMap<Coordinate, Integer> index = new TreeMap<Coordinate, Integer>(new CoordinateComparator(eps));
+ updater.majProgessionStateOnly(MdlResource.getS("Synchronisation des indices"));
+ updater.setValue(10, zone.getNbPoints());
+ for (int i = 0; i < zone.getNbPoints(); i++) {
+ index.put(new Coordinate(zone.getX(i), zone.getY(i)), i);
+ updater.majAvancement();
+ }
+ updater.setValue(10, grid.getPtsNb());
+ boolean rescanElt = false;
+ for (int i = 0; i < grid.getPtsNb(); i++) {
+ Coordinate gridCoor = new Coordinate(grid.getPtX(i), grid.getPtY(i));
+ Integer idx = index.get(gridCoor);
+ if (idx != null) {
+ res[i] = idx;
+ } else {
+ rescanElt = true;
+ }
+ updater.majAvancement();
+ }
+ //on va affecter a des points, les m\xEAme r\xE9sultats que ceux de l'\xE9l\xE9ments.
+ if (rescanElt) {
+ for (int idxElt = 0; idxElt < grid.getEltNb(); idxElt++) {
+ EfElement elt = grid.getElement(idxElt);
+ int idxFound = -1;
+ for (int idxPt = 0; idxPt < elt.getPtNb(); idxPt++) {
+ int ptIndex = elt.getPtIndex(idxPt);
+ if (res[ptIndex] >= 0) {
+ idxFound = res[ptIndex];
+ break;
+ }
+ }
+ if (idxFound >= 0) {
+ for (int idxPt = 0; idxPt < elt.getPtNb(); idxPt++) {
+ int ptIndex = elt.getPtIndex(idxPt);
+ if (res[ptIndex] < 0) {
+ res[ptIndex] = idxFound;
+
+ }
+ }
+ }
+ }
+ }
+
+ return res;
+
+ }
+}
Modified: trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/grid/ExportGridData.java
===================================================================
--- trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/grid/ExportGridData.java 2012-12-14 18:10:54 UTC (rev 8139)
+++ trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/grid/ExportGridData.java 2012-12-15 00:34:16 UTC (rev 8140)
@@ -39,14 +39,14 @@
public EfData getData(CtuluVariable _o, int _timeIdx) throws IOException {
double[] bathy = new double[getGrid().getPtsNb()];
for (int i = 0; i < bathy.length; i++) {
- bathy[i] = model.getTriangleNodeAdapter().getValue(i, bathyIdx);
+ bathy[i] = model.getValueFromGrid(bathyIdx, i);
}
return new EfDataNode(bathy);
}
@Override
public double getData(CtuluVariable _o, int _timeIdx, int _idxObjet) throws IOException {
- return model.getTriangleNodeAdapter().getValue(_idxObjet, bathyIdx);
+ return model.getValueFromGrid(bathyIdx, _idxObjet);
}
@Override
Added: trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/grid/GridContourConvexHullPanel.java
===================================================================
--- trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/grid/GridContourConvexHullPanel.java (rev 0)
+++ trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/grid/GridContourConvexHullPanel.java 2012-12-15 00:34:16 UTC (rev 8140)
@@ -0,0 +1,139 @@
+/*
+ GPL 2
+ */
+package org.fudaa.fudaa.modeleur.grid;
+
+import com.memoire.bu.BuGridLayout;
+import com.memoire.bu.BuLabel;
+import com.vividsolutions.jts.geom.LinearRing;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
+import java.util.List;
+import javax.swing.AbstractListModel;
+import javax.swing.ComboBoxModel;
+import javax.swing.DefaultComboBoxModel;
+import javax.swing.JComboBox;
+import org.apache.commons.lang.StringUtils;
+import org.fudaa.ctulu.gis.GISAttributeConstants;
+import org.fudaa.ctulu.gis.GISAttributeModel;
+import org.fudaa.ctulu.gui.CtuluCellTextRenderer;
+import org.fudaa.ctulu.gui.CtuluDialogPanel;
+import org.fudaa.ebli.calque.BCalque;
+import org.fudaa.fudaa.modeleur.MdlVisuPanel;
+import org.fudaa.fudaa.modeleur.layer.MdlLayer2dContour;
+import org.fudaa.fudaa.modeleur.resource.MdlResource;
+import org.fudaa.fudaa.sig.wizard.FSigWizardImportHelper;
+
+/**
+ *
+ * @author Frederic Deniger
+ */
+public class GridContourConvexHullPanel extends CtuluDialogPanel {
+
+ JComboBox cbLayer;
+ JComboBox cbConvexHull;
+
+ public GridContourConvexHullPanel(MdlVisuPanel visuPanel) {
+ super(false);
+ setHelpText(MdlResource.getS("Choisir le calque qui d\xE9terminera le contour et les trous du maillage"));
+ setLayout(new BuGridLayout(2));
+ BuLabel addLabel = addLabel(MdlResource.getS("Calque contour"));
+ addLabel.setToolTipText(MdlResource.getS("Les polygones du calque formeront l'enveloppe et les trous du maillage"));
+ List<BCalque> calquesContours = visuPanel.getCalquesContours();
+ calquesContours.add(0, null);
+ BCalque[] bCalques = (BCalque[]) calquesContours.toArray(new BCalque[calquesContours.size()]);
+ cbLayer = new JComboBox(bCalques);
+ final FSigWizardImportHelper.CalqueCellRender calqueCellRender = new FSigWizardImportHelper.CalqueCellRender();
+ calqueCellRender.setNullValue(MdlResource.getS("Aucun"));
+ cbLayer.setRenderer(calqueCellRender);
+ add(cbLayer);
+ BuLabel labelEnveloppe = addLabel(MdlResource.getS("L'enveloppe"));
+ labelEnveloppe.setToolTipText("<html>" + MdlResource.getS("Choisir le polygone formant l'enveloppe du maillage") + "<br>" + MdlResource.getS("Si aucun, l'enveloppe convexe du semis de point sera utilis\xE9"));
+ cbConvexHull = new JComboBox();
+ cbConvexHull.setRenderer(new LinearRingCellRenderer());
+ add(cbConvexHull);
+ cbLayer.addItemListener(new ItemListener() {
+ @Override
+ public void itemStateChanged(ItemEvent e) {
+ updateConvexHullCb();
+ }
+ });
+ }
+
+ private class LinearRingCellRenderer extends CtuluCellTextRenderer {
+
+ @Override
+ protected void setValue(Object _value) {
+ if (_value == null) {
+ super.setValue(MdlResource.getS("Aucun"));
+ } else {
+ int idx = cbConvexHull.getSelectedIndex() - 1;
+ if (idx >= 0) {
+ int att = getSelectedLayer().modeleDonnees().getGeomData().getIndiceOf(GISAttributeConstants.LABEL);
+ GISAttributeModel dataModel = getSelectedLayer().modeleDonnees().getGeomData().getDataModel(att);
+ String title = (String) dataModel.getObjectValueAt(idx);
+ if (StringUtils.isEmpty(title)) {
+ title = MdlResource.getS("Ligne ferm\xE9e {0}", Integer.toString(idx + 1));
+ }
+ super.setValue(title);
+ }
+ super.setValue(_value);
+ }
+ }
+ }
+
+ private static class LinearRingComboBoxModel extends AbstractListModel implements ComboBoxModel {
+
+ private final MdlLayer2dContour selectedLayer;
+ Object selected_;
+
+ public LinearRingComboBoxModel(MdlLayer2dContour selectedLayer) {
+ this.selectedLayer = selectedLayer;
+ }
+
+ @Override
+ public int getSize() {
+ return selectedLayer.modeleDonnees().getNombre() + 1;
+ }
+
+ @Override
+ public Object getElementAt(int index) {
+ if (index == 0) {
+ return null;
+ }
+ return selectedLayer.modeleDonnees().getGeometries().getGeometry(index - 1);
+ }
+
+ @Override
+ public Object getSelectedItem() {
+ return selected_;
+ }
+
+ @Override
+ public void setSelectedItem(final Object _anItem) {
+ if (_anItem != selected_) {
+ selected_ = _anItem;
+ fireContentsChanged(this, -1, -1);
+ }
+ }
+ }
+
+ protected void updateConvexHullCb() {
+ MdlLayer2dContour selectedLayer = getSelectedLayer();
+ if (selectedLayer == null) {
+ cbConvexHull.setModel(new DefaultComboBoxModel());
+ } else {
+ cbConvexHull.setModel(new LinearRingComboBoxModel(selectedLayer));
+ cbConvexHull.setSelectedIndex(0);
+ }
+
+ }
+
+ public MdlLayer2dContour getSelectedLayer() {
+ return (MdlLayer2dContour) cbLayer.getSelectedItem();
+ }
+
+ public LinearRing getSelectedConvexHull() {
+ return (LinearRing) cbConvexHull.getSelectedItem();
+ }
+}
Modified: trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/grid/MdlElementModel.java
===================================================================
--- trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/grid/MdlElementModel.java 2012-12-14 18:10:54 UTC (rev 8139)
+++ trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/grid/MdlElementModel.java 2012-12-15 00:34:16 UTC (rev 8140)
@@ -5,7 +5,6 @@
import org.fudaa.ctulu.gis.GisZoneCollectionAsListPointAdapter;
import org.fudaa.dodico.ef.EfGridInterface;
-import org.fudaa.dodico.ef.io.triangle.TriangleNodeAdapter;
import org.fudaa.fudaa.meshviewer.model.MvElementModelDefault;
/**
@@ -30,6 +29,18 @@
this.altiIdxByGridPtIdx = relations;
}
+ public int getAltiIdx(int ptIdxInGrid) {
+ return altiIdxByGridPtIdx[ptIdxInGrid];
+ }
+
+ public double getValueFromGrid(int idxAttribute, int ptIdxInGrid) {
+ int altiIdx = getAltiIdx(ptIdxInGrid);
+ if (altiIdx < 0) {
+ return 0;
+ }
+ return triangleNodeAdapter.getValue(altiIdx, idxAttribute);
+ }
+
public void setAltiModel(GisZoneCollectionAsListPointAdapter triangleNodeAdapter) {
this.triangleNodeAdapter = triangleNodeAdapter;
}
Modified: trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/resource/mdl_en.fr_txt
===================================================================
--- trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/resource/mdl_en.fr_txt 2012-12-14 18:10:54 UTC (rev 8139)
+++ trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/resource/mdl_en.fr_txt 2012-12-15 00:34:16 UTC (rev 8140)
@@ -16,4 +16,8 @@
Permet de modifier la palette de couleur et de n'utiliser qu'une seule couleur=To be used to change the color palette and to use only one color
Choisir le calque qui d\xE9terminera le contour et les trous du maillage=Choose the layer that will be used to set the hull and the holes
Aucun=None
-Le maillage a \xE9chou\xE9=The grid process failed
\ No newline at end of file
+Le maillage a \xE9chou\xE9=The grid process failed
+Ligne ferm\xE9e {0}=Closed line {0}
+L'enveloppe=Convex Hull
+Calque contour=Layer Hull
+Les polygones du calque formeront l'enveloppe et les trous du maillage=The linear rings of the layer will be used as the convex hull and holes
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|