You can subscribe to this list here.
| 2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(46) |
Jul
(37) |
Aug
(154) |
Sep
(140) |
Oct
(132) |
Nov
(104) |
Dec
(67) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2009 |
Jan
(113) |
Feb
(73) |
Mar
(102) |
Apr
(106) |
May
(114) |
Jun
(67) |
Jul
(116) |
Aug
(48) |
Sep
(108) |
Oct
(296) |
Nov
(56) |
Dec
(53) |
| 2010 |
Jan
(95) |
Feb
(31) |
Mar
(40) |
Apr
(12) |
May
(10) |
Jun
(27) |
Jul
(19) |
Aug
(81) |
Sep
(48) |
Oct
(45) |
Nov
(40) |
Dec
(7) |
| 2011 |
Jan
(16) |
Feb
(32) |
Mar
(55) |
Apr
(38) |
May
(24) |
Jun
(37) |
Jul
(12) |
Aug
(16) |
Sep
(97) |
Oct
(90) |
Nov
(101) |
Dec
(89) |
| 2012 |
Jan
(18) |
Feb
(2) |
Mar
(54) |
Apr
(69) |
May
(97) |
Jun
(131) |
Jul
(70) |
Aug
(48) |
Sep
(48) |
Oct
(119) |
Nov
(194) |
Dec
(60) |
| 2013 |
Jan
(73) |
Feb
(35) |
Mar
(42) |
Apr
(28) |
May
(7) |
Jun
(17) |
Jul
(27) |
Aug
(10) |
Sep
(38) |
Oct
(12) |
Nov
(4) |
Dec
(16) |
| 2014 |
Jan
(33) |
Feb
(37) |
Mar
(19) |
Apr
(3) |
May
(47) |
Jun
(26) |
Jul
(22) |
Aug
|
Sep
(10) |
Oct
(30) |
Nov
(24) |
Dec
(19) |
| 2015 |
Jan
(13) |
Feb
(16) |
Mar
(36) |
Apr
(19) |
May
(5) |
Jun
(5) |
Jul
(3) |
Aug
(11) |
Sep
(22) |
Oct
(7) |
Nov
(14) |
Dec
|
| 2016 |
Jan
|
Feb
(26) |
Mar
(13) |
Apr
(61) |
May
|
Jun
|
Jul
(4) |
Aug
|
Sep
|
Oct
(27) |
Nov
(14) |
Dec
(21) |
| 2017 |
Jan
(30) |
Feb
(4) |
Mar
(3) |
Apr
(5) |
May
(69) |
Jun
(29) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <de...@us...> - 2013-01-22 17:00:19
|
Revision: 8242
http://fudaa.svn.sourceforge.net/fudaa/?rev=8242&view=rev
Author: deniger
Date: 2013-01-22 16:59:58 +0000 (Tue, 22 Jan 2013)
Log Message:
-----------
Modified Paths:
--------------
trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZCalquePoint.java
trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZCalquePolygone.java
Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZCalquePoint.java
===================================================================
--- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZCalquePoint.java 2013-01-22 16:09:51 UTC (rev 8241)
+++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZCalquePoint.java 2013-01-22 16:59:58 UTC (rev 8242)
@@ -1,6 +1,9 @@
/**
- * @creation 2000-11-09 @modification $Date: 2008-02-20 10:16:01 $ @license GNU General Public License 2 @copyright (c)1998-2001
- * CETMEF 2 bd Gambetta F-60231 Compiegne @mail de...@fu...
+ * @creation 2000-11-09
+ * @modification $Date: 2008-02-20 10:16:01 $
+ * @license GNU General Public License 2
+ * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne
+ * @mail de...@fu...
*/
package org.fudaa.ebli.calque;
@@ -9,16 +12,20 @@
import com.vividsolutions.jts.geom.Envelope;
import com.vividsolutions.jts.geom.LineString;
import com.vividsolutions.jts.geom.LinearRing;
+import gnu.trove.TIntArrayList;
import java.awt.Color;
import java.awt.Component;
import java.awt.Graphics;
import java.awt.Graphics2D;
+import java.util.logging.Level;
+import java.util.logging.Logger;
import javax.swing.table.AbstractTableModel;
import org.fudaa.ctulu.CtuluLib;
import org.fudaa.ctulu.CtuluListSelection;
import org.fudaa.ctulu.gis.GISGeometryFactory;
import org.fudaa.ctulu.gis.GISLib;
import org.fudaa.ebli.commun.EbliLib;
+import org.fudaa.ebli.commun.EbliSelectionState;
import org.fudaa.ebli.geometrie.GrBoite;
import org.fudaa.ebli.geometrie.GrMorphisme;
import org.fudaa.ebli.geometrie.GrPoint;
@@ -252,7 +259,7 @@
@Override
public void paintDonnees(final Graphics2D _g, final GrMorphisme _versEcran, final GrMorphisme _versReel,
- final GrBoite _clipReel) {
+ final GrBoite _clipReel) {
if ((modele_ != null) && (modele_.getNombre() > 0)) {
paintDonnees(_g, modele_.getNombre(), _versEcran, _clipReel);
}
@@ -311,6 +318,7 @@
/**
* Called for each point. By default use to color palette to set the color
+ *
* @param model
* @param i
* @param z
@@ -324,15 +332,39 @@
model.setCouleur(c);
}
}
+ TIntArrayList firstTwoSelected = new TIntArrayList();
@Override
+ public void clearSelection() {
+ super.clearSelection();
+ firstTwoSelected.clear();
+ }
+
+ protected int[] getTwoFirstSelected() {
+ return firstTwoSelected.toNativeArray();
+ }
+
+ @Override
public LineString getSelectedLine() {
if (getNbSelected() != 2) {
return null;
}
final Coordinate[] cs = new Coordinate[2];
- cs[0] = new Coordinate(modele_.getX(getLayerSelection().getMinIndex()), modele_.getY(getLayerSelection().getMinIndex()));
- cs[1] = new Coordinate(modele_.getX(getLayerSelection().getMaxIndex()), modele_.getY(getLayerSelection().getMaxIndex()));
+ int firstIdx = getLayerSelection().getMinIndex();
+ int lastIdx = getLayerSelection().getMaxIndex();
+ if (firstTwoSelected.size() == 2) {
+ int newFirst = firstTwoSelected.get(0);
+ int newLast = firstTwoSelected.get(1);
+ boolean isOk = (newFirst == firstIdx && newLast == lastIdx) || (newFirst == lastIdx && newLast == firstIdx);
+ if (!isOk) {
+ Logger.getLogger(ZCalquePoint.class.getName()).log(Level.INFO, "probleme dans la determination des 2 deux premiers points s\xE9lectionn\xE9s");
+ } else {
+ firstIdx = newFirst;
+ lastIdx = newLast;
+ }
+ }
+ cs[0] = new Coordinate(modele_.getX(firstIdx), modele_.getY(firstIdx));
+ cs[1] = new Coordinate(modele_.getX(lastIdx), modele_.getY(lastIdx));
if (cs[0].compareTo(cs[1]) > 0) {
final Coordinate tmp = cs[0];
cs[0] = cs[1];
@@ -344,7 +376,7 @@
@Override
public void doPaintSelection(final Graphics2D _g, final ZSelectionTrace _trace, final GrMorphisme _versEcran,
- final GrBoite _clipReel) {
+ final GrBoite _clipReel) {
if ((modele_ == null) || (modele_.getNombre() <= 0) || isSelectionEmpty() || isRapide()) {
return;
}
@@ -388,6 +420,37 @@
return selectionBasic(_poly, _mode);
}
+ @Override
+ public boolean changeSelection(CtuluListSelection _s, int _action) {
+ boolean res = super.changeSelection(_s, _action);
+ if (_s != null) {
+ switch (_action) {
+ case EbliSelectionState.ACTION_ADD:
+ if (_s.getNbSelectedIndex() == 1 && firstTwoSelected.size() < 2) {
+ firstTwoSelected.add(_s.getMinIndex());
+ }
+ break;
+ case EbliSelectionState.ACTION_DEL:
+ for (int j = firstTwoSelected.size() - 1; j >= 0; j--) {
+ if (_s.isSelected(firstTwoSelected.get(j))) {
+ firstTwoSelected.remove(j);
+ }
+ }
+ break;
+ case EbliSelectionState.ACTION_REPLACE:
+ firstTwoSelected.clear();
+ if (_s.getNbSelectedIndex() == 1) {
+ firstTwoSelected.add(_s.getMinIndex());
+ }
+ break;
+ default:
+ firstTwoSelected.clear();
+ break;
+ }
+ }
+ return res;
+ }
+
public CtuluListSelection selectionBasic(final LinearRing _poly, final int _mode) {
if (modele_ == null || modele_.getNombre() == 0 || !isVisible()) {
return null;
@@ -395,7 +458,7 @@
final Envelope polyEnv = _poly.getEnvelopeInternal();
final GrBoite domaineBoite = getDomaine();
final Envelope domaine = new Envelope(domaineBoite.e_.x_, domaineBoite.o_.x_, domaineBoite.e_.y_,
- domaineBoite.o_.y_);
+ domaineBoite.o_.y_);
// si l'envelop du polygone n'intersect pas le domaine, il n'y a pas de selection
if (!polyEnv.intersects(domaine)) {
return null;
@@ -424,7 +487,7 @@
}
public static int getSelectedPoint(final ZModelePoint _modele, final GrPoint _p, final int _tolerance,
- final GrMorphisme _versReel, final GrBoite _clipReel) {
+ final GrMorphisme _versReel, final GrBoite _clipReel) {
final GrBoite bClip = _modele.getDomaine();
final double toleranceReel = GrMorphisme.convertDistanceXY(_versReel, _tolerance);
if ((!bClip.contientXY(_p)) && (bClip.distanceXY(_p) > toleranceReel)) {
@@ -473,4 +536,4 @@
public boolean isConfigurable() {
return true;
}
-}
\ No newline at end of file
+}
Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZCalquePolygone.java
===================================================================
--- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZCalquePolygone.java 2013-01-22 16:09:51 UTC (rev 8241)
+++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZCalquePolygone.java 2013-01-22 16:59:58 UTC (rev 8242)
@@ -31,16 +31,19 @@
/**
* Un calque d'affichage de polyligne.
- *
+ *
* @version $Id: ZCalquePolygone.java,v 1.37.6.1 2008-02-20 10:16:02 bmarchan Exp $
* @author Fred Deniger
*/
public class ZCalquePolygone extends ZCalqueAffichageDonneesLineAbstract {
- /** Propriete modele. */
+ /**
+ * Propriete modele.
+ */
protected ZModelePolygone modele_;
- /** */
+ /**
+ * */
public ZCalquePolygone() {
super();
ligneModel_ = new TraceLigneModel();
@@ -96,7 +99,6 @@
public ZModeleDonnees modeleDonnees() {
return modele();
}
-
protected GrPolygone poly_ = new GrPolygone();
/**
@@ -105,17 +107,16 @@
* @param _idx l'indice du polygone
*/
protected void updateTrace(final TraceIconModel _ic, final TraceLigneModel _ligne, final int _idx) {
-
}
/**
* Ne dessine que les donn\xE9es.
- *
+ *
* @param _g le graphics cible
*/
@Override
public void paintDonnees(final Graphics2D _g, final GrMorphisme _versEcran, final GrMorphisme _versReel,
- final GrBoite _clipReel) {
+ final GrBoite _clipReel) {
if ((modele_ == null) || (modele_.getNombre() <= 0)) {
return;
}
@@ -142,7 +143,7 @@
}
}
for (int i = 0; i < nombre; i++) {
- if(!modele_.isPainted(i)){
+ if (!modele_.isPainted(i)) {
continue;
}
// si le polygone i est filtre on passe.
@@ -180,7 +181,7 @@
* @param _parent le composant parent pour dessiner les icones
*/
public static void paintPoly(final GrPolygone _p, final int _inc, final TraceLigne _tl, final TraceIcon _ic, final Graphics _g,
- final Component _parent) {
+ final Component _parent) {
GrPoint ptOri = _p.sommets_.renvoie(0);
GrPoint ptDest = null;
@@ -197,7 +198,7 @@
/**
* Ne dessine que la selection.
- *
+ *
* @param _g le graphics cible
*/
@Override
@@ -313,11 +314,15 @@
if (_cq.getNbSelected() != 2) {
return null;
}
+ return getSelectedLine(_cq.getLayerSelection().getMinIndex(), _cq.getLayerSelection().getMaxIndex(), _modele);
+ }
+
+ public static LineString getSelectedLine(int first, int last, final ZModelePolygone _modele) {
final Coordinate[] cs = new Coordinate[2];
final GrPolygone poly = new GrPolygone();
- _modele.polygone(poly, _cq.getLayerSelection().getMinIndex(), true);
+ _modele.polygone(poly, first, true);
cs[0] = poly.sommets_.barycentre();
- _modele.polygone(poly, _cq.getLayerSelection().getMaxIndex(), true);
+ _modele.polygone(poly, last, true);
cs[1] = poly.sommets_.barycentre();
if (cs[0].compareTo(cs[1]) > 0) {
final Coordinate tmp = cs[0];
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-01-22 16:09:58
|
Revision: 8241
http://fudaa.svn.sourceforge.net/fudaa/?rev=8241&view=rev
Author: deniger
Date: 2013-01-22 16:09:51 +0000 (Tue, 22 Jan 2013)
Log Message:
-----------
Modified Paths:
--------------
trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZCalqueLigneBriseeEditable.java
Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZCalqueLigneBriseeEditable.java
===================================================================
--- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZCalqueLigneBriseeEditable.java 2013-01-22 16:09:30 UTC (rev 8240)
+++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZCalqueLigneBriseeEditable.java 2013-01-22 16:09:51 UTC (rev 8241)
@@ -34,8 +34,10 @@
public class ZCalqueLigneBriseeEditable extends ZCalqueLigneBrisee implements ZCalqueEditable {
ZEditorInterface editor_;
- /** Les formes autoris\xE9e par le calque */
- protected int[] enabledForms_={DeForme.POLYGONE,DeForme.LIGNE_BRISEE,DeForme.RECTANGLE,DeForme.ELLIPSE};
+ /**
+ * Les formes autoris\xE9e par le calque
+ */
+ protected int[] enabledForms_ = {DeForme.POLYGONE, DeForme.LIGNE_BRISEE, DeForme.RECTANGLE, DeForme.ELLIPSE};
public ZCalqueLigneBriseeEditable() {
super();
@@ -43,8 +45,9 @@
public ZCalqueLigneBriseeEditable(final ZModeleLigneBriseeEditable _modele, final ZEditorDefault _editor) {
modele_ = _modele;
- if(modele_!=null)
+ if (modele_ != null) {
modele_.addModelListener(this);
+ }
editor_ = _editor;
}
@@ -55,13 +58,15 @@
/**
* Scinde en 2 une polyligne dont deux sommets cons\xE9cutifs sont s\xE9lectionn\xE9. Les attributs sont copi\xE9s.
- *
+ *
* @param _cmd La pile de commandes.
* @return true si le la polyligne a \xE9t\xE9 scind\xE9e.
*/
@Override
public boolean splitSelectedObject(CtuluCommandContainer _cmd, CtuluUI _ui) {
- if (isSelectionEmpty() || (getSelectionMode() != SelectionMode.ATOMIC)) return false;
+ if (isSelectionEmpty() || (getSelectionMode() != SelectionMode.ATOMIC)) {
+ return false;
+ }
int idxLine = selectionMulti_.getIdxSelected()[0];
int[] idxSels = selectionMulti_.get(idxLine).getSelectedIndex();
@@ -73,13 +78,15 @@
/**
* Joint 2 polylignes par leurs sommets d\xE9sign\xE9s.
- *
+ *
* @param _cmd La pile de commandes.
* @return true si les polylignes ont \xE9t\xE9 jointes.
*/
@Override
public boolean joinSelectedObjects(final CtuluCommandContainer _cmd, CtuluUI _ui) {
- if (isSelectionEmpty() || (getSelectionMode() != SelectionMode.ATOMIC)) return false;
+ if (isSelectionEmpty() || (getSelectionMode() != SelectionMode.ATOMIC)) {
+ return false;
+ }
int[] idxLines = new int[2];
int[] idxSels = new int[2];
@@ -90,7 +97,7 @@
// On vide la selection, les 2 lignes sont supprim\xE9es par la jonction.
clearSelection();
- return modeleDonnees().joinGeometries(idxLines, idxSels, _ui, _cmd)!=-1;
+ return modeleDonnees().joinGeometries(idxLines, idxSels, _ui, _cmd) != -1;
}
private boolean removeAtomicObjects(final CtuluCommandContainer _cmd, final CtuluUI _ui) {
@@ -98,9 +105,11 @@
}
protected void paintDeplacementMulti(final Graphics2D _g, final int _dxEcran, final int _dyEcran,
- final TraceIcon _trace) {
+ final TraceIcon _trace) {
final GrBoite clip = getClipReel(_g);
- if (!getDomaine().intersectXY(clip)) { return; }
+ if (!getDomaine().intersectXY(clip)) {
+ return;
+ }
Color cs = _trace.getCouleur();
if (isAttenue()) {
cs = attenueCouleur(cs);
@@ -161,11 +170,11 @@
}
/**
- * Ajoute un sommet a l'objet selectionn\xE9. Le sommet peut \xEAtre ajout\xE9 en bout de ligne, si un point extremit\xE9 est selectionn\xE9,
- * ou bien inser\xE9 si 2 sommets s\xE9lectionn\xE9s.
- *
+ * Ajoute un sommet a l'objet selectionn\xE9. Le sommet peut \xEAtre ajout\xE9 en bout de ligne, si un point extremit\xE9 est selectionn\xE9, ou bien inser\xE9 si 2
+ * sommets s\xE9lectionn\xE9s.
+ *
* Si le nombre d'objets selectionn\xE9s est diff\xE9rent de 1, le point n'est pas ajout\xE9.
- *
+ *
* @param _ptReel le point 3D r\xE9el de l'atome a ajouter
* @param _cmd le receveur de command
* @param _ui l'interface utilisateur
@@ -173,76 +182,78 @@
*/
@Override
public boolean addAtome(final GrPoint _ptReel, final CtuluCommandContainer _cmd, final CtuluUI _ui) {
- if (getNbSelected()!=1) return false;
+ if (getNbSelected() != 1) {
+ return false;
+ }
// if (getSelectionMode() != SelectionMode.NORMAL || getNbSelected()!=1) return false;
if (isAtomicMode()) {
- int idxGeom=selectionMulti_.getIdxSelected()[0];
+ int idxGeom = selectionMulti_.getIdxSelected()[0];
int idxBefore;
- if (selectionMulti_.getNbSelectedItem()==1) {
+ if (selectionMulti_.getNbSelectedItem() == 1) {
// Cas d'un polygone => Interdit d'ajouter un point en fin de g\xE9om\xE9trie.
- if (modeleDonnees().isGeometryFermee(idxGeom)) return false;
-
- if (selectionMulti_.getSelection(idxGeom).getMinIndex()==0)
- idxBefore=-1;
- else if (selectionMulti_.getSelection(idxGeom).getMaxIndex()==modeleDonnees().getGeomData().getGeometry(idxGeom).getNumPoints()-1)
- idxBefore=selectionMulti_.getSelection(idxGeom).getMaxIndex();
- else
+ if (modeleDonnees().isGeometryFermee(idxGeom)) {
return false;
- }
- else if (selectionMulti_.getNbSelectedItem()==2) {
- if (selectionMulti_.getSelection(idxGeom).getMaxIndex()==selectionMulti_.getSelection(idxGeom).getMinIndex()+1)
- idxBefore=selectionMulti_.getSelection(idxGeom).getMinIndex();
- else
+ }
+
+ if (selectionMulti_.getSelection(idxGeom).getMinIndex() == 0) {
+ idxBefore = -1;
+ } else if (selectionMulti_.getSelection(idxGeom).getMaxIndex() == modeleDonnees().getGeomData().getGeometry(idxGeom).getNumPoints() - 1) {
+ idxBefore = selectionMulti_.getSelection(idxGeom).getMaxIndex();
+ } else {
return false;
- }
- else {
+ }
+ } else if (selectionMulti_.getNbSelectedItem() == 2) {
+ if (selectionMulti_.getSelection(idxGeom).getMaxIndex() == selectionMulti_.getSelection(idxGeom).getMinIndex() + 1) {
+ idxBefore = selectionMulti_.getSelection(idxGeom).getMinIndex();
+ } else {
+ return false;
+ }
+ } else {
return false;
}
-
- modeleDonnees().addPoint(idxGeom,idxBefore, _ptReel.x_, _ptReel.y_, _ptReel.z_, _cmd);
+
+ modeleDonnees().addPoint(idxGeom, idxBefore, _ptReel.x_, _ptReel.y_, _ptReel.z_, _cmd);
repaint();
return true;
- }
-
- // En mode non atomique, le point ajout\xE9 est obligatoirement sur la polyligne.
+ } // En mode non atomique, le point ajout\xE9 est obligatoirement sur la polyligne.
else {
- final GrMorphisme versEcran=getVersEcran();
- final GrMorphisme versReel=getVersReel();
- final GrBoite bClip=getDomaine();
+ final GrMorphisme versEcran = getVersEcran();
+ final GrMorphisme versReel = getVersReel();
+ final GrBoite bClip = getDomaine();
bClip.autoApplique(versEcran);
- final int tolerance=5;
+ final int tolerance = 5;
// Point \xE0 projeter
// final GrPoint pt = new GrPoint(_xEcran, _yEcran, 0);
- final GrPoint ptEcran=_ptReel.applique(versEcran);
- if ((!bClip.contientXY(ptEcran))&&(bClip.distanceXY(ptEcran)>tolerance)) {
+ final GrPoint ptEcran = _ptReel.applique(versEcran);
+ if ((!bClip.contientXY(ptEcran)) && (bClip.distanceXY(ptEcran) > tolerance)) {
return false;
}
- final double distanceReel=GrMorphisme.convertDistanceXY(versReel, tolerance);
+ final double distanceReel = GrMorphisme.convertDistanceXY(versReel, tolerance);
// final GrPoint _ptReel = pt.applique(versReel);
- final GrSegment seg=new GrSegment(new GrPoint(), new GrPoint());
- final GrBoite bPoly=new GrBoite(new GrPoint(), new GrPoint());
+ final GrSegment seg = new GrSegment(new GrPoint(), new GrPoint());
+ final GrBoite bPoly = new GrBoite(new GrPoint(), new GrPoint());
- int i=selection_.getMinIndex();
+ int i = selection_.getMinIndex();
modele_.getDomaineForGeometry(i, bPoly);
- if (bPoly.contientXY(_ptReel)||bPoly.distanceXY(_ptReel)<distanceReel) {
- for (int j=modele_.getNbPointForGeometry(i)-1; j>0; j--) {
+ if (bPoly.contientXY(_ptReel) || bPoly.distanceXY(_ptReel) < distanceReel) {
+ for (int j = modele_.getNbPointForGeometry(i) - 1; j > 0; j--) {
modele_.point(seg.e_, i, j);
- modele_.point(seg.o_, i, j-1);
- if (seg.distanceXY(_ptReel)<distanceReel) {
- GrPoint ptOnSeg=seg.pointPlusProcheXY(_ptReel);
- modeleDonnees().addPoint(i, j-1, ptOnSeg.x_, ptOnSeg.y_, null, _cmd);
+ modele_.point(seg.o_, i, j - 1);
+ if (seg.distanceXY(_ptReel) < distanceReel) {
+ GrPoint ptOnSeg = seg.pointPlusProcheXY(_ptReel);
+ modeleDonnees().addPoint(i, j - 1, ptOnSeg.x_, ptOnSeg.y_, null, _cmd);
return true;
}
}
if (modele_.isGeometryFermee(i)) {
modele_.point(seg.e_, i, 0);
- modele_.point(seg.o_, i, modele_.getNbPointForGeometry(i)-1);
- if (seg.distanceXY(_ptReel)<distanceReel) {
- GrPoint ptOnSeg=seg.pointPlusProcheXY(_ptReel);
- modeleDonnees().addPoint(i, modele_.getNbPointForGeometry(i)-1, ptOnSeg.x_, ptOnSeg.y_, null, _cmd);
+ modele_.point(seg.o_, i, modele_.getNbPointForGeometry(i) - 1);
+ if (seg.distanceXY(_ptReel) < distanceReel) {
+ GrPoint ptOnSeg = seg.pointPlusProcheXY(_ptReel);
+ modeleDonnees().addPoint(i, modele_.getNbPointForGeometry(i) - 1, ptOnSeg.x_, ptOnSeg.y_, null, _cmd);
return true;
}
}
@@ -253,7 +264,7 @@
@Override
public boolean addForme(final GrObjet _o, final int _deforme, final CtuluCommandContainer _cmd, final CtuluUI _ui,
- final ZEditionAttributesDataI _data) {
+ final ZEditionAttributesDataI _data) {
if (_deforme == DeForme.POLYGONE) {
return modeleDonnees().addGeometry((GrPolygone) _o, _cmd, _ui, _data);
} else if (_deforme == DeForme.LIGNE_BRISEE) {
@@ -261,22 +272,25 @@
}
return false;
}
-
+
@Override
public boolean canAddForme(int _typeForme) {
for (int typeForme : enabledForms_) {
- if (_typeForme==typeForme) return true;
+ if (_typeForme == typeForme) {
+ return true;
+ }
}
return false;
}
-
+
/**
* Definit les formes autoris\xE9es par le calque.
+ *
* @param _forms Les formes.
* @see DeForme
*/
public void setFormeEnable(int[] _forms) {
- enabledForms_=_forms;
+ enabledForms_ = _forms;
}
@Override
@@ -305,10 +319,10 @@
public ZModeleLigneBriseeEditable getModelePoly() {
return modeleDonnees();
}
-
+
@Override
public ZModeleLigneBriseeEditable modeleDonnees() {
- return (ZModeleLigneBriseeEditable)modele_;
+ return (ZModeleLigneBriseeEditable) modele_;
}
@Override
@@ -322,7 +336,7 @@
@Override
public boolean moveSelectedObjects(final double _reelDx, final double _reelDy, final double _reelDz,
- final CtuluCommandContainer _cmd, final CtuluUI _ui) {
+ final CtuluCommandContainer _cmd, final CtuluUI _ui) {
if (!isSelectionEmpty()) {
// TODO Voir si l'action se fait qu'en mode atomique (comme mnt) ou dans tout mode diff\xE9rent du mode normal.
// if (isAtomicMode()) {
@@ -342,7 +356,7 @@
*/
@Override
public boolean rotateSelectedObjects(double _angRad, double _xreel0, double _yreel0, CtuluCommandContainer _cmd,
- CtuluUI _ui) {
+ CtuluUI _ui) {
if (!isSelectionEmpty()) {
// TODO Voir si l'action se fait qu'en mode atomique (comme mnt) ou dans tout mode diff\xE9rent du mode normal.
// if (isAtomicMode()) {
@@ -361,12 +375,16 @@
*/
@Override
public boolean copySelectedObjects(CtuluCommandContainer _cmd, CtuluUI _ui) {
- if (isSelectionEmpty() || (getSelectionMode() != SelectionMode.NORMAL)) return false;
+ if (isSelectionEmpty() || (getSelectionMode() != SelectionMode.NORMAL)) {
+ return false;
+ }
int nb = modeleDonnees().getNombre();
GrSegment pdec = new GrSegment(new GrPoint(0, 5, 0), new GrPoint(5, 0, 0));
pdec.autoApplique(getVersReel());
- if (!modeleDonnees().copyGlobal(selection_, 0/* pdec.getVx() */, 0/* pdec.getVy() */, _cmd)) return false;
+ if (!modeleDonnees().copyGlobal(selection_, 0/* pdec.getVx() */, 0/* pdec.getVy() */, _cmd)) {
+ return false;
+ }
// Changement de selection.
int[] isels = new int[selection_.getNbSelectedIndex()];
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2013-01-22 15:37:50
|
Revision: 8239
http://fudaa.svn.sourceforge.net/fudaa/?rev=8239&view=rev
Author: bmarchan
Date: 2013-01-22 15:37:43 +0000 (Tue, 22 Jan 2013)
Log Message:
-----------
Fix : Correspondance indice maillage/valeurs
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivResultsModel.java
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivResultsModel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivResultsModel.java 2013-01-22 14:42:29 UTC (rev 8238)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivResultsModel.java 2013-01-22 15:37:43 UTC (rev 8239)
@@ -31,6 +31,7 @@
import org.poly2tri.triangulation.point.TPoint;
import org.poly2tri.triangulation.sets.PointSet;
+import com.memoire.fu.FuLog;
import com.vividsolutions.jts.geom.Coordinate;
/**
@@ -112,9 +113,14 @@
if (_triangles.isEmpty()) {
return null;
}
+ // Remplissage de la table de correspondance des coordonn\xE9es -> indices
+ TreeMap<Coordinate, Integer> map = new TreeMap<Coordinate, Integer>(new CoordinateComparator());
+ for (int i=0; i<results[0].getNbPoints(); i++) {
+ Coordinate c=new Coordinate(results[0].getX(i),results[0].getY(i));
+ map.put(c, i);
+ }
+
EfElement[] elts = new EfElement[_triangles.size()];
- TreeMap<Coordinate, Integer> map = new TreeMap<Coordinate, Integer>(new CoordinateComparator());
- int idx = 0;
ProgressionUpdater updater = new ProgressionUpdater(_prog);
updater.majProgessionStateOnly(PivResource.getS("Construction des \xE9l\xE9ments"));
updater.setValue(10, _triangles.size());
@@ -126,8 +132,7 @@
Coordinate c = new Coordinate(triangulationPoint.getX(), triangulationPoint.getY());
Integer ptIdx = map.get(c);
if (ptIdx == null) {
- ptIdx = idx;
- map.put(c, idx++);
+ FuLog.error(PivResource.getS("Correspondance impossible des indices de noeuds lors de la creation du maillage"));
}
elt[idxPt] = ptIdx;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2013-01-22 14:42:38
|
Revision: 8238
http://fudaa.svn.sourceforge.net/fudaa/?rev=8238&view=rev
Author: bmarchan
Date: 2013-01-22 14:42:29 +0000 (Tue, 22 Jan 2013)
Log Message:
-----------
Fix : Pb avec les calques results
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeLaunchAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivResultsLayer.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java
Added Paths:
-----------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivVelResultsLayer.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivVelResultsModel.java
Removed Paths:
-------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivInstantVelResultsModel.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivVelResultsModel.java
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java 2013-01-22 14:41:07 UTC (rev 8237)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java 2013-01-22 14:42:29 UTC (rev 8238)
@@ -47,13 +47,13 @@
import org.fudaa.fudaa.piv.layer.PivControlPointsModel;
import org.fudaa.fudaa.piv.layer.PivFlowResultsModel;
import org.fudaa.fudaa.piv.layer.PivImageRasterLayer;
-import org.fudaa.fudaa.piv.layer.PivResultsModel;
-import org.fudaa.fudaa.piv.layer.PivInstantVelResultsModel;
+import org.fudaa.fudaa.piv.layer.PivVelResultsModel;
import org.fudaa.fudaa.piv.layer.PivOrthoPointsModel;
import org.fudaa.fudaa.piv.layer.PivRealImageModel;
import org.fudaa.fudaa.piv.layer.PivResultsLayer;
+import org.fudaa.fudaa.piv.layer.PivResultsModel;
import org.fudaa.fudaa.piv.layer.PivTransectModel;
-import org.fudaa.fudaa.piv.layer.PivVelResultsModel;
+import org.fudaa.fudaa.piv.layer.PivVelResultsLayer;
import org.fudaa.fudaa.piv.metier.PivProject;
import org.fudaa.fudaa.piv.metier.PivProjectStateListener;
import org.fudaa.fudaa.piv.metier.PivResultsI;
@@ -93,9 +93,9 @@
/** L'affichage d'un transect */
ZCalqueLigneBriseeEditable cqTransect_;
/** L'affichage des r\xE9sultats moyenn\xE9s */
- ZCalqueFleche cqVelResults;
+ PivVelResultsLayer cqVelResults;
/** L'affichage des r\xE9sultats instantan\xE9s */
- ZCalqueFleche cqInstantVelResults_;
+ PivVelResultsLayer cqInstantVelResults_;
/** L'affichage des r\xE9sultats de d\xE9bit */
ZCalqueFleche cqFlowResults;
/** L'affichage des r\xE9sultats instantan\xE9s */
@@ -109,7 +109,7 @@
PivVelResultsModel mdlVelResults;
PivTransectModel mdlTransect;
PivFlowResultsModel mdlFlowResults;
- PivInstantVelResultsModel mdlInstantVelResults;
+ PivVelResultsModel mdlInstantVelResults;
PivResultsModel mdlInstantResults;
PivResultsModel mdlAverageResults;
@@ -219,12 +219,7 @@
cqRealImg_.setName("cqRealImg");
// Layer des vitesses resultantes.
- cqVelResults = new ZCalqueFleche() {
- @Override
- protected String getFlecheUnit() {
- return "m/s";
- }
- };
+ cqVelResults = new PivVelResultsLayer();
cqVelResults.setTitle(PivResource.getS("Vit. surf. moy."));
cqVelResults.setLongTitle(PivResource.getS("Vitesse de surface moyenn\xE9e"));
cqVelResults.setTitleModifiable(true);
@@ -240,12 +235,7 @@
});
// Layer des vitesses instantan\xE9es resultantes.
- cqInstantVelResults_ = new ZCalqueFleche() {
- @Override
- protected String getFlecheUnit() {
- return "m/s";
- }
- };
+ cqInstantVelResults_ = new PivVelResultsLayer();
cqInstantVelResults_.setTitle(PivResource.getS("Vit. surf. inst."));
cqInstantVelResults_.setLongTitle(PivResource.getS("Vitesse de surface instantan\xE9e"));
cqInstantVelResults_.setTitleModifiable(true);
@@ -335,15 +325,17 @@
mdlRealImage.setProjet(prj_);
cqRealImg_.setModele(mdlRealImage);
- mdlVelResults=new PivVelResultsModel();
- mdlVelResults.setProjet(prj_);
- cqVelResults.setModele(mdlVelResults);
- cqVelResults.setVisible(false);
+ if (prj_.getAverageResults()!=null) {
+ mdlVelResults=new PivVelResultsModel(new PivResultsI[]{prj_.getAverageResults()});
+ cqVelResults.setModele(mdlVelResults);
+ cqVelResults.setVisible(false);
+ }
- mdlInstantVelResults=new PivInstantVelResultsModel();
- mdlInstantVelResults.setProjet(prj_);
- cqInstantVelResults_.setModele(mdlInstantVelResults);
- cqInstantVelResults_.setVisible(false);
+ if (prj_.getInstantResults()!=null) {
+ mdlInstantVelResults=new PivVelResultsModel(prj_.getInstantResults());
+ cqInstantVelResults_.setModele(mdlInstantVelResults);
+ cqInstantVelResults_.setVisible(false);
+ }
mdlFlowResults=new PivFlowResultsModel();
mdlFlowResults.setProjet(prj_);
@@ -455,7 +447,7 @@
private void setSelectedResult(int _ind) {
if (cqInstantVelResults_!=null && cqInstantVelResults_.modeleDonnees()!=null) {
- ((PivInstantVelResultsModel)cqInstantVelResults_.modeleDonnees()).setSelectedResult(_ind);
+ ((PivVelResultsModel)cqInstantVelResults_.modeleDonnees()).setSelectedResult(_ind);
// Pour que le calque soit r\xE9affich\xE9.
cqInstantVelResults_.repaint();
}
@@ -593,17 +585,21 @@
if (_prj.getAverageResults()!=null) {
mdlAverageResults=new PivResultsModel(new PivResultsI[]{prj_.getAverageResults()},null);
cqAverageIso_.setModele(mdlAverageResults);
+
+ mdlVelResults=new PivVelResultsModel(new PivResultsI[]{prj_.getAverageResults()});
+ cqVelResults.setModele(mdlVelResults);
}
majTools();
- mdlVelResults.update();
}
else if ("instantResults".equals(_prop)) {
if (_prj.getInstantResults()!=null) {
mdlInstantResults=new PivResultsModel(prj_.getInstantResults(),null);
cqInstantIso_.setModele(mdlInstantResults);
+
+ mdlInstantVelResults=new PivVelResultsModel(prj_.getInstantResults());
+ cqInstantVelResults_.setModele(mdlInstantVelResults);
}
- mdlInstantVelResults.update();
majTools();
}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeLaunchAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeLaunchAction.java 2013-01-22 14:41:07 UTC (rev 8237)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeLaunchAction.java 2013-01-22 14:42:29 UTC (rev 8238)
@@ -35,7 +35,7 @@
* @param _impl L'implementation.
*/
public PivComputeLaunchAction(PivImplementation _impl) {
- super(PivResource.getS("Calcul des vitesses instantan\xE9es"), null, "COMPUTE_PIV");
+ super(PivResource.getS("Calcul des r\xE9sultats instantan\xE9s"), null, "COMPUTE_PIV");
impl=_impl;
setEnabled(false);
@@ -60,7 +60,7 @@
// La tache a ex\xE9cuter.
- CtuluTaskOperationGUI r=new CtuluTaskOperationGUI(impl, PivResource.getS("Calcul des champs de vitesses instantan\xE9es")) {
+ CtuluTaskOperationGUI r=new CtuluTaskOperationGUI(impl, PivResource.getS("Calcul des r\xE9sultats instantan\xE9s")) {
public void act() {
try {
Deleted: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivInstantVelResultsModel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivInstantVelResultsModel.java 2013-01-22 14:41:07 UTC (rev 8237)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivInstantVelResultsModel.java 2013-01-22 14:42:29 UTC (rev 8238)
@@ -1,219 +0,0 @@
-package org.fudaa.fudaa.piv.layer;
-
-import org.fudaa.ctulu.table.CtuluTable;
-import org.fudaa.ebli.calque.ZCalqueAffichageDonneesInterface;
-import org.fudaa.ebli.calque.ZCalqueFleche;
-import org.fudaa.ebli.calque.ZModeleFleche;
-import org.fudaa.ebli.geometrie.GrBoite;
-import org.fudaa.ebli.geometrie.GrPoint;
-import org.fudaa.ebli.geometrie.GrSegment;
-import org.fudaa.ebli.palette.BPaletteInfo.InfoData;
-import org.fudaa.fudaa.piv.PivResource;
-import org.fudaa.fudaa.piv.metier.PivProject;
-import org.fudaa.fudaa.piv.metier.PivResultsI;
-import org.fudaa.fudaa.piv.metier.PivResultsI.TYPE;
-
-import com.memoire.bu.BuTable;
-
-/**
- * Un modele pour le trac\xE9 des vecteurs vitesses instantan\xE9s.
- *
- * @author Bertrand Marchand (mar...@de...)
- * @version $Id$
- */
-public class PivInstantVelResultsModel implements ZModeleFleche {
- /** Le projet. **/
- PivProject prj_;
- /** L'index du r\xE9sultat instantan\xE9 s\xE9lectionn\xE9. */
- int iselres_=-1;
- /** Le point, toujours le m\xEAme, pour retourner les coordonn\xE9es 3D d'un r\xE9sultat. */
- GrPoint ptCache_=new GrPoint();
-
- /**
- * Le constructeur.
- */
- public PivInstantVelResultsModel() {
- }
-
- /**
- * Redefinit le projet, et remet a jour le modele.
- * @param _prj Le projet courant.
- */
- public void setProjet(PivProject _prj) {
- prj_=_prj;
- update();
- }
-
- /**
- * D\xE9finit le r\xE9sultat instantan\xE9 selectionn\xE9.
- * @param _ind L'index. Peut \xEAtre -1 si aucun r\xE9sultat s\xE9lectionn\xE9.
- */
- public void setSelectedResult(int _ind) {
- iselres_=_ind;
- }
-
- /**
- * Met a jour le mod\xE8le. Cette m\xE9thode est vide, le mod\xE8le se base directement
- * sur le projet.
- */
- public void update() {
- if (prj_.getInstantResults()==null || prj_.getInstantResults().length-1<iselres_)
- setSelectedResult(0);
- }
-
- /** Non implement\xE9 */
- @Override
- public boolean interpolate(GrSegment _seg, double _x, double _y) {
- return false;
- }
-
- /**
- * Initialise le segment depuis les points d'indice _i et _i+1
- * @param _s Le segement.
- * @param _i L'indice du premier point.
- * @param _force Inutilis\xE9.
- * @return Fix\xE9 \xE0 true.
- */
- @Override
- public boolean segment(GrSegment _s, int _i, boolean _force) {
- _s.o_.x_=getX(_i);
- _s.o_.y_=getY(_i);
- _s.e_.x_=getX(_i)+getVx(_i);
- _s.e_.y_=getY(_i)+getVy(_i);
-
- return true;
- }
-
- /**
- * Retourne la norme de la vitesse au point d'indice _i
- * @param _i L'indice du point.
- * @return La norme.
- */
- @Override
- public double getNorme(int _i) {
- double vx=getVx(_i);
- double vy=getVy(_i);
- return Math.sqrt(vx*vx+vy*vy);
- }
-
- /**
- * Retourne la vitesse suivant X au point d'indice _i
- * @param _i L'indice du point.
- * @return La vitesse.
- */
- @Override
- public double getVx(int _i) {
- if (iselres_==-1 || prj_.getInstantResults()==null) return 0;
- return prj_.getInstantResults()[iselres_].getValue(_i,TYPE.VX);
- }
-
- /**
- * Retourne la vitesse suivant Y au point d'indice _i
- * @param _i L'indice du point.
- * @return La vitesse.
- */
- @Override
- public double getVy(int _i) {
- if (iselres_==-1 || prj_.getInstantResults()==null) return 0;
- return prj_.getInstantResults()[iselres_].getValue(_i,TYPE.VY);
- }
-
- /**
- * Retourne la coordonn\xE9e X au point d'indice _i
- * @param _i L'indice du point.
- * @return La coordonn\xE9e.
- */
- @Override
- public double getX(int _i) {
- if (iselres_==-1 || prj_.getInstantResults()==null) return 0;
- return prj_.getInstantResults()[iselres_].getX(_i);
- }
-
- /**
- * Retourne la coordonn\xE9e Y au point d'indice _i
- * @param _i L'indice du point.
- * @return La coordonn\xE9e.
- */
- @Override
- public double getY(int _i) {
- if (iselres_==-1 || prj_.getInstantResults()==null) return 0;
- return prj_.getInstantResults()[iselres_].getY(_i);
- }
-
- /** Non implement\xE9 */
- @Override
- public double getZ1(int _i) {
- return 0;
- }
-
- /** Non implement\xE9 */
- @Override
- public double getZ2(int _i) {
- return 0;
- }
-
- @Override
- public BuTable createValuesTable(ZCalqueAffichageDonneesInterface _layer) {
- return new CtuluTable(new ZCalqueFleche.ValueTableModel(this));
- }
-
- @Override
- public void fillWithInfo(InfoData _d, ZCalqueAffichageDonneesInterface _layer) {
- final ZCalqueFleche.StringInfo info = new ZCalqueFleche.StringInfo();
- info.titleIfOne_ = PivResource.getS("Vit. instantan\xE9es: point n\xB0");
- info.title_ = PivResource.getS("Vit. instantan\xE9es");
- ZCalqueFleche.fillWithInfo(_d, _layer.getLayerSelection(), this, info);
- }
-
- /** Non implement\xE9 */
- @Override
- public boolean isValuesTableAvailable() {
- return true;
- }
-
- /**
- * Retourne la boite englobante des points du mod\xE8le.
- * @return La boite.
- */
- @Override
- public GrBoite getDomaine() {
- PivResultsI[] res=prj_.getInstantResults();
- if (res==null) return null;
-
- GrBoite bt=new GrBoite();
- for (int i=0; i<res[0].getNbPoints(); i++) {
- bt.ajuste(res[0].getX(i),res[0].getY(i),0);
- }
- return bt;
- }
-
- /**
- * Retourne le nombre de points du mod\xE8le.
- * @return Le nombre de points.
- */
- @Override
- public int getNombre() {
- if (prj_.getInstantResults()==null) return 0;
- return prj_.getInstantResults()[0].getNbPoints();
- }
-
- /** Non implement\xE9 */
- @Override
- public Object getObject(int _ind) {
- return null;
- }
-
- public GrPoint getVertexForObject(int _ind, int _idVertex) {
- if (prj_.getInstantResults()==null) return null;
- if (_ind>=prj_.getInstantResults()[0].getNbPoints()) return null;
-
- ptCache_.x_=prj_.getInstantResults()[0].getX(_ind);
- ptCache_.y_=prj_.getInstantResults()[0].getY(_ind);
- ptCache_.z_=0;
- return ptCache_;
- }
-
- @Override
- public void prepare() {
- }
-}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivResultsLayer.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivResultsLayer.java 2013-01-22 14:41:07 UTC (rev 8237)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivResultsLayer.java 2013-01-22 14:42:29 UTC (rev 8238)
@@ -19,6 +19,7 @@
import org.fudaa.ebli.trace.TraceLigneModel;
import org.fudaa.fudaa.meshviewer.layer.MvElementLayer;
import org.fudaa.fudaa.meshviewer.layer.MvIsoLayerQuickPainter;
+import org.fudaa.fudaa.piv.metier.PivResultsI.TYPE;
/**
* Un calque pour afficher des r\xE9sultats sous forme d'isocouleurs/isolignes. Ce calque
@@ -229,4 +230,33 @@
palette.setSousTitre(modele().getCurrentVar().getName());
this.setPaletteCouleurPlages(palette);
}
+
+ @Override
+ public EbliUIProperties saveUIProperties() {
+ final EbliUIProperties res = super.saveUIProperties();
+
+ res.put(PivResultatsLayerConfigure.ISO_LINE_PAINTED, isTraceIsoLine());
+ res.put(PivResultatsLayerConfigure.ISO_SURFACE_PAINTED, isTraceIsoSurface());
+ res.put("iso.variable", modele()==null ? "":modele().getCurrentVar().toString());
+ return res;
+ }
+
+ @Override
+ public void initFrom(final EbliUIProperties _p) {
+ if (_p != null) {
+ if (_p.isDefined(PivResultatsLayerConfigure.ISO_LINE_PAINTED)) {
+ setTraceIsoLine(_p.getBoolean(PivResultatsLayerConfigure.ISO_LINE_PAINTED));
+ }
+ if (_p.isDefined(PivResultatsLayerConfigure.ISO_SURFACE_PAINTED)) {
+ setTraceIsoSurface(_p.getBoolean(PivResultatsLayerConfigure.ISO_SURFACE_PAINTED));
+ }
+ if (_p.isDefined("iso.variable")) {
+ if (modele()!=null) {
+ modele().setCurrentVar(TYPE.valueOf(_p.getString("iso.variable")));
+ }
+ }
+ super.initFrom(_p);
+ }
+ }
+
}
Added: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivVelResultsLayer.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivVelResultsLayer.java (rev 0)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivVelResultsLayer.java 2013-01-22 14:42:29 UTC (rev 8238)
@@ -0,0 +1,85 @@
+package org.fudaa.fudaa.piv.layer;
+
+import org.fudaa.ctulu.CtuluRange;
+import org.fudaa.ebli.calque.ZCalqueFleche;
+import org.fudaa.ebli.calque.ZModeleSegment;
+
+/**
+ * Un calque pour le trac\xE9 des vitesses.
+ * @author Bertrand Marchand (mar...@de...)
+ * @version $Id$
+ */
+public class PivVelResultsLayer extends ZCalqueFleche {
+
+ @Override
+ protected String getFlecheUnit() {
+ return "m/s";
+ }
+
+ /**
+ * True : Les bornes de la palette peuvent \xEAtre d\xE9finies de mani\xE8re automatique pour tous
+ * les temps.
+ */
+ @Override
+ public boolean isDonneesBoiteAvailable() {
+ return true;
+ }
+
+ /**
+ * True : Les bornes de la palette peuvent \xEAtre d\xE9finies de mani\xE8re automatique pour le temps
+ * temps courant.
+ */
+ @Override
+ public boolean isDonneesBoiteTimeAvailable() {
+ return true;
+ }
+
+ /**
+ * Definition des bornes de la palette pour tous les pas de temps.
+ */
+ @Override
+ public boolean getRange(final CtuluRange _b) {
+ PivVelResultsModel mdl=modeleDonnees();
+ if (mdl==null) return false;
+
+ // on initialise le min/max;
+ _b.setToNill();
+ for (int tidx = mdl.getNbTime() - 1; tidx >= 0; tidx--) {
+ for (int i = mdl.getNombre() - 1; i >= 0; i--) {
+ _b.expandTo(mdl.getNorme(tidx, i));
+ }
+ }
+ return true;
+ }
+
+ /**
+ * Definition des bornes de la palette pour le temps courant.
+ */
+ @Override
+ public boolean getTimeRange(final CtuluRange _b) {
+ PivVelResultsModel mdl=modeleDonnees();
+ if (mdl==null) return false;
+
+ // on initialise le min/max;
+ _b.setToNill();
+ for (int i = mdl.getNombre() - 1; i >= 0; i--) {
+ _b.expandTo(mdl.getNorme(i));
+ }
+ return true;
+ }
+
+ @Override
+ public PivVelResultsModel modeleDonnees() {
+ return (PivVelResultsModel )modele_;
+ }
+
+ @Override
+ public void setModele(ZModeleSegment _modele) {
+ if (!(_modele instanceof PivVelResultsModel))
+ throw new IllegalArgumentException("Bad type argument");
+
+ super.setModele(_modele);
+ }
+
+
+}
Property changes on: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivVelResultsLayer.java
___________________________________________________________________
Added: svn:keywords
+ Id
Added: svn:eol-style
+ native
Deleted: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivVelResultsModel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivVelResultsModel.java 2013-01-22 14:41:07 UTC (rev 8237)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivVelResultsModel.java 2013-01-22 14:42:29 UTC (rev 8238)
@@ -1,204 +0,0 @@
-package org.fudaa.fudaa.piv.layer;
-
-import org.fudaa.ctulu.table.CtuluTable;
-import org.fudaa.ebli.calque.ZCalqueAffichageDonneesInterface;
-import org.fudaa.ebli.calque.ZCalqueFleche;
-import org.fudaa.ebli.calque.ZModeleFleche;
-import org.fudaa.ebli.geometrie.GrBoite;
-import org.fudaa.ebli.geometrie.GrPoint;
-import org.fudaa.ebli.geometrie.GrSegment;
-import org.fudaa.ebli.palette.BPaletteInfo.InfoData;
-import org.fudaa.fudaa.piv.PivResource;
-import org.fudaa.fudaa.piv.metier.PivProject;
-import org.fudaa.fudaa.piv.metier.PivResultsI;
-import org.fudaa.fudaa.piv.metier.PivResultsI.TYPE;
-
-import com.memoire.bu.BuTable;
-
-/**
- * Un modele pour le trac\xE9 des vecteurs vitesses moyenn\xE9es.
- *
- * @author Bertrand Marchand (mar...@de...)
- * @version $Id$
- */
-public class PivVelResultsModel implements ZModeleFleche {
- /** Le projet. **/
- PivProject prj_;
- /** Le point, toujours le m\xEAme, pour retourner les coordonn\xE9es 3D d'un r\xE9sultat. */
- GrPoint ptCache_=new GrPoint();
-
- /**
- * Le constructeur.
- */
- public PivVelResultsModel() {
- }
-
- /**
- * Redefinit le projet, et remet a jour le modele.
- * @param _prj Le projet courant.
- */
- public void setProjet(PivProject _prj) {
- prj_=_prj;
- update();
- }
-
- /**
- * Met a jour le mod\xE8le. Cette m\xE9thode est vide, le mod\xE8le se base directement
- * sur le projet.
- */
- public void update() {}
-
- /** Non implement\xE9 */
- @Override
- public boolean interpolate(GrSegment _seg, double _x, double _y) {
- return false;
- }
-
- /**
- * Initialise le segment depuis les points d'indice _i et _i+1
- * @param _s Le segement.
- * @param _i L'indice du premier point.
- * @param _force Inutilis\xE9.
- * @return Fix\xE9 \xE0 true.
- */
- @Override
- public boolean segment(GrSegment _s, int _i, boolean _force) {
- _s.o_.x_=getX(_i);
- _s.o_.y_=getY(_i);
- _s.e_.x_=getX(_i)+getVx(_i);
- _s.e_.y_=getY(_i)+getVy(_i);
-
- return true;
- }
-
- /**
- * Retourne la norme de la vitesse au point d'indice _i
- * @param _i L'indice du point.
- * @return La norme.
- */
- @Override
- public double getNorme(int _i) {
- double vx=getVx(_i);
- double vy=getVy(_i);
- return Math.sqrt(vx*vx+vy*vy);
- }
-
- /**
- * Retourne la vitesse suivant X au point d'indice _i
- * @param _i L'indice du point.
- * @return La vitesse.
- */
- @Override
- public double getVx(int _i) {
- if (prj_.getAverageResults()==null) return 0;
- return prj_.getAverageResults().getValue(_i,TYPE.VX);
- }
-
- /**
- * Retourne la vitesse suivant Y au point d'indice _i
- * @param _i L'indice du point.
- * @return La vitesse.
- */
- @Override
- public double getVy(int _i) {
- if (prj_.getAverageResults()==null) return 0;
- return prj_.getAverageResults().getValue(_i,TYPE.VY);
- }
-
- /**
- * Retourne la coordonn\xE9e X au point d'indice _i
- * @param _i L'indice du point.
- * @return La coordonn\xE9e.
- */
- @Override
- public double getX(int _i) {
- if (prj_.getAverageResults()==null) return 0;
- return prj_.getAverageResults().getX(_i);
- }
-
- /**
- * Retourne la coordonn\xE9e Y au point d'indice _i
- * @param _i L'indice du point.
- * @return La coordonn\xE9e.
- */
- @Override
- public double getY(int _i) {
- if (prj_.getAverageResults()==null) return 0;
- return prj_.getAverageResults().getY(_i);
- }
-
- /** Non implement\xE9 */
- @Override
- public double getZ1(int _i) {
- return 0;
- }
-
- /** Non implement\xE9 */
- @Override
- public double getZ2(int _i) {
- return 0;
- }
-
- @Override
- public BuTable createValuesTable(ZCalqueAffichageDonneesInterface _layer) {
- return new CtuluTable(new ZCalqueFleche.ValueTableModel(this));
- }
-
- @Override
- public void fillWithInfo(InfoData _d, ZCalqueAffichageDonneesInterface _layer) {
- final ZCalqueFleche.StringInfo info = new ZCalqueFleche.StringInfo();
- info.titleIfOne_ = PivResource.getS("R\xE9sultats: point n\xB0");
- info.title_ = PivResource.getS("R\xE9sultats");
- ZCalqueFleche.fillWithInfo(_d, _layer.getLayerSelection(), this, info);
- }
-
- /** Non implement\xE9 */
- @Override
- public boolean isValuesTableAvailable() {
- return true;
- }
-
- /**
- * Retourne la boite englobante des points du mod\xE8le.
- * @return La boite.
- */
- @Override
- public GrBoite getDomaine() {
- PivResultsI res=prj_.getAverageResults();
- if (res==null) return null;
-
- GrBoite bt=new GrBoite();
- for (int i=0; i<res.getNbPoints(); i++) {
- bt.ajuste(res.getX(i),res.getY(i),0);
- }
- return bt;
- }
-
- /**
- * Retourne le nombre de points du mod\xE8le.
- * @return Le nombre de points.
- */
- @Override
- public int getNombre() {
- if (prj_.getAverageResults()==null) return 0;
- return prj_.getAverageResults().getNbPoints();
- }
-
- /** Non implement\xE9 */
- @Override
- public Object getObject(int _ind) {
- return null;
- }
-
- public GrPoint getVertexForObject(int _ind, int _idVertex) {
- if (prj_.getAverageResults()==null) return null;
- if (_ind>=prj_.getAverageResults().getNbPoints()) return null;
-
- ptCache_.setCoordonnees(prj_.getAverageResults().getX(_ind),prj_.getAverageResults().getY(_ind),0.);
- return ptCache_;
- }
-
- @Override
- public void prepare() {
- }
-}
Copied: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivVelResultsModel.java (from rev 8233, trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivInstantVelResultsModel.java)
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivVelResultsModel.java (rev 0)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivVelResultsModel.java 2013-01-22 14:42:29 UTC (rev 8238)
@@ -0,0 +1,249 @@
+package org.fudaa.fudaa.piv.layer;
+
+import org.fudaa.ctulu.table.CtuluTable;
+import org.fudaa.ebli.calque.ZCalqueAffichageDonneesInterface;
+import org.fudaa.ebli.calque.ZCalqueFleche;
+import org.fudaa.ebli.calque.ZModeleFleche;
+import org.fudaa.ebli.geometrie.GrBoite;
+import org.fudaa.ebli.geometrie.GrPoint;
+import org.fudaa.ebli.geometrie.GrSegment;
+import org.fudaa.ebli.palette.BPaletteInfo.InfoData;
+import org.fudaa.fudaa.piv.PivResource;
+import org.fudaa.fudaa.piv.metier.PivResultsI;
+import org.fudaa.fudaa.piv.metier.PivResultsI.TYPE;
+
+import com.memoire.bu.BuTable;
+
+/**
+ * Un modele pour le trac\xE9 des vecteurs vitesses.
+ *
+ * @author Bertrand Marchand (mar...@de...)
+ * @version $Id$
+ */
+public class PivVelResultsModel implements ZModeleFleche {
+ /** L'index du r\xE9sultat instantan\xE9 s\xE9lectionn\xE9. */
+ int iselres_=0;
+ /** Le point, toujours le m\xEAme, pour retourner les coordonn\xE9es 3D d'un r\xE9sultat. */
+ GrPoint ptCache_=new GrPoint();
+ /** Les resultats */
+ PivResultsI[] results_;
+
+ /**
+ * Le constructeur.
+ */
+ public PivVelResultsModel(PivResultsI[] _res) {
+ results_=_res;
+ }
+
+ /**
+ * @return Le nombre de temps du mod\xE8le
+ */
+ public int getNbTime() {
+ return results_==null ? 0 : results_.length;
+ }
+
+ /**
+ * D\xE9finit le r\xE9sultat instantan\xE9 selectionn\xE9.
+ * @param _ind L'index. Peut \xEAtre -1 si aucun r\xE9sultat s\xE9lectionn\xE9.
+ */
+ public void setSelectedResult(int _ind) {
+ iselres_=_ind;
+ }
+
+ /** Non implement\xE9 */
+ @Override
+ public boolean interpolate(GrSegment _seg, double _x, double _y) {
+ return false;
+ }
+
+ /**
+ * Initialise le segment depuis les points d'indice _i et _i+1, pour
+ * le temps courant.
+ * @param _s Le segement.
+ * @param _i L'indice du premier point.
+ * @param _force Inutilis\xE9.
+ * @return Fix\xE9 \xE0 true.
+ */
+ @Override
+ public boolean segment(GrSegment _s, int _i, boolean _force) {
+ _s.o_.x_=getX(_i);
+ _s.o_.y_=getY(_i);
+ _s.e_.x_=getX(_i)+getVx(_i);
+ _s.e_.y_=getY(_i)+getVy(_i);
+
+ return true;
+ }
+
+ /**
+ * Retourne la norme de la vitesse au point d'indice _i, pour le temps
+ * courant.
+ * @param _i L'indice du point.
+ * @return La norme.
+ */
+ @Override
+ public double getNorme(int _i) {
+ double vx=getVx(_i);
+ double vy=getVy(_i);
+ return Math.sqrt(vx*vx+vy*vy);
+ }
+
+ /**
+ * Retourne la norme de la vitesse au point d'indice _i, pour le temps
+ * donn\xE9.
+ * @param _tidx L'indice du temps
+ * @param _ipt L'indice du point.
+ * @return La norme.
+ */
+ public double getNorme(int _tidx, int _ipt) {
+ double vx=getVx(_tidx, _ipt);
+ double vy=getVy(_tidx, _ipt);
+ return Math.sqrt(vx*vx+vy*vy);
+ }
+
+ /**
+ * Retourne la vitesse suivant X au point d'indice _i pour le
+ * temps courant.
+ * @param _i L'indice du point.
+ * @return La vitesse.
+ */
+ @Override
+ public double getVx(int _i) {
+ if (iselres_>=results_.length || results_[iselres_]==null) return 0;
+ return results_[iselres_].getValue(_i,TYPE.VX);
+ }
+
+ /**
+ * Retourne la vitesse suivant X au point d'indice _i pour le
+ * temps donn\xE9.
+ * @param _tidx L'indice du temps
+ * @param _ipt L'indice du point.
+ * @return La vitesse.
+ */
+ public double getVx(int _tidx, int _ipt) {
+ if (_tidx>=results_.length || results_[_tidx]==null) return 0;
+ return results_[_tidx].getValue(_ipt,TYPE.VX);
+ }
+
+ /**
+ * Retourne la vitesse suivant Y au point d'indice _i pour le
+ * temps courant.
+ * @param _i L'indice du point.
+ * @return La vitesse.
+ */
+ @Override
+ public double getVy(int _i) {
+ if (iselres_>=results_.length || results_[iselres_]==null) return 0;
+ return results_[iselres_].getValue(_i,TYPE.VY);
+ }
+
+ /**
+ * Retourne la vitesse suivant Y au point d'indice _i pour le
+ * temps donn\xE9.
+ * @param _tidx L'indice du temps
+ * @param _ipt L'indice du point.
+ * @return La vitesse.
+ */
+ public double getVy(int _tidx, int _ipt) {
+ if (_tidx>=results_.length || results_[_tidx]==null) return 0;
+ return results_[_tidx].getValue(_ipt,TYPE.VY);
+ }
+
+ /**
+ * Retourne la coordonn\xE9e X au point d'indice _i pour le temps courant
+ * @param _i L'indice du point.
+ * @return La coordonn\xE9e.
+ */
+ @Override
+ public double getX(int _i) {
+ if (iselres_>=results_.length || results_[iselres_]==null) return 0;
+ return results_[iselres_].getX(_i);
+ }
+
+ /**
+ * Retourne la coordonn\xE9e Y au point d'indice _i pour le temps courant
+ * @param _i L'indice du point.
+ * @return La coordonn\xE9e.
+ */
+ @Override
+ public double getY(int _i) {
+ if (iselres_>=results_.length || results_[iselres_]==null) return 0;
+ return results_[iselres_].getY(_i);
+ }
+
+ /** Non implement\xE9 */
+ @Override
+ public double getZ1(int _i) {
+ return 0;
+ }
+
+ /** Non implement\xE9 */
+ @Override
+ public double getZ2(int _i) {
+ return 0;
+ }
+
+ @Override
+ public BuTable createValuesTable(ZCalqueAffichageDonneesInterface _layer) {
+ return new CtuluTable(new ZCalqueFleche.ValueTableModel(this));
+ }
+
+ @Override
+ public void fillWithInfo(InfoData _d, ZCalqueAffichageDonneesInterface _layer) {
+ final ZCalqueFleche.StringInfo info = new ZCalqueFleche.StringInfo();
+ info.titleIfOne_ = PivResource.getS("Vit. instantan\xE9es: point n\xB0");
+ info.title_ = PivResource.getS("Vit. instantan\xE9es");
+ ZCalqueFleche.fillWithInfo(_d, _layer.getLayerSelection(), this, info);
+ }
+
+ /** Non implement\xE9 */
+ @Override
+ public boolean isValuesTableAvailable() {
+ return true;
+ }
+
+ /**
+ * Retourne la boite englobante des points du mod\xE8le.
+ * @return La boite.
+ */
+ @Override
+ public GrBoite getDomaine() {
+ if (results_==null) return null;
+
+ GrBoite bt=new GrBoite();
+ for (int i=0; i<results_[0].getNbPoints(); i++) {
+ bt.ajuste(results_[0].getX(i),results_[0].getY(i),0);
+ }
+ return bt;
+ }
+
+ /**
+ * Retourne le nombre de points du mod\xE8le.
+ * @return Le nombre de points.
+ */
+ @Override
+ public int getNombre() {
+ if (results_==null) return 0;
+ return results_[0].getNbPoints();
+ }
+
+ /** Non implement\xE9 */
+ @Override
+ public Object getObject(int _ind) {
+ return null;
+ }
+
+ @Override
+ public GrPoint getVertexForObject(int _ind, int _idVertex) {
+ if (results_==null) return null;
+ if (_ind>getNombre()) return null;
+
+ ptCache_.x_=results_[0].getX(_ind);
+ ptCache_.y_=results_[0].getY(_ind);
+ ptCache_.z_=0;
+ return ptCache_;
+ }
+
+ @Override
+ public void prepare() {
+ }
+}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java 2013-01-22 14:41:07 UTC (rev 8237)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java 2013-01-22 14:42:29 UTC (rev 8238)
@@ -979,7 +979,7 @@
File scalFile=new File(getOutputDir(), "average_scal.out");
if (scalFile.exists()) {
reader=PivAverageScalFileFormat.getInstance().createReader();
- ret=reader.read(velFile, _prog);
+ ret=reader.read(scalFile, _prog);
lres.add((PivResultsI)ret.getSource());
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2013-01-22 14:41:13
|
Revision: 8237
http://fudaa.svn.sourceforge.net/fudaa/?rev=8237&view=rev
Author: bmarchan
Date: 2013-01-22 14:41:07 +0000 (Tue, 22 Jan 2013)
Log Message:
-----------
Modified Paths:
--------------
trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/palette/BPalettePlageDefault.java
Modified: trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/palette/BPalettePlageDefault.java
===================================================================
--- trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/palette/BPalettePlageDefault.java 2013-01-22 09:11:12 UTC (rev 8236)
+++ trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/palette/BPalettePlageDefault.java 2013-01-22 14:41:07 UTC (rev 8237)
@@ -90,17 +90,19 @@
/**
*
*/
- public BPalettePlageDefault(final BPalettePlageInterface _plage) {
- if (_plage != null) {
- isAutreVisible_ = _plage.isAutresVisible();
- editor_ = _plage.getValueEditor();
- sep_ = _plage.getSep();
- ssTitre_ = _plage.getSousTitre();
- titre_ = _plage.getTitre();
- formatter_ = _plage.getFormatter();
- autre_ = _plage.getPlageAutresInterface();
- pls_ = _plage.getPlages();
- logScale = _plage.isLogScale();
+ public BPalettePlageDefault(final BPalettePlageInterface _palette) {
+ if (_palette != null) {
+ isAutreVisible_ = _palette.isAutresVisible();
+ editor_ = _palette.getValueEditor();
+ sep_ = _palette.getSep();
+ ssTitre_ = _palette.getSousTitre();
+ titre_ = _palette.getTitre();
+ formatter_ = _palette.getFormatter();
+ autre_ = _palette.getPlageAutresInterface();
+ pls_ = _palette.getPlages();
+ logScale = _palette.isLogScale();
+ subTitleVisible = _palette.isSubTitleVisible();
+ reduit = _palette.isReduit();
}
if (sep_ == null) {
sep_ = EbliLib.getS("\xE0");
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-01-22 09:11:20
|
Revision: 8236
http://fudaa.svn.sourceforge.net/fudaa/?rev=8236&view=rev
Author: deniger
Date: 2013-01-22 09:11:12 +0000 (Tue, 22 Jan 2013)
Log Message:
-----------
Modified Paths:
--------------
trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/TrLauncherDefault.java
trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/dialogSpec/TrPostDialogBilan.java
trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/dialogSpec/TrPostDialogBilanAddToScene.java
trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/dialogSpec/TrPostDialogCubature.java
trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/profile/MvVolumeAction.java
trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/profile/MvVolumePanel.java
Added Paths:
-----------
trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/profile/MvFilterHelper.java
trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/profile/MvProfileVolumeBuilder.java
Removed Paths:
-------------
trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/profile/MvProfileFlowrateVolumeBuilder.java
Modified: trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/TrLauncherDefault.java
===================================================================
--- trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/TrLauncherDefault.java 2013-01-21 20:13:14 UTC (rev 8235)
+++ trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/TrLauncherDefault.java 2013-01-22 09:11:12 UTC (rev 8236)
@@ -69,8 +69,8 @@
infoSoft = new BuInformationsSoftware();
infoSoft.name = "prepro";
- infoSoft.version = "1.2-RC19";
- infoSoft.date = "2013-01-21";
+ infoSoft.version = "1.2-RC20";
+ infoSoft.date = "2013-01-22";
infoSoft.rights = TrResource.getS("Tous droits r\xE9serv\xE9s") + ". CETMEF (c)2003-2009";
infoSoft.contact = "fre...@fu...";
infoSoft.license = "GPL2";
Modified: trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/dialogSpec/TrPostDialogBilan.java
===================================================================
--- trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/dialogSpec/TrPostDialogBilan.java 2013-01-21 20:13:14 UTC (rev 8235)
+++ trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/dialogSpec/TrPostDialogBilan.java 2013-01-22 09:11:12 UTC (rev 8236)
@@ -639,6 +639,8 @@
resMax_ = resCalcul.getZonePlus();
resMin_ = resCalcul.getZoneMoins();
updateResValues();
+ impl_.unsetMainMessage();
+ impl_.unsetMainProgression();
}
Modified: trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/dialogSpec/TrPostDialogBilanAddToScene.java
===================================================================
--- trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/dialogSpec/TrPostDialogBilanAddToScene.java 2013-01-21 20:13:14 UTC (rev 8235)
+++ trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/dialogSpec/TrPostDialogBilanAddToScene.java 2013-01-22 09:11:12 UTC (rev 8236)
@@ -24,11 +24,11 @@
* @author Frederic Deniger
*/
public class TrPostDialogBilanAddToScene extends AbstractTrPostDialogAddToScene<TrPostDialogBilan> {
-
+
public TrPostDialogBilanAddToScene(TrPostDialogBilan from) {
super(from);
}
-
+
@Override
protected void updateNames() {
H2dVariableType selectedVariable = from.getSelectedVariable();
@@ -39,7 +39,7 @@
tfPositive.setText(prefix + " >= " + from.getSeuil() + suffixe);
tfNegative.setText(prefix + " <= " + from.getSeuil() + suffixe);
}
-
+
@Override
public JPanel createPanel() {
if (panel == null) {
@@ -59,7 +59,7 @@
}
return panel;
}
-
+
@Override
protected void addCurves(ProgressionInterface prog) {
final List<TrPostCourbeBilanModel> models = new ArrayList<TrPostCourbeBilanModel>();
@@ -77,7 +77,7 @@
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
-
+
TrPostCourbeTreeModel model = null;
if (graphe == null) {
model = new TrPostCourbeTreeModel(from.impl_.getProject());
@@ -92,11 +92,11 @@
model.fireStructureChanged();
getScene().stopEditing();
getScene().refresh();
-
+
}
});
}
-
+
private TrPostCourbeBilanModel createModel(final EnumThresholdCalculation type, String nom, ProgressionInterface prog) {
TrPostCourbeBilanModel model = new TrPostCourbeBilanModel();
model.setLine(from.getSelectedLine());
@@ -105,6 +105,7 @@
model.setSeuil(from.getSeuil());
model.setSource(from.source_);
model.setVar(from.getSelectedVariable());
+ model.setVectoriel(from.isVectorCalculation());
model.setComputation(type);
model.setNom(nom);
model.updateData(prog);
Modified: trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/dialogSpec/TrPostDialogCubature.java
===================================================================
--- trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/dialogSpec/TrPostDialogCubature.java 2013-01-21 20:13:14 UTC (rev 8235)
+++ trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/dialogSpec/TrPostDialogCubature.java 2013-01-22 09:11:12 UTC (rev 8236)
@@ -35,7 +35,7 @@
import org.fudaa.fudaa.tr.post.TrPostProjet;
import org.fudaa.fudaa.tr.post.TrPostSource;
import org.fudaa.fudaa.tr.post.TrPostVisuPanel;
-import org.fudaa.fudaa.tr.post.profile.MvProfileFlowrateVolumeBuilder;
+import org.fudaa.fudaa.tr.post.profile.MvFilterHelper;
import org.fudaa.fudaa.tr.post.profile.MvProfileTreeModel;
public class TrPostDialogCubature implements AbstractTrPostDialogAddToSceneDialogContent {
@@ -90,7 +90,7 @@
modelGraphe_ = null;
source_ = calque_.getSource();
// on recupere la selection courant
- currentFilter_ = MvProfileFlowrateVolumeBuilder.getSelectedFilter(_calque.getSource(), _calque);
+ currentFilter_ = MvFilterHelper.getSelectedFilter(_calque.getSource(), _calque);
modelVariables_ = new CtuluComboBoxModelAdapter(source_.getNewVarListModel());
modelPdt_ = new CtuluComboBoxModelAdapter(source_.getNewTimeListModel());
lineTreeModel_ = new CalqueFindCourbeTreeModel(null, _calque.getDonneesCalque());
Added: trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/profile/MvFilterHelper.java
===================================================================
--- trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/profile/MvFilterHelper.java (rev 0)
+++ trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/profile/MvFilterHelper.java 2013-01-22 09:11:12 UTC (rev 8236)
@@ -0,0 +1,38 @@
+/*
+ GPL 2
+ */
+package org.fudaa.fudaa.tr.post.profile;
+
+import org.fudaa.ctulu.CtuluListSelection;
+import org.fudaa.dodico.ef.EfFilter;
+import org.fudaa.dodico.ef.EfFilterSelectedElement;
+import org.fudaa.dodico.ef.EfFilterSelectedNode;
+import org.fudaa.dodico.ef.EfGridData;
+import org.fudaa.ebli.calque.ZEbliCalquesPanel;
+import org.fudaa.fudaa.meshviewer.MvLayerGrid;
+
+/**
+ *
+ * @author Frederic Deniger
+ */
+public class MvFilterHelper {
+
+ /**
+ * @param _data les donnees
+ * @param _pn les calques
+ * @return le filtres en cours
+ */
+ public static EfFilter getSelectedFilter(final EfGridData _data, final ZEbliCalquesPanel _pn) {
+ EfFilter filter = null;
+ if (_pn != null && _pn.getCalqueActif() instanceof MvLayerGrid) {
+ final MvLayerGrid cq = (MvLayerGrid) _pn.getCalqueActif();
+ if (!cq.isSelectionElementEmpty()) {
+ filter = new EfFilterSelectedElement(new CtuluListSelection(cq.getSelectedElementIdx()), _data.getGrid());
+ } else if (!cq.isSelectionPointEmpty()) {
+ filter = new EfFilterSelectedNode(new CtuluListSelection(cq.getSelectedPtIdx()), _data.getGrid());
+ }
+ }
+ return filter;
+ }
+
+}
Deleted: trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/profile/MvProfileFlowrateVolumeBuilder.java
===================================================================
--- trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/profile/MvProfileFlowrateVolumeBuilder.java 2013-01-21 20:13:14 UTC (rev 8235)
+++ trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/profile/MvProfileFlowrateVolumeBuilder.java 2013-01-22 09:11:12 UTC (rev 8236)
@@ -1,202 +0,0 @@
-/*
- * @creation 31 janv. 07
- * @modification $Date: 2007-06-13 12:58:10 $
- * @license GNU General Public License 2
- * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne
- * @mail de...@fu...
- */
-package org.fudaa.fudaa.tr.post.profile;
-
-import com.memoire.bu.BuLib;
-import com.memoire.bu.BuTextField;
-import java.util.List;
-import org.fudaa.ctulu.*;
-import org.fudaa.ctulu.gui.CtuluDialog;
-import org.fudaa.ctulu.gui.CtuluDialogPanel;
-import org.fudaa.dodico.commun.DodicoLib;
-import org.fudaa.dodico.ef.EfFilter;
-import org.fudaa.dodico.ef.EfFilterSelectedElement;
-import org.fudaa.dodico.ef.EfFilterSelectedNode;
-import org.fudaa.dodico.ef.EfGridData;
-import org.fudaa.dodico.ef.cubature.EfComputeVolume;
-import org.fudaa.dodico.ef.operation.EfLineFlowrateResult;
-import org.fudaa.dodico.ef.operation.EfLineIntersectionsResultsBuilder;
-import org.fudaa.dodico.h2d.type.H2dVariableType;
-import org.fudaa.ebli.calque.ZEbliCalquesPanel;
-import org.fudaa.fudaa.commun.FudaaInternalFrameSelectorPanel;
-import org.fudaa.fudaa.commun.FudaaLib;
-import org.fudaa.fudaa.commun.courbe.FudaaCourbeTimeListModel;
-import org.fudaa.fudaa.commun.impl.FudaaCommonImplementation;
-import org.fudaa.fudaa.meshviewer.MvLayerGrid;
-import org.fudaa.fudaa.meshviewer.MvResource;
-
-/**
- * @author fred deniger
- * @version $Id: MvProfileFlowrateVolumeBuilder.java,v 1.8 2007-06-13 12:58:10 deniger Exp $
- */
-public final class MvProfileFlowrateVolumeBuilder {
-
- private MvProfileFlowrateVolumeBuilder() {
- }
-
- public static void computeFlowrate(final MvProfileTreeModel _model, final FudaaCommonImplementation _impl,
- final String _title) {
- final CtuluTaskDelegate task = _impl.createTask(H2dVariableType.DEBIT_M3.getName());
- task.start(new Runnable() {
-
- @Override
- public void run() {
- MvProfileFlowrateVolumeBuilder.computeFlowrateAct(_model, task.getStateReceiver(), _impl, _title);
-
- }
- });
- }
-
- public static void computeVolume(final EfGridData _data, final ZEbliCalquesPanel _pn,
- final FudaaCommonImplementation _impl, final double[] _ts, final FudaaCourbeTimeListModel _timeFmt) {
- final CtuluVariable var = H2dVariableType.HAUTEUR_EAU;
- if (!_data.isDefined(var)) {
- _impl.error(DodicoLib.getS("La hauteur d'eau n'est pas d\xE9finie"));
- return;
- }
- EfFilter filter = getSelectedFilter(_data, _pn);
- final MvVolumePanel volumePanel = new MvVolumePanel(filter, _impl, _ts == null ? 0 : _ts.length);
- final String s = DodicoLib.getS("Calcul du volume");
- if (volumePanel.afficheModaleOk(_impl.getFrame(), s)) {
- final CtuluTaskDelegate task = _impl.createTask(s);
- task.start(new Runnable() {
-
- @Override
- public void run() {
- final EfComputeVolume cmp = EfComputeVolume.getVolumeComputer(volumePanel.getSelectedFilter(), task.getStateReceiver(), _data, var, new CtuluAnalyze());
- computeVolumeAct(cmp, volumePanel, null, _ts, _timeFmt, _impl);
-
- }
- });
-
- }
- }
-
- /**
- * @param _data les donnees
- * @param _pn les calques
- * @return le filtres en cours
- */
- public static EfFilter getSelectedFilter(final EfGridData _data, final ZEbliCalquesPanel _pn) {
- EfFilter filter = null;
- if (_pn != null && _pn.getCalqueActif() instanceof MvLayerGrid) {
- final MvLayerGrid cq = (MvLayerGrid) _pn.getCalqueActif();
- if (!cq.isSelectionElementEmpty()) {
- filter = new EfFilterSelectedElement(new CtuluListSelection(cq.getSelectedElementIdx()), _data.getGrid());
- } else if (!cq.isSelectionPointEmpty()) {
- filter = new EfFilterSelectedNode(new CtuluListSelection(cq.getSelectedPtIdx()), _data.getGrid());
- }
- }
- return filter;
- }
-
- protected static void computeVolumeAct(final EfComputeVolume _cmp, final MvVolumePanel _iframe,
- final String _titleForCourbe, final double[] _ts, final FudaaCourbeTimeListModel _timeFmt,
- final FudaaCommonImplementation _impl) {
- final double[] v = _cmp.getVolume(_ts.length);
- if (v != null) {
- BuLib.invokeLater(new Runnable() {
-
- @Override
- public void run() {
- if (_ts.length == 1) {
- final CtuluDialogPanel pn = new CtuluDialogPanel(false);
- final BuTextField tf = new BuTextField();
- tf.setText(DodicoLib.getS("Volume") + "= " + CtuluLib.DEFAULT_NUMBER_FORMAT.format(v[0]) + " m3");
- tf.setEditable(false);
- tf.setBorder(null);
- pn.add(tf);
- pn.afficheModale(_impl.getFrame(), DodicoLib.getS("Volume"), CtuluDialog.OK_OPTION);
- } else {
- MvProfileFlowrateFille dest = (MvProfileFlowrateFille) _iframe.getSelectedFrame();
- if (dest == null) {
- dest = MvProfileFlowrateFille.createBaseFille(_impl, _iframe.getNewFrameTitle(), _timeFmt);
- } else {
- _impl.activateInternalFrame(dest);
- }
- dest.addVolumeCourbe(_ts, v, _titleForCourbe);
-
- }
- }
- });
- }
-
- }
-
- static void afficheFlowrate(final FudaaCommonImplementation _impl, final double[] _ts, final double[] _q,
- final double[] _volumeCumule, final String _titleForCourbe, final FudaaCourbeTimeListModel _timeFmt) {
- if (_ts.length == 1) {
- BuLib.invokeLater(new Runnable() {
-
- @Override
- public void run() {
- final CtuluDialogPanel pn = new CtuluDialogPanel(false);
- final BuTextField tf = new BuTextField();
- tf.setText(H2dVariableType.DEBIT.getName() + "= " + CtuluLib.DEFAULT_NUMBER_FORMAT.format(_q[0]) + " m3/s");
- tf.setEditable(false);
- tf.setBorder(null);
- pn.add(tf);
- pn.afficheModale(_impl.getFrame(), H2dVariableType.DEBIT_M3.getName() + ": ", CtuluDialog.OK_OPTION);
- }
- });
- return;
- }
- final List qInternal = getInternalFrames(_impl);
- final FudaaInternalFrameSelectorPanel pn = new FudaaInternalFrameSelectorPanel(qInternal, MvResource.getS("Afficher les courbes de d\xE9bit dans une nouvelle fen\xEAtre"), MvProfileFlowrateFille.getCommonTitle(_impl));
- if (pn.afficheModaleOk(_impl.getFrame(), H2dVariableType.DEBIT_M3.getName())) {
- MvProfileFlowrateFille fille = (MvProfileFlowrateFille) pn.getSelectedFrame();
- if (fille == null) {
- fille = MvProfileFlowrateFille.createBaseFille(_impl, pn.getNewFrameTitle(), _timeFmt);
- } else {
- _impl.activateInternalFrame(fille);
- }
- fille.addCourbe(_ts, _q, _volumeCumule, _titleForCourbe);
-
- }
-
- }
-
- static List getInternalFrames(final FudaaCommonImplementation _impl) {
- return FudaaLib.getFrameWithClientProperty(_impl, "fudaa.profile.flowrate");
- }
-
- static void computeFlowrateAct(final MvProfileTreeModel _model, final ProgressionInterface _prog,
- final FudaaCommonImplementation _impl, final String _title) {
-// if (!_model.canComputeFlowrate()) { return; }
-
- final EfGridData data = _model.target_.getData();
-// final EfLineIntersectionsResultsBuilder result = _model.getBuilderFor(H2dVariableType.HAUTEUR_EAU);
- final EfLineIntersectionsResultsBuilder result = null;
- if (result == null) {
- return;
- }
- final EfLineFlowrateResult res = new EfLineFlowrateResult(result, H2dVariableType.VITESSE_U,
- H2dVariableType.VITESSE_V, H2dVariableType.HAUTEUR_EAU);
- final double[] ts = _model.timeModel_ == null ? new double[]{0} : _model.timeModel_.getTimesInSec();
- final double[] q = new double[ts.length];
- final double[] volumeCumule = new double[ts.length];
- final ProgressionUpdater up = new ProgressionUpdater(_prog);
- up.setValue(4, ts.length);
- up.majProgessionStateOnly(H2dVariableType.DEBIT_M3.getName());
- for (int i = 0; i < ts.length; i++) {
- q[i] = res.getQ(data, i, _prog);
- if (i > 0) {
- volumeCumule[i] = volumeCumule[i - 1] + q[i] * (ts[i] - ts[i - 1]);
- }
- up.majAvancement();
- }
- BuLib.invokeLater(new Runnable() {
-
- @Override
- public void run() {
- afficheFlowrate(_impl, ts, q, volumeCumule, _title, _model.timeModel_);
- }
- });
-
- }
-}
Copied: trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/profile/MvProfileVolumeBuilder.java (from rev 8119, trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/profile/MvProfileFlowrateVolumeBuilder.java)
===================================================================
--- trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/profile/MvProfileVolumeBuilder.java (rev 0)
+++ trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/profile/MvProfileVolumeBuilder.java 2013-01-22 09:11:12 UTC (rev 8236)
@@ -0,0 +1,93 @@
+/*
+ * @creation 31 janv. 07
+ * @modification $Date: 2007-06-13 12:58:10 $
+ * @license GNU General Public License 2
+ * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne
+ * @mail de...@fu...
+ */
+package org.fudaa.fudaa.tr.post.profile;
+
+import com.memoire.bu.BuLib;
+import com.memoire.bu.BuTextField;
+import java.util.List;
+import org.fudaa.ctulu.*;
+import org.fudaa.ctulu.gui.CtuluDialog;
+import org.fudaa.ctulu.gui.CtuluDialogPanel;
+import org.fudaa.dodico.commun.DodicoLib;
+import org.fudaa.dodico.ef.EfFilter;
+import org.fudaa.dodico.ef.EfGridData;
+import org.fudaa.dodico.ef.cubature.EfComputeVolume;
+import org.fudaa.dodico.h2d.type.H2dVariableType;
+import org.fudaa.ebli.calque.ZEbliCalquesPanel;
+import org.fudaa.fudaa.commun.FudaaLib;
+import org.fudaa.fudaa.commun.courbe.FudaaCourbeTimeListModel;
+import org.fudaa.fudaa.commun.impl.FudaaCommonImplementation;
+
+/**
+ * @author fred deniger
+ * @version $Id: MvProfileVolumeBuilder.java,v 1.8 2007-06-13 12:58:10 deniger Exp $
+ */
+public final class MvProfileVolumeBuilder {
+
+ private MvProfileVolumeBuilder() {
+ }
+
+ public static void computeVolume(final EfGridData _data, final ZEbliCalquesPanel _pn,
+ final FudaaCommonImplementation _impl, final double[] _ts, final FudaaCourbeTimeListModel _timeFmt) {
+ final CtuluVariable var = H2dVariableType.HAUTEUR_EAU;
+ if (!_data.isDefined(var)) {
+ _impl.error(DodicoLib.getS("La hauteur d'eau n'est pas d\xE9finie"));
+ return;
+ }
+ EfFilter filter = MvFilterHelper.getSelectedFilter(_data, _pn);
+ final MvVolumePanel volumePanel = new MvVolumePanel(filter, _impl, _ts == null ? 0 : _ts.length);
+ final String s = DodicoLib.getS("Calcul du volume");
+ if (volumePanel.afficheModaleOk(_impl.getFrame(), s)) {
+ final CtuluTaskDelegate task = _impl.createTask(s);
+ task.start(new Runnable() {
+ @Override
+ public void run() {
+ final EfComputeVolume cmp = EfComputeVolume.getVolumeComputer(volumePanel.getSelectedFilter(), task.getStateReceiver(), _data, var, new CtuluAnalyze());
+ computeVolumeAct(cmp, volumePanel, null, _ts, _timeFmt, _impl);
+
+ }
+ });
+
+ }
+ }
+
+ protected static void computeVolumeAct(final EfComputeVolume _cmp, final MvVolumePanel _iframe,
+ final String _titleForCourbe, final double[] _ts, final FudaaCourbeTimeListModel _timeFmt,
+ final FudaaCommonImplementation _impl) {
+ final double[] v = _cmp.getVolume(_ts.length);
+ if (v != null) {
+ BuLib.invokeLater(new Runnable() {
+ @Override
+ public void run() {
+ if (_ts.length == 1) {
+ final CtuluDialogPanel pn = new CtuluDialogPanel(false);
+ final BuTextField tf = new BuTextField();
+ tf.setText(DodicoLib.getS("Volume") + "= " + CtuluLib.DEFAULT_NUMBER_FORMAT.format(v[0]) + " m3");
+ tf.setEditable(false);
+ tf.setBorder(null);
+ pn.add(tf);
+ pn.afficheModale(_impl.getFrame(), DodicoLib.getS("Volume"), CtuluDialog.OK_OPTION);
+ } else {
+ MvProfileFlowrateFille dest = (MvProfileFlowrateFille) _iframe.getSelectedFrame();
+ if (dest == null) {
+ dest = MvProfileFlowrateFille.createBaseFille(_impl, _iframe.getNewFrameTitle(), _timeFmt);
+ } else {
+ _impl.activateInternalFrame(dest);
+ }
+ dest.addVolumeCourbe(_ts, v, _titleForCourbe);
+
+ }
+ }
+ });
+ }
+ }
+
+ static List getInternalFrames(final FudaaCommonImplementation _impl) {
+ return FudaaLib.getFrameWithClientProperty(_impl, "fudaa.profile.flowrate");
+ }
+}
Modified: trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/profile/MvVolumeAction.java
===================================================================
--- trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/profile/MvVolumeAction.java 2013-01-21 20:13:14 UTC (rev 8235)
+++ trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/profile/MvVolumeAction.java 2013-01-22 09:11:12 UTC (rev 8236)
@@ -40,7 +40,7 @@
@Override
public void actionPerformed(final ActionEvent _e) {
- MvProfileFlowrateVolumeBuilder.computeVolume(data_, pn_, pn_.getImpl(), getTimeSteps(), getTimeModel());
+ MvProfileVolumeBuilder.computeVolume(data_, pn_, pn_.getImpl(), getTimeSteps(), getTimeModel());
}
protected FudaaCourbeTimeListModel getTimeModel() {
Modified: trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/profile/MvVolumePanel.java
===================================================================
--- trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/profile/MvVolumePanel.java 2013-01-21 20:13:14 UTC (rev 8235)
+++ trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/profile/MvVolumePanel.java 2013-01-22 09:11:12 UTC (rev 8236)
@@ -29,7 +29,7 @@
public MvVolumePanel(final EfFilter _proposed, final FudaaCommonImplementation _impl, final int _nbTime) {
super(false);
- pn_ = _nbTime > 1 ? new FudaaInternalFrameSelectorPanel(MvProfileFlowrateVolumeBuilder.getInternalFrames(_impl),
+ pn_ = _nbTime > 1 ? new FudaaInternalFrameSelectorPanel(MvProfileVolumeBuilder.getInternalFrames(_impl),
MvResource.getS("Afficher les courbes de volume dans une nouvelle fen\xEAtre"), MvProfileFlowrateFille
.getCommonTitle(_impl)) : null;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-01-21 20:13:20
|
Revision: 8235
http://fudaa.svn.sourceforge.net/fudaa/?rev=8235&view=rev
Author: deniger
Date: 2013-01-21 20:13:14 +0000 (Mon, 21 Jan 2013)
Log Message:
-----------
Modified Paths:
--------------
trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/TrIsoLayerDefault.java
Modified: trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/TrIsoLayerDefault.java
===================================================================
--- trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/TrIsoLayerDefault.java 2013-01-21 16:16:40 UTC (rev 8234)
+++ trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/TrIsoLayerDefault.java 2013-01-21 20:13:14 UTC (rev 8235)
@@ -881,8 +881,10 @@
} else if (!isElement) {
isos = new TraceIsoSurfacesAvecPlages(paletteCouleur_, alpha_);
}
- isos.setRapide(isRapide());
- isos.setClipEcran(_clipReel.applique(_versEcran));
+ if (isos != null) {
+ isos.setRapide(isRapide());
+ isos.setClipEcran(_clipReel.applique(_versEcran));
+ }
// pour les surfaces, on voudrait eviter d'utiliser l'anticrenelage
final RenderingHints renderingHints = _g.getRenderingHints();
@@ -896,7 +898,9 @@
GrPoint pt = new GrPoint();
int w = getWidth() + 1;
CtuluListSelection memory = new CtuluListSelection(w * getHeight());
- isos.setDimension(getWidth(), getHeight(), selection_);
+ if (isos != null) {
+ isos.setDimension(getWidth(), getHeight(), selection_);
+ }
Envelope envReel = _clipReel.getEnv();
for (idxElt = 0; idxElt < n; idxElt++) {
if (!modelToUse.isPainted(idxElt)) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-01-21 10:51:27
|
Revision: 8233
http://fudaa.svn.sourceforge.net/fudaa/?rev=8233&view=rev
Author: deniger
Date: 2013-01-21 10:51:21 +0000 (Mon, 21 Jan 2013)
Log Message:
-----------
Modified Paths:
--------------
trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/TrLauncherDefault.java
trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/TrIsoLayerDefault.java
Modified: trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/TrLauncherDefault.java
===================================================================
--- trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/TrLauncherDefault.java 2013-01-21 10:50:25 UTC (rev 8232)
+++ trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/TrLauncherDefault.java 2013-01-21 10:51:21 UTC (rev 8233)
@@ -69,8 +69,8 @@
infoSoft = new BuInformationsSoftware();
infoSoft.name = "prepro";
- infoSoft.version = "1.2-RC18";
- infoSoft.date = "2013-01-07";
+ infoSoft.version = "1.2-RC19";
+ infoSoft.date = "2013-01-21";
infoSoft.rights = TrResource.getS("Tous droits r\xE9serv\xE9s") + ". CETMEF (c)2003-2009";
infoSoft.contact = "fre...@fu...";
infoSoft.license = "GPL2";
Modified: trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/TrIsoLayerDefault.java
===================================================================
--- trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/TrIsoLayerDefault.java 2013-01-21 10:50:25 UTC (rev 8232)
+++ trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/TrIsoLayerDefault.java 2013-01-21 10:51:21 UTC (rev 8233)
@@ -1146,7 +1146,7 @@
paintElementSelection(_g, _trace, _versEcran, _clipReel);
} else {
- super.paintSelection(_g, _trace, _versEcran, _clipReel);
+ super.doPaintSelection(_g, _trace, _versEcran, _clipReel);
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-01-21 10:50:32
|
Revision: 8232
http://fudaa.svn.sourceforge.net/fudaa/?rev=8232&view=rev
Author: deniger
Date: 2013-01-21 10:50:25 +0000 (Mon, 21 Jan 2013)
Log Message:
-----------
Modified Paths:
--------------
trunk/framework/ctulu-fu/src/main/java/com/memoire/fu/FuLog.java
trunk/framework/fudaa-dico/ui/src/main/java/org/fudaa/fudaa/fdico/FDicoEntitePanel.java
trunk/framework/fudaa-dico/ui/src/main/java/org/fudaa/fudaa/fdico/FDicoEntiteTableModel.java
trunk/framework/fudaa-dico/ui/src/main/java/org/fudaa/fudaa/fdico/FDicoFiltreController.java
Modified: trunk/framework/ctulu-fu/src/main/java/com/memoire/fu/FuLog.java
===================================================================
--- trunk/framework/ctulu-fu/src/main/java/com/memoire/fu/FuLog.java 2013-01-21 10:03:36 UTC (rev 8231)
+++ trunk/framework/ctulu-fu/src/main/java/com/memoire/fu/FuLog.java 2013-01-21 10:50:25 UTC (rev 8232)
@@ -251,7 +251,7 @@
boolean header = (r.msg_ != null) && (r.msg_.length() >= 4) && (r.msg_.charAt(3) == ':');
- StringBuffer sb = new StringBuffer(256);
+ StringBuilder sb = new StringBuilder(256);
sb.append(header ? r.msg_.substring(0, 4) : "???:");
sb.append(' ');
@@ -349,7 +349,6 @@
}
}
- System.err.println(sb.toString());
if (LOGSTREAM != null) {
LOGSTREAM.println(sb.toString());
}
Modified: trunk/framework/fudaa-dico/ui/src/main/java/org/fudaa/fudaa/fdico/FDicoEntitePanel.java
===================================================================
--- trunk/framework/fudaa-dico/ui/src/main/java/org/fudaa/fudaa/fdico/FDicoEntitePanel.java 2013-01-21 10:03:36 UTC (rev 8231)
+++ trunk/framework/fudaa-dico/ui/src/main/java/org/fudaa/fudaa/fdico/FDicoEntitePanel.java 2013-01-21 10:50:25 UTC (rev 8232)
@@ -1,9 +1,9 @@
/**
- * @creation 13 mai 2003
- * @modification $Date: 2007-06-28 09:28:19 $
- * @license GNU General Public License 2
- * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne
- * @mail fud...@li...
+ * @creation 13 mai 2003
+ * @modification $Date: 2007-06-28 09:28:19 $
+ * @license GNU General Public License 2
+ * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne
+ * @mail fud...@li...
*/
package org.fudaa.fudaa.fdico;
@@ -59,16 +59,34 @@
* @version $Id: FDicoEntitePanel.java,v 1.32 2007-06-28 09:28:19 deniger Exp $
*/
public class FDicoEntitePanel extends BuSplit2Pane implements ActionListener, CtuluUndoRedoInterface,
- CtuluPopupListener.PopupReceiver {
+ CtuluPopupListener.PopupReceiver {
+
+ public FDicoFiltreController updateFilters() {
+ FDicoFiltreController old = tableModel_.getFiltreController();
+ final FDicoFiltreController filtre = new FDicoFiltreController();
+ findFiltre_ = new FDicoFiltreChooserName();
+ filtre.add(findFiltre_);
+ filtre.add(new FDicoFiltreChooserModified(tableModel_.getParams()));
+ if (filtreNiveau) {
+ filtre.add(new FDIcoFiltreChooserMode());
+ }
+ filtre.add(new FDicoFiltreChooserRubrique(tableModel_.getParams()));
+ if (old != null) {
+ filtre.setTargetPanel(old.getTargetPanel());
+ }
+ tableModel_.setFiltreController(filtre);
+ return filtre;
+ }
/**
* @author Fred Deniger
* @version $Id: FDicoEntitePanel.java,v 1.32 2007-06-28 09:28:19 deniger Exp $
*/
class DecoratorCellRenderer implements CtuluCellDecorator {
-
- public void decore(final JComponent _cmp, final JList _list, final Object _value, final int _index) {}
-
+
+ public void decore(final JComponent _cmp, final JList _list, final Object _value, final int _index) {
+ }
+
public void decore(final JComponent _cmp, final JTable _table, final Object _value, final int _row, final int _col) {
final boolean b = tableModel_.isValide(_row);
final DicoEntite e = tableModel_.getEntite(_row);
@@ -82,22 +100,23 @@
} else {
_cmp.setForeground(Color.black);
}
-
+
final FDicoTableColumnIdentifier id = (FDicoTableColumnIdentifier) _table.getColumnModel().getColumn(_col)
- .getIdentifier();
-
+ .getIdentifier();
+
if ((id != FDicoTableColumnIdentifier.COLUMN_VALEUR) && (tableModel_.getParams().getComment(e) != null)
- && (_cmp instanceof JLabel)) {
+ && (_cmp instanceof JLabel)) {
final String txt = ((JLabel) _cmp).getText();
((JLabel) _cmp).setText("<html><u>" + txt + "</u></html>");
}
}
}
-
+
final class DecoratorModifiedCellRenderer implements CtuluCellDecorator {
-
- public void decore(final JComponent _cmp, final JList _list, final Object _value, final int _index) {}
-
+
+ public void decore(final JComponent _cmp, final JList _list, final Object _value, final int _index) {
+ }
+
public void decore(final JComponent _cmpc, final JTable _table, final Object _value, final int _row, final int _col) {
final DicoEntite e = tableModel_.getEntite(_row);
if (tableModel_.getParams().isValueSetFor(e)) {
@@ -107,9 +126,9 @@
}
}
}
-
+
class DecoratorValueCellRenderer extends DecoratorCellRenderer {
-
+
public void decore(final JComponent _cmp, final JTable _table, final Object _value, final int _row, final int _col) {
super.decore(_cmp, _table, _value, _row, _col);
final DicoEntite e = tableModel_.getEntite(_row);
@@ -124,41 +143,35 @@
}
}
}
-
+
private class PanelInfo extends BuTabbedPane implements DicoParamsListener, FDicoEntiteTableModel.CommentForwader {
-
+
JButton btComportAffichage_;
-
JButton btEditer_;
-
JButton btInitialiser_;
-
JLabel lbNom_;
-
BuTextArea txtAreaHelp_;
-
BuTextArea txtComment_;
-
JLabel txtDefault_;
-
JLabel txtError_;
-
JLabel txtRubrique_;
-
JLabel txtValue_;
-
- public void dicoParamsVersionChanged(final DicoParams _cas) {}
-
+
+ @Override
+ public void dicoParamsVersionChanged(final DicoParams _cas) {
+ updateFilters();
+ }
+
PanelInfo(final boolean _comment, final boolean _keywordLie) {
init(_comment, _keywordLie);
}
-
+
public void dicoParamsEntiteCommentUpdated(final DicoParams _cas, final DicoEntite _ent) {
if (_ent == lastEntiteSelected_) {
refreshValue();
}
}
-
+
private void clearComportButton() {
if (btComportAffichage_ != null) {
btComportAffichage_.setForeground(Color.black);
@@ -166,7 +179,7 @@
btComportAffichage_.setText(FDicoLib.getS("aucun"));
}
}
-
+
private void init(final boolean _comment, final boolean _kwTied) {
final BuPanel main = new BuPanel();
main.setLayout(new BuBorderLayout(3, 3, true, true));
@@ -205,7 +218,7 @@
clearComportButton();
pnLabels.add(btComportAffichage_);
}
-
+
main.add(pnLabels, BuBorderLayout.CENTER);
final JPanel pnButtons = new BuPanel();
pnButtons.setLayout(new BuVerticalLayout());
@@ -234,7 +247,6 @@
return;
}
txtComment_ = new BuTextArea() {
-
protected void processFocusEvent(final FocusEvent _evt) {
if (_evt.getID() == FocusEvent.FOCUS_LOST) {
saveCurrentComment();
@@ -249,9 +261,8 @@
*/
txtComment_.setEditable(false);
txtComment_.setToolTipText(FDicoLib
- .getS("Pour \xE9diter le commentaire, double-cliquer sur le mot-cl\xE9 ou sur cette zone"));
+ .getS("Pour \xE9diter le commentaire, double-cliquer sur le mot-cl\xE9 ou sur cette zone"));
txtComment_.addMouseListener(new MouseAdapter() {
-
public void mouseClicked(final MouseEvent _e) {
if (_e.getClickCount() == 2 && lastEntiteSelected_ != null) {
showHelpComment(lastEntiteSelected_);
@@ -260,7 +271,7 @@
});
final BuPanel pn = new BuPanel();
pn.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10), BorderFactory
- .createEtchedBorder()));
+ .createEtchedBorder()));
pn.setLayout(new BuBorderLayout(2, 2, true, true));
js = new BuScrollPane(txtComment_);
js.setPreferredWidth(100);
@@ -299,7 +310,7 @@
clearComportButton();
}
}
-
+
void clearPanel() {
lbNom_.setText(CtuluLibString.EMPTY_STRING);
txtAreaHelp_.setText(CtuluLibString.EMPTY_STRING);
@@ -316,29 +327,31 @@
}
clearComportButton();
}
-
+
public void dicoParamsEntiteAdded(final DicoParams _cas, final DicoEntite _ent) {
if (_ent == lastEntiteSelected_) {
refreshValue();
}
}
-
+
public void dicoParamsEntiteRemoved(final DicoParams _cas, final DicoEntite _ent, final String _oldValue) {
if (_ent == lastEntiteSelected_) {
refreshValue();
}
}
-
+
public void dicoParamsEntiteUpdated(final DicoParams _cas, final DicoEntite _ent, final String _oldValue) {
if (_ent == lastEntiteSelected_) {
refreshValue();
}
}
-
- public void dicoParamsProjectModifyStateChanged(final DicoParams _cas) {}
-
- public void dicoParamsStateLoadedEntiteChanged(final DicoParams _cas, final DicoEntite _ent) {}
-
+
+ public void dicoParamsProjectModifyStateChanged(final DicoParams _cas) {
+ }
+
+ public void dicoParamsStateLoadedEntiteChanged(final DicoParams _cas, final DicoEntite _ent) {
+ }
+
public void dicoParamsValidStateEntiteUpdated(final DicoParams _cas, final DicoEntite _ent) {
if (_ent == lastEntiteSelected_) {
refreshValue();
@@ -375,37 +388,26 @@
txtAreaHelp_.setCaretPosition(0);
txtRubrique_.setText(lastEntiteSelected_.getRubrique());
txtDefault_.setText(lastEntiteSelected_.getDefautValue());
-
+
}
}
-
+
public final void saveCurrentComment() {
if ((txtComment_ != null) && (lastEntiteSelected_ != null)) {
tableModel_.setCommentaire(lastEntiteSelected_, txtComment_.getText());
}
}
}
-
EbliActionSimple actionDefaultSelected_;
-
EbliActionSimple actionEditerSelected_;
-
FDicoTableColumnIdentifier.ColumnManager colMng_;
-
FDicoTableColumnIdentifier.ColumnModelWithoutException colModel_;
-
FDicoFiltreChooserName findFiltre_;
-
DicoEntite lastEntiteSelected_;
-
PanelInfo pnInfos_;
-
BuPanel pnTable_;
-
JTable table_;
-
FDicoEntiteTableModel tableModel_;
-
JTextField txtFind_;
/**
@@ -419,17 +421,17 @@
* @param _model le model pour les mot-cles
*/
public FDicoEntitePanel(final FDicoEntiteTableModel _model, final boolean _comment, final boolean _kwTied,
- final boolean _filtreNiveau) {
+ final boolean _filtreNiveau) {
this(_model, null, _comment, _kwTied, _filtreNiveau);
}
-
+
public FDicoEntitePanel(final FDicoEntiteTableModel _model, final Component _leftUp) {
this(_model, _leftUp, true, true, true);
}
/**
* Permet d'editer le commentaire et d'afficher l'aide du mot-cle passe en parametres.
- *
+ *
* @param _entite le mot-cle concerne
*/
protected void showHelpComment(final DicoEntite _entite) {
@@ -465,48 +467,48 @@
pn.setLayout(new BuBorderLayout());
pn.add(pane, BuBorderLayout.CENTER);
if (CtuluDialogPanel.isOkResponse(pn.afficheModale(CtuluLibSwing.getFrameAncestorHelper(this), _entite.getNom()))
- && (txtComment != null) && txtComment.isEditable()) {
+ && (txtComment != null) && txtComment.isEditable()) {
tableModel_.setCommentaire(lastEntiteSelected_, txtComment.getText());
}
}
+ private boolean filtreNiveau;
/**
* @param _model le model pour les mot-cles
* @param _leftUp un composant qui sera ajoute en haut a gauche (si non null)
*/
public FDicoEntitePanel(final FDicoEntiteTableModel _model, final Component _leftUp, final boolean _comment,
- final boolean _keywordLie, final boolean _fitreNiveau) {
+ final boolean _keywordLie, final boolean _fitreNiveau) {
+ this.filtreNiveau = _fitreNiveau;
tableModel_ = _model;
final TableCellRenderer valueRenderer = FDicoTableRendererChooser.createCellRendererChooser(tableModel_,
- new DecoratorValueCellRenderer());
+ new DecoratorValueCellRenderer());
final TableCellEditor valueEditor = FDicoTableEditorChooser.createCellEditorChooser(tableModel_);
final CtuluCellRenderer defaultRenderer = new CtuluCellTextRenderer(new DecoratorCellRenderer());
final CtuluCellButtonEditor nomEditor = new CtuluCellButtonEditor(null) {
-
public Component getTableCellEditorComponent(final JTable _table, final Object _value, final boolean _isSelected,
- final int _row, final int _column) {
+ final int _row, final int _column) {
final Component c = super.getTableCellEditorComponent(_table, _value, _isSelected, _row, _column);
super.value_ = tableModel_.getEntite(_row);
return c;
}
-
+
protected void doAction() {
showHelpComment((DicoEntite) super.value_);
}
};
nomEditor.setDoubleClick(true);
colMng_ = new FDicoTableColumnIdentifier.ColumnManager(defaultRenderer, new CtuluCellTextRenderer(
- new DecoratorModifiedCellRenderer()), valueRenderer, valueEditor, nomEditor);
+ new DecoratorModifiedCellRenderer()), valueRenderer, valueEditor, nomEditor);
colModel_ = colMng_.createColModel();
table_ = new JTable(tableModel_, colModel_) {
-
public String getToolTipText(final MouseEvent _event) {
final java.awt.Point p = _event.getPoint();
final int rowIndex = rowAtPoint(p);
final int colIndex = convertColumnIndexToModel(columnAtPoint(p));
return tableModel_.getTooltip(rowIndex, colIndex);
}
-
+
public void tableChanged(final TableModelEvent _evt) {
if (getCellEditor() != null) {
getCellEditor().cancelCellEditing();
@@ -527,7 +529,6 @@
CtuluPopupListener l = new CtuluPopupListener(this, table_);
// table_.addMouseListener(l);
final ListSelectionModel tableSelectionModel = new DefaultListSelectionModel() {
-
public void fireValueChanged(final int _f, final int _l, final boolean _isAdjusting) {
super.fireValueChanged(_f, _l, _isAdjusting);
if ((!_isAdjusting)) {
@@ -536,15 +537,14 @@
}
};
actionEditerSelected_ = new EbliActionSimple(BuResource.BU.getString("Editer"), BuResource.BU.getIcon("editer"),
- "EDIT") {
-
+ "EDIT") {
public void actionPerformed(final ActionEvent _ae) {
if (lastEntiteSelected_ == null) {
return;
}
final int i = tableModel_.getEntiteRow(lastEntiteSelected_);
if (i >= 0
- && table_.editCellAt(i, table_.getColumnModel().getColumnIndex(FDicoTableColumnIdentifier.COLUMN_VALEUR))) {
+ && table_.editCellAt(i, table_.getColumnModel().getColumnIndex(FDicoTableColumnIdentifier.COLUMN_VALEUR))) {
final Component c = table_.getEditorComponent();
c.requestFocus();
if (c instanceof AbstractButton) {
@@ -554,8 +554,7 @@
}
};
actionDefaultSelected_ = new EbliActionSimple(FudaaLib.getS("Initialiser"), BuResource.BU.getIcon("enlever"),
- "DELETE") {
-
+ "DELETE") {
public void actionPerformed(final ActionEvent _ae) {
if ((table_.isEditing()) && (table_.getCellEditor() != null)) {
table_.getCellEditor().stopCellEditing();
@@ -587,19 +586,11 @@
table_.setSelectionModel(tableSelectionModel);
tableModel_.setTableSelectionModel(tableSelectionModel);
final FDicoTableSortIndicator sortIndicator = new FDicoTableSortIndicator(table_, BuResource.BU
- .getIcon("bu_menu_down"), BuResource.BU.getIcon("bu_menu_up"));
+ .getIcon("bu_menu_down"), BuResource.BU.getIcon("bu_menu_up"));
sortIndicator.getSortDescription().setColumnSorted(
- colModel_.findColumnWithIdentifierFast(FDicoTableColumnIdentifier.COLUMN_NOM));
+ colModel_.findColumnWithIdentifierFast(FDicoTableColumnIdentifier.COLUMN_NOM));
table_.getTableHeader().addMouseListener(l);
- final FDicoFiltreController filtre = new FDicoFiltreController();
- findFiltre_ = new FDicoFiltreChooserName();
- filtre.add(findFiltre_);
- filtre.add(new FDicoFiltreChooserModified(_model.getParams()));
- if (_fitreNiveau) {
- filtre.add(new FDIcoFiltreChooserMode());
- }
- filtre.add(new FDicoFiltreChooserRubrique(_model.getParams()));
- tableModel_.setFiltreController(filtre);
+ FDicoFiltreController filtre = updateFilters();
tableModel_.setSortIndicator(sortIndicator);
tableModel_.show();
pnTable_ = new BuPanel();
@@ -621,8 +612,8 @@
if (_leftUp != null) {
left.add(_leftUp);
}
- filtre.buildPanel(left);
- // JPanel pn= filtre.buildPanel();
+ filtre.setTargetPanel(left);
+ // JPanel pn= filtre.setTargetPanel();
left.setPreferredSize(new Dimension(150, 500));
setLeftComponent(left);
setOneTouchExpandable(true);
@@ -643,14 +634,14 @@
setPreferredSize(new Dimension(400, 450));
resetToPreferredSizes();
}
-
+
protected void saveLastModification() {
if (table_.getCellEditor() != null) {
table_.getCellEditor().stopCellEditing();
}
pnInfos_.saveCurrentComment();
}
-
+
protected void saveView() {
for (final Iterator it = FDicoTableColumnIdentifier.IDENTIFIERS.iterator(); it.hasNext();) {
final FDicoTableColumnIdentifier colId = (FDicoTableColumnIdentifier) it.next();
@@ -663,7 +654,7 @@
}
}
}
-
+
void refreshSelectionEntite() {
final ListSelectionModel select = table_.getSelectionModel();
final int lead = select.getLeadSelectionIndex();
@@ -687,7 +678,7 @@
}
}
}
-
+
public void popup(MouseEvent _evt) {
// create the popupmenu
final CtuluPopupMenu menu = new CtuluPopupMenu();
@@ -714,7 +705,7 @@
}
menu.show(_evt.getComponent(), _evt.getX(), _evt.getY());
}
-
+
public void actionPerformed(final ActionEvent _evt) {
// mis en place d'un filtre temporaire.
if ((pnInfos_ != null) && (_evt.getSource() == pnInfos_.btComportAffichage_)) {
@@ -746,7 +737,7 @@
}
}
}
-
+
public void activeFind() {
if (txtFind_ == null) {
final JComponent leftCp = getLeftComponent();
@@ -769,17 +760,17 @@
txtFind_.requestFocus();
}
}
-
+
public void clearCmd(final CtuluCommandManager _source) {
if (tableModel_.getCmdMng() != _source) {
tableModel_.getCmdMng().clean();
}
}
-
+
public CtuluCommandManager getCmdMng() {
return tableModel_.getCmdMng();
}
-
+
public JTable getTable() {
return table_;
}
@@ -802,7 +793,7 @@
table_.setColumnSelectionInterval(i, i);
}
}
-
+
public void setTxtAreaHelpVisible(boolean _b) {
if (_b && (pnInfos_ == null)) {
pnInfos_ = new PanelInfo(true, true);
@@ -814,4 +805,4 @@
pnInfos_ = null;
}
}
-}
\ No newline at end of file
+}
Modified: trunk/framework/fudaa-dico/ui/src/main/java/org/fudaa/fudaa/fdico/FDicoEntiteTableModel.java
===================================================================
--- trunk/framework/fudaa-dico/ui/src/main/java/org/fudaa/fudaa/fdico/FDicoEntiteTableModel.java 2013-01-21 10:03:36 UTC (rev 8231)
+++ trunk/framework/fudaa-dico/ui/src/main/java/org/fudaa/fudaa/fdico/FDicoEntiteTableModel.java 2013-01-21 10:50:25 UTC (rev 8232)
@@ -64,6 +64,12 @@
commentForwarder_ = _f;
}
+ public FDicoFiltreController getFiltreController() {
+ return filtreController_;
+ }
+
+
+
public void setFiltreController(final FDicoFiltreController _c) {
if (filtreController_ != null) {
filtreController_.setListener(null);
@@ -79,9 +85,6 @@
return projet_.getDicoParams().getInvalidMessage(_e);
}
- public FDicoFiltreController getFiltreController() {
- return filtreController_;
- }
public void setTableSelectionModel(final ListSelectionModel _listSelection) {
listSelection_ = _listSelection;
Modified: trunk/framework/fudaa-dico/ui/src/main/java/org/fudaa/fudaa/fdico/FDicoFiltreController.java
===================================================================
--- trunk/framework/fudaa-dico/ui/src/main/java/org/fudaa/fudaa/fdico/FDicoFiltreController.java 2013-01-21 10:03:36 UTC (rev 8231)
+++ trunk/framework/fudaa-dico/ui/src/main/java/org/fudaa/fudaa/fdico/FDicoFiltreController.java 2013-01-21 10:50:25 UTC (rev 8232)
@@ -25,6 +25,7 @@
import javax.swing.ListCellRenderer;
import com.memoire.bu.BuVerticalLayout;
+import javax.swing.JComponent;
import org.fudaa.ctulu.gui.CtuluCellTextRenderer;
@@ -35,13 +36,16 @@
* @version $Id: FDicoFiltreController.java,v 1.12 2007-05-04 13:59:04 deniger Exp $
*/
public class FDicoFiltreController implements Observer, FDicoFiltre, ActionListener {
+
/**
* @author fred deniger
* @version $Id: FDicoFiltreController.java,v 1.12 2007-05-04 13:59:04 deniger Exp $
*/
- static final class FiltreCellRenderer extends CtuluCellTextRenderer {
+ static final class FiltreCellRenderer extends CtuluCellTextRenderer {
+
+ @Override
public Component getListCellRendererComponent(JList _list, Object _value, int _index, boolean _isSelected,
- boolean _cellHasFocus) {
+ boolean _cellHasFocus) {
super.getListCellRendererComponent(_list, _value, _index, _isSelected, _cellHasFocus);
setToolTipText((String) _value);
return this;
@@ -49,6 +53,7 @@
}
public interface FiltreControllerListener {
+
void controllerChanged();
void controllerMoreRestrictive(FDicoFiltre _f);
@@ -102,13 +107,27 @@
}
}
}
+ private JPanel targetPanel;
- public void buildPanel(final JPanel _p) {
+ public JPanel getTargetPanel() {
+ return targetPanel;
+ }
+
+ public void setTargetPanel(final JPanel _p) {
+ this.targetPanel = _p;
final ListCellRenderer renderer = new FiltreCellRenderer();
final Font f = new Font("SansSerif", Font.PLAIN, 10);
+ Component[] components = _p.getComponents();
+ for (Component component : components) {
+ if (Boolean.TRUE.equals(((JComponent) component).getClientProperty("IS_FILTER"))) {
+ _p.remove(component);
+ }
+ }
for (final Iterator it = filtreChoosers_.iterator(); it.hasNext();) {
final FDicoFiltreChooserAbstract filtre = (FDicoFiltreChooserAbstract) it.next();
- _p.add(filtre.buildPanel(f, renderer));
+ final JPanel buildPanel = filtre.buildPanel(f, renderer);
+ buildPanel.putClientProperty("IS_FILTER", Boolean.TRUE);
+ _p.add(buildPanel);
}
}
@@ -116,7 +135,7 @@
public JPanel buildPanel() {
final JPanel r = new JPanel();
r.setLayout(new BuVerticalLayout(5, true, false));
- buildPanel(r);
+ setTargetPanel(r);
return r;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-01-21 10:03:43
|
Revision: 8231
http://fudaa.svn.sourceforge.net/fudaa/?rev=8231&view=rev
Author: deniger
Date: 2013-01-21 10:03:36 +0000 (Mon, 21 Jan 2013)
Log Message:
-----------
Modified Paths:
--------------
trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/MdlImplementation.java
Modified: trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/MdlImplementation.java
===================================================================
--- trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/MdlImplementation.java 2013-01-21 09:38:55 UTC (rev 8230)
+++ trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/MdlImplementation.java 2013-01-21 10:03:36 UTC (rev 8231)
@@ -95,8 +95,8 @@
static {
isMdl_.name = MdlResource.getS("Modeleur");
- isMdl_.version = "1.2RC6";
- isMdl_.date = "2013-01-17";
+ isMdl_.version = "1.2RC7";
+ isMdl_.date = "2013-01-21";
isMdl_.rights = MdlResource.getS("Tous droits r\xE9serv\xE9s") + ". CETMEF (c)1999-2011";
isMdl_.license = "GPL2";
isMdl_.languages = "fr,en";
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-01-21 09:39:01
|
Revision: 8230
http://fudaa.svn.sourceforge.net/fudaa/?rev=8230&view=rev
Author: deniger
Date: 2013-01-21 09:38:55 +0000 (Mon, 21 Jan 2013)
Log Message:
-----------
Modified Paths:
--------------
trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/TrIsoLayerDefault.java
Modified: trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/TrIsoLayerDefault.java
===================================================================
--- trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/TrIsoLayerDefault.java 2013-01-21 09:38:40 UTC (rev 8229)
+++ trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/TrIsoLayerDefault.java 2013-01-21 09:38:55 UTC (rev 8230)
@@ -961,20 +961,55 @@
}
}
} else if (isLineAllPaintedByNode(minX, maxX, minY, maxY, x, y, nbPt)) {
- for (int iPt = 0; iPt < nbPt; iPt++) {
- int idxDone = x[iPt] + y[iPt] * w;
- if (idxDone >= 0 && !memory.isSelected(idxDone)) {
- memory.add(idxDone);
- double value = modelToUse.getDatatFor(idxElt, iPt);
+ boolean painted = false;
+ if (deltaX == 0 || deltaY == 0) {
+ double valueToUse = modelToUse.getDatatFor(idxElt, 0);
+ boolean constant = true;
+ //pour les points sur 2 pixels on ne fait pas le tests pour savoir si meme valeur.
+ if (deltaX >= 1 || deltaY >= 1) {
+ for (int iPt = 1; iPt < nbPt; iPt++) {
+ double val = modelToUse.getDatatFor(idxElt, iPt);
+ if (constant) {
+ constant = CtuluLib.isEquals(val, valueToUse, 1e-10);
+ if (!constant) {
+ break;
+ }
+ }
+ }
+ }
+ if (constant) {
+ painted = true;
final Color color = paletteCouleur_ == null ? null : ((BPalettePlage) paletteCouleur_).getColorFor(
- value);
+ valueToUse);
final Color c = rapide ? color : EbliLib.getAlphaColor(color, alpha_);
if (c != null) {
_g.setColor(c);
- _g.drawLine(x[iPt], y[iPt], x[iPt], y[iPt]);
+ _g.drawLine(minX, minY, maxX, maxY);
}
+ for (int iPt = 0; iPt < nbPt; iPt++) {
+ int idxDone = x[iPt] + y[iPt] * w;
+ if (idxDone >= 0) {
+ memory.add(idxDone);
+ }
+ }
}
+ }
+ if (!painted) {
+ for (int iPt = 0; iPt < nbPt; iPt++) {
+ int idxDone = x[iPt] + y[iPt] * w;
+ if (idxDone >= 0 && !memory.isSelected(idxDone)) {
+ memory.add(idxDone);
+ double value = modelToUse.getDatatFor(idxElt, iPt);
+ final Color color = paletteCouleur_ == null ? null : ((BPalettePlage) paletteCouleur_).getColorFor(
+ value);
+ final Color c = rapide ? color : EbliLib.getAlphaColor(color, alpha_);
+ if (c != null) {
+ _g.setColor(c);
+ _g.drawLine(x[iPt], y[iPt], x[iPt], y[iPt]);
+ }
+ }
+ }
}
} else {
v_ = modelToUse.fillWithData(idxElt, v_);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-01-21 09:38:47
|
Revision: 8229
http://fudaa.svn.sourceforge.net/fudaa/?rev=8229&view=rev
Author: deniger
Date: 2013-01-21 09:38:40 +0000 (Mon, 21 Jan 2013)
Log Message:
-----------
Modified Paths:
--------------
trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/MdlVisuPanel.java
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/grid/AbstractCalqueCreateGridProcessor.java
trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/grid/CalqueCreateGridPoly2TriProcessor.java
trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/grid/CalqueCreateGridTriangleProcessor.java
trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/grid/GridChooseToolAndContourConvexHullPanel.java
Modified: trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/MdlVisuPanel.java
===================================================================
--- trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/MdlVisuPanel.java 2013-01-21 09:38:14 UTC (rev 8228)
+++ trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/MdlVisuPanel.java 2013-01-21 09:38:40 UTC (rev 8229)
@@ -141,11 +141,20 @@
return cqAlti_;
}
+ public BGroupeCalque getGroupSing() {
+ return cqSing_;
+ }
+
public List<BCalque> getCalquesContours() {
BCalque[] calques = cqSing_.getCalques();
return findCalques(calques, MdlLayer2dContour.EXT_NAME);
}
+ public List<BCalque> getCalquesContraintes() {
+ BCalque[] calques = cqSing_.getCalques();
+ return findCalques(calques, MdlLayer2dConstraintLine.EXT_NAME);
+ }
+
public List<BCalque> findCalques(BCalque[] in, String extName) {
List<BCalque> res = new ArrayList<BCalque>();
if (in != null) {
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 2013-01-21 09:38:14 UTC (rev 8228)
+++ trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/action/CalqueCreateGridAction.java 2013-01-21 09:38:40 UTC (rev 8229)
@@ -83,7 +83,7 @@
//le panneau permet de choisir le triangulateur et le calque contour.
final GridChooseToolAndContourConvexHullPanel panel = new GridChooseToolAndContourConvexHullPanel(visuPanel);
boolean ok = panel.afficheModaleOk(editor.getUi().getParentComponent(), MdlResource.getS("Selectionner le calque de contour"));
- final MdlLayer2dContour finalContourLayer = (MdlLayer2dContour) panel.getSelectedLayer();
+ final MdlLayer2dContour finalContourLayer = (MdlLayer2dContour) panel.getSelectedContourLayer();
if (ok) {
layer.getLayerGridDelegate().clearGrid();
ok = checkParameters(finalContourLayer, editor, panel);
@@ -203,13 +203,16 @@
public void run() {
eps = panel.getEps();
final LinearRing finalConvexHull = panel.getSelectedConvexHull();
- final MdlLayer2dContour finalContourLayer = (MdlLayer2dContour) panel.getSelectedLayer();
+ final MdlLayer2dContour finalContourLayer = (MdlLayer2dContour) panel.getSelectedContourLayer();
if (panel.isTriangleSelected()) {
processor = new CalqueCreateGridTriangleProcessor(layer.modeleDonnees(), getUI(), finalContourLayer, finalConvexHull);
} else {
processor = new CalqueCreateGridPoly2TriProcessor(layer.modeleDonnees(), getUI(), finalContourLayer, finalConvexHull);
}
processor.setEps(eps);
+ processor.setContraintLines(panel.getSelectedContrainteLayer());
+ processor.setUseHole(panel.isUseHoleIsSelected());
+ processor.setAddPointOnFrontier(panel.isAddPointOnFrontierSelected());
//TODO boolean
//on execute la triangulation et on lit le maillage
final EfGridInterface grid = processor.process(progression);
Modified: trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/grid/AbstractCalqueCreateGridProcessor.java
===================================================================
--- trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/grid/AbstractCalqueCreateGridProcessor.java 2013-01-21 09:38:14 UTC (rev 8228)
+++ trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/grid/AbstractCalqueCreateGridProcessor.java 2013-01-21 09:38:40 UTC (rev 8229)
@@ -6,13 +6,16 @@
import com.vividsolutions.jts.algorithm.SIRtreePointInRing;
import com.vividsolutions.jts.geom.Coordinate;
import com.vividsolutions.jts.geom.Geometry;
+import com.vividsolutions.jts.geom.LineString;
import com.vividsolutions.jts.geom.LinearRing;
-import java.util.Arrays;
+import java.util.ArrayList;
import java.util.List;
+import org.apache.commons.lang.ArrayUtils;
import org.fudaa.ctulu.CtuluUI;
import org.fudaa.ctulu.ProgressionInterface;
import org.fudaa.ctulu.gis.GISLib;
import org.fudaa.ctulu.gis.GISVisitorGeometryCollector;
+import org.fudaa.ctulu.gis.GISZoneCollectionLigneBrisee;
import org.fudaa.ctulu.gis.GisZoneCollectionAsListPointAdapter;
import org.fudaa.ctulu.gis.process.GisZoneCollectionPointDoublonRemover;
import org.fudaa.ctulu.gis.process.PointsMapping;
@@ -30,10 +33,13 @@
protected final CtuluUI ui;
protected final ZCalqueLigneBrisee contour;
+ protected ZCalqueLigneBrisee contraintLayer;
protected final LinearRing convexHull;
protected double eps = 1e-3;
private final GisZoneCollectionAsListPointAdapter pointsAdapter;
private PointsMapping pointsMapping;
+ private boolean useHole;
+ protected boolean addPointOnFrontier;
public AbstractCalqueCreateGridProcessor(ZModeleMultiPoint points, CtuluUI ui, ZCalqueLigneBrisee contour, LinearRing convexHull) {
this.ui = ui;
@@ -42,6 +48,14 @@
this.pointsAdapter = new GisZoneCollectionAsListPointAdapter(points.getGeomData());
}
+ public void setUseHole(boolean useHole) {
+ this.useHole = useHole;
+ }
+
+ public void setAddPointOnFrontier(boolean addPointOnFrontier) {
+ this.addPointOnFrontier = addPointOnFrontier;
+ }
+
public PointsMapping getPointsMapping() {
return pointsMapping;
}
@@ -54,7 +68,6 @@
this.eps = epsForDoublon;
}
-
@Override
public final void setProcess(Process _p) {
this.p = _p;
@@ -95,29 +108,64 @@
return pointsMapping;
}
+ private boolean isNoPolygoneSelected() {
+ return contour == null || (contour.modeleDonnees().getNbPolygone() == 0) || (convexHull == null && !useHole);
+ }
+
+ private boolean isNoConstraintLineSelected() {
+ return contraintLayer == null || (contraintLayer.modeleDonnees().getNombre() == 0);
+ }
+
+ protected boolean isNoLinesSelected() {
+ return isNoPolygoneSelected() && isNoConstraintLineSelected();
+ }
+
+ public boolean isPolygoneSelected() {
+ return !isNoPolygoneSelected();
+ }
+
public final TriangulationPolyDataNodeDefault createPolyData(ProgressionInterface prog) {
TriangulationPolyDataNodeDefault data = new TriangulationPolyDataNodeDefault();
+ List<LineString> lines = new ArrayList<LineString>();
+ List<Boolean> holes = new ArrayList<Boolean>();
if (contour != null) {
- GISVisitorGeometryCollector collector = new GISVisitorGeometryCollector(GISLib.MASK_POLYGONE);
- contour.modeleDonnees().getGeomData().accept(collector);
- List<Geometry> geometries = collector.getGeometries();
- 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;
+ lines.add(convexHull);
+ holes.add(Boolean.FALSE);
+ }
+ if (useHole) {
+ GISVisitorGeometryCollector collector = new GISVisitorGeometryCollector(GISLib.MASK_POLYGONE);
+ contour.modeleDonnees().getGeomData().accept(collector);
+ List<Geometry> geometries = collector.getGeometries();
+ LinearRing[] linearRings = (LinearRing[]) geometries.toArray(new LinearRing[geometries.size()]);
+ for (int i = 0; i < linearRings.length; i++) {
+ LinearRing linearRing = linearRings[i];
+ if (linearRing != convexHull) {
+ lines.add(linearRing);
+ holes.add(Boolean.TRUE);
}
}
}
- data.setHoles(holes);
- data.setRings(linearRings);
}
+ if (contraintLayer != null) {
+ GISZoneCollectionLigneBrisee linesCollection = contraintLayer.modeleDonnees().getGeomData();
+ for (int i = 0; i < linesCollection.getNumGeometries(); i++) {
+ lines.add((LineString) linesCollection.getGeometry(i));
+ holes.add(Boolean.FALSE);
+ }
+ }
+ LineString[] lineStrings = (LineString[]) lines.toArray(new LineString[lines.size()]);
+ Boolean[] holesInBoolean = (Boolean[]) holes.toArray(new Boolean[holes.size()]);
+ data.setLineString(lineStrings);
+ data.setHoles(ArrayUtils.toPrimitive(holesInBoolean));
PointsMapping filteredPoints = createMapping(prog);
data.setNodeData(filteredPoints);
data.setUseZAsAttribute(false);
return data;
}
+
+ public void setContraintLines(ZCalqueLigneBrisee selectedContrainteLayer) {
+ this.contraintLayer = selectedContrainteLayer;
+ }
}
Modified: trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/grid/CalqueCreateGridPoly2TriProcessor.java
===================================================================
--- trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/grid/CalqueCreateGridPoly2TriProcessor.java 2013-01-21 09:38:14 UTC (rev 8228)
+++ trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/grid/CalqueCreateGridPoly2TriProcessor.java 2013-01-21 09:38:40 UTC (rev 8229)
@@ -58,7 +58,7 @@
ProgressionUpdater updater = new ProgressionUpdater(prog);
updater.majProgessionStateOnly(MdlResource.getS("Construction des donn\xE9es d'entr\xE9e"));
- if (data.getNbPoly() > 0) {
+ if (data.getNbLines() > 0) {
TriangulationConvexHullBuilder builder = new TriangulationConvexHullBuilder();
int nbExtern = builder.getNbExternPolygon(data);
if (nbExtern > 1) {
@@ -70,16 +70,16 @@
int idxExternPoly = builder.getExternPolygonIdx(data);
updater.majProgessionStateOnly(MdlResource.getS("Construction des points"));
TreeSet<Coordinate> addedCoordinate = new TreeSet<Coordinate>(new CoordinateComparator(eps));
- LinearRing externRing = data.getPoly(idxExternPoly);
+ LinearRing externRing = (LinearRing) data.getLine(idxExternPoly);
SIRtreePointInRing isInMainRing = new SIRtreePointInRing(externRing);
List<SIRtreePointInRing> isInHoles = new ArrayList<SIRtreePointInRing>();
List<PolygonPoint> polygonPoints = createPolygonPoints(externRing, addedCoordinate);
Polygon polygon = new Polygon(polygonPoints);
- if (data.getNbPoly() > 1) {
- for (int idxPoly = 0; idxPoly < data.getNbPoly(); idxPoly++) {
- if (idxPoly != idxExternPoly) {
- isInHoles.add(new SIRtreePointInRing(data.getPoly(idxPoly)));
- polygon.addHole(new Polygon(createPolygonPoints(data.getPoly(idxPoly), addedCoordinate)));
+ if (data.getNbLines() > 1) {
+ for (int idxPoly = 0; idxPoly < data.getNbLines(); idxPoly++) {
+ if (idxPoly != idxExternPoly && data.isClosed(idxPoly)) {
+ isInHoles.add(new SIRtreePointInRing((LinearRing) data.getLine(idxPoly)));
+ polygon.addHole(new Polygon(createPolygonPoints((LinearRing) data.getLine(idxPoly), addedCoordinate)));
}
}
}
Modified: trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/grid/CalqueCreateGridTriangleProcessor.java
===================================================================
--- trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/grid/CalqueCreateGridTriangleProcessor.java 2013-01-21 09:38:14 UTC (rev 8228)
+++ trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/grid/CalqueCreateGridTriangleProcessor.java 2013-01-21 09:38:40 UTC (rev 8229)
@@ -32,19 +32,19 @@
* @author Frederic Deniger
*/
public class CalqueCreateGridTriangleProcessor extends AbstractCalqueCreateGridProcessor {
-
+
public static String getTriangleExe() {
return MdlPreferences.MDL.getStringProperty("grid.triangle.path");
}
-
+
public static boolean isTriangleExeConfigured() {
return getTriangleExe() != null && new File(getTriangleExe()).exists();
}
-
+
public CalqueCreateGridTriangleProcessor(ZModeleMultiPoint points, CtuluUI ui, ZCalqueLigneBrisee contour, LinearRing convexHull) {
super(points, ui, contour, convexHull);
}
-
+
@Override
public EfGridInterface process(ProgressionInterface prog) {
if (!isTriangleExeConfigured()) {
@@ -56,7 +56,7 @@
String fileName = null;
CExec exe = new CExec();
exe.setExecDirectory(tmpDir);
- if (contour == null || contour.modeleDonnees().getNbPolygone() == 0) {
+ if (isNoLinesSelected()) {
fileName = "in.node";
File nodeFile = new File(tmpDir, fileName);
TriangleNodeWriter writer = new TriangleNodeWriter();
@@ -80,18 +80,18 @@
return null;
}
//https://www.cs.cmu.edu/~quake/triangle.switch.html
- String options = "-DYY";
+ String options = addPointOnFrontier ? "-D" : "-DYY";
if (convexHull == null) {
- options = "-cDYY";
+ options = addPointOnFrontier ? "-cD" : "-cDYY";
}
exe.setCommand(new String[]{getTriangleExe(), options, fileName});
}
if (prog != null) {
prog.setDesc(MdlResource.getS("Ex\xE9cution du mailleur"));
}
-
-
-
+
+
+
exe.setListener(this);
exe.exec();
if (stop) {
Modified: trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/grid/GridChooseToolAndContourConvexHullPanel.java
===================================================================
--- trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/grid/GridChooseToolAndContourConvexHullPanel.java 2013-01-21 09:38:14 UTC (rev 8228)
+++ trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/grid/GridChooseToolAndContourConvexHullPanel.java 2013-01-21 09:38:40 UTC (rev 8229)
@@ -13,6 +13,7 @@
import java.io.File;
import java.util.List;
import javax.swing.DefaultComboBoxModel;
+import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JList;
import org.apache.commons.lang.StringUtils;
@@ -33,13 +34,16 @@
* @author Frederic Deniger
*/
public class GridChooseToolAndContourConvexHullPanel extends CtuluDialogPanel {
-
+
JComboBox cbTriangulateur;
- JComboBox cbLayer;
+ JComboBox cbLayerContour;
+ JComboBox cbLayerInteriorLine;
JComboBox cbConvexHull;
+ JCheckBox cbUseHole;
+ JCheckBox cbAddPointOnFrontier;
BuTextField tfEps;
CtuluFileChooserPanel chooseExe;
-
+
public GridChooseToolAndContourConvexHullPanel(MdlVisuPanel visuPanel) {
super(false);
setHelpText(MdlResource.getS("Choisir le calque qui d\xE9terminera le contour et les trous du maillage"));
@@ -54,11 +58,12 @@
cbTriangulateur = new JComboBox(TriangulateurEnum.values());
add(cbTriangulateur);
chooseExe = addFileChooserPanel(this, MdlResource.getS("Chemin pour Triangle") + ": ", false, false);
-
+ cbAddPointOnFrontier = new JCheckBox();
cbTriangulateur.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
updateChooseExecState();
+ updateCbAddPointOnFrontierAndContraint();
}
});
String triangleExe = CalqueCreateGridTriangleProcessor.getTriangleExe();
@@ -68,38 +73,67 @@
if (isTriangleLastUsed()) {
cbTriangulateur.setSelectedItem(TriangulateurEnum.TRIANGLE);
}
+ BuLabel lbAddPoint = addLabel(MdlResource.getS("Ajouter des points sur la fronti\xE8re externe"));
+ lbAddPoint.setToolTipText(MdlResource.getS("Si activ\xE9, le triangulateur peut ajouter des points sur la fronti\xE8re"));
+
+ add(cbAddPointOnFrontier);
+ updateCbAddPointOnFrontierAndContraint();
List<BCalque> calquesContours = visuPanel.getCalquesContours();
+ final FSigWizardImportHelper.CalqueCellRender calqueCellRender = new FSigWizardImportHelper.CalqueCellRender();
+ calqueCellRender.setNullValue(MdlResource.getS("Aucun"));
if (!calquesContours.isEmpty()) {
- addLabel("");
- addLabel("");
+ addLabel(" ");
+ addLabel(" ");
BuLabel addLabel = addLabel(MdlResource.getS("Calque contour"));
addLabel.setToolTipText(MdlResource.getS("Les polygones du calque formeront l'enveloppe et les trous du maillage"));
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);
+ cbLayerContour = new JComboBox(bCalques);
+
+ cbLayerContour.setRenderer(calqueCellRender);
+ add(cbLayerContour);
BuLabel labelEnveloppe = addLabel(MdlResource.getS("L'enveloppe externe"));
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() {
+ BuLabel labelUseHole = addLabel(MdlResource.getS("Utiliser Les autres lignes ferm\xE9es comme des \xEEles"));
+ labelUseHole.setToolTipText("<html>" + MdlResource.getS("Si activ\xE9, les lignes ferm\xE9es, hormis l'enveloppe externe, seront consid\xE9r\xE9es comme \xE9tant des \xECles"));
+ cbUseHole = new JCheckBox();
+ add(cbUseHole);
+ cbUseHole.setSelected(true);
+ cbLayerContour.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
updateConvexHullCb();
}
});
}
+ List<BCalque> calqueLine2d = visuPanel.getCalquesContraintes();
+ addLabel(" ");
+ addLabel(" ");
+ BuLabel addLabel = addLabel(MdlResource.getS("Lignes de contraintes"));
+ addLabel.setToolTipText(MdlResource.getS("Lignes sur lesquelles le maillage devra s'appuyer. Non support\xE9 par le mailleur interne."));
+ calqueLine2d.add(0, null);
+ BCalque[] bCalques = (BCalque[]) calqueLine2d.toArray(new BCalque[calqueLine2d.size()]);
+ cbLayerInteriorLine = new JComboBox(bCalques);
+ cbLayerInteriorLine.setRenderer(calqueCellRender);
+ add(cbLayerInteriorLine);
+ updateCbAddPointOnFrontierAndContraint();
updateChooseExecState();
}
-
+
protected final void updateChooseExecState() {
chooseExe.setEnabled(isTriangleSelected());
}
-
+
+ protected final void updateCbAddPointOnFrontierAndContraint() {
+ cbAddPointOnFrontier.setEnabled(isTriangleSelected());
+ if (cbLayerInteriorLine != null) {
+ cbLayerInteriorLine.setEnabled(isTriangleSelected());
+ }
+ }
+
@Override
public boolean isDataValid() {
if (!isTriangleSelected()) {
@@ -120,11 +154,11 @@
}
return super.isDataValid();
}
-
+
public Double getEps() {
return (Double) tfEps.getValue();
}
-
+
@Override
public void apply() {
super.apply();
@@ -132,30 +166,36 @@
File choosenFile = chooseExe.getFile();
if (choosenFile != null) {
MdlPreferences.MDL.putStringProperty("grid.triangle.path", choosenFile.getAbsolutePath());
-
+
}
}
MdlPreferences.MDL.putStringProperty("grid.triangulateur.used", isTriangleSelected() ? "triangle" : "interne");
MdlPreferences.MDL.writeIniFile();
}
-
+
private boolean isTriangleLastUsed() {
return "triangle".equals(MdlPreferences.MDL.getStringProperty("grid.triangulateur.used"));
}
-
+
public boolean isTriangleSelected() {
return TriangulateurEnum.TRIANGLE.equals(cbTriangulateur.getSelectedItem());
-
-
}
-
+
+ public boolean isUseHoleIsSelected() {
+ return cbUseHole.isSelected();
+ }
+
+ public boolean isAddPointOnFrontierSelected() {
+ return cbAddPointOnFrontier.isSelected();
+ }
+
private class LinearRingCellRenderer extends CtuluCellTextRenderer {
-
+
@Override
public Component getListCellRendererComponent(JList _list, Object _value, int _index, boolean _isSelected, boolean _cellHasFocus) {
return super.getListCellRendererComponent(_list, getValue(_value, _index), _index, _isSelected, _cellHasFocus);
}
-
+
protected String getValue(Object _value, int selectedIdx) {
if (_value == null) {
return MdlResource.getS("Aucun");
@@ -165,8 +205,8 @@
idx = cbConvexHull.getSelectedIndex() - 1;
}
if (idx >= 0) {
- int att = getSelectedLayer().modeleDonnees().getGeomData().getIndiceOf(GISAttributeConstants.TITRE);
- GISAttributeModel dataModel = getSelectedLayer().modeleDonnees().getGeomData().getDataModel(att);
+ int att = getSelectedContourLayer().modeleDonnees().getGeomData().getIndiceOf(GISAttributeConstants.TITRE);
+ GISAttributeModel dataModel = getSelectedContourLayer().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));
@@ -177,22 +217,27 @@
return _value.toString();
}
}
-
+
protected void updateConvexHullCb() {
- ZCalqueLigneBrisee selectedLayer = getSelectedLayer();
+ ZCalqueLigneBrisee selectedLayer = getSelectedContourLayer();
+ cbUseHole.setEnabled(selectedLayer != null);
if (selectedLayer == null) {
cbConvexHull.setModel(new DefaultComboBoxModel());
} else {
cbConvexHull.setModel(new LinearRingComboBoxModel(selectedLayer));
cbConvexHull.setSelectedIndex(0);
}
-
+
}
-
- public ZCalqueLigneBrisee getSelectedLayer() {
- return cbLayer == null ? null : (ZCalqueLigneBrisee) cbLayer.getSelectedItem();
+
+ public ZCalqueLigneBrisee getSelectedContourLayer() {
+ return cbLayerContour == null ? null : (ZCalqueLigneBrisee) cbLayerContour.getSelectedItem();
}
-
+
+ public ZCalqueLigneBrisee getSelectedContrainteLayer() {
+ return cbLayerInteriorLine == null ? null : (ZCalqueLigneBrisee) cbLayerInteriorLine.getSelectedItem();
+ }
+
public LinearRing getSelectedConvexHull() {
return cbConvexHull == null ? null : (LinearRing) cbConvexHull.getSelectedItem();
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-01-21 09:38:23
|
Revision: 8228
http://fudaa.svn.sourceforge.net/fudaa/?rev=8228&view=rev
Author: deniger
Date: 2013-01-21 09:38:14 +0000 (Mon, 21 Jan 2013)
Log Message:
-----------
Modified Paths:
--------------
trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/AbstractTriangulationPolyData.java
trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationConvexHullBuilder.java
trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationPolyDataConvexHullAdapter.java
trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationPolyDataInterface.java
trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationUniqueDataContentBuilder.java
trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/gmsh/GmshGeoWriter.java
trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TrianglePolyWriter.java
trunk/business/fudaa-ef/io/src/test/java/org/fudaa/dodico/ef/io/triangle/TrianglePolyWriterTest.java
Modified: trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/AbstractTriangulationPolyData.java
===================================================================
--- trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/AbstractTriangulationPolyData.java 2013-01-18 18:22:33 UTC (rev 8227)
+++ trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/AbstractTriangulationPolyData.java 2013-01-21 09:38:14 UTC (rev 8228)
@@ -3,7 +3,7 @@
*/
package org.fudaa.dodico.ef.triangulation;
-import com.vividsolutions.jts.geom.LinearRing;
+import com.vividsolutions.jts.geom.LineString;
/**
* une impl\xE9mentation par defaut avec les z comme attributs.
@@ -12,7 +12,7 @@
*/
public abstract class AbstractTriangulationPolyData implements TriangulationPolyDataInterface {
- LinearRing[] rings = new LinearRing[0];
+ LineString[] lines = new LineString[0];
boolean[] holes = new boolean[0];
boolean useZAsAttribute;
@@ -27,30 +27,35 @@
this.holes = holes;
}
- public void setRings(LinearRing[] rings) {
- this.rings = rings;
+ public void setLineString(LineString[] rings) {
+ this.lines = rings;
}
+ @Override
+ public boolean isClosed(int idxLine) {
+ return lines[idxLine].isRing();
+ }
+
public int getNbAttributes() {
return useZAsAttribute ? 1 : 0;
}
@Override
- public int getNbPoly() {
- return rings.length;
+ public int getNbLines() {
+ return lines.length;
}
@Override
- public LinearRing getPoly(int idxPoly) {
- return rings[idxPoly];
+ public LineString getLine(int idxPoly) {
+ return lines[idxPoly];
}
@Override
- public boolean isHole(int idxPoly) {
- return holes[idxPoly];
+ public boolean isClosedAndHole(int idxPoly) {
+ return isClosed(idxPoly) && holes[idxPoly];
}
public double getPolyAttributes(int idxPoly, int idxPtInPoly, int idxAtt) {
- return getPoly(idxPoly).getCoordinateSequence().getCoordinate(idxPtInPoly).z;
+ return getLine(idxPoly).getCoordinateSequence().getCoordinate(idxPtInPoly).z;
}
}
Modified: trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationConvexHullBuilder.java
===================================================================
--- trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationConvexHullBuilder.java 2013-01-18 18:22:33 UTC (rev 8227)
+++ trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationConvexHullBuilder.java 2013-01-21 09:38:14 UTC (rev 8228)
@@ -5,6 +5,7 @@
import com.vividsolutions.jts.algorithm.ConvexHull;
import com.vividsolutions.jts.geom.Coordinate;
+import com.vividsolutions.jts.geom.LineString;
import com.vividsolutions.jts.geom.LinearRing;
import com.vividsolutions.jts.geom.Polygon;
import java.util.TreeSet;
@@ -12,16 +13,17 @@
import org.fudaa.ctulu.gis.comparator.CoordinateComparator;
/**
- * Permet de d\xE9terminer l'enveloppe convexe d'un ensemble de donn\xE9es points/polylignes
+ * Permet de d\xE9terminer l'enveloppe convexe d'un ensemble de donn\xE9es points/polylignes
+ *
* @author Frederic Deniger
*/
public class TriangulationConvexHullBuilder {
public int getNbExternPolygon(TriangulationPolyDataInterface data) {
int nbExtern = 0;
- int nbPoly = data.getNbPoly();
+ int nbPoly = data.getNbLines();
for (int i = 0; i < nbPoly; i++) {
- if (!data.isHole(i)) {
+ if (!data.isClosedAndHole(i)) {
nbExtern++;
}
}
@@ -29,9 +31,9 @@
}
public int getExternPolygonIdx(TriangulationPolyDataInterface data) {
- int nbPoly = data.getNbPoly();
+ int nbPoly = data.getNbLines();
for (int i = 0; i < nbPoly; i++) {
- if (!data.isHole(i)) {
+ if (!data.isClosedAndHole(i)) {
return i;
}
}
@@ -47,8 +49,8 @@
for (int idxPoint = 0; idxPoint < data.getPtsNb(); idxPoint++) {
cs.add(new Coordinate(data.getPtX(idxPoint), data.getPtY(idxPoint)));
}
- for (int idxPoly = 0; idxPoly < data.getNbPoly(); idxPoly++) {
- LinearRing poly = data.getPoly(idxPoly);
+ for (int idxPoly = 0; idxPoly < data.getNbLines(); idxPoly++) {
+ LineString poly = data.getLine(idxPoly);
for (int idxPt = 0; idxPt < poly.getNumPoints(); idxPt++) {
cs.add(new Coordinate(poly.getCoordinateN(idxPt)));
}
Modified: trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationPolyDataConvexHullAdapter.java
===================================================================
--- trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationPolyDataConvexHullAdapter.java 2013-01-18 18:22:33 UTC (rev 8227)
+++ trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationPolyDataConvexHullAdapter.java 2013-01-21 09:38:14 UTC (rev 8228)
@@ -3,6 +3,7 @@
*/
package org.fudaa.dodico.ef.triangulation;
+import com.vividsolutions.jts.geom.LineString;
import com.vividsolutions.jts.geom.LinearRing;
/**
@@ -36,23 +37,23 @@
}
@Override
- public int getNbPoly() {
- return init.getNbPoly() + 1;
+ public int getNbLines() {
+ return init.getNbLines() + 1;
}
@Override
- public LinearRing getPoly(int idxPoly) {
+ public LineString getLine(int idxPoly) {
if (idxPoly == 0) {
return convexHull;
}
- return init.getPoly(idxPoly - 1);
+ return init.getLine(idxPoly - 1);
}
@Override
- public boolean isHole(int idxPoly) {
+ public boolean isClosedAndHole(int idxPoly) {
if (idxPoly == 0) {
return false;
}
- return init.isHole(idxPoly - 1);
+ return init.isClosedAndHole(idxPoly - 1);
}
}
Modified: trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationPolyDataInterface.java
===================================================================
--- trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationPolyDataInterface.java 2013-01-18 18:22:33 UTC (rev 8227)
+++ trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationPolyDataInterface.java 2013-01-21 09:38:14 UTC (rev 8228)
@@ -3,7 +3,7 @@
*/
package org.fudaa.dodico.ef.triangulation;
-import com.vividsolutions.jts.geom.LinearRing;
+import com.vividsolutions.jts.geom.LineString;
import org.fudaa.ctulu.interpolation.SupportLocationI;
/**
@@ -17,18 +17,20 @@
*
* @return le nombre de polygone
*/
- int getNbPoly();
+ int getNbLines();
/**
- * @param idxPoly entre 0 et getNbPoly-1
+ * @param idxClosedLine entre 0 et getNbLines-1
* @return le polygone
*/
- LinearRing getPoly(int idxPoly);
+ LineString getLine(int idxClosedLine);
+ boolean isClosed(int idxLine);
+
/**
*
- * @param idxPoly entre 0 et getNbPoly-1
- * @return true si le polygone i est un true.
+ * @param idxClosedLine entre 0 et getNbLines-1
+ * @return true si le polygone i est un trou.
*/
- boolean isHole(int idxPoly);
+ boolean isClosedAndHole(int idxClosedLine);
}
Modified: trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationUniqueDataContentBuilder.java
===================================================================
--- trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationUniqueDataContentBuilder.java 2013-01-18 18:22:33 UTC (rev 8227)
+++ trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationUniqueDataContentBuilder.java 2013-01-21 09:38:14 UTC (rev 8228)
@@ -5,6 +5,7 @@
import com.vividsolutions.jts.geom.Coordinate;
import com.vividsolutions.jts.geom.CoordinateSequence;
+import com.vividsolutions.jts.geom.LineString;
import gnu.trove.TIntArrayList;
import java.util.ArrayList;
import java.util.List;
@@ -14,8 +15,9 @@
import org.fudaa.ctulu.gis.comparator.CoordinateComparator;
/**
- * Permet de construire un TriangulationUniqueDataContent \xE0 partir d'un TriangulationPolyDataInterface.
- * Ce contenu \xE9vite les doublons au niveau des points.
+ * Permet de construire un TriangulationUniqueDataContent \xE0 partir d'un TriangulationPolyDataInterface. Ce contenu \xE9vite les doublons au niveau des
+ * points.
+ *
* @author Frederic Deniger
*/
public class TriangulationUniqueDataContentBuilder {
@@ -38,7 +40,7 @@
TIntArrayList linearRingContainingPoint = new TIntArrayList();
TreeMap<Coordinate, Integer> idxByCoordinate = new TreeMap<Coordinate, Integer>(coordinateComparator);
int nb = in.getPtsNb();
- final int nbPoly = in.getNbPoly();
+ final int nbPoly = in.getNbLines();
ProgressionUpdater updater = new ProgressionUpdater();
updater.setValue(10, nb + nbPoly);
int idxPtAdded = 0;
@@ -49,13 +51,14 @@
//point interne:
linearRingContainingPoint.add(-1);
idxByCoordinate.put(coordinate, idxPtAdded++);
- }
+ }
updater.majAvancement();
}
int[][] idx = new int[nbPoly][];
for (int idxPoly = 0; idxPoly < nbPoly; idxPoly++) {
- CoordinateSequence coordinateSequence = in.getPoly(idxPoly).getCoordinateSequence();
- int nbPt = coordinateSequence.size() - 1;//premier point = dernier point
+ final LineString line = in.getLine(idxPoly);
+ CoordinateSequence coordinateSequence = line.getCoordinateSequence();
+ int nbPt = in.isClosed(idxPoly) ? coordinateSequence.size() - 1 : coordinateSequence.size();//premier point = dernier point
idx[idxPoly] = new int[nbPt];
for (int idxPt = 0; idxPt < nbPt; idxPt++) {
Coordinate coordinate = coordinateSequence.getCoordinate(idxPt);
Modified: trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/gmsh/GmshGeoWriter.java
===================================================================
--- trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/gmsh/GmshGeoWriter.java 2013-01-18 18:22:33 UTC (rev 8227)
+++ trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/gmsh/GmshGeoWriter.java 2013-01-21 09:38:14 UTC (rev 8228)
@@ -3,6 +3,7 @@
*/
package org.fudaa.dodico.ef.io.gmsh;
+import com.vividsolutions.jts.geom.LineString;
import org.fudaa.dodico.ef.io.triangle.*;
import org.fudaa.dodico.ef.triangulation.TriangulationPolyDataInterface;
import com.vividsolutions.jts.geom.LinearRing;
@@ -20,6 +21,7 @@
import org.fudaa.dodico.ef.triangulation.TriangulationUniqueDataContent;
import org.fudaa.dodico.ef.triangulation.TriangulationUniqueDataContentBuilder;
import org.fudaa.dodico.fortran.FileOpWriterCharSimpleAbstract;
+import sun.nio.cs.ext.ISCII91;
/**
* Permet d'\xE9crire un fichier d'entr\xE9e pour GMSH. Par contre, le mailleur ne semble pas extr\xEAmenent robuste. Lors de l'\xE9criture du fichier geo, on
@@ -82,7 +84,7 @@
if (nbExtern == 0) {
data = convexHullBuilder.addConvexHullIfNeeded(data);
}
- int nbPoly = data.getNbPoly();
+ int nbPoly = data.getNbLines();
TriangulationUniqueDataContentBuilder builder = new TriangulationUniqueDataContentBuilder(data, eps);
TriangulationUniqueDataContent content = builder.build(progress_);
@@ -112,7 +114,7 @@
}
int nbSegment = 0;
for (int idxPoly = 0; idxPoly < nbPoly; idxPoly++) {
- LinearRing poly = data.getPoly(idxPoly);
+ LineString poly = data.getLine(idxPoly);
//premier point = dernier point donc -1
int numPoints = poly.getNumPoints() - 1;
nbSegment = nbSegment + numPoints;
@@ -127,8 +129,8 @@
TIntArrayList[] segmentBySurface = new TIntArrayList[nbPoly];
for (int idxPoly = 0; idxPoly < nbPoly; idxPoly++) {
segmentBySurface[idxPoly] = new TIntArrayList();
- LinearRing poly = data.getPoly(idxPoly);
- int numPoints = poly.getNumPoints() - 2;//le dernier segment est \xE9crit apr\xE8s
+ LineString poly = data.getLine(idxPoly);
+ int numPoints = data.isClosed(idxPoly) ? poly.getNumPoints() - 2 : poly.getNumPoints() - 1;//le dernier segment est \xE9crit apr\xE8s
for (int idxPt = 0; idxPt < numPoints; idxPt++) {
writeString("Line(");
segmentBySurface[idxPoly].add(globalIdxSeg);
@@ -145,27 +147,32 @@
writelnToOut();
updater.majAvancement();
}
- //le segment fermant
- writeString("Line(");
- segmentBySurface[idxPoly].add(globalIdxSeg);
- writeInt(globalIdxSeg++);
- writeString(") = {");
- final int idxVertex = content.getPtIdxFor(idxPoly, numPoints) + 1;
- writeInt(idxVertex);
- writeString(",");
- final int idxVertexNext = content.getPtIdxFor(idxPoly, 0) + 1;
- writeInt(idxVertexNext);
- pointInSurface.remove(idxVertex);
- pointInSurface.remove(idxVertexNext);
- writeString("};");
- writelnToOut();
- updater.majAvancement();
+ if (data.isClosed(idxPoly)) {
+ //le segment fermant
+ writeString("Line(");
+ segmentBySurface[idxPoly].add(globalIdxSeg);
+ writeInt(globalIdxSeg++);
+ writeString(") = {");
+ final int idxVertex = content.getPtIdxFor(idxPoly, numPoints) + 1;
+ writeInt(idxVertex);
+ writeString(",");
+ final int idxVertexNext = content.getPtIdxFor(idxPoly, 0) + 1;
+ writeInt(idxVertexNext);
+ pointInSurface.remove(idxVertex);
+ pointInSurface.remove(idxVertexNext);
+ writeString("};");
+ writelnToOut();
+ updater.majAvancement();
+ }
}
int idxLineExterne = -1;
// Line Loop(19) = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 1};
int firstLineLoopIdx = globalIdxSeg;
for (int idxPoly = 0; idxPoly < nbPoly; idxPoly++) {
- if (!data.isHole(idxPoly)) {
+ if (!data.isClosed(idxPoly)) {
+ continue;
+ }
+ if (!data.isClosedAndHole(idxPoly)) {
idxLineExterne = globalIdxSeg;
}
final TIntArrayList lineLoop = segmentBySurface[idxPoly];
Modified: trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TrianglePolyWriter.java
===================================================================
--- trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TrianglePolyWriter.java 2013-01-18 18:22:33 UTC (rev 8227)
+++ trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TrianglePolyWriter.java 2013-01-21 09:38:14 UTC (rev 8228)
@@ -3,6 +3,7 @@
*/
package org.fudaa.dodico.ef.io.triangle;
+import com.vividsolutions.jts.geom.LineString;
import org.fudaa.dodico.ef.triangulation.TriangulationPolyDataInterface;
import com.vividsolutions.jts.geom.LinearRing;
import com.vividsolutions.jts.geom.Point;
@@ -20,7 +21,7 @@
import org.fudaa.dodico.fortran.FileOpWriterCharSimpleAbstract;
/**
- * Permet d'\xE9crire les fichiers de type poly: https://www.cs.cmu.edu/~quake/triangle.poly.html
+ * Permet d'\xE9crire les fichiers de type line: https://www.cs.cmu.edu/~quake/triangle.line.html
*
* @author Frederic Deniger
*/
@@ -57,7 +58,7 @@
TriangulationUniqueDataContentBuilder builder = new TriangulationUniqueDataContentBuilder(data, eps);
TriangulationUniqueDataContent content = builder.build(progress_);
- int nbPoly = data.getNbPoly();
+ int nbPoly = data.getNbLines();
int nbPointsTotal = content.getNbPoints();
//premiere ligne
// First line: <# of vertices> <dimension (must be 2)> <# of attributes> <# of boundary markers (0 or 1)>
@@ -89,9 +90,10 @@
}
int nbSegment = 0;
for (int idxPoly = 0; idxPoly < nbPoly; idxPoly++) {
- LinearRing poly = data.getPoly(idxPoly);
- //premier point = dernier point donc -1
- int numPoints = poly.getNumPoints() - 1;
+ LineString line = data.getLine(idxPoly);
+ //si ligne ferm\xE9e: premier point = dernier point donc -1
+ //si ligne ouverte -1 aussi.
+ int numPoints = line.getNumPoints() - 1;
nbSegment = nbSegment + numPoints;
}
//One line: <# of segments> <# of boundary markers (0 or 1)>
@@ -104,31 +106,34 @@
updater.majProgessionStateOnly(EfIOResource.getS("Ecriture des segments"));
//Following lines: <segment #> <endpoint> <endpoint> [boundary marker]
int globalIdxSeg = 1;
- for (int idxPoly = 0; idxPoly < nbPoly; idxPoly++) {
- LinearRing poly = data.getPoly(idxPoly);
- int numPoints = poly.getNumPoints() - 2;//le dernier segment est \xE9crit apr\xE8s
+ for (int idxLine = 0; idxLine < nbPoly; idxLine++) {
+ LineString poly = data.getLine(idxLine);
+ final boolean closed = data.isClosed(idxLine);
+ int numPoints = closed ? poly.getNumPoints() - 2 : poly.getNumPoints() - 1;//le dernier segment est \xE9crit apr\xE8s
for (int idxPt = 0; idxPt < numPoints; idxPt++) {
writeInt(globalIdxSeg++);
writeSpace();
- writeInt(content.getPtIdxFor(idxPoly, idxPt) + 1);
+ writeInt(content.getPtIdxFor(idxLine, idxPt) + 1);
writeSpace();
- writeInt(content.getPtIdxFor(idxPoly, idxPt + 1) + 1);
+ writeInt(content.getPtIdxFor(idxLine, idxPt + 1) + 1);
writeSpace();
//boundary marker
- writeInt(idxPoly + 1);
+ writeInt(idxLine + 1);
writelnToOut();
updater.majAvancement();
}
- //le segment fermant
- writeInt(globalIdxSeg++);
- writeSpace();
- writeInt(content.getPtIdxFor(idxPoly, numPoints) + 1);
- writeSpace();
- writeInt(content.getPtIdxFor(idxPoly, 0) + 1);
- writeSpace();
- //boundary marker
- writeInt(idxPoly + 1);
- writelnToOut();
+ if (closed) {
+ //le segment fermant
+ writeInt(globalIdxSeg++);
+ writeSpace();
+ writeInt(content.getPtIdxFor(idxLine, numPoints) + 1);
+ writeSpace();
+ writeInt(content.getPtIdxFor(idxLine, 0) + 1);
+ writeSpace();
+ //boundary marker
+ writeInt(idxLine + 1);
+ writelnToOut();
+ }
updater.majAvancement();
}
@@ -138,8 +143,8 @@
//on calcul le nombre de trous en stockant un point int\xE9rieur du trou
List<Point> holes = new ArrayList<Point>();
for (int idxPoly = 0; idxPoly < nbPoly; idxPoly++) {
- if (data.isHole(idxPoly)) {
- LinearRing poly = data.getPoly(idxPoly);
+ if (data.isClosedAndHole(idxPoly)) {
+ LinearRing poly = (LinearRing) data.getLine(idxPoly);
holes.add(poly.getCentroid());
}
}
Modified: trunk/business/fudaa-ef/io/src/test/java/org/fudaa/dodico/ef/io/triangle/TrianglePolyWriterTest.java
===================================================================
--- trunk/business/fudaa-ef/io/src/test/java/org/fudaa/dodico/ef/io/triangle/TrianglePolyWriterTest.java 2013-01-18 18:22:33 UTC (rev 8227)
+++ trunk/business/fudaa-ef/io/src/test/java/org/fudaa/dodico/ef/io/triangle/TrianglePolyWriterTest.java 2013-01-21 09:38:14 UTC (rev 8228)
@@ -6,7 +6,7 @@
import org.fudaa.dodico.ef.triangulation.TriangulationPolyDataDefault;
import org.fudaa.dodico.ef.triangulation.TriangulationPolyDataInterface;
import com.vividsolutions.jts.geom.Coordinate;
-import com.vividsolutions.jts.geom.LinearRing;
+import com.vividsolutions.jts.geom.LineString;
import java.io.File;
import java.util.List;
import org.fudaa.ctulu.CtuluLibFile;
@@ -28,7 +28,7 @@
cs[0] = new Coordinate(3.5, 4, 10);
cs[1] = new Coordinate(4.5, 4, 10);
cs[2] = new Coordinate(5.5, 4, 10);
- LinearRing[] rings = new LinearRing[3];
+ LineString[] rings = new LineString[3];
rings[0] = GISGeometryFactory.INSTANCE.createLinearRing(2, 3, 4, 5);
setZ(rings[0], 20);
rings[1] = GISGeometryFactory.INSTANCE.createLinearRing(1, 10, 1, 20);
@@ -42,11 +42,11 @@
res.setUseZAsAttribute(true);
res.setCoordinates(cs);
res.setHoles(holes);
- res.setRings(rings);
+ res.setLineString(rings);
return res;
}
- private static void setZ(LinearRing ring, double z) {
+ private static void setZ(LineString ring, double z) {
for (int i = 0; i < ring.getNumPoints(); i++) {
ring.getCoordinateSequence().setOrdinate(i, 2, z);
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-01-18 18:22:41
|
Revision: 8227
http://fudaa.svn.sourceforge.net/fudaa/?rev=8227&view=rev
Author: deniger
Date: 2013-01-18 18:22:33 +0000 (Fri, 18 Jan 2013)
Log Message:
-----------
Modified Paths:
--------------
trunk/soft/fudaa-crue/crue-compare/pom.xml
trunk/soft/fudaa-crue/crue-config/pom.xml
trunk/soft/fudaa-crue/crue-core/pom.xml
trunk/soft/fudaa-crue/crue-emh/pom.xml
trunk/soft/fudaa-crue/crue-io/pom.xml
trunk/soft/fudaa-crue/crue-otfa/pom.xml
trunk/soft/fudaa-crue/crue-project/pom.xml
trunk/soft/fudaa-crue/crue-sysdoc/pom.xml
trunk/soft/fudaa-crue/crue-test/pom.xml
trunk/soft/fudaa-crue/crue-validation/pom.xml
trunk/soft/fudaa-crue/pom.xml
trunk/soft/fudaa-crue/ui-application/pom.xml
trunk/soft/fudaa-crue/ui-application/src/main/resources/etc/fudaacrue.conf
trunk/soft/fudaa-crue/ui-branding/pom.xml
trunk/soft/fudaa-crue/ui-commandline/pom.xml
trunk/soft/fudaa-crue/ui-common/pom.xml
trunk/soft/fudaa-crue/ui-comparison/pom.xml
trunk/soft/fudaa-crue/ui-emh/pom.xml
trunk/soft/fudaa-crue/ui-loader/pom.xml
trunk/soft/fudaa-crue/ui-loi/pom.xml
trunk/soft/fudaa-crue/ui-modelling/pom.xml
trunk/soft/fudaa-crue/ui-options/pom.xml
trunk/soft/fudaa-crue/ui-otfa/pom.xml
trunk/soft/fudaa-crue/ui-planimetry/pom.xml
trunk/soft/fudaa-crue/ui-post/pom.xml
trunk/soft/fudaa-crue/ui-report/pom.xml
trunk/soft/fudaa-crue/ui-study/pom.xml
trunk/soft/fudaa-crue/ui-sysdoc/pom.xml
trunk/soft/fudaa-crue/ui-wrapper/pom.xml
Modified: trunk/soft/fudaa-crue/crue-compare/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/crue-compare/pom.xml 2013-01-18 18:05:03 UTC (rev 8226)
+++ trunk/soft/fudaa-crue/crue-compare/pom.xml 2013-01-18 18:22:33 UTC (rev 8227)
@@ -5,7 +5,7 @@
<parent>
<artifactId>fudaa-crue</artifactId>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
- <version>0.63-SNAPSHOT</version>
+ <version>0.65-SNAPSHOT</version>
</parent>
<artifactId>crue-compare</artifactId>
<name>Crue Compare</name>
Modified: trunk/soft/fudaa-crue/crue-config/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/crue-config/pom.xml 2013-01-18 18:05:03 UTC (rev 8226)
+++ trunk/soft/fudaa-crue/crue-config/pom.xml 2013-01-18 18:22:33 UTC (rev 8227)
@@ -5,7 +5,7 @@
<parent>
<artifactId>fudaa-crue</artifactId>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
- <version>0.63-SNAPSHOT</version>
+ <version>0.65-SNAPSHOT</version>
</parent>
<artifactId>crue-config</artifactId>
<name>Crue Config</name>
Modified: trunk/soft/fudaa-crue/crue-core/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/crue-core/pom.xml 2013-01-18 18:05:03 UTC (rev 8226)
+++ trunk/soft/fudaa-crue/crue-core/pom.xml 2013-01-18 18:22:33 UTC (rev 8227)
@@ -5,7 +5,7 @@
<parent>
<artifactId>fudaa-crue</artifactId>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
- <version>0.63-SNAPSHOT</version>
+ <version>0.65-SNAPSHOT</version>
</parent>
<artifactId>crue-core</artifactId>
<name>Crue Core</name>
Modified: trunk/soft/fudaa-crue/crue-emh/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/crue-emh/pom.xml 2013-01-18 18:05:03 UTC (rev 8226)
+++ trunk/soft/fudaa-crue/crue-emh/pom.xml 2013-01-18 18:22:33 UTC (rev 8227)
@@ -5,7 +5,7 @@
<parent>
<artifactId>fudaa-crue</artifactId>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
- <version>0.63-SNAPSHOT</version>
+ <version>0.65-SNAPSHOT</version>
</parent>
<artifactId>crue-emh</artifactId>
<name>Crue EMH</name>
Modified: trunk/soft/fudaa-crue/crue-io/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/crue-io/pom.xml 2013-01-18 18:05:03 UTC (rev 8226)
+++ trunk/soft/fudaa-crue/crue-io/pom.xml 2013-01-18 18:22:33 UTC (rev 8227)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
<artifactId>fudaa-crue</artifactId>
- <version>0.63-SNAPSHOT</version>
+ <version>0.65-SNAPSHOT</version>
</parent>
<artifactId>crue-io</artifactId>
<name>Crue IO</name>
Modified: trunk/soft/fudaa-crue/crue-otfa/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/crue-otfa/pom.xml 2013-01-18 18:05:03 UTC (rev 8226)
+++ trunk/soft/fudaa-crue/crue-otfa/pom.xml 2013-01-18 18:22:33 UTC (rev 8227)
@@ -5,7 +5,7 @@
<parent>
<artifactId>fudaa-crue</artifactId>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
- <version>0.63-SNAPSHOT</version>
+ <version>0.65-SNAPSHOT</version>
</parent>
<artifactId>crue-otfa</artifactId>
<name>Crue OTFA</name>
Modified: trunk/soft/fudaa-crue/crue-project/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/crue-project/pom.xml 2013-01-18 18:05:03 UTC (rev 8226)
+++ trunk/soft/fudaa-crue/crue-project/pom.xml 2013-01-18 18:22:33 UTC (rev 8227)
@@ -5,7 +5,7 @@
<parent>
<artifactId>fudaa-crue</artifactId>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
- <version>0.63-SNAPSHOT</version>
+ <version>0.65-SNAPSHOT</version>
</parent>
<artifactId>crue-project</artifactId>
<name>Crue Project</name>
Modified: trunk/soft/fudaa-crue/crue-sysdoc/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/crue-sysdoc/pom.xml 2013-01-18 18:05:03 UTC (rev 8226)
+++ trunk/soft/fudaa-crue/crue-sysdoc/pom.xml 2013-01-18 18:22:33 UTC (rev 8227)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
<artifactId>fudaa-crue</artifactId>
- <version>0.63-SNAPSHOT</version>
+ <version>0.65-SNAPSHOT</version>
</parent>
<artifactId>crue-sysdoc</artifactId>
<name>Crue Sysdoc</name>
Modified: trunk/soft/fudaa-crue/crue-test/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/crue-test/pom.xml 2013-01-18 18:05:03 UTC (rev 8226)
+++ trunk/soft/fudaa-crue/crue-test/pom.xml 2013-01-18 18:22:33 UTC (rev 8227)
@@ -4,7 +4,7 @@
<parent>
<artifactId>fudaa-crue</artifactId>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
- <version>0.63-SNAPSHOT</version>
+ <version>0.65-SNAPSHOT</version>
</parent>
<artifactId>crue-test</artifactId>
Modified: trunk/soft/fudaa-crue/crue-validation/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/crue-validation/pom.xml 2013-01-18 18:05:03 UTC (rev 8226)
+++ trunk/soft/fudaa-crue/crue-validation/pom.xml 2013-01-18 18:22:33 UTC (rev 8227)
@@ -5,7 +5,7 @@
<parent>
<artifactId>fudaa-crue</artifactId>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
- <version>0.63-SNAPSHOT</version>
+ <version>0.65-SNAPSHOT</version>
</parent>
<artifactId>crue-validation</artifactId>
<name>Crue Validation</name>
Modified: trunk/soft/fudaa-crue/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/pom.xml 2013-01-18 18:05:03 UTC (rev 8226)
+++ trunk/soft/fudaa-crue/pom.xml 2013-01-18 18:22:33 UTC (rev 8227)
@@ -8,7 +8,7 @@
</parent>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
<artifactId>fudaa-crue</artifactId>
- <version>0.63-SNAPSHOT</version>
+ <version>0.65-SNAPSHOT</version>
<name>Fudaa-Crue</name>
<packaging>pom</packaging>
<ciManagement>
Modified: trunk/soft/fudaa-crue/ui-application/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-application/pom.xml 2013-01-18 18:05:03 UTC (rev 8226)
+++ trunk/soft/fudaa-crue/ui-application/pom.xml 2013-01-18 18:22:33 UTC (rev 8227)
@@ -5,7 +5,7 @@
<parent>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
<artifactId>fudaa-crue</artifactId>
- <version>0.63-SNAPSHOT</version>
+ <version>0.65-SNAPSHOT</version>
</parent>
<artifactId>application</artifactId>
Modified: trunk/soft/fudaa-crue/ui-application/src/main/resources/etc/fudaacrue.conf
===================================================================
--- trunk/soft/fudaa-crue/ui-application/src/main/resources/etc/fudaacrue.conf 2013-01-18 18:05:03 UTC (rev 8226)
+++ trunk/soft/fudaa-crue/ui-application/src/main/resources/etc/fudaacrue.conf 2013-01-18 18:22:33 UTC (rev 8227)
@@ -1,8 +1,8 @@
# ${HOME} will be replaced by user home directory according to platform
#default_userdir="${DEFAULT_USERDIR_ROOT}/0.62"
#default_cachedir="${DEFAULT_CACHEDIR_ROOT}/0.62"
-default_userdir="${HOME}\.${APPNAME}\0.63"
-default_mac_userdir="${HOME}/Library/Application Support/${APPNAME}/0.63/"
+default_userdir="${HOME}\.${APPNAME}\0.65"
+default_mac_userdir="${HOME}/Library/Application Support/${APPNAME}/0.65/"
# options used by the launcher by default, can be overridden by explicit
# command line switches
default_options="--branding fudaacrue -J-Xms24m -J-Xmx512m --multi-instances"
Modified: trunk/soft/fudaa-crue/ui-branding/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-branding/pom.xml 2013-01-18 18:05:03 UTC (rev 8226)
+++ trunk/soft/fudaa-crue/ui-branding/pom.xml 2013-01-18 18:22:33 UTC (rev 8227)
@@ -5,7 +5,7 @@
<parent>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
<artifactId>fudaa-crue</artifactId>
- <version>0.63-SNAPSHOT</version>
+ <version>0.65-SNAPSHOT</version>
</parent>
<artifactId>ui-branding</artifactId>
Modified: trunk/soft/fudaa-crue/ui-commandline/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-commandline/pom.xml 2013-01-18 18:05:03 UTC (rev 8226)
+++ trunk/soft/fudaa-crue/ui-commandline/pom.xml 2013-01-18 18:22:33 UTC (rev 8227)
@@ -5,7 +5,7 @@
<parent>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
<artifactId>fudaa-crue</artifactId>
- <version>0.63-SNAPSHOT</version>
+ <version>0.65-SNAPSHOT</version>
</parent>
<artifactId>ui-commandline</artifactId>
<packaging>nbm</packaging>
Modified: trunk/soft/fudaa-crue/ui-common/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-common/pom.xml 2013-01-18 18:05:03 UTC (rev 8226)
+++ trunk/soft/fudaa-crue/ui-common/pom.xml 2013-01-18 18:22:33 UTC (rev 8227)
@@ -4,7 +4,7 @@
<parent>
<artifactId>fudaa-crue</artifactId>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
- <version>0.63-SNAPSHOT</version>
+ <version>0.65-SNAPSHOT</version>
</parent>
<artifactId>ui-common</artifactId>
Modified: trunk/soft/fudaa-crue/ui-comparison/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-comparison/pom.xml 2013-01-18 18:05:03 UTC (rev 8226)
+++ trunk/soft/fudaa-crue/ui-comparison/pom.xml 2013-01-18 18:22:33 UTC (rev 8227)
@@ -4,7 +4,7 @@
<parent>
<artifactId>fudaa-crue</artifactId>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
- <version>0.63-SNAPSHOT</version>
+ <version>0.65-SNAPSHOT</version>
</parent>
<artifactId>ui-comparison</artifactId>
<packaging>nbm</packaging>
Modified: trunk/soft/fudaa-crue/ui-emh/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-emh/pom.xml 2013-01-18 18:05:03 UTC (rev 8226)
+++ trunk/soft/fudaa-crue/ui-emh/pom.xml 2013-01-18 18:22:33 UTC (rev 8227)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
<artifactId>fudaa-crue</artifactId>
- <version>0.63-SNAPSHOT</version>
+ <version>0.65-SNAPSHOT</version>
</parent>
<artifactId>ui-emh</artifactId>
<packaging>nbm</packaging>
Modified: trunk/soft/fudaa-crue/ui-loader/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-loader/pom.xml 2013-01-18 18:05:03 UTC (rev 8226)
+++ trunk/soft/fudaa-crue/ui-loader/pom.xml 2013-01-18 18:22:33 UTC (rev 8227)
@@ -4,7 +4,7 @@
<parent>
<artifactId>fudaa-crue</artifactId>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
- <version>0.63-SNAPSHOT</version>
+ <version>0.65-SNAPSHOT</version>
</parent>
<artifactId>ui-loader</artifactId>
<packaging>nbm</packaging>
Modified: trunk/soft/fudaa-crue/ui-loi/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-loi/pom.xml 2013-01-18 18:05:03 UTC (rev 8226)
+++ trunk/soft/fudaa-crue/ui-loi/pom.xml 2013-01-18 18:22:33 UTC (rev 8227)
@@ -4,7 +4,7 @@
<parent>
<artifactId>fudaa-crue</artifactId>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
- <version>0.63-SNAPSHOT</version>
+ <version>0.65-SNAPSHOT</version>
</parent>
<artifactId>ui-loi</artifactId>
Modified: trunk/soft/fudaa-crue/ui-modelling/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-modelling/pom.xml 2013-01-18 18:05:03 UTC (rev 8226)
+++ trunk/soft/fudaa-crue/ui-modelling/pom.xml 2013-01-18 18:22:33 UTC (rev 8227)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
<artifactId>fudaa-crue</artifactId>
- <version>0.63-SNAPSHOT</version>
+ <version>0.65-SNAPSHOT</version>
</parent>
<packaging>nbm</packaging>
<artifactId>ui-modelling</artifactId>
Modified: trunk/soft/fudaa-crue/ui-options/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-options/pom.xml 2013-01-18 18:05:03 UTC (rev 8226)
+++ trunk/soft/fudaa-crue/ui-options/pom.xml 2013-01-18 18:22:33 UTC (rev 8227)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
<artifactId>fudaa-crue</artifactId>
- <version>0.63-SNAPSHOT</version>
+ <version>0.65-SNAPSHOT</version>
</parent>
<artifactId>ui-options</artifactId>
<name>Crue UI Options</name>
Modified: trunk/soft/fudaa-crue/ui-otfa/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-otfa/pom.xml 2013-01-18 18:05:03 UTC (rev 8226)
+++ trunk/soft/fudaa-crue/ui-otfa/pom.xml 2013-01-18 18:22:33 UTC (rev 8227)
@@ -4,7 +4,7 @@
<parent>
<artifactId>fudaa-crue</artifactId>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
- <version>0.63-SNAPSHOT</version>
+ <version>0.65-SNAPSHOT</version>
</parent>
<artifactId>ui-otfa</artifactId>
Modified: trunk/soft/fudaa-crue/ui-planimetry/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-planimetry/pom.xml 2013-01-18 18:05:03 UTC (rev 8226)
+++ trunk/soft/fudaa-crue/ui-planimetry/pom.xml 2013-01-18 18:22:33 UTC (rev 8227)
@@ -4,7 +4,7 @@
<parent>
<artifactId>fudaa-crue</artifactId>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
- <version>0.63-SNAPSHOT</version>
+ <version>0.65-SNAPSHOT</version>
</parent>
<packaging>nbm</packaging>
<artifactId>ui-planimetry</artifactId>
Modified: trunk/soft/fudaa-crue/ui-post/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-post/pom.xml 2013-01-18 18:05:03 UTC (rev 8226)
+++ trunk/soft/fudaa-crue/ui-post/pom.xml 2013-01-18 18:22:33 UTC (rev 8227)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
<artifactId>fudaa-crue</artifactId>
- <version>0.63-SNAPSHOT</version>
+ <version>0.65-SNAPSHOT</version>
</parent>
<packaging>nbm</packaging>
<artifactId>ui-post</artifactId>
Modified: trunk/soft/fudaa-crue/ui-report/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-report/pom.xml 2013-01-18 18:05:03 UTC (rev 8226)
+++ trunk/soft/fudaa-crue/ui-report/pom.xml 2013-01-18 18:22:33 UTC (rev 8227)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
<artifactId>fudaa-crue</artifactId>
- <version>0.63-SNAPSHOT</version>
+ <version>0.65-SNAPSHOT</version>
</parent>
<artifactId>ui-report</artifactId>
Modified: trunk/soft/fudaa-crue/ui-study/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-study/pom.xml 2013-01-18 18:05:03 UTC (rev 8226)
+++ trunk/soft/fudaa-crue/ui-study/pom.xml 2013-01-18 18:22:33 UTC (rev 8227)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
<artifactId>fudaa-crue</artifactId>
- <version>0.63-SNAPSHOT</version>
+ <version>0.65-SNAPSHOT</version>
</parent>
<packaging>nbm</packaging>
<artifactId>ui-study</artifactId>
Modified: trunk/soft/fudaa-crue/ui-sysdoc/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-sysdoc/pom.xml 2013-01-18 18:05:03 UTC (rev 8226)
+++ trunk/soft/fudaa-crue/ui-sysdoc/pom.xml 2013-01-18 18:22:33 UTC (rev 8227)
@@ -4,7 +4,7 @@
<parent>
<artifactId>fudaa-crue</artifactId>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
- <version>0.63-SNAPSHOT</version>
+ <version>0.65-SNAPSHOT</version>
</parent>
<artifactId>ui-sysdoc</artifactId>
Modified: trunk/soft/fudaa-crue/ui-wrapper/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-wrapper/pom.xml 2013-01-18 18:05:03 UTC (rev 8226)
+++ trunk/soft/fudaa-crue/ui-wrapper/pom.xml 2013-01-18 18:22:33 UTC (rev 8227)
@@ -4,7 +4,7 @@
<parent>
<artifactId>fudaa-crue</artifactId>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
- <version>0.63-SNAPSHOT</version>
+ <version>0.65-SNAPSHOT</version>
</parent>
<artifactId>ui-wrapper</artifactId>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-01-18 18:05:13
|
Revision: 8226
http://fudaa.svn.sourceforge.net/fudaa/?rev=8226&view=rev
Author: deniger
Date: 2013-01-18 18:05:03 +0000 (Fri, 18 Jan 2013)
Log Message:
-----------
Modified Paths:
--------------
trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/CtuluLibGeometrie.java
trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/BCalque.java
trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/BVueCalque.java
trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZCalqueSelectionInteractionAbstract.java
trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZEbliCalquePanelController.java
trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZEditorDefault.java
Modified: trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/CtuluLibGeometrie.java
===================================================================
--- trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/CtuluLibGeometrie.java 2013-01-18 18:04:25 UTC (rev 8225)
+++ trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/CtuluLibGeometrie.java 2013-01-18 18:05:03 UTC (rev 8226)
@@ -204,7 +204,6 @@
}
Point2D ptImage1 = _ptImages[0];
Point2D ptReel1 = _ptReels[0];
- double dy = ptReel1.getY() - ptImage1.getY();
double distReel = _ptReels[0].distance(_ptReels[1]);
if (distReel < 1E-5) {
@@ -220,7 +219,7 @@
newPtImage[1] = _ptImages[1];
//y inverse
newPtImage[2] = new Point2D.Double(_ptImages[0].getX() - _ptImages[0].getY() + _ptImages[1].getY(),
- _ptImages[0].getY() + _ptImages[1].getX() - _ptImages[0].getX());
+ _ptImages[0].getY() - _ptImages[1].getX() + _ptImages[0].getX());
newPtReel[0] = _ptReels[0];
newPtReel[1] = _ptReels[1];
Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/BCalque.java
===================================================================
--- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/BCalque.java 2013-01-18 18:04:25 UTC (rev 8225)
+++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/BCalque.java 2013-01-18 18:05:03 UTC (rev 8226)
@@ -46,29 +46,27 @@
import org.fudaa.ebli.repere.AbstractCalque;
/**
- * Une classe de base pour tous les calques. Elle gere les transformations du repere et l'organisation des calques en
- * une hierarchie arborescente. Un calque peut etre de trois sortes:
- * <UL>
- * <LI>un groupe de calques: structurant, regroupant plusieurs calques ou familles de calques,
- * <LI>un calque d'affichage: calque representant des donnees a l'ecran,
- * <LI>un calque d'interaction: gerant les evenements exterieurs et generalement associe a un calque d'affichage (ex:
- * BCalqueDessin et BCalqueDessinInteraction).
- * </UL>
- *
+ * Une classe de base pour tous les calques. Elle gere les transformations du repere et l'organisation des calques en une hierarchie arborescente. Un
+ * calque peut etre de trois sortes: <UL> <LI>un groupe de calques: structurant, regroupant plusieurs calques ou familles de calques, <LI>un calque
+ * d'affichage: calque representant des donnees a l'ecran, <LI>un calque d'interaction: gerant les evenements exterieurs et generalement associe a un
+ * calque d'affichage (ex: BCalqueDessin et BCalqueDessinInteraction). </UL>
+ *
* @version $Id: BCalque.java,v 1.54 2007-05-04 13:49:42 deniger Exp $
* @author Guillaume Desnoix , Axel von Arnim
*/
public abstract class BCalque extends AbstractCalque implements Icon, BConfigurePaletteTargetInterface {
+
public static final Comparator createComparator() {
return new Comparator() {
-
@Override
public int compare(final Object _o1, final Object _o2) {
if ((_o1 instanceof BCalque) && (_o2 instanceof BCalque)) {
int i = ((BCalque) _o1).getTitle().compareTo(((BCalque) _o2).getTitle());
if ((i == 0) && (_o1 != _o2)) {
i = ((BCalque) _o1).getName().compareTo(((BCalque) _o2).getName());
- if (i == 0) { return _o1.hashCode() - _o2.hashCode(); }
+ if (i == 0) {
+ return _o1.hashCode() - _o2.hashCode();
+ }
}
return i;
}
@@ -80,55 +78,55 @@
public static BCalque findCalqueByName(final BCalque[] _cq, final String _name) {
if (_cq != null && _name != null) {
for (int i = 0; i < _cq.length; i++) {
- if (_name.equals(_cq[i].getName())) { return _cq[i]; }
+ if (_name.equals(_cq[i].getName())) {
+ return _cq[i];
+ }
}
}
return null;
}
-
+
/**
- *
- * @return true if the layer can be move up or down.
+ *
+ * @return true if the layer can be move up or down.
*/
- public boolean isMovable(){
+ public boolean isMovable() {
return true;
}
public static int findCalqueIdxByName(final BCalque[] _cq, final String _name) {
if (_cq != null && _name != null) {
for (int i = 0; i < _cq.length; i++) {
- if (_name.equals(_cq[i].getName())) { return i; }
+ if (_name.equals(_cq[i].getName())) {
+ return i;
+ }
}
}
return -1;
}
-
private boolean destructible_;
protected boolean titleModifiable_;
-
// Informations
/**
* Chaine affichee dans l'arbre des calques.
*/
private String title_;
- /** Le titre long affich\xE9 dans le tooltip de l'arbre des calques */
+ /**
+ * Le titre long affich\xE9 dans le tooltip de l'arbre des calques
+ */
private String longTitle_;
-
private transient GrMorphisme versEcran_;
-
private transient GrMorphisme versReel_;
-
EbliActionInterface[] actions_;
-
// Proprietes
protected boolean rapide_;
/**
- * Constructeur. Le constructeur initialise les transformations versEcran et versReel avec la transformation identite.
- * versEcran transforme les coordonnees reelles en coordonnees ecran et versReel fait l'inverse. versEcran sert a
- * l'affichage des objets et versReel a la gestion de la souris dans le repere reel.
+ * Constructeur. Le constructeur initialise les transformations versEcran et versReel avec la transformation identite. versEcran transforme les
+ * coordonnees reelles en coordonnees ecran et versReel fait l'inverse. versEcran sert a l'affichage des objets et versReel a la gestion de la
+ * souris dans le repere reel.
*/
protected BCalque() {
super();
@@ -143,9 +141,9 @@
}
/**
- * Methode de la classe Container surchargee. Elle est appelee lors de l'ajout d'un nouveau sous-calque. Elle
- * initialise les transformations versEcran et versReel aux valeurs du calque hote.
- *
+ * Methode de la classe Container surchargee. Elle est appelee lors de l'ajout d'un nouveau sous-calque. Elle initialise les transformations
+ * versEcran et versReel aux valeurs du calque hote.
+ *
* @param _comp calque a ajouter
* @param _constraints contraintes de layout
* @param _index indice dans la liste de calques
@@ -175,7 +173,7 @@
clip = new Rectangle(0, 0, getWidth(), getHeight());
}
return new GrBoite(new GrPoint(clip.x, clip.y, 0.), new GrPoint(clip.x + clip.width - 1, clip.y + clip.height - 1,
- 0.));
+ 0.));
}
protected Dimension getTargetDimension(final GrMorphisme _versEcran, final GrMorphisme _versReel) {
@@ -183,7 +181,9 @@
}
protected Dimension getTargetDimension(final GrMorphisme _versEcran, final GrMorphisme _versReel, final Dimension _d) {
- if (_versEcran == null) { return null; }
+ if (_versEcran == null) {
+ return null;
+ }
if (getVersEcran().isSame(_versEcran)) {
if (Fu.DEBUG && FuLog.isDebug()) {
FuLog.debug("ECA: target is same size");
@@ -227,8 +227,10 @@
for (int i = 0; i < nb; i++) {
// B.M. : Certains calques comportent des composants autres que des calques !!
// (BCalqueLegend entre autres).
- if ((getComponent(i) instanceof BCalque) &&
- !((BCalque) getComponent(i)).apply(_visitor)) { return false; }
+ if ((getComponent(i) instanceof BCalque)
+ && !((BCalque) getComponent(i)).apply(_visitor)) {
+ return false;
+ }
}
return true;
}
@@ -238,14 +240,12 @@
public JMenuItem createRenamerItem() {
return new BuMenuItem(BuResource.BU.getIcon("aucun"), BuResource.BU.getString("renommer")) {
-
@Override
protected void fireActionPerformed(final ActionEvent _event) {
super.fireActionPerformed(_event);
final BuTextField ft = new BuTextField(getTitle());
ft.setColumns(12);
final CtuluDialogPanel pn = new CtuluDialogPanel() {
-
@Override
public void apply() {
BCalque.this.setTitle(ft.getText());
@@ -278,13 +278,17 @@
/**
* Place le calque specifie en tete de la liste des fils.
- *
+ *
* @see #enPremier()
*/
public void descendre(final BCalque _c) {
- if (_c == null) { return; }
+ if (_c == null) {
+ return;
+ }
final Component[] cqs = getComponents();
- if (cqs == null) { return; }
+ if (cqs == null) {
+ return;
+ }
final int idx = CtuluLibArray.findObjectEgalEgal(cqs, _c);
if (idx >= 0 && idx < cqs.length - 1) {
add(_c, idx + 1);
@@ -294,11 +298,13 @@
/**
* Detruit ce calque. Equivalent a pere.detruire(this)
- *
+ *
* @see #detruire(BCalque)
*/
public void detruire() {
- if (!isDestructible()) { return; }
+ if (!isDestructible()) {
+ return;
+ }
final Container p = getParent();
if (p instanceof BCalque) {
((BCalque) p).detruire(this);
@@ -312,7 +318,7 @@
/**
* Detruit le calque specifie de la liste des fils.
- *
+ *
* @see #detruire()
*/
public void detruire(final BCalque _c) {
@@ -342,7 +348,7 @@
/**
* Place ce calque en fin de la liste des calques fils du pere. Equivalent a pere.enDernier(this)
- *
+ *
* @see #enDernier(BCalque)
*/
public void enDernier() {
@@ -354,19 +360,19 @@
/**
* Place le calque specifie en fin de la liste des fils.
- *
+ *
* @see #enDernier()
*/
public void enDernier(final BCalque _c) {
- if (_c == null) { return; }
+ if (_c == null) {
+ return;
+ }
add(_c);
_c.revalidate();
}
-
JMenuItem[] spec_;
protected void buildSpecificMenuItemsForAction(final List _l) {
-
}
public final JMenuItem[] getSpecificMenuItems() {
@@ -385,6 +391,13 @@
}
spec_ = (JMenuItem[]) l.toArray(new JMenuItem[l.size()]);
}
+ } else {
+ final EbliActionInterface[] act = getActions();
+ for (int i = 0; i < act.length; i++) {
+ if (act[i] != null) {
+ act[i].updateStateBeforeShow();
+ }
+ }
}
return spec_;
}
@@ -392,7 +405,7 @@
// Organisation
/**
* Place ce calque en tete de la liste des calques fils du pere. Equivalent a pere.enPremier(this)
- *
+ *
* @see #enPremier(BCalque)
*/
public void enPremier() {
@@ -404,7 +417,7 @@
/**
* Place le calque specifie en tete de la liste des fils.
- *
+ *
* @see #enPremier()
*/
public void enPremier(final BCalque _c) {
@@ -423,7 +436,7 @@
/**
* Renvoie le premier sous-calque de ce calque de nom donn\xE9.
- *
+ *
* @param _name Nom du sous calque.
* @return Le sous calque de nom donn\xE9. <i>null </i> si aucun sous calque ne porte ce nom.
* @deprecated
@@ -442,7 +455,7 @@
/**
* Renvoie le premier sous-calque de ce calque de nom donn\xE9.
- *
+ *
* @param _name Nom du sous calque.
* @return Le sous calque de nom donn\xE9. <i>null </i> si aucun sous calque ne porte ce nom.
*/
@@ -452,22 +465,26 @@
/**
* Renvoie le premier sous-calque de ce calque de nom donn\xE9.
- *
+ *
* @param _title Le titre du sous calque.
* @return Le sous calque de titre donn\xE9. <i>null </i> si aucun sous calque ne porte ce titre.
*/
public BCalque getCalqueParTitre(final String _title) {
- if (_title == null) { return null; }
+ if (_title == null) {
+ return null;
+ }
final BCalque[] cqs = getTousCalques();
for (int i = 0; i < cqs.length; i++) {
- if (_title.equals(cqs[i].getTitle())) { return cqs[i]; }
+ if (_title.equals(cqs[i].getTitle())) {
+ return cqs[i];
+ }
}
return null;
}
/**
* Renvoie les calques fils de ce calque.
- *
+ *
* @return les calques fils
* @see #getTousCalques()
*/
@@ -496,14 +513,14 @@
@Override
public BConfigurableInterface[] getConfigureInterfaces() {
- return new BConfigurableInterface[] { getSingleConfigureInterface() };
+ return new BConfigurableInterface[]{getSingleConfigureInterface()};
}
/**
- * Oblige de creer une m\xE9thode soeur a getForeground() pour la methode de BGroupeCalque. Dans la logique des calques,
- * la couleur d'un groupe est la couleur commune \xE0 ces calques fils. Or dans la logique de swing, la couleur d'un
- * composant (qui n'a pas de couleur) est celui de son p\xE8re. Dans ce cas, on boucle ...
- *
+ * Oblige de creer une m\xE9thode soeur a getForeground() pour la methode de BGroupeCalque. Dans la logique des calques, la couleur d'un groupe est la
+ * couleur commune \xE0 ces calques fils. Or dans la logique de swing, la couleur d'un composant (qui n'a pas de couleur) est celui de son p\xE8re. Dans
+ * ce cas, on boucle ...
+ *
* @return getForeground()
*/
public Color getCouleur() {
@@ -516,7 +533,7 @@
/**
* Renvoie le domaine (l'etendue) du contenu du calque. null si non significatif.
- *
+ *
* @return domaine en coordonnees reelles
*/
@Override
@@ -545,7 +562,7 @@
/**
* la hauteur de l'icone correspondant (vue de l'arbre).
- *
+ *
* @return 24
*/
@Override
@@ -555,7 +572,7 @@
/**
* Icone: la largeur de l'icone correspondant (vue de l'arbre).
- *
+ *
* @return 24
*/
@Override
@@ -569,7 +586,7 @@
/**
* Accesseur generique de propriete.
- *
+ *
* @param _name nom de la propriete a lire
* @return valeur de la propriete
*/
@@ -595,7 +612,7 @@
/**
* Renvoie tous les sous-calques de ce calque. parcourt toute l'arborescence des sous-calques jusqu'aux feuilles.
- *
+ *
* @return les sous-calques
* @see #getCalques()
*/
@@ -622,16 +639,14 @@
}
/**
- * Accesseur de la propriete versEcran. Elle est la matrice de transformation a appliquer lors de l'affichage du
- * calque.
+ * Accesseur de la propriete versEcran. Elle est la matrice de transformation a appliquer lors de l'affichage du calque.
*/
public GrMorphisme getVersEcran() {
return versEcran_;
}
/**
- * Accesseur de la propriete versReel. Elle est la matrice de transformation a appliquer lors de la lecture d'un
- * evenement souris par exemple.
+ * Accesseur de la propriete versReel. Elle est la matrice de transformation a appliquer lors de la lecture d'un evenement souris par exemple.
*/
public GrMorphisme getVersReel() {
return versReel_;
@@ -660,7 +675,7 @@
/**
* Indique si un calque peut etre detruit par l'utilisateur. Faux par defaut.
- *
+ *
* @return vrai si destructible
*/
public boolean isDestructible() {
@@ -677,9 +692,9 @@
}
/**
- * Accesseur de la propriete ajustement. Elle est envoyee par les beans de controle de repere comme
- * BTransformationGlissiere pour preciser que l'evenement repere associe est intermediaire. Ceci permet de passer en
- * mode rapide pour l'affichage des calques lors des rafales d'evenements repere.
+ * Accesseur de la propriete ajustement. Elle est envoyee par les beans de controle de repere comme BTransformationGlissiere pour preciser que
+ * l'evenement repere associe est intermediaire. Ceci permet de passer en mode rapide pour l'affichage des calques lors des rafales d'evenements
+ * repere.
*/
public boolean isRapide() {
return rapide_;
@@ -692,13 +707,14 @@
public boolean isTitleModifiable() {
return titleModifiable_;
}
-
+
/**
- * Definit si le titre peut etre modifie depuis l'arbre des calques
+ * Definit si le titre peut etre modifie depuis l'arbre des calques
+ *
* @param _b True : Il peut l'etre.
*/
public void setTitleModifiable(boolean _b) {
- titleModifiable_=_b;
+ titleModifiable_ = _b;
}
@Override
@@ -715,11 +731,13 @@
/**
* Place le calque specifie en tete de la liste des fils.
- *
+ *
* @see #enPremier()
*/
public void monter(final BCalque _c) {
- if (_c == null) { return; }
+ if (_c == null) {
+ return;
+ }
final int idx = CtuluLibArray.findObjectEgalEgal(getComponents(), _c);
if (idx > 0) {
add(_c, idx - 1);
@@ -741,23 +759,22 @@
}
public void paintAllInImage(final Graphics2D _g, final GrMorphisme _versEcran, final GrMorphisme _versReel,
- final GrBoite _clipReel) {
- /*
- * if(isVisible()) paint(_g);
- */
+ final GrBoite _clipReel) {
+ /*
+ * if(isVisible()) paint(_g);
+ */
}
@Override
public void paintComponent(final Graphics _g) {
- // super.paintComponent(_g);
- // surchargee dans chaque calque
+ // super.paintComponent(_g);
+ // surchargee dans chaque calque
}
/**
* Dessin de l'icone.
- *
- * @param _c composant dont l'icone peut utiliser des proprietes (couleur, ...). Ce parametre est le calque lui-meme.
- * Il est ignore ici.
+ *
+ * @param _c composant dont l'icone peut utiliser des proprietes (couleur, ...). Ce parametre est le calque lui-meme. Il est ignore ici.
* @param _g le graphics sur lequel dessiner l'icone
* @param _x lieu cible de l'icone (x)
* @param _y lieu cible de l'icone (y)
@@ -798,7 +815,7 @@
/**
* repaint apres un delai.
- *
+ *
* @param _tm delai en millisecondes
*/
@Override
@@ -850,12 +867,12 @@
@Override
public void setOpaque(final boolean _isOpaque) {
- // super.setOpaque(_isOpaque);
+ // super.setOpaque(_isOpaque);
}
/**
* Affectation generique de propriete.
- *
+ *
* @param _name nom de la propriete a modifier
* @param _value nouvelle valeur
*/
@@ -872,7 +889,8 @@
try {
z = (Class) (z.getField("TYPE").get(z));
- } catch (final Exception ey) {}
+ } catch (final Exception ey) {
+ }
final Class[] c = new Class[1];
final Class thisClass = getClass();
Method m = null;
@@ -885,9 +903,8 @@
res = false;
}
z = z.getSuperclass();
- }
- while ((m == null) && (z != null));
- final Object[] o = new Object[] { _value };
+ } while ((m == null) && (z != null));
+ final Object[] o = new Object[]{_value};
if (m != null) {
m.invoke(this, o);
res = true;
@@ -937,14 +954,15 @@
}
return false;
}
-
+
/**
* Definit le titre long, affich\xE9 en tooltip dans l'arbre des calques.
+ *
* @param _title Le nouveau titre long. Peut \xEAtre null.
* @return true si changement.
*/
public boolean setLongTitle(final String _title) {
- if (_title != longTitle_ || (_title!=null && !_title.equals(longTitle_))) {
+ if (_title != longTitle_ || (_title != null && !_title.equals(longTitle_))) {
final String old = longTitle_;
longTitle_ = _title;
firePropertyChange("longTitle", old, longTitle_);
@@ -954,13 +972,12 @@
}
/**
- * @return Le titre long, affich\xE9 en tooltip dans l'arbre des calques. null si aucun
- * titre long d\xE9fini.
+ * @return Le titre long, affich\xE9 en tooltip dans l'arbre des calques. null si aucun titre long d\xE9fini.
*/
public String getLongTitle() {
return longTitle_;
}
-
+
/**
* Affectation de la propriete versEcran. Cette affectation est appliquee aux calques fils.
*/
@@ -1001,28 +1018,32 @@
/**
* Controle si tous les calques descendants sont visible.
- *
+ *
* @return Vrai si tous les calques descendants sont visibles.
*/
public boolean isAllChildrenVisible() {
BCalque[] cqs = getTousCalques();
// Le calque d'indice 0 est le calque courant.
for (int i = 1; i < cqs.length; i++) {
- if (!cqs[i].isVisible()) return false;
+ if (!cqs[i].isVisible()) {
+ return false;
+ }
}
return true;
}
/**
* Controle si tous les calques descendants sont invisible.
- *
+ *
* @return Vrai si tous les calques descendants sont invisibles.
*/
public boolean isAllChildrenUnvisible() {
BCalque[] cqs = getTousCalques();
// Le calque d'indice 0 est le calque courant.
for (int i = 1; i < cqs.length; i++) {
- if (cqs[i].isVisible()) return false;
+ if (cqs[i].isVisible()) {
+ return false;
+ }
}
return true;
}
@@ -1038,5 +1059,4 @@
}
return r;
}
-
}
\ No newline at end of file
Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/BVueCalque.java
===================================================================
--- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/BVueCalque.java 2013-01-18 18:04:25 UTC (rev 8225)
+++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/BVueCalque.java 2013-01-18 18:05:03 UTC (rev 8226)
@@ -636,7 +636,7 @@
}
public final void setDefaultCursor() {
- setCursor(new Cursor(Cursor.CROSSHAIR_CURSOR));
+ setCursor(getDefaultCursor());
}
public final void setListener(final BCalqueContextuelListener _listener) {
@@ -793,4 +793,8 @@
public void zoomOut() {
zoom(true);
}
+
+ public Cursor getDefaultCursor() {
+ return new Cursor(Cursor.CROSSHAIR_CURSOR);
+ }
}
Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZCalqueSelectionInteractionAbstract.java
===================================================================
--- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZCalqueSelectionInteractionAbstract.java 2013-01-18 18:04:25 UTC (rev 8225)
+++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZCalqueSelectionInteractionAbstract.java 2013-01-18 18:05:03 UTC (rev 8226)
@@ -46,6 +46,7 @@
*/
public abstract class ZCalqueSelectionInteractionAbstract extends BCalqueInteraction implements MouseListener, ZCatchListener,
MouseMotionListener, KeyListener, ZCalqueAffichageInterface {
+ public static final int DEFAULT_TOLERANCE_PIXEL = 4;
// Modes de s\xE9lection
/**
@@ -167,7 +168,7 @@
plHelper_ = new GrPolyligne();
plHelper_.sommets_ = listePoints_;
enCours_ = false;
- tolerancePixel_ = 4;
+ tolerancePixel_ = DEFAULT_TOLERANCE_PIXEL;
modificateur_ = new EbliSelectionState();
modificateur_.setXor(true);
}
Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZEbliCalquePanelController.java
===================================================================
--- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZEbliCalquePanelController.java 2013-01-18 18:04:25 UTC (rev 8225)
+++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZEbliCalquePanelController.java 2013-01-18 18:05:03 UTC (rev 8226)
@@ -253,7 +253,14 @@
EbliLib.cleanListener(navigationActionGroup_);
EbliLib.cleanListener(specificActionGroup_);
EbliLib.cleanListener(standardActionGroup_);
+ }
+ public Cursor getDefautCursor() {
+ if (cqInteractionActif_ != null && !cqInteractionActif_.isGele()) {
+ return cqInteractionActif_.getSpecificCursor();
+ }
+
+ return getView().getVueCalque().getDefaultCursor();
}
private void activeActionForSelectedLayer() {
Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZEditorDefault.java
===================================================================
--- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZEditorDefault.java 2013-01-18 18:04:25 UTC (rev 8225)
+++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZEditorDefault.java 2013-01-18 18:05:03 UTC (rev 8226)
@@ -98,6 +98,7 @@
}
}
private String state_;
+ private boolean displayInfo = true;
// protected ZAttributeEditorMapper attrEditors_ = new
// ZAttributeEditorMapper();
BuDesktop desktop_;
@@ -110,6 +111,14 @@
protected BPaletteEdition palette_;
ZEbliCalquesPanel panel_;
+ public boolean isDisplayInfo() {
+ return displayInfo;
+ }
+
+ public void setDisplayInfo(boolean displayInfo) {
+ this.displayInfo = displayInfo;
+ }
+
// ZEditorRotationPanel pnRotation_=null;
public final EbliActionSimple getActionCancel() {
return actionCancel_;
@@ -666,7 +675,9 @@
final String msg = EbliLib.getS("point ajout\xE9: {0}", _pt.toString());
FuLog.warning("MOD:" + msg);
editorPanel_.objectAdded();
- getUi().message(null, msg, true);
+ if (displayInfo) {
+ getUi().message(null, msg, true);
+ }
}
return r;
}
@@ -684,7 +695,9 @@
final String msg = EbliLib.getS("ligne ferm\xE9e avec {0} sommets ajout\xE9e", Integer.toString(_pt.sommets_.nombre()));
FuLog.warning("MOD:" + msg);
editorPanel_.objectAdded();
- getUi().message(null, msg, true);
+ if (displayInfo) {
+ getUi().message(null, msg, true);
+ }
}
return r;
}
@@ -703,7 +716,9 @@
final String msg = EbliLib.getS("{0} points ajout\xE9s", Integer.toString(_pt.sommets_.nombre()));
FuLog.warning("MOD:" + msg);
editorPanel_.objectAdded();
- getUi().message(null, msg, true);
+ if (displayInfo) {
+ getUi().message(null, msg, true);
+ }
}
return r;
}
@@ -722,7 +737,9 @@
final String msg = EbliLib.getS("ligne ouverte avec {0} sommets ajout\xE9e", Integer.toString(_pt.sommets_.nombre()));
FuLog.warning("MOD:" + msg);
editorPanel_.objectAdded();
- getUi().message(null, msg, true);
+ if (displayInfo) {
+ getUi().message(null, msg, true);
+ }
}
return r;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-01-18 18:04:33
|
Revision: 8225
http://fudaa.svn.sourceforge.net/fudaa/?rev=8225&view=rev
Author: deniger
Date: 2013-01-18 18:04:25 +0000 (Fri, 18 Jan 2013)
Log Message:
-----------
Modified Paths:
--------------
trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/layer/FSigImageImportAction.java
trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigImageWizardStepCalage.java
trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigImageWizardStepImage.java
trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigImageWizardTask.java
trunk/business/fudaa-sig/src/main/resources/org/fudaa/fudaa/sig/fsig_en.fr_txt
Modified: trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/layer/FSigImageImportAction.java
===================================================================
--- trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/layer/FSigImageImportAction.java 2013-01-18 18:03:38 UTC (rev 8224)
+++ trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/layer/FSigImageImportAction.java 2013-01-18 18:04:25 UTC (rev 8225)
@@ -60,9 +60,11 @@
@Override
public void actionPerformed(final ActionEvent _e) {
final ZCalqueImageRaster img = (ZCalqueImageRaster) visu_.getArbreCalqueModel().getSelectedCalque();
- final FSigImageWizardTask task = new FSigImageWizardTask(visu_.getEditor().getPanel().getArbreCalqueModel());
- task.setModelToModiy(img);
- afficheWizard(task);
+ if (!img.getModelImage().getGeomData().isGeomModifiable()) {
+ final FSigImageWizardTask task = new FSigImageWizardTask(visu_.getEditor().getPanel().getArbreCalqueModel());
+ task.setModelToModiy(img);
+ afficheWizard(task);
+ }
}
@Override
@@ -70,7 +72,7 @@
final BCalque selectedCalque = visu_.getArbreCalqueModel().getSelectedCalque();
boolean enable = selectedCalque instanceof ZCalqueImageRaster;
if (enable) {
- enable= ((ZCalqueImageRaster) selectedCalque).getModelEditable().getGeomData().isGeomModifiable();
+ enable = ((ZCalqueImageRaster) selectedCalque).getModelEditable().getGeomData().isGeomModifiable();
}
super.setEnabled(enable);
}
Modified: trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigImageWizardStepCalage.java
===================================================================
--- trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigImageWizardStepCalage.java 2013-01-18 18:03:38 UTC (rev 8224)
+++ trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigImageWizardStepCalage.java 2013-01-18 18:04:25 UTC (rev 8225)
@@ -46,15 +46,18 @@
import com.memoire.bu.BuButtonLayout;
import com.memoire.bu.BuPanel;
import com.memoire.bu.BuVerticalLayout;
+import java.awt.FlowLayout;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
/**
* L'\xE9tape de calage de l'image pour le wizard d'import d'image.
- *
+ *
* @author fred deniger
* @version $Id: FSigImageWizardStepCalage.java,v 1.2.6.3 2008-05-13 12:11:00 bmarchan Exp $
*/
public class FSigImageWizardStepCalage extends FSigWizardDefaultPanel implements FSigWizardStepInterface,
- ZCalqueClikInteractionListener {
+ ZCalqueClikInteractionListener {
ZCalqueClickInteraction click_ = new ZCalqueClickInteraction() {
@Override
@@ -66,18 +69,17 @@
}
};
ZCalqueClickInteraction calqueClickInteraction_;
-
final FSigImageWizardStepCalageLogic control_;
@Override
public String valideAndGetError() {
return control_.valideAndGetError();
}
-
final ZCalqueImageRaster image_;
-
// ZCalqueGrille grille_;
final ZEbliCalquesPanel pn_;
+ final JLabel lbHeight;
+ final JLabel lbWidth;
public FSigImageWizardTableModel.Result getResult() {
return control_.getResult();
@@ -89,20 +91,18 @@
final FSigImageWizardPanelController controller = new FSigImageWizardPanelController(new CtuluUIDialog(_d));
final CalqueActionInteraction acClick = new FSigImageWizardPanelController.SpecAction(FSigLib
- .getS("Ajouter un point"), EbliResource.EBLI.getToolIcon("draw-add-pt"), "SAISIR", click_);
+ .getS("Ajouter un point"), EbliResource.EBLI.getToolIcon("draw-add-pt"), "SAISIR", click_);
calqueClickInteraction_ = new ZCalqueClickInteraction();
calqueClickInteraction_.setListener(new ZCalqueClikInteractionListener() {
-
@Override
public void pointClicked(final GrPoint _ptReel) {
mouseClickedOnReal(_ptReel);
}
-
});
// on ajoute un calque
final CalqueActionInteraction acClickonTarget = new FSigImageWizardPanelController.SpecAction(FSigLib
- .getS("Saisir un point r\xE9el"), null, "SAISI_REAL", calqueClickInteraction_);
+ .getS("Saisir un point r\xE9el"), null, "SAISI_REAL", calqueClickInteraction_);
// final EbliActionInterface[] acs = new EbliActionInterface[] { acClick, acClickonTarget };
pn_ = controller.buildCalquePanel();
control_ = controller.getControl();
@@ -150,7 +150,6 @@
move.setGele(true);
pn_.addCalqueInteraction(move);
move.setTarget(new ZCalqueDeplacementTargetInterface() {
-
@Override
public void paintMove(final Graphics2D _g, final int _dxEcran, final int _dyEcran, final TraceIcon _ic) {
controller.getCalageCalque().paintDeplacement(_g, _dxEcran, _dyEcran, _ic);
@@ -169,9 +168,16 @@
}
});
final CalqueActionInteraction moveAction = new CalqueActionInteraction(FSigLib.getS("D\xE9placer un point"),
- EbliResource.EBLI.getIcon("draw-move"), "MOVE", move);
+ EbliResource.EBLI.getIcon("draw-move"), "MOVE", move);
add(control_.createEditorPanel(btNewPoint, moveAction.buildButton(EbliComponentFactory.INSTANCE)),
- BuBorderLayout.EAST);
+ BuBorderLayout.EAST);
+ lbHeight = new JLabel();
+ lbWidth = new JLabel();
+ JPanel pnSize = new JPanel(new FlowLayout(FlowLayout.LEADING, 10, 10));
+ pnSize.add(lbWidth);
+ pnSize.add(lbHeight);
+ add(pnSize, BuBorderLayout.SOUTH);
+
btNewPoint.setSelected(false);
acClickonTarget.setSelected(false);
control_.addTmpLayer(pn_);
@@ -182,7 +188,6 @@
public JComponent getComponent() {
return this;
}
-
ZEbliCalquesPanel cqDest_;
public void end() {
@@ -194,11 +199,11 @@
@Override
public String getStepText() {
return FSigLib.getS("Editer les correspondances entre les coordonn\xE9es en pixels et coordonn\xE9es r\xE9elles.")
- + CtuluLibString.LINE_SEP_SIMPLE
- + FSigLib
+ + CtuluLibString.LINE_SEP_SIMPLE
+ + FSigLib
.getS("Activer le bouton 'Ajouter un point' et cliquer sur l'image pour r\xE9cup\xE9rer les coordonn\xE9es en pixels")
- + CtuluLibString.LINE_SEP_SIMPLE
- + FSigLib.getS("Utiliser le bouton 'Saisir un point r\xE9el' r\xE9cup\xE9rer les coordonn\xE9es r\xE9elles");
+ + CtuluLibString.LINE_SEP_SIMPLE
+ + FSigLib.getS("Utiliser le bouton 'Saisir un point r\xE9el' r\xE9cup\xE9rer les coordonn\xE9es r\xE9elles");
}
@@ -225,6 +230,10 @@
image_.setModele(img);
control_.setHImg(img.getHImg());
image_.repaint();
+ lbHeight.setText(FSigLib.getS("Hauteur: {0} px", Integer.toString(_img.getImageHeight())));
+ lbHeight.setToolTipText(lbHeight.getText());
+ lbWidth.setText(FSigLib.getS("Largeur: {0} px", Integer.toString(_img.getImageWidth())));
+ lbWidth.setToolTipText(lbHeight.getText());
}
@@ -248,5 +257,4 @@
public void setRasterData(final RasterDataInterface _data) {
control_.setRasterData(_data);
}
-
}
Modified: trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigImageWizardStepImage.java
===================================================================
--- trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigImageWizardStepImage.java 2013-01-18 18:03:38 UTC (rev 8224)
+++ trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigImageWizardStepImage.java 2013-01-18 18:04:25 UTC (rev 8225)
@@ -46,37 +46,34 @@
import com.memoire.bu.BuTextField;
import com.memoire.bu.BuVerticalLayout;
import com.memoire.bu.BuWizardTask;
+import javax.swing.JSeparator;
+import org.apache.commons.lang.StringUtils;
import org.fudaa.ctulu.RasterData;
/**
* L'etape de chargement de l'image pour le wizard d'import d'image.
- *
+ *
* @author fred deniger
* @version $Id: FSigImageWizardStepImage.java,v 1.3.6.1 2008-02-22 16:28:58 bmarchan Exp $
*/
public class FSigImageWizardStepImage extends FSigWizardDefaultPanel implements DocumentListener,
- FSigWizardStepInterface {
+ FSigWizardStepInterface {
static int idxForImageName;
-
BuButton btPrevisu_;
-
final BuCheckBox cbAuto_;
-
final CtuluImageIconFixeSize icon_ = new CtuluImageIconFixeSize(200, null);
CtuluImageContainer imgReader_;
boolean isLoaded_;
File lastFile_;
-
final BuLabel lbFile_;
-
+ final BuLabel lbHeight_;
+ final BuLabel lbWidth_;
final BuLabel lbIcone_;
-
final BuLabel lbName_;
final CtuluFileChooserPanel txtFile_;
final BuTextField txtName_;
-
-
+
public final void setData(final RasterDataInterface _data, final String _calqueName) {
isUpdatingFromModel_ = true;
if (_data.getImgFile() != null) {
@@ -89,6 +86,8 @@
icon_.setImg(_data.getImg());
txtName_.setText(_calqueName);
lbIcone_.repaint();
+ updateImageInfos();
+
}
public FSigImageWizardStepImage() {
@@ -107,15 +106,14 @@
txtFile_ = new CtuluFileChooserPanel();
txtFile_.setFileSelectMode(JFileChooser.FILES_ONLY);
final BuFileFilter imgFilter = new BuFileFilter((String[]) CtuluImageExport.FORMAT_LIST
- .toArray(new String[CtuluImageExport.FORMAT_LIST.size()]), BuResource.BU.getString("Images"));
+ .toArray(new String[CtuluImageExport.FORMAT_LIST.size()]), BuResource.BU.getString("Images"));
imgFilter.setExtensionListInDescription(false);
final BuFileFilter datFilter = new BuFileFilter("tab", FSigLib.getS("Fichier TAB Mapinfo"));
- txtFile_.setFilter(new BuFileFilter[] { datFilter, imgFilter });
+ txtFile_.setFilter(new BuFileFilter[]{datFilter, imgFilter});
lbFile_ = new BuLabel(FSigLib.getS("L'image \xE0 charger"));
data.add(lbFile_);
data.add(txtFile_);
txtFile_.getTf().getDocument().addDocumentListener(new DocumentListener() {
-
@Override
public void changedUpdate(final DocumentEvent _e) {
fileChanged();
@@ -130,10 +128,11 @@
public void removeUpdate(final DocumentEvent _e) {
fileChanged();
}
-
});
add(data, BuBorderLayout.CENTER);
lbIcone_ = new BuLabel(icon_);
+ lbHeight_ = new BuLabel();
+ lbWidth_ = new BuLabel();
final BuPanel pnPrevisu = new BuPanel();
pnPrevisu.setLayout(new BuBorderLayout(1, 1, false, false));
pnPrevisu.setBorder(CtuluLibSwing.createTitleBorder(FSigLib.getS("Pr\xE9visualisation")));
@@ -141,7 +140,6 @@
btPrevisu_ = new BuButton(BuResource.BU.getIcon("rafraichir"));
btPrevisu_.setText(FSigLib.getS("Pr\xE9visualiser"));
btPrevisu_.addActionListener(new ActionListener() {
-
@Override
public void actionPerformed(final ActionEvent _e) {
loadImage(null, true);
@@ -157,9 +155,11 @@
east.setLayout(new BuVerticalLayout(2, true, false));
east.add(btPrevisu_);
east.add(cbAuto_);
+ east.add(new JSeparator());
+ east.add(lbWidth_);
+ east.add(lbHeight_);
pnPrevisu.add(east, BuBorderLayout.EAST);
cbAuto_.addActionListener(new ActionListener() {
-
@Override
public void actionPerformed(final ActionEvent _e) {
lbIcone_.setEnabled(cbAuto_.isSelected());
@@ -167,7 +167,6 @@
loadImage(null, true);
}
}
-
});
add(pnPrevisu, BuBorderLayout.SOUTH);
@@ -210,8 +209,9 @@
if (isError(an)) {
return;
}
- if(data_==null)
- data_=new RasterData();
+ if (data_ == null) {
+ data_ = new RasterData();
+ }
((RasterData) data_).setImg(imgReader_);
isLoaded_ = true;
}
@@ -233,7 +233,6 @@
public static String getDialogTitle() {
return FSigLib.getS("Chargement image");
}
-
RasterDataInterface data_;
void loadImage(final BuWizardTask _wizard, final boolean _afficheInIcon) {
@@ -243,17 +242,22 @@
dialog_.setGlassPane(buGlassPaneStop);
}
final Runnable finish = new Runnable() {
-
@Override
public void run() {
setErrorDefaultText();
- if (imgReader_ == null||!imgReader_.isImageLoaded()) {
+ lbHeight_.setText(StringUtils.EMPTY);
+ lbHeight_.setToolTipText(StringUtils.EMPTY);
+ lbWidth_.setText(StringUtils.EMPTY);
+ lbWidth_.setToolTipText(StringUtils.EMPTY);
+ if (imgReader_ == null || !imgReader_.isImageLoaded()) {
String error = getErrorFileNotFound();
if (error == null) {
error = FSigLib.getS("Le fichier {0} n'est pas valide.", lastFile_ == null ? "?" : lastFile_.getName());
}
CtuluLibDialog.showError(dialog_, getDialogTitle(), error);
valideData();
+ } else {
+ updateImageInfos();
}
final Component c = dialog_.getGlassPane();
c.setVisible(false);
@@ -265,11 +269,10 @@
icon_.setImg(imgReader_);
lbIcone_.repaint();
}
+
}
-
};
final Runnable r = new Runnable() {
-
@Override
public void run() {
loadFile();
@@ -278,7 +281,6 @@
};
new Thread(r).start();
}
-
boolean isUpdatingFromModel_;
protected void fileChanged() {
@@ -313,6 +315,13 @@
}
}
+ public void updateImageInfos() {
+ lbHeight_.setText(FSigLib.getS("Hauteur: {0} px", Integer.toString(imgReader_.getImageHeight())));
+ lbHeight_.setToolTipText(lbHeight_.getText());
+ lbWidth_.setText(FSigLib.getS("Largeur: {0} px", Integer.toString(imgReader_.getImageWidth())));
+ lbWidth_.setToolTipText(lbHeight_.getText());
+ }
+
protected String getErrorEmptyName() {
final String name = txtName_.getText().trim();
lbName_.setForeground(name.length() == 0 ? Color.RED : CtuluLibSwing.getDefaultLabelForegroundColor());
Modified: trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigImageWizardTask.java
===================================================================
--- trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigImageWizardTask.java 2013-01-18 18:03:38 UTC (rev 8224)
+++ trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigImageWizardTask.java 2013-01-18 18:04:25 UTC (rev 8225)
@@ -136,7 +136,10 @@
model = calqueToModify_.getModelImage();
}
}
+ boolean old=model.getGeomData().isGeomModifiable();
+ model.getGeomData().setGeomModifiable(true);
model.setProj(res.ptImg_, res.ptReel_, res.transform_, res.error_);
+ model.getGeomData().setGeomModifiable(old);
if (calqueToModify_ != null) {
calqueToModify_.imgChanged();
if(tree_!=null)
Modified: trunk/business/fudaa-sig/src/main/resources/org/fudaa/fudaa/sig/fsig_en.fr_txt
===================================================================
--- trunk/business/fudaa-sig/src/main/resources/org/fudaa/fudaa/sig/fsig_en.fr_txt 2013-01-18 18:03:38 UTC (rev 8224)
+++ trunk/business/fudaa-sig/src/main/resources/org/fudaa/fudaa/sig/fsig_en.fr_txt 2013-01-18 18:04:25 UTC (rev 8225)
@@ -182,3 +182,5 @@
import\xE9=imported
s\xE9lection des points=Points selection
{0} calque(s) s\xE9lectionn\xE9(s)={0} selected layer(s)
+Hauteur\: {0} px=Height\: {0} px
+Largeur\: {0} px=Width\: {0} px
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2013-01-18 14:57:45
|
Revision: 8222
http://fudaa.svn.sourceforge.net/fudaa/?rev=8222&view=rev
Author: bmarchan
Date: 2013-01-18 14:57:38 +0000 (Fri, 18 Jan 2013)
Log Message:
-----------
Modified Paths:
--------------
trunk/business/dodico-corba/pom.xml
trunk/business/fudaa-common-corba/pom.xml
Modified: trunk/business/dodico-corba/pom.xml
===================================================================
--- trunk/business/dodico-corba/pom.xml 2013-01-18 14:52:54 UTC (rev 8221)
+++ trunk/business/dodico-corba/pom.xml 2013-01-18 14:57:38 UTC (rev 8222)
@@ -81,4 +81,41 @@
</profile>
</profiles>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
+ <plugin>
+ <groupId>org.eclipse.m2e</groupId>
+ <artifactId>lifecycle-mapping</artifactId>
+ <version>1.0.0</version>
+ <configuration>
+ <lifecycleMappingMetadata>
+ <pluginExecutions>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>
+ org.apache.maven.plugins
+ </groupId>
+ <artifactId>
+ maven-antrun-plugin
+ </artifactId>
+ <versionRange>
+ [1.3,)
+ </versionRange>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore></ignore>
+ </action>
+ </pluginExecution>
+ </pluginExecutions>
+ </lifecycleMappingMetadata>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
</project>
Modified: trunk/business/fudaa-common-corba/pom.xml
===================================================================
--- trunk/business/fudaa-common-corba/pom.xml 2013-01-18 14:52:54 UTC (rev 8221)
+++ trunk/business/fudaa-common-corba/pom.xml 2013-01-18 14:57:38 UTC (rev 8222)
@@ -55,4 +55,41 @@
<scope>test</scope>
</dependency>
</dependencies>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
+ <plugin>
+ <groupId>org.eclipse.m2e</groupId>
+ <artifactId>lifecycle-mapping</artifactId>
+ <version>1.0.0</version>
+ <configuration>
+ <lifecycleMappingMetadata>
+ <pluginExecutions>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>
+ org.apache.maven.plugins
+ </groupId>
+ <artifactId>
+ maven-antrun-plugin
+ </artifactId>
+ <versionRange>
+ [1.3,)
+ </versionRange>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore></ignore>
+ </action>
+ </pluginExecution>
+ </pluginExecutions>
+ </lifecycleMappingMetadata>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
</project>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2013-01-18 14:53:00
|
Revision: 8221
http://fudaa.svn.sourceforge.net/fudaa/?rev=8221&view=rev
Author: bmarchan
Date: 2013-01-18 14:52:54 +0000 (Fri, 18 Jan 2013)
Log Message:
-----------
Modified Paths:
--------------
trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/EfGridData.java
Modified: trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/EfGridData.java
===================================================================
--- trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/EfGridData.java 2013-01-18 14:49:41 UTC (rev 8220)
+++ trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/EfGridData.java 2013-01-18 14:52:54 UTC (rev 8221)
@@ -12,6 +12,7 @@
import org.fudaa.ctulu.CtuluVariable;
/**
+ * Une interface pour une grille comportant un maillage et des data sur ce maillage.
* @author Fred Deniger
* @version $Id: EfGridData.java,v 1.8 2007-06-11 13:04:05 deniger Exp $
*/
@@ -23,6 +24,10 @@
*/
boolean isElementVar(CtuluVariable _idxVar);
+ /**
+ * @param _var La variable
+ * @return true si des datas existent pour la variable
+ */
boolean isDefined(CtuluVariable _var);
/**
@@ -31,7 +36,7 @@
* @return les valeurs (sur les noeuds ou sur les elements)
* @throws IOException
*/
- EfData getData(CtuluVariable _o, int _timeIdx) throws IOException;
+ EfData getData(CtuluVariable _var, int _timeIdx) throws IOException;
/**
* @param _var la variable demandee
@@ -40,7 +45,7 @@
* @return la valeurs au point demande
* @throws IOException
*/
- double getData(CtuluVariable _o, int _timeIdx, int _idxObjet) throws IOException;
+ double getData(CtuluVariable _var, int _timeIdx, int _idxObjet) throws IOException;
/**
* @return le maillage support
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-01-18 14:49:48
|
Revision: 8220
http://fudaa.svn.sourceforge.net/fudaa/?rev=8220&view=rev
Author: deniger
Date: 2013-01-18 14:49:41 +0000 (Fri, 18 Jan 2013)
Log Message:
-----------
Modified Paths:
--------------
trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/layer/FSigImageImportAction.java
Modified: trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/layer/FSigImageImportAction.java
===================================================================
--- trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/layer/FSigImageImportAction.java 2013-01-18 14:48:38 UTC (rev 8219)
+++ trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/layer/FSigImageImportAction.java 2013-01-18 14:49:41 UTC (rev 8220)
@@ -30,16 +30,29 @@
import com.memoire.bu.BuWizardDialog;
import com.memoire.fu.Fu;
import com.memoire.fu.FuLog;
+import org.fudaa.ebli.calque.BCalque;
/**
* Une action "import d'image".
+ *
* @author fred deniger
* @version $Id$
*/
public class FSigImageImportAction extends EbliActionSimple implements FSigImageWizardTask.CalqueFactory,
- ContainerListener {
+ ContainerListener {
+ private boolean addEditGeo = true;
+
+ public boolean isAddEditGeo() {
+ return addEditGeo;
+ }
+
+ public void setAddEditGeo(boolean addEditGeo) {
+ this.addEditGeo = addEditGeo;
+ }
+
private class EditAction extends EbliActionSimple {
+
public EditAction() {
super(FSigLib.getS("Editer le fond de plan"), BuResource.BU.getIcon("image"), "EDIT_CALAGE_IMAGE");
}
@@ -54,7 +67,12 @@
@Override
public void updateStateBeforeShow() {
- super.setEnabled(visu_.getArbreCalqueModel().getSelectedCalque() instanceof ZCalqueImageRaster);
+ final BCalque selectedCalque = visu_.getArbreCalqueModel().getSelectedCalque();
+ boolean enable = selectedCalque instanceof ZCalqueImageRaster;
+ if (enable) {
+ enable= ((ZCalqueImageRaster) selectedCalque).getModelEditable().getGeomData().isGeomModifiable();
+ }
+ super.setEnabled(enable);
}
}
@@ -65,11 +83,9 @@
public static String getCommonTitle() {
return FSigLib.getS("Importer et g\xE9or\xE9f\xE9rencer une image");
}
-
BuWizardDialog current_;
BGroupeCalque dest_;
EditAction editAction_;
-
final FSigVisuPanel visu_;
public FSigImageImportAction(final FSigVisuPanel _visu, final BGroupeCalque _dest) {
@@ -84,7 +100,11 @@
if (editAction_ == null) {
editAction_ = new EditAction();
}
- _res.setActions(new EbliActionInterface[] { visu_.getEditor().getEditAction()[0], editAction_ });
+ if (isAddEditGeo()) {
+ _res.setActions(new EbliActionInterface[]{visu_.getEditor().getEditAction()[0], editAction_});
+ } else {
+ _res.setActions(new EbliActionInterface[]{editAction_});
+ }
}
void afficheWizard(final FSigImageWizardTask _task) {
@@ -93,9 +113,9 @@
current_.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
_task.setParentRootPane(current_.getRootPane());
current_.addWindowListener(new WindowListener() {
-
@Override
- public void windowActivated(final WindowEvent _e) {}
+ public void windowActivated(final WindowEvent _e) {
+ }
@Override
public void windowClosed(final WindowEvent _e) {
@@ -108,17 +128,20 @@
}
@Override
- public void windowDeactivated(final WindowEvent _e) {}
+ public void windowDeactivated(final WindowEvent _e) {
+ }
@Override
- public void windowDeiconified(final WindowEvent _e) {}
+ public void windowDeiconified(final WindowEvent _e) {
+ }
@Override
- public void windowIconified(final WindowEvent _e) {}
+ public void windowIconified(final WindowEvent _e) {
+ }
@Override
- public void windowOpened(final WindowEvent _e) {}
-
+ public void windowOpened(final WindowEvent _e) {
+ }
});
current_.pack();
@@ -138,8 +161,8 @@
}
/**
- * Cette m\xE9thode est appel\xE9e a chaque fois q'une image est ajout\xE9e dans le groupe de destination. Elle permet de cr\xE9er
- * une seule action d'\xE9dition pour plusieurs calques.
+ * Cette m\xE9thode est appel\xE9e a chaque fois q'une image est ajout\xE9e dans le groupe de destination. Elle permet de cr\xE9er une seule action d'\xE9dition
+ * pour plusieurs calques.
*/
@Override
public void componentAdded(final ContainerEvent _e) {
@@ -154,7 +177,8 @@
}
@Override
- public void componentRemoved(final ContainerEvent _e) {}
+ public void componentRemoved(final ContainerEvent _e) {
+ }
@Override
public ZCalqueImageRaster createCalque(final ZModeleImageRaster _model) {
@@ -194,5 +218,4 @@
dest_.addContainerListener(this);
}
}
-
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-01-18 14:48:45
|
Revision: 8219
http://fudaa.svn.sourceforge.net/fudaa/?rev=8219&view=rev
Author: deniger
Date: 2013-01-18 14:48:38 +0000 (Fri, 18 Jan 2013)
Log Message:
-----------
optimisation maillage important
Modified Paths:
--------------
trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/CtuluLibGeometrie.java
Modified: trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/CtuluLibGeometrie.java
===================================================================
--- trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/CtuluLibGeometrie.java 2013-01-18 14:43:37 UTC (rev 8218)
+++ trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/CtuluLibGeometrie.java 2013-01-18 14:48:38 UTC (rev 8219)
@@ -192,7 +192,7 @@
/**
* une projection simple sans rotation ni d\xE9formation de l'image.
- *
+ * Attention pour l'axe des y des images, l'axe est invers\xE9
* @param _ptImages
* @param _ptReels
* @return
@@ -204,7 +204,6 @@
}
Point2D ptImage1 = _ptImages[0];
Point2D ptReel1 = _ptReels[0];
- double dx = ptReel1.getX() - ptImage1.getX();
double dy = ptReel1.getY() - ptImage1.getY();
double distReel = _ptReels[0].distance(_ptReels[1]);
@@ -219,7 +218,8 @@
Point2D[] newPtReel = new Point2D[3];
newPtImage[0] = _ptImages[0];
newPtImage[1] = _ptImages[1];
- newPtImage[2] = new Point2D.Double(_ptImages[0].getX() + _ptImages[0].getY() - _ptImages[1].getY(),
+ //y inverse
+ newPtImage[2] = new Point2D.Double(_ptImages[0].getX() - _ptImages[0].getY() + _ptImages[1].getY(),
_ptImages[0].getY() + _ptImages[1].getX() - _ptImages[0].getX());
newPtReel[0] = _ptReels[0];
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2013-01-18 14:43:50
|
Revision: 8218
http://fudaa.svn.sourceforge.net/fudaa/?rev=8218&view=rev
Author: bmarchan
Date: 2013-01-18 14:43:37 +0000 (Fri, 18 Jan 2013)
Log Message:
-----------
Modified Paths:
--------------
trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/controle/BConfigurableSectionInterface.java
trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/controle/BSelecteurTargetInterface.java
Modified: trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/controle/BConfigurableSectionInterface.java
===================================================================
--- trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/controle/BConfigurableSectionInterface.java 2013-01-16 22:10:46 UTC (rev 8217)
+++ trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/controle/BConfigurableSectionInterface.java 2013-01-18 14:43:37 UTC (rev 8218)
@@ -8,18 +8,27 @@
package org.fudaa.ebli.controle;
/**
- * Une interface pour une section contenue dans le panneau de configuration d'un calque.
+ * Une interface pour une section de configuration contenue dans le panneau de configuration d'un calque.
* @author Fred Deniger
* @version $Id: BConfigurableSectionInterface.java,v 1.1.6.1 2008-02-27 17:15:40 bmarchan Exp $
*/
public interface BConfigurableSectionInterface {
+ /**
+ * @return Les diff\xE9rents s\xE9lecteurs de la section de configuration.
+ */
BSelecteurInterface[] createSelecteurs();
+ /**
+ * @return Le calque cible de la section de configuration.
+ */
BSelecteurTargetInterface getTarget();
void stopConfiguration();
+ /**
+ * @return Le titre de la section de configuration.
+ */
String getTitle();
}
Modified: trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/controle/BSelecteurTargetInterface.java
===================================================================
--- trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/controle/BSelecteurTargetInterface.java 2013-01-16 22:10:46 UTC (rev 8217)
+++ trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/controle/BSelecteurTargetInterface.java 2013-01-18 14:43:37 UTC (rev 8218)
@@ -10,6 +10,7 @@
import java.beans.PropertyChangeListener;
/**
+ * La cible d'une section de configuration contenue dans un panneau de configuration.
* @author Fred Deniger
* @version $Id: BSelecteurTargetInterface.java,v 1.2 2006-11-15 09:23:21 deniger Exp $
*/
@@ -26,12 +27,22 @@
*/
void removePropertyChangeListener(String _key, PropertyChangeListener _l);
+ /**
+ * @param _key La propri\xE9t\xE9
+ * @return La valeur de la propri\xE9t\xE9 de la cible pour initialiser la section de configuration.
+ */
Object getProperty(String _key);
Object getMoy(String _key);
Object getMin(String _key);
+ /**
+ * Definit la propri\xE9t\xE9 sur la cible
+ * @param _key La propri\xE9t\xE9
+ * @param _newProp La valeur de la propri\xE9t\xE9
+ * @return
+ */
boolean setProperty(String _key, Object _newProp);
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-01-16 22:10:53
|
Revision: 8217
http://fudaa.svn.sourceforge.net/fudaa/?rev=8217&view=rev
Author: deniger
Date: 2013-01-16 22:10:46 +0000 (Wed, 16 Jan 2013)
Log Message:
-----------
optimisation maillage important
Modified Paths:
--------------
trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/MdlImplementation.java
Modified: trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/MdlImplementation.java
===================================================================
--- trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/MdlImplementation.java 2013-01-16 22:10:09 UTC (rev 8216)
+++ trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/MdlImplementation.java 2013-01-16 22:10:46 UTC (rev 8217)
@@ -95,8 +95,8 @@
static {
isMdl_.name = MdlResource.getS("Modeleur");
- isMdl_.version = "1.2RC5";
- isMdl_.date = "2013-01-14";
+ isMdl_.version = "1.2RC6";
+ isMdl_.date = "2013-01-17";
isMdl_.rights = MdlResource.getS("Tous droits r\xE9serv\xE9s") + ". CETMEF (c)1999-2011";
isMdl_.license = "GPL2";
isMdl_.languages = "fr,en";
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-01-16 22:10:16
|
Revision: 8216
http://fudaa.svn.sourceforge.net/fudaa/?rev=8216&view=rev
Author: deniger
Date: 2013-01-16 22:10:09 +0000 (Wed, 16 Jan 2013)
Log Message:
-----------
optimisation maillage important
Modified Paths:
--------------
trunk/framework/fudaa-common-save/src/main/java/org/fudaa/fudaa/commun/save/FudaaSaveZipWriter.java
Modified: trunk/framework/fudaa-common-save/src/main/java/org/fudaa/fudaa/commun/save/FudaaSaveZipWriter.java
===================================================================
--- trunk/framework/fudaa-common-save/src/main/java/org/fudaa/fudaa/commun/save/FudaaSaveZipWriter.java 2013-01-16 21:27:32 UTC (rev 8215)
+++ trunk/framework/fudaa-common-save/src/main/java/org/fudaa/fudaa/commun/save/FudaaSaveZipWriter.java 2013-01-16 22:10:09 UTC (rev 8216)
@@ -26,15 +26,16 @@
import org.fudaa.ctulu.CtuluLibString;
/**
- * Une classe pour sauvegarder des donn\xE9es dans une archive, suivant un format d\xE9fini par
- * F.Deniger. Chaque type de donn\xE9es est stock\xE9 dans une entry nomm\xE9e.
- *
+ * Une classe pour sauvegarder des donn\xE9es dans une archive, suivant un format d\xE9fini par F.Deniger. Chaque type de donn\xE9es est stock\xE9 dans une entry
+ * nomm\xE9e.
+ *
* @author fred deniger
* @version $Id: FudaaSaveZipWriter.java,v 1.4.6.1 2008-01-22 11:14:02 bmarchan Exp $
*/
public class FudaaSaveZipWriter implements CtuluArkSaver {
-
+
public class DirZipEntry {
+
int idx_;
final String name_;
final int nbDigits_;
@@ -63,12 +64,11 @@
public String getNextId() {
return CtuluLibString.adjustSizeBefore(nbDigits_, Integer.toString(++idx_), '0') + '-';
}
-
}
ObjectContainer cont_;
File dbFile_;
final File f_;
-
+
public static String getIdFromEntry(final String _entry) {
if (_entry == null) {
return null;
@@ -80,20 +80,19 @@
return null;
}
Map nameDirZip_;
-
final ZipOutputStream zipOut_;
-
+
public FudaaSaveZipWriter(final File _f) throws IOException {
super();
f_ = _f;
zipOut_ = new ZipOutputStream(new FileOutputStream(f_));
- zipOut_.setLevel(8);
+// zipOut_.setLevel(3);
}
-
+
public File getDestDir() {
return f_.getParentFile();
}
-
+
public void close() throws IOException {
if (zipOut_ != null) {
if (dbFile_ != null && cont_ != null) {
@@ -108,35 +107,35 @@
zipOut_.close();
}
}
-
+
public void safeClose() {
try {
close();
} catch (final IOException _evt) {
FuLog.error(_evt);
-
+
}
}
-
+
public boolean isDirCreated(final String _name) {
return (nameDirZip_ != null) && nameDirZip_.containsKey(_name);
}
-
+
public void createDir(final String _dirName, final int _nbEntry) {
createDirZipEntry(_dirName, _nbEntry);
-
+
}
-
+
public String getNextIdForDir(final String _dir) {
final DirZipEntry entry = getDirZipEntry(_dir);
return entry == null ? null : entry.getNextId();
}
-
+
public void startEntry(final String _entryName) throws IOException {
zipOut_.putNextEntry(new ZipEntry(_entryName));
-
+
}
-
+
public DirZipEntry createDirZipEntry(final String _name, final int _nbEntry) {
if (nameDirZip_ == null) {
nameDirZip_ = new HashMap();
@@ -147,11 +146,11 @@
nameDirZip_.put(_name, res);
return res;
}
-
+
public boolean isDbCreated() {
return cont_ != null;
}
-
+
public ObjectContainer getDb() throws IOException {
if (cont_ == null) {
dbFile_ = File.createTempFile("fudaa.project", ".db");
@@ -162,19 +161,19 @@
}
return cont_;
}
-
+
public static String getDbEntryName() {
return "project.db";
}
-
+
public OutputStream getOutStream() {
return zipOut_;
}
-
+
public DirZipEntry getDirZipEntry(final String _name) {
return (nameDirZip_ == null) ? null : (DirZipEntry) nameDirZip_.get(_name);
}
-
+
public static String getProjectDescEntryName() {
return "project.desc.xml";
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-01-16 21:27:39
|
Revision: 8215
http://fudaa.svn.sourceforge.net/fudaa/?rev=8215&view=rev
Author: deniger
Date: 2013-01-16 21:27:32 +0000 (Wed, 16 Jan 2013)
Log Message:
-----------
optimisation maillage important
Modified Paths:
--------------
trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangleEleNodeGridCreator.java
Modified: trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangleEleNodeGridCreator.java
===================================================================
--- trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangleEleNodeGridCreator.java 2013-01-16 21:27:04 UTC (rev 8214)
+++ trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangleEleNodeGridCreator.java 2013-01-16 21:27:32 UTC (rev 8215)
@@ -6,10 +6,18 @@
import gnu.trove.TIntIntHashMap;
import java.io.File;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.BitSet;
import java.util.List;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Future;
+import java.util.logging.Level;
+import java.util.logging.Logger;
import org.fudaa.ctulu.CtuluIOResult;
import org.fudaa.ctulu.CtuluLog;
+import org.fudaa.ctulu.CtuluProgressionBarAdapter;
import org.fudaa.ctulu.ProgressionInterface;
import org.fudaa.ctulu.ProgressionUpdater;
import org.fudaa.dodico.ef.EfElement;
@@ -56,17 +64,66 @@
* @return r\xE9sultat de l'op\xE9ration de lecture.
*/
public CtuluIOResult<EFGridArrayZ> readGrid(File nodeFile, File eltFile) {
- CtuluIOResult<TriangleNodeDataInterface> nodeRead = new TriangleNodeReader().read(nodeFile, progression);
- if (nodeRead.getSource() == null) {
- return new CtuluIOResult<EFGridArrayZ>(nodeRead.getAnalyze());
+ ExecutorService newFixedThreadPool = Executors.newFixedThreadPool(2);
+ EFGridArrayZ grid = null;
+ CtuluIOResult<TriangleNodeDataInterface> nodeRes = null;
+ CtuluIOResult<TriangleEleData> eltRes = null;
+ try {
+ Callable<CtuluIOResult> nodeReader = new NodeReaderCallable(nodeFile, progression);
+ Callable<CtuluIOResult> eltReader = new EltReaderCallable(eltFile, progression);
+ List<Callable<CtuluIOResult>> callables = Arrays.asList(nodeReader, eltReader);
+ List<Future<CtuluIOResult>> invokeAll = newFixedThreadPool.invokeAll(callables);
+ nodeRes = (CtuluIOResult<TriangleNodeDataInterface>) invokeAll.get(0).get();
+ eltRes = (CtuluIOResult<TriangleEleData>) invokeAll.get(1).get();
+ } catch (Exception e) {
+ Logger.getLogger(TriangleEleNodeGridCreator.class.getName()).log(Level.INFO, "message {0}", e);
+ } finally {
+ newFixedThreadPool.shutdownNow();
}
- CtuluIOResult<TriangleEleData> eleRead = new TriangleEleReader().read(eltFile, progression);
- if (eleRead.getSource() == null) {
- return new CtuluIOResult<EFGridArrayZ>(eleRead.getAnalyze());
+ if (nodeRes != null && nodeRes.getSource() == null) {
+ return new CtuluIOResult<EFGridArrayZ>(nodeRes.getAnalyze());
}
- return createGrid(nodeRead.getSource(), eleRead.getSource());
+ if (eltRes != null && eltRes.getSource() == null) {
+ return new CtuluIOResult<EFGridArrayZ>(eltRes.getAnalyze());
+ }
+ if (nodeRes != null && nodeRes.getSource() != null && eltRes != null && eltRes.getSource() != null) {
+ return createGrid(nodeRes.getSource(), eltRes.getSource());
+ }
+ return new CtuluIOResult<EFGridArrayZ>();
}
+ private class NodeReaderCallable implements Callable<CtuluIOResult> {
+
+ private final File nodeFile;
+ ProgressionInterface progression;
+
+ public NodeReaderCallable(File nodeFile, ProgressionInterface progression) {
+ this.nodeFile = nodeFile;
+ this.progression = progression;
+ }
+
+ @Override
+ public CtuluIOResult call() throws Exception {
+ return new TriangleNodeReader().read(nodeFile, progression);
+ }
+ }
+
+ private class EltReaderCallable implements Callable<CtuluIOResult> {
+
+ private final File eltFile;
+ ProgressionInterface progression;
+
+ public EltReaderCallable(File eltFile, ProgressionInterface progression) {
+ this.eltFile = eltFile;
+ this.progression = progression;
+ }
+
+ @Override
+ public CtuluIOResult call() throws Exception {
+ return new TriangleEleReader().read(eltFile, progression);
+ }
+ }
+
CtuluIOResult<EFGridArrayZ> createGrid(TriangleNodeDataInterface nodes, TriangleEleData elts) {
EfNode[] efNodes = new EfNode[nodes.getPtsNb()];
boolean useZ = useFirstAttributesAsZ && nodes.getNbAttributes() >= 1;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-01-16 21:27:11
|
Revision: 8214
http://fudaa.svn.sourceforge.net/fudaa/?rev=8214&view=rev
Author: deniger
Date: 2013-01-16 21:27:04 +0000 (Wed, 16 Jan 2013)
Log Message:
-----------
optimisation maillage important
Modified Paths:
--------------
trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/MdlImplementation.java
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/grid/CalqueGridSemisSynchronizeProcess.java
trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/grid/LayerGridController.java
trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/grid/MdlCalqueMultiPointEditable.java
Modified: trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/MdlImplementation.java
===================================================================
--- trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/MdlImplementation.java 2013-01-16 21:26:35 UTC (rev 8213)
+++ trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/MdlImplementation.java 2013-01-16 21:27:04 UTC (rev 8214)
@@ -81,6 +81,7 @@
import com.memoire.bu.BuUserPreferencesPanel;
import com.memoire.fu.FuLog;
import org.fudaa.ebli.commun.BJava3DVersionTest;
+import org.fudaa.fudaa.commun.trace2d.FudaaPerformancePreferencesPanel;
/**
* La classe principale de mise en place de l'application, de gestion des actions, des \xE9tats de l'interface, etc.
@@ -732,6 +733,8 @@
*/
@Override
protected void buildPreferences(final List<BuAbstractPreferencesPanel> _frAddTab) {
+
+ _frAddTab.add(new FudaaPerformancePreferencesPanel(this));
_frAddTab.add(new BuUserPreferencesPanel(this));
_frAddTab.add(new BuLanguagePreferencesPanel(this));
_frAddTab.add(new BuDesktopPreferencesPanel(this));
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 2013-01-16 21:26:35 UTC (rev 8213)
+++ trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/action/CalqueCreateGridAction.java 2013-01-16 21:27:04 UTC (rev 8214)
@@ -73,7 +73,7 @@
@Override
public void actionPerformed(ActionEvent _e) {
-
+
stop = false;
setEnabled(false);
running = true;
@@ -182,9 +182,7 @@
* @param model
*/
private void installGridLayer(MdlElementModel model) {
- running = false;
- setEnabled(true);
- stopAction.setRunning(running);
+ stopRunning();
if (!stop) {
if (layer.isTraceIsoLine() || layer.isTraceIsoSurface()) {
if (layer.getPaletteCouleur() == null) {
@@ -239,6 +237,7 @@
}
});
} else {
+ stopRunning();
getUI().warn(MdlResource.getS("Construction de la triangulation"), getLongHelp(), false);
}
@@ -250,5 +249,11 @@
+ "<br>Si vous utiliser le triangulateur interne, il est pr\xE9f\xE9rable de d\xE9finir une enveloppe externe"
+ "<br>Utiliser le triangulateur externe (Triangle) de pr\xE9f\xE9rence: plus stable et plus rapide");
}
+
+ public void stopRunning() {
+ running = false;
+ setEnabled(true);
+ stopAction.setRunning(running);
+ }
}
}
Modified: trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/grid/CalqueGridSemisSynchronizeProcess.java
===================================================================
--- trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/grid/CalqueGridSemisSynchronizeProcess.java 2013-01-16 21:26:35 UTC (rev 8213)
+++ trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/grid/CalqueGridSemisSynchronizeProcess.java 2013-01-16 21:27:04 UTC (rev 8214)
@@ -15,10 +15,8 @@
import org.fudaa.ctulu.gis.comparator.CoordinateComparator;
import org.fudaa.ctulu.interpolation.bilinear.InterpolationBilinearSupportSorted;
import org.fudaa.dodico.ef.AllFrontierIteratorInterface;
-import org.fudaa.dodico.ef.EfFrontierInterface;
import org.fudaa.dodico.ef.EfGridInterface;
import org.fudaa.dodico.ef.EfLib;
-import org.fudaa.dodico.ef.EfNeighborMesh;
import org.fudaa.fudaa.modeleur.resource.MdlResource;
/**
Modified: trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/grid/LayerGridController.java
===================================================================
--- trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/grid/LayerGridController.java 2013-01-16 21:26:35 UTC (rev 8213)
+++ trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/grid/LayerGridController.java 2013-01-16 21:27:04 UTC (rev 8214)
@@ -32,22 +32,22 @@
* @author Frederic Deniger
*/
public class LayerGridController implements ZModelGeometryListener {
-
+
private final MdlCalqueMultiPointEditable parentLayer;
private MdlElementModel elementModel;
private MdlIsoModelDefault isoModel;
private MdlGridData gridData;
private MvIsoLayerQuickPainter painter;
-
+
public LayerGridController(MdlCalqueMultiPointEditable parentLayer) {
this.parentLayer = parentLayer;
parentLayer.modeleDonnees().addModelListener(this);
}
-
+
public CtuluUI getUI() {
return ((FSigEditor) parentLayer.getEditor()).getUi();
}
-
+
@Override
public void geometryAction(Object _source, int _indexGeom, Geometry _geom, int _action) {
if (elementModel != null) {
@@ -58,7 +58,7 @@
}
/**
- * Dessine les isosurfaces/lignes.
+ * Dessine les isosurfaces/lignes. Si rapide dessine des isolignes.
*
* @param width
* @param height
@@ -82,26 +82,27 @@
painter = new MvIsoLayerQuickPainter(isoModel);
}
painter.setModel(isoModel);
- painter.setTraceIsoLine(parentLayer.isTraceIsoLine());
+ //si bcp de donn\xE9es on trace des iso lignes.
+ painter.setTraceIsoLine(parentLayer.isRapideForBigData() ? true : parentLayer.isTraceIsoLine());
painter.setPaletteCouleur(parentLayer.getPaletteCouleur());
painter.setIsAntaliasing(parentLayer.isAntialiasing());
painter.setAlpha(parentLayer.getAlpha());
painter.setLigneModel(parentLayer.getLineModel(0));
painter.setRapide(parentLayer.isRapide());
painter.paintDonnees(width, height, _g, _versEcran, _versReel, _clipReel);
-
+
}
-
+
@Override
public void attributeAction(Object _source, int _indexAtt, GISAttributeInterface _att, int _action) {
}
-
+
@Override
public void attributeValueChangeAction(Object _source, int _indexAtt, GISAttributeInterface _att, int _indexGeom, Object _newValue) {
}
-
+
public MdlElementLayer getGridLayer() {
- return (MdlElementLayer) parentLayer.getCalqueParNom("cqGrid");
+ return eltLayer;
}
/**
@@ -111,44 +112,45 @@
public boolean isGridCreated() {
return elementModel != null;
}
-
+
public ZCalqueMultiPointEditable getParentLayer() {
return parentLayer;
}
-
+
public MdlGridData getExportGridData() {
return gridData;
}
-
+
public void clearGrid() {
elementModel = null;
gridData = null;
isoModel = null;
- MdlElementLayer eltLayer = getGridLayer();
if (eltLayer != null) {
parentLayer.remove(eltLayer);
parentLayer.clearCacheAndRepaint();
+ eltLayer = null;
}
}
-
+
public void setGridLayer(MdlElementModel grid) {
this.elementModel = grid;
gridData = null;
isoModel = null;
- MdlElementLayer eltLayer = getGridLayer();
- if (grid == null) {
- if (eltLayer != null) {
- parentLayer.remove(eltLayer);
- }
- } else {
- installGridLayer(eltLayer, grid);
+
+ if (eltLayer != null) {
+ parentLayer.remove(eltLayer);
+ eltLayer = null;
}
+ if (grid != null) {
+ installGridLayer(grid);
+ }
parentLayer.clearCacheAndRepaint();
((FSigEditor) parentLayer.getEditor()).getPanel().getVueCalque().repaint(0);
((FSigEditor) parentLayer.getEditor()).getPanel().getVueCalque().revalidate();
}
-
- public void installGridLayer(MdlElementLayer eltLayer, MdlElementModel grid) {
+ MdlElementLayer eltLayer;
+
+ public void installGridLayer(MdlElementModel grid) {
if (eltLayer == null) {
eltLayer = new MdlElementLayer();
eltLayer.setTitle(MdlResource.getS("Maillage"));
@@ -170,7 +172,7 @@
eltLayer.setModele(grid);
eltLayer.repaint();
}
-
+
public void setEltPainted(int[] selectedElementIdx, boolean b) {
getGridLayer().modele().setPainted(selectedElementIdx, b);
getGridLayer().clearCacheAndRepaint();
Modified: trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/grid/MdlCalqueMultiPointEditable.java
===================================================================
--- trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/grid/MdlCalqueMultiPointEditable.java 2013-01-16 21:26:35 UTC (rev 8213)
+++ trunk/soft/fudaa-modeleur/src/main/java/org/fudaa/fudaa/modeleur/grid/MdlCalqueMultiPointEditable.java 2013-01-16 21:27:04 UTC (rev 8214)
@@ -6,7 +6,6 @@
import java.awt.Color;
import java.awt.Graphics2D;
import java.util.ArrayList;
-import org.fudaa.ctulu.CtuluListSelection;
import org.fudaa.ctulu.gis.GISAttributeModelDoubleInterface;
import org.fudaa.ctulu.gis.GISAttributeModelObjectInterface;
import org.fudaa.ebli.calque.BCalqueCacheManager;
@@ -26,7 +25,6 @@
import org.fudaa.ebli.controle.BConfigurableInterface;
import org.fudaa.ebli.geometrie.GrBoite;
import org.fudaa.ebli.geometrie.GrMorphisme;
-import org.fudaa.ebli.geometrie.GrPoint;
import org.fudaa.ebli.palette.BPalettePlage;
import org.fudaa.ebli.trace.TraceIcon;
import org.fudaa.ebli.trace.TraceIconModel;
@@ -147,24 +145,36 @@
updatePositionDataBathy();
}
+ public boolean isRapideForBigData() {
+ return isRapide() && layerGridDelegate.isGridCreated() && layerGridDelegate.getGridLayer().modele().getNbPoint() > 100000;
+ }
+
@Override
public void paintDonnees(Graphics2D _g, GrMorphisme _versEcran, GrMorphisme _versReel, GrBoite _clipReel) {
if ((modele_ == null) || (modele_.getNombre() <= 0)) {
return;
}
- // Trac\xE9 des surfaces
-// paintSurfaces(_g, _versEcran, _versReel, _clipReel);//pas la peine ici
-// paintLines(_clipReel, _versEcran, _g);//pas la peine ici
- // Les icones sur les atomiques
- //faudrait voir pour ne redesinner inutilement des points ...
+ //si rapide, le delegate trace des isoligne.
+ //dans ce cas on s'assure de tracer les icones sur les points
+ if (isRapideForBigData() && isTraceIsoSurface() && (iconModel_.getType() == TraceIcon.RIEN || iconModel_.getTaille() <= 0)) {
+ iconModel_.setTaille(1);
+ iconModel_.setType(TraceIcon.CARRE);
+ }
paintIconsOnAtomics(_g, _versEcran, _versReel, _clipReel);
+
layerGridDelegate.paintDonnees(getWidth(), getHeight(), _g, _versEcran, _versReel, _clipReel);
+ TraceIconModel saved = iconModel_.cloneData();
+
paintLabelsOnAtomics(_g, _versEcran, _versReel, _clipReel);
+ iconModel_.updateData(saved);
}
@Override
protected boolean isIconOnAtomicsPainted(int idxGeometry, int idxPoint) {
if (getLayerGridDelegate().isGridCreated() && isTraceIsoSurface()) {
+ if (isRapide()) {
+ return true;//optimisation
+ }
MdlElementModel modele = getLayerGridDelegate().getGridLayer().modele();
int idx = modele.getPointsAdapter().getIdx(idxGeometry, idxPoint);
if (modele.isNodePaintedByIso(idx)) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|