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: <opa...@us...> - 2008-08-05 15:08:05
|
Revision: 3710
http://fudaa.svn.sourceforge.net/fudaa/?rev=3710&view=rev
Author: opasteur
Date: 2008-08-05 15:08:13 +0000 (Tue, 05 Aug 2008)
Log Message:
-----------
Modified Paths:
--------------
trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/mascaret/MascaretImplementation.java
Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/mascaret/MascaretImplementation.java
===================================================================
--- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/mascaret/MascaretImplementation.java 2008-08-05 07:51:22 UTC (rev 3709)
+++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/mascaret/MascaretImplementation.java 2008-08-05 15:08:13 UTC (rev 3710)
@@ -15,8 +15,10 @@
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
+import java.net.URL;
import java.util.ArrayList;
import java.util.List;
+import java.util.Locale;
import java.util.Map;
import javax.swing.JCheckBox;
@@ -244,6 +246,7 @@
removeAction("DUPLIQUER");
removeAction("CREER");
removeAction("INDEX_THEMA");
+ removeAction("POINTEURAIDE");
//fred inutile fait par FudaaCommonImplementation
((BuMenu)mb.getMenu("MENU_EDITION")).addMenuItem(
"Console",
@@ -450,6 +453,10 @@
paramsGenerauxQualiteDEau();
} else if (action.equals("PARAM_RESULTAT_POUR_QUALITEDEAU")) {
paramsGResultatPourQualiteDEau();
+ /* } else if (action.equals("AIDE_INDEX")) {
+ //final FudaaHelpPanel panel = getHelpPanel();
+ //panel.showHelp();
+ */
} else if (
action.equals("ASSISTANT")
|| action.equals("TACHE")
@@ -2173,6 +2180,29 @@
}
+///On surcharge displayHelp pour pouvoir modifier le nom de l'application,
+//le nom utilis\xE9 \xE9tant celui fournit dans isApp_.name
+ public void displayHelp(final String _url) {
+ super.displayHelp(FuLib.replace(_url,"fudaa-mascaret","src\\mascaret"));
+ }
+
+
+ public void contextHelp(String _url) {
+ System.err.println("MascaretImplementation contextHelp called"+_url);
+
+ try {
+
+ if (_url==null || _url.length()==0) _url ="mascaret/index.html";
+
+ _url= "aide\\src\\"+_url;
+ System.err.println(_url);
+ displayURL(_url);
+
+ } catch (Exception ex) {
+
+ ex.printStackTrace();
+ }
+ }
/* private void setEtat(int etat_) {
etat= etat_;
}*/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <had...@us...> - 2008-08-05 07:51:16
|
Revision: 3709
http://fudaa.svn.sourceforge.net/fudaa/?rev=3709&view=rev
Author: hadouxad
Date: 2008-08-05 07:51:22 +0000 (Tue, 05 Aug 2008)
Log Message:
-----------
AFFECT?\195?\137 - # 40: L?\195?\169gende pour les courbe 1d
http://mantis.genesis-groupe.com//view.php?id=40
- creation du package visual librarie
- creation de EbliWidget
- creation de LineWidget : dessin de la ligne et icone
- creation de TitleWidget : label du titre
Les libell?\195?\169s et couleurs icones se mettent a jour a la modification de la conf de la courbe
Modified Paths:
--------------
branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestGraphe2.java
Added Paths:
-----------
branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/
branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidget.java
branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/LineWidget.java
branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/TitleWidget.java
branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/WidgetLegendeManager.java
branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/WidgetLegendeManagerOLD.java
Added: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidget.java
===================================================================
--- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidget.java (rev 0)
+++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidget.java 2008-08-05 07:51:22 UTC (rev 3709)
@@ -0,0 +1,35 @@
+package org.fudaa.ebli.visuallibrary;
+
+import org.netbeans.api.visual.action.ActionFactory;
+import org.netbeans.api.visual.laf.LookFeel;
+import org.netbeans.api.visual.model.ObjectState;
+import org.netbeans.api.visual.widget.Scene;
+import org.netbeans.api.visual.widget.Widget;
+
+
+/**
+ * Widget version EBLI
+ * @author genesis
+ *
+ */
+class EbliWidget extends Widget {
+
+ /**
+ * @param scene
+ */
+ public EbliWidget(Scene scene) {
+ super(scene);
+ getActions().addAction( ActionFactory.createResizeAction());
+ getActions().addAction(ActionFactory.createMoveAction());
+ getActions().addAction(scene.createWidgetHoverAction());//a voir pour que le parent soit
+ //aussi en hover : a voir apr\xE8s.
+ setBorder(getScene().getLookFeel().getMiniBorder(ObjectState.createNormal()));
+ }
+
+ @Override
+ public void notifyStateChanged(ObjectState previousState, ObjectState newState) {
+ LookFeel lookFeel = getScene().getLookFeel();
+ setBorder(lookFeel.getMiniBorder(newState));
+ }
+
+}
\ No newline at end of file
Property changes on: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidget.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/LineWidget.java
===================================================================
--- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/LineWidget.java (rev 0)
+++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/LineWidget.java 2008-08-05 07:51:22 UTC (rev 3709)
@@ -0,0 +1,52 @@
+package org.fudaa.ebli.visuallibrary;
+
+import java.awt.Dimension;
+import java.awt.Graphics2D;
+import java.awt.Rectangle;
+
+import org.fudaa.ebli.courbe.EGCourbe;
+import org.fudaa.ebli.trace.TraceIcon;
+import org.fudaa.ebli.trace.TraceIconModel;
+import org.fudaa.ebli.trace.TraceLigne;
+import org.netbeans.api.visual.widget.Scene;
+
+
+/**
+ * Legende
+ * Widget qui contient le trac\xE9 de la ligne de la l\xE9gende courbe
+ * @author genesis
+ *
+ */
+public class LineWidget extends EbliWidget {
+
+ EGCourbe cb_;
+
+ /**
+ * @param _scene
+ */
+ public LineWidget(Scene _scene, EGCourbe _cb) {
+ super(_scene);
+ cb_ = _cb;
+ setMinimumSize(new Dimension(30, 10));
+ setPreferredSize(new Dimension(40, 10));
+ }
+
+ /**
+ *
+ */
+ @Override
+ protected void paintWidget() {
+ Graphics2D g = getGraphics();
+ Rectangle rec = getClientArea();
+ g.translate(rec.x, rec.y);
+ //la ligne
+ TraceLigne l = new TraceLigne(cb_.getLigneModel());
+ l.dessineTrait(g, 0, rec.height / 2, rec.width, rec.height / 2);
+ //l'icone
+ TraceIconModel icm = new TraceIconModel(cb_.getIconModel());
+ icm.setTaille(Math.min(rec.width / 2, rec.height));//a voir
+ TraceIcon ic = new TraceIcon(icm);
+ ic.paintIconCentre(g, rec.width / 2, rec.height / 2);
+ g.translate(-rec.x, -rec.y);
+ }
+}
Property changes on: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/LineWidget.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/TitleWidget.java
===================================================================
--- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/TitleWidget.java (rev 0)
+++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/TitleWidget.java 2008-08-05 07:51:22 UTC (rev 3709)
@@ -0,0 +1,57 @@
+package org.fudaa.ebli.visuallibrary;
+
+import org.fudaa.ebli.courbe.EGCourbe;
+import org.netbeans.api.visual.layout.LayoutFactory.SerialAlignment;
+import org.netbeans.api.visual.widget.LabelWidget;
+import org.netbeans.api.visual.widget.Scene;
+import org.netbeans.modules.visual.layout.FlowLayout;
+
+
+/**
+ * Legende
+ * Widget qui contient le titre de la ligne de la l\xE9gende courbe
+ * @author genesis
+ *
+ */
+public class TitleWidget extends EbliWidget {
+
+ EGCourbe cb_;
+
+ LabelWidget intern;
+
+ /**
+ * @param _scene
+ */
+ public TitleWidget(Scene _scene, EGCourbe _cb) {
+ super(_scene);
+ setLayout(new FlowLayout(true, SerialAlignment.LEFT_TOP, 0));
+ intern = new LabelWidget(_scene);
+ intern.setForeground(_cb.getAspectContour());
+ addChild(intern);
+ setCourbe(_cb);
+ }
+
+ public void majLabel(){
+ intern.setForeground(cb_.getAspectContour());
+ intern.setLabel(cb_.getTitle());
+ }
+
+
+ /**
+ * @return the cb_
+ */
+ public EGCourbe getCourbe() {
+ return cb_;
+ }
+
+ /**
+ * @param _cb the cb_ to set
+ */
+ public void setCourbe(EGCourbe _cb) {
+ this.cb_ = _cb;
+ if (cb_ != null) {
+ intern.setLabel(cb_.getTitle());
+ }
+ }
+
+}
\ No newline at end of file
Property changes on: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/TitleWidget.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/WidgetLegendeManager.java
===================================================================
--- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/WidgetLegendeManager.java (rev 0)
+++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/WidgetLegendeManager.java 2008-08-05 07:51:22 UTC (rev 3709)
@@ -0,0 +1,108 @@
+package org.fudaa.ebli.visuallibrary;
+
+
+
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.Graphics2D;
+import java.awt.Rectangle;
+
+import javax.swing.JFrame;
+import javax.swing.JPanel;
+
+import org.fudaa.ctulu.iterator.LogarithmicNumberIterator;
+import org.fudaa.ebli.courbe.EGAxe;
+import org.fudaa.ebli.courbe.EGAxeHorizontal;
+import org.fudaa.ebli.courbe.EGAxeVertical;
+import org.fudaa.ebli.courbe.EGCourbe;
+import org.fudaa.ebli.courbe.EGCourbeChild;
+import org.fudaa.ebli.courbe.EGCourbeModelDefault;
+import org.fudaa.ebli.courbe.EGGraphe;
+import org.fudaa.ebli.courbe.EGGrapheModelListener;
+import org.fudaa.ebli.courbe.EGGrapheTreeModel;
+import org.fudaa.ebli.courbe.EGGroup;
+import org.fudaa.ebli.courbe.EGObject;
+import org.fudaa.ebli.trace.TraceIcon;
+import org.fudaa.ebli.trace.TraceIconModel;
+import org.fudaa.ebli.trace.TraceLigne;
+import org.fudaa.ebli.trace.TraceLigneModel;
+import org.netbeans.api.visual.action.ActionFactory;
+import org.netbeans.api.visual.graph.GraphScene;
+import org.netbeans.api.visual.laf.LookFeel;
+import org.netbeans.api.visual.layout.LayoutFactory.SerialAlignment;
+import org.netbeans.api.visual.model.ObjectState;
+import org.netbeans.api.visual.widget.LabelWidget;
+import org.netbeans.api.visual.widget.LayerWidget;
+import org.netbeans.api.visual.widget.Scene;
+import org.netbeans.api.visual.widget.Widget;
+import org.netbeans.modules.visual.layout.FlowLayout;
+
+/**
+ * @author denf01a adrien hadous
+ * @creation 5 ao\xFBt 2008
+ * @version
+ *
+ */
+public class WidgetLegendeManager {
+
+
+
+ //exemple a ameliorer
+ public static EbliWidget createLegende(EGGraphe g, Scene scene) {
+ EGCourbe[] cs = g.getModel().getCourbes();
+ EbliWidget res = new EbliWidget(scene);
+ res.setLayout(new FlowLayout(true, SerialAlignment.LEFT_TOP, 10));// a modifier pour setter le gap
+ for (int i = 0; i < cs.length; i++) {
+ final EbliWidget line = new EbliWidget(scene);
+ line.setLayout(new FlowLayout(false, SerialAlignment.CENTER, 5));
+
+ //creation de la widget titre
+ final TitleWidget tw=new TitleWidget(scene, cs[i]);
+
+ //creation de la widget ligne
+ LineWidget lw=new LineWidget(scene, cs[i]);
+
+ line.addChild(lw);
+ line.addChild(tw);
+ res.addChild(line);
+
+ //-- ajouter le listener EGGraphe pour ecouter et \xE9ettre a jour els l\xE9gendes --//
+ g.getModel().addModelListener(new EGGrapheModelListener() {
+
+ public void structureChanged() {
+ line.repaint();
+ tw.majLabel();
+
+ }
+
+ public void courbeContentChanged(EGObject _c, boolean restore) {
+ line.repaint();
+ tw.majLabel();
+
+ }
+
+ public void courbeAspectChanged(EGObject _c, boolean _visibil) {
+ line.repaint();
+ tw.majLabel();
+
+ }
+
+ public void axeContentChanged(EGAxe _c) {
+ line.repaint();
+ tw.majLabel();
+ }
+
+ public void axeAspectChanged(EGAxe _c) {
+ line.repaint();
+ tw.majLabel();
+ }
+ });
+
+ }
+ return res;
+ }
+
+
+
+}
Property changes on: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/WidgetLegendeManager.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Copied: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/WidgetLegendeManagerOLD.java (from rev 3708, branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/WidgetLegendeManager.java)
===================================================================
--- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/WidgetLegendeManagerOLD.java (rev 0)
+++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/WidgetLegendeManagerOLD.java 2008-08-05 07:51:22 UTC (rev 3709)
@@ -0,0 +1,184 @@
+package org.fudaa.ebli.visuallibrary;
+
+
+
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.Font;
+import java.awt.Graphics2D;
+import java.awt.Image;
+import java.awt.Point;
+import java.awt.Rectangle;
+import java.awt.Toolkit;
+import java.awt.image.BufferedImage;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.fudaa.ctulu.CtuluResource;
+import org.fudaa.ctulu.image.CtuluImageProducer;
+import org.fudaa.ctulu.image.CtuluLibImage;
+import org.fudaa.ebli.courbe.EGAxe;
+import org.fudaa.ebli.courbe.EGCourbe;
+import org.fudaa.ebli.courbe.EGGraphe;
+import org.fudaa.ebli.courbe.EGGrapheModelListener;
+import org.fudaa.ebli.courbe.EGObject;
+import org.netbeans.api.visual.action.ActionFactory;
+import org.netbeans.api.visual.action.SelectProvider;
+import org.netbeans.api.visual.action.TextFieldInplaceEditor;
+import org.netbeans.api.visual.graph.GraphScene;
+import org.netbeans.api.visual.laf.LookFeel;
+import org.netbeans.api.visual.model.ObjectState;
+import org.netbeans.api.visual.widget.ImageWidget;
+import org.netbeans.api.visual.widget.LabelWidget;
+import org.netbeans.api.visual.widget.LayerWidget;
+import org.netbeans.api.visual.widget.Widget;
+
+import sun.awt.image.ToolkitImage;
+
+
+
+/**
+ * Classe qui g\xE9n\xE8re les l\xE9gendes de chacun des graphes
+ *
+ *
+ * @author Adrien Hadoux
+ *
+ */
+
+public class WidgetLegendeManagerOLD {
+
+
+ static List<ImageWidget> listeWidgets=null;
+
+ //gap vertical entre chaque widget legendes
+ final static int Vgap=10;
+ //gap horizontal entre chaque widget legendes
+ final static int Hgap=10;
+
+ final static int widthDefault=100;
+ final static int heightDefault=30;
+
+
+ public static void createWidgetLegendeGraphe(GraphScene scene,LayerWidget visu,EGGraphe graphe, Rectangle areaGraphe) {
+
+
+ listeWidgets=new ArrayList<ImageWidget>();
+
+ //-- cr\xE9ation, affichage et ajout du listener du graphe pour chacune des widgets suivantes --//
+
+ for(int i=0; i<graphe.getModel().getCourbes().length;i++){
+
+ final EGCourbe courbe=graphe.getModel().getCourbes()[i];
+ final int cpt=i;
+
+
+
+ //--creation d un nouveau widget image --//
+ final ImageWidget legendeWidget=new ImageWidget (scene){
+ public void notifyStateChanged(ObjectState previousState,
+ ObjectState newState) {
+ LookFeel lookFeel = getScene().getLookFeel();
+ // setBorder(lookFeel.getBorder(newState));
+ // setForeground(lookFeel.getForeground(newState));
+
+ setBorder(lookFeel.getBorder(newState));
+ // setBorder(newState.isSelected() ?
+ // (DEFAULT_SELECTED_BORDER) :
+ // (newState.isHovered() ? RESIZE_BORDER
+ // : DEFAULT_BORDER));
+ //repaint();
+
+ }
+
+ //-- redessinne la l\xE9gende
+ protected void paintWidget() {
+
+ // recuperation du rectangle contour
+ Rectangle rec = getClientArea();
+ Graphics2D g=getGraphics();
+
+ g.translate(rec.x, rec.y);
+
+
+ //dimension du cadre de la l\xE9gende //
+ int widthCadre=rec.width;
+ int heightCadre=rec.height;
+
+ //cas initial: dessin vide
+ if(widthCadre==0)
+ widthCadre=widthDefault;
+ if(heightCadre==0)
+ heightCadre=heightDefault;
+
+ g.setColor(Color.GRAY);
+ g.drawRect(rec.x, rec.y,widthCadre - 1, heightCadre - 1);
+
+ //-- dessin du titre et des lignes --//
+ g.setFont(new Font("Serif",Font.PLAIN,rec.height/2));
+ g.setColor(courbe.getAspectContour());
+ g.drawString(courbe.getTitle(),rec.x + Hgap/2 , (int)(rec.y + rec.height/2));
+ //FIXME Comment je peux obtenir les icones et les lignes et les dimensionner?
+ }
+
+ };
+legendeWidget.setPreferredSize(new Dimension(widthDefault,heightDefault));
+
+ //-- ajouter le listener EGGraphe pour ecouter et \xE9ettre a jour els l\xE9gendes --//
+ graphe.getModel().addModelListener(new EGGrapheModelListener() {
+
+ public void structureChanged() {
+ legendeWidget.repaint();
+
+ }
+
+ public void courbeContentChanged(EGObject _c, boolean restore) {
+ legendeWidget.repaint();
+
+ }
+
+ public void courbeAspectChanged(EGObject _c, boolean _visibil) {
+ legendeWidget.repaint();
+ // TODO Auto-generated method stub
+
+ }
+
+ public void axeContentChanged(EGAxe _c) {
+ legendeWidget.repaint();
+
+ }
+
+ public void axeAspectChanged(EGAxe _c) {
+ legendeWidget.repaint();
+
+ }
+ });
+
+ //-- ajouter les actions liees au widget --//
+ legendeWidget.getActions().addAction( ActionFactory.createResizeAction());
+ legendeWidget.getActions().addAction(ActionFactory.createMoveAction());
+ legendeWidget.getActions().addAction(scene.createWidgetHoverAction());
+
+
+ //-- ajout de la widget dans la liste --//
+ listeWidgets.add(legendeWidget);
+
+ //-- positionner le widget dans la scene par rapport au graphe et a ses autres widgets --//
+ //FIXME am\xE9eliorer en discuter avec Fred
+ legendeWidget.setPreferredLocation (new Point ((widthDefault+Hgap)*cpt, Vgap));
+
+ scene.addChild(legendeWidget);
+
+ }//fin for
+
+ //-- positionner le widget dans la scene par rapport au graphe et a ses autres widgets --//
+ //TODO am\xE9eliorer en discuter avec Fred
+ //visu.addChildren(listeWidgets);
+
+ }
+
+
+}
+
+
Property changes on: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/WidgetLegendeManagerOLD.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestGraphe2.java
===================================================================
--- branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestGraphe2.java 2008-08-05 06:21:31 UTC (rev 3708)
+++ branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestGraphe2.java 2008-08-05 07:51:22 UTC (rev 3709)
@@ -41,9 +41,10 @@
import org.fudaa.ebli.courbe.EGGrapheTreeModel;
import org.fudaa.ebli.courbe.EGGroup;
import org.fudaa.ebli.courbe.EGObject;
-import org.fudaa.ebli.courbe.WidgetLegendeManager;
import org.fudaa.ebli.trace.TraceLigne;
import org.fudaa.ebli.trace.TraceLigneModel;
+import org.fudaa.ebli.visuallibrary.WidgetLegendeManager;
+import org.fudaa.ebli.visuallibrary.WidgetLegendeManagerOLD;
import org.netbeans.api.visual.action.ActionFactory;
import org.netbeans.api.visual.graph.GraphScene;
import org.netbeans.api.visual.laf.LookFeel;
@@ -324,8 +325,9 @@
};
- WidgetLegendeManager.createWidgetLegendeGraphe(this, visu, courbe, graphe.getClientArea());
+ //WidgetLegendeManagerOLD.createWidgetLegendeGraphe(this, visu, courbe, graphe.getClientArea());
+ visu.addChild (WidgetLegendeManager.createLegende(courbe, this));
//ajout des resize et drag
imageWidget.getActions().addAction( ActionFactory.createResizeAction());
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <had...@us...> - 2008-08-05 06:21:24
|
Revision: 3708
http://fudaa.svn.sourceforge.net/fudaa/?rev=3708&view=rev
Author: hadouxad
Date: 2008-08-05 06:21:31 +0000 (Tue, 05 Aug 2008)
Log Message:
-----------
AFFECT?\195?\137 - # 40: L?\195?\169gende pour les courbe 1d
http://mantis.genesis-groupe.com//view.php?id=40
Modified Paths:
--------------
branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/WidgetLegendeManager.java
branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestGraphe2.java
Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/WidgetLegendeManager.java
===================================================================
--- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/WidgetLegendeManager.java 2008-08-04 22:00:16 UTC (rev 3707)
+++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/WidgetLegendeManager.java 2008-08-05 06:21:31 UTC (rev 3708)
@@ -106,6 +106,7 @@
//-- dessin du titre et des lignes --//
g.setFont(new Font("Serif",Font.PLAIN,rec.height/2));
+ g.setColor(courbe.getAspectContour());
g.drawString(courbe.getTitle(),rec.x + Hgap/2 , (int)(rec.y + rec.height/2));
//FIXME Comment je peux obtenir les icones et les lignes et les dimensionner?
}
Modified: branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestGraphe2.java
===================================================================
--- branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestGraphe2.java 2008-08-04 22:00:16 UTC (rev 3707)
+++ branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestGraphe2.java 2008-08-05 06:21:31 UTC (rev 3708)
@@ -16,6 +16,7 @@
import java.awt.image.BufferedImage;
import java.util.Collections;
+import javax.swing.Box;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JMenu;
@@ -145,7 +146,10 @@
final JTree t = new JTree(grapheModel);
t.setSelectionModel(grapheModel.getSelectionModel());
t.setRootVisible(false);
- p.add(new BuScrollPane(t), BuBorderLayout.EAST);
+
+ Box boxEast=Box.createVerticalBox();
+ boxEast.add(new BuScrollPane(t));
+ p.add(boxEast, BuBorderLayout.EAST);
p.doLayout();
f.setContentPane(p);
final EGFillePanel pn = new EGFillePanel(g);
@@ -384,6 +388,11 @@
scene.addNode(g);
// fin
p.add(new JScrollPane(scene.createView()), BuBorderLayout.CENTER);
+
+ //ajout de la vue sattelite en bas \xE4 gauche
+ boxEast.add(scene.createSatelliteView());
+
+
final JMenu menu = new JMenu();
menu.setName("essai");
menu.setText("essai");
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2008-08-04 22:00:13
|
Revision: 3707
http://fudaa.svn.sourceforge.net/fudaa/?rev=3707&view=rev
Author: deniger
Date: 2008-08-04 22:00:16 +0000 (Mon, 04 Aug 2008)
Log Message:
-----------
Added Paths:
-----------
tags/Prepro-0.91bis/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <had...@us...> - 2008-08-04 20:47:11
|
Revision: 3706
http://fudaa.svn.sourceforge.net/fudaa/?rev=3706&view=rev
Author: hadouxad
Date: 2008-08-04 20:47:14 +0000 (Mon, 04 Aug 2008)
Log Message:
-----------
AFFECT?\195?\137 - # 40: L?\195?\169gende pour les courbe 1d
d?\195?\169dut de cr?\195?\169ation du manager de widget legendes
reste a corriger
1)la position des widget par rapport au graphe
2)l ajout des icones et trac?\195?\169
Modified Paths:
--------------
branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestGraphe2.java
Added Paths:
-----------
branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/WidgetLegendeManager.java
Added: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/WidgetLegendeManager.java
===================================================================
--- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/WidgetLegendeManager.java (rev 0)
+++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/WidgetLegendeManager.java 2008-08-04 20:47:14 UTC (rev 3706)
@@ -0,0 +1,171 @@
+package org.fudaa.ebli.courbe;
+
+
+
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.Font;
+import java.awt.Graphics2D;
+import java.awt.Image;
+import java.awt.Point;
+import java.awt.Rectangle;
+import java.awt.Toolkit;
+import java.awt.image.BufferedImage;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.fudaa.ctulu.CtuluResource;
+import org.fudaa.ctulu.image.CtuluImageProducer;
+import org.fudaa.ctulu.image.CtuluLibImage;
+import org.netbeans.api.visual.action.ActionFactory;
+import org.netbeans.api.visual.graph.GraphScene;
+import org.netbeans.api.visual.laf.LookFeel;
+import org.netbeans.api.visual.model.ObjectState;
+import org.netbeans.api.visual.widget.ImageWidget;
+import org.netbeans.api.visual.widget.LayerWidget;
+
+import sun.awt.image.ToolkitImage;
+
+/**
+ * Classe qui g\xE9n\xE8re les l\xE9gendes de chacun des graphes
+ *
+ *
+ * @author Adrien Hadoux
+ *
+ */
+
+public class WidgetLegendeManager {
+
+
+ static List<ImageWidget> listeWidgets=null;
+
+ //gap vertical entre chaque widget legendes
+ final static int Vgap=10;
+ //gap horizontal entre chaque widget legendes
+ final static int Hgap=10;
+
+ final static int widthDefault=100;
+ final static int heightDefault=30;
+
+
+ public static void createWidgetLegendeGraphe(GraphScene scene,LayerWidget visu,EGGraphe graphe, Rectangle areaGraphe) {
+
+
+ listeWidgets=new ArrayList<ImageWidget>();
+
+ //-- cr\xE9ation, affichage et ajout du listener du graphe pour chacune des widgets suivantes --//
+
+ for(int i=0; i<graphe.getModel().getCourbes().length;i++){
+
+ final EGCourbe courbe=graphe.getModel().getCourbes()[i];
+ final int cpt=i;
+
+
+
+ //--creation d un nouveau widget image --//
+ final ImageWidget legendeWidget=new ImageWidget (scene){
+ public void notifyStateChanged(ObjectState previousState,
+ ObjectState newState) {
+ LookFeel lookFeel = getScene().getLookFeel();
+ // setBorder(lookFeel.getBorder(newState));
+ // setForeground(lookFeel.getForeground(newState));
+
+ setBorder(lookFeel.getBorder(newState));
+ // setBorder(newState.isSelected() ?
+ // (DEFAULT_SELECTED_BORDER) :
+ // (newState.isHovered() ? RESIZE_BORDER
+ // : DEFAULT_BORDER));
+ //repaint();
+
+ }
+
+ //-- redessinne la l\xE9gende
+ protected void paintWidget() {
+
+ // recuperation du rectangle contour
+ Rectangle rec = getClientArea();
+ Graphics2D g=getGraphics();
+
+ g.translate(rec.x, rec.y);
+
+
+ //dimension du cadre de la l\xE9gende //
+ int widthCadre=rec.width;
+ int heightCadre=rec.height;
+
+ //cas initial: dessin vide
+ if(widthCadre==0)
+ widthCadre=widthDefault;
+ if(heightCadre==0)
+ heightCadre=heightDefault;
+
+ g.setColor(Color.GRAY);
+ g.drawRect(rec.x, rec.y,widthCadre - 1, heightCadre - 1);
+
+ //-- dessin du titre et des lignes --//
+ g.setFont(new Font("Serif",Font.PLAIN,rec.height/2));
+ g.drawString(courbe.getTitle(),rec.x + Hgap/2 , (int)(rec.y + rec.height/2));
+ //FIXME Comment je peux obtenir les icones et les lignes et les dimensionner?
+ }
+
+ };
+legendeWidget.setPreferredSize(new Dimension(widthDefault,heightDefault));
+
+ //-- ajouter le listener EGGraphe pour ecouter et \xE9ettre a jour els l\xE9gendes --//
+ graphe.getModel().addModelListener(new EGGrapheModelListener() {
+
+ public void structureChanged() {
+ legendeWidget.repaint();
+
+ }
+
+ public void courbeContentChanged(EGObject _c, boolean restore) {
+ legendeWidget.repaint();
+
+ }
+
+ public void courbeAspectChanged(EGObject _c, boolean _visibil) {
+ legendeWidget.repaint();
+ // TODO Auto-generated method stub
+
+ }
+
+ public void axeContentChanged(EGAxe _c) {
+ legendeWidget.repaint();
+
+ }
+
+ public void axeAspectChanged(EGAxe _c) {
+ legendeWidget.repaint();
+
+ }
+ });
+
+ //-- ajouter les actions liees au widget --//
+ legendeWidget.getActions().addAction( ActionFactory.createResizeAction());
+ legendeWidget.getActions().addAction(ActionFactory.createMoveAction());
+ legendeWidget.getActions().addAction(scene.createWidgetHoverAction());
+
+
+
+ //-- ajout de la widget dans la liste --//
+ listeWidgets.add(legendeWidget);
+
+ //-- positionner le widget dans la scene par rapport au graphe et a ses autres widgets --//
+ //FIXME am\xE9eliorer en discuter avec Fred
+ legendeWidget.setPreferredLocation (new Point ((widthDefault+Hgap)*cpt, Vgap));
+
+ scene.addChild(legendeWidget);
+
+ }//fin for
+
+ //-- positionner le widget dans la scene par rapport au graphe et a ses autres widgets --//
+ //TODO am\xE9eliorer en discuter avec Fred
+ //visu.addChildren(listeWidgets);
+
+ }
+
+
+}
Property changes on: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/WidgetLegendeManager.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestGraphe2.java
===================================================================
--- branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestGraphe2.java 2008-08-04 12:24:25 UTC (rev 3705)
+++ branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestGraphe2.java 2008-08-04 20:47:14 UTC (rev 3706)
@@ -9,132 +9,395 @@
import java.awt.Color;
import java.awt.Dimension;
+import java.awt.Font;
+import java.awt.Graphics2D;
+import java.awt.Rectangle;
+import java.awt.geom.AffineTransform;
+import java.awt.image.BufferedImage;
+import java.util.Collections;
+import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
+import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.WindowConstants;
+import javax.swing.text.Utilities;
-import com.memoire.bu.BuBorderLayout;
-import com.memoire.bu.BuPanel;
-import com.memoire.bu.BuScrollPane;
-
+import org.fudaa.ctulu.CtuluResource;
+import org.fudaa.ctulu.gui.CtuluLibSwing;
+import org.fudaa.ctulu.image.CtuluLibImage;
import org.fudaa.ctulu.iterator.LogarithmicNumberIterator;
-
+import org.fudaa.ebli.courbe.EGAxe;
import org.fudaa.ebli.courbe.EGAxeHorizontal;
import org.fudaa.ebli.courbe.EGAxeVertical;
import org.fudaa.ebli.courbe.EGCourbeChild;
import org.fudaa.ebli.courbe.EGCourbeModelDefault;
import org.fudaa.ebli.courbe.EGFillePanel;
import org.fudaa.ebli.courbe.EGGraphe;
+import org.fudaa.ebli.courbe.EGGrapheModelListener;
import org.fudaa.ebli.courbe.EGGrapheTreeModel;
import org.fudaa.ebli.courbe.EGGroup;
+import org.fudaa.ebli.courbe.EGObject;
+import org.fudaa.ebli.courbe.WidgetLegendeManager;
import org.fudaa.ebli.trace.TraceLigne;
import org.fudaa.ebli.trace.TraceLigneModel;
+import org.netbeans.api.visual.action.ActionFactory;
+import org.netbeans.api.visual.graph.GraphScene;
+import org.netbeans.api.visual.laf.LookFeel;
+import org.netbeans.api.visual.model.ObjectState;
+import org.netbeans.api.visual.widget.ImageWidget;
+import org.netbeans.api.visual.widget.LabelWidget;
+import org.netbeans.api.visual.widget.LayerWidget;
+import org.netbeans.api.visual.widget.Widget;
+import org.netbeans.api.visual.widget.general.IconNodeWidget;
+import com.memoire.bu.BuBorderLayout;
+import com.memoire.bu.BuPanel;
+import com.memoire.bu.BuScrollPane;
+
/**
* @author Fred Deniger
* @version $Id: TestGraphe2.java,v 1.8 2007-01-17 10:45:17 deniger Exp $
*/
public final class TestGraphe2 {
- private TestGraphe2() {
- super();
- }
+ private TestGraphe2() {
+ super();
+ }
- /**
- * @param _args non utilise
- */
- public static void main(final String[] _args) {
- final EGGrapheTreeModel grapheModel = new EGGrapheTreeModel();
- final EGGraphe g = new EGGraphe(grapheModel);
- final EGAxeHorizontal x = new EGAxeHorizontal(false);
- x.setTitre("temps");
- x.setUnite("sec");
- x.setBounds(0.0001, 1000000);
- x.setAxisIterator(new LogarithmicNumberIterator());
- x.setGraduations(true);
- g.setXAxe(x);
- EGGroup gr = new EGGroup();
- gr.setTitle("gr 1");
- EGCourbeModelDefault m = new EGCourbeModelDefault(new double[] { 0.0001, 3, 4, 1000000 }, new double[] { 10000, 4,
- 5, 3 });
- EGCourbeChild c = new EGCourbeChild(gr);
- m.setTitle("toto bleue");
- c.setModel(m);
- c.setAspectContour(Color.cyan);
+ /**
+ * @param _args
+ * non utilise
+ */
+ public static void main(final String[] _args) {
+ final EGGrapheTreeModel grapheModel = new EGGrapheTreeModel();
+ final EGGraphe g = new EGGraphe(grapheModel);
+ final EGAxeHorizontal x = new EGAxeHorizontal(false);
+ x.setTitre("temps");
+ x.setUnite("sec");
+ x.setBounds(0.0001, 1000000);
+ x.setAxisIterator(new LogarithmicNumberIterator());
+ x.setGraduations(true);
+ g.setXAxe(x);
+ EGGroup gr = new EGGroup();
+ gr.setTitle("gr 1");
+ EGCourbeModelDefault m = new EGCourbeModelDefault(new double[] {
+ 0.0001, 3, 4, 1000000 }, new double[] { 10000, 4, 5, 3 });
+ EGCourbeChild c = new EGCourbeChild(gr);
+ m.setTitle("toto bleue");
+ c.setModel(m);
+ c.setAspectContour(Color.cyan);
- gr.addEGComponent(c);
+ gr.addEGComponent(c);
- m = new EGCourbeModelDefault(new double[] { 0.0002, 5, 7, 900000 }, new double[] { 0.001, 1, 3, 4 });
- c = new EGCourbeChild(gr);
- c.setAspectContour(Color.RED);
- m.setTitle("toto rouge");
- c.setModel(m);
+ m = new EGCourbeModelDefault(new double[] { 0.0002, 5, 7, 900000 },
+ new double[] { 0.001, 1, 3, 4 });
+ c = new EGCourbeChild(gr);
+ c.setAspectContour(Color.RED);
+ m.setTitle("toto rouge");
+ c.setModel(m);
- gr.addEGComponent(c);
+ gr.addEGComponent(c);
- EGAxeVertical y = new EGAxeVertical();
- y.setGraduations(true);
- y.setGrille(new TraceLigneModel(TraceLigne.LISSE, 1, Color.LIGHT_GRAY));
- y.setDroite(true);
- y.setAxisIterator(new LogarithmicNumberIterator());
- y.setBounds(0.0001, 10000);
- y.setLineColor(Color.blue);
- y.setTitre("essai 2");
- gr.setAxeY(y);
- grapheModel.add(gr);
- gr = new EGGroup();
- gr.setTitle("gr 2");
- m = new EGCourbeModelDefault(new double[] { 1, 8, 9, 10 }, new double[] { 10, 4, 2, 24 });
- c = new EGCourbeChild(gr);
- c.setAspectContour(Color.yellow);
- m.setTitle("toto jaune");
- c.setModel(m);
- gr.addEGComponent(c);
- y = new EGAxeVertical();
- y.setGraduations(true);
- y.setBounds(0, 55);
- y.setTitre("essai 1");
- gr.setAxeY(y);
- gr.addEGComponent(c);
- m = new EGCourbeModelDefault(new double[] { 1, 3, 4, 5 }, new double[] { 14, 54, 25, 43 });
- c = new EGCourbeChild(gr);
- m.setTitle("toto vert");
- c.setAspectContour(Color.green);
- c.setModel(m);
- gr.addEGComponent(c);
- grapheModel.add(gr);
- final JFrame f = new JFrame();
- f.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
- final BuPanel p = new BuPanel();
- p.setLayout(new BuBorderLayout());
+ EGAxeVertical y = new EGAxeVertical();
+ y.setGraduations(true);
+ y.setGrille(new TraceLigneModel(TraceLigne.LISSE, 1, Color.LIGHT_GRAY));
+ y.setDroite(true);
+ y.setAxisIterator(new LogarithmicNumberIterator());
+ y.setBounds(0.0001, 10000);
+ y.setLineColor(Color.blue);
+ y.setTitre("essai 2");
+ gr.setAxeY(y);
+ grapheModel.add(gr);
+ gr = new EGGroup();
+ gr.setTitle("gr 2");
+ m = new EGCourbeModelDefault(new double[] { 1, 8, 9, 10 },
+ new double[] { 10, 4, 2, 24 });
+ c = new EGCourbeChild(gr);
+ c.setAspectContour(Color.yellow);
+ m.setTitle("toto jaune");
+ c.setModel(m);
+ gr.addEGComponent(c);
+ y = new EGAxeVertical();
+ y.setGraduations(true);
+ y.setBounds(0, 55);
+ y.setTitre("essai 1");
+ gr.setAxeY(y);
+ gr.addEGComponent(c);
+ m = new EGCourbeModelDefault(new double[] { 1, 3, 4, 5 }, new double[] {
+ 14, 54, 25, 43 });
+ c = new EGCourbeChild(gr);
+ m.setTitle("toto vert");
+ c.setAspectContour(Color.green);
+ c.setModel(m);
+ gr.addEGComponent(c);
+ grapheModel.add(gr);
+ final JFrame f = new JFrame();
+ f.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
+ f.setSize(new Dimension(1024,768));
+ final BuPanel p = new BuPanel();
+ p.setLayout(new BuBorderLayout());
- g.setPreferredSize(new Dimension(200, 300));
- g.setSize(g.getPreferredSize());
- final JTree t = new JTree(grapheModel);
- t.setSelectionModel(grapheModel.getSelectionModel());
- t.setRootVisible(false);
- p.add(new BuScrollPane(t), BuBorderLayout.EAST);
- p.doLayout();
- f.setContentPane(p);
- final EGFillePanel pn = new EGFillePanel(g);
+ g.setPreferredSize(new Dimension(200, 300));
+ g.setSize(g.getPreferredSize());
+ final JTree t = new JTree(grapheModel);
+ t.setSelectionModel(grapheModel.getSelectionModel());
+ t.setRootVisible(false);
+ p.add(new BuScrollPane(t), BuBorderLayout.EAST);
+ p.doLayout();
+ f.setContentPane(p);
+ final EGFillePanel pn = new EGFillePanel(g);
+ final GraphScene scene = new GraphScene() {
+ LayerWidget visu;
- p.add(pn, BuBorderLayout.CENTER);
- final JMenu menu = new JMenu();
- menu.setName("essai");
- menu.setText("essai");
- pn.fillSpecificMenu(menu);
- final JMenuBar b = new JMenuBar();
- b.add(menu);
- f.setJMenuBar(b);
- f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+ {
+ visu = new LayerWidget(this);
+ addChild(visu);
+ }
- f.pack();
- f.show();
- g.computeMarges();
- g.fullRepaint();
+ @Override
+ protected Widget attachNodeWidget(Object arg0) {
+ final EGGraphe courbe = (EGGraphe) arg0;
+ final Widget graphe = new Widget(this) {
+ public void notifyStateChanged(ObjectState previousState,
+ ObjectState newState) {
+ LookFeel lookFeel = getScene().getLookFeel();
+ // setBorder(lookFeel.getBorder(newState));
+ // setForeground(lookFeel.getForeground(newState));
+ setBorder(lookFeel.getBorder(newState));
+ // setBorder(newState.isSelected() ?
+ // (DEFAULT_SELECTED_BORDER) :
+ // (newState.isHovered() ? RESIZE_BORDER
+ // : DEFAULT_BORDER));
- }
+ }
+
+ @Override
+ protected void paintWidget() {
+ Rectangle rec = getClientArea();
+
+ // BufferedImage image = courbe.produceImage(
+ // rec.width - 1, rec.height - 1,
+ // Collections.EMPTY_MAP);
+ getGraphics().translate(rec.x, rec.y);
+ courbe.setSize(rec.width - 1,
+ rec.height - 1);
+ courbe.computeMarges(getGraphics());
+ courbe.dessine(getGraphics(), rec.width - 1,
+ rec.height - 1, false );
+ }
+ // }
+ };
+ courbe.getModel().addModelListener(new EGGrapheModelListener() {
+
+ public void structureChanged() {
+ repaint();
+
+ }
+
+ public void courbeContentChanged(EGObject _c, boolean restore) {
+ repaint();
+
+ }
+
+ public void courbeAspectChanged(EGObject _c, boolean _visibil) {
+ graphe.paint();
+ paint();
+ // TODO Auto-generated method stub
+
+ }
+
+ public void axeContentChanged(EGAxe _c) {
+ repaint();
+
+ }
+
+ public void axeAspectChanged(EGAxe _c) {
+ repaint();
+
+ }
+ });
+ graphe.setPreferredSize(new Dimension(100, 100));
+ visu.addChild(graphe);
+
+
+// //creation d un label widget
+// LabelWidget labelWidget=new LabelWidget(this, "test") {
+// public void notifyStateChanged(ObjectState previousState,
+// ObjectState newState) {
+// LookFeel lookFeel = getScene().getLookFeel();
+// // setBorder(lookFeel.getBorder(newState));
+// // setForeground(lookFeel.getForeground(newState));
+//
+// setBorder(lookFeel.getBorder(newState));
+// // recuperation du rectangle contour
+// Rectangle rec = getClientArea();
+// //setFont(new Font("Times New Roman", Font.PLAIN,rec.width ));
+// repaint();
+//
+// // setBorder(newState.isSelected() ?
+// // (DEFAULT_SELECTED_BORDER) :
+// // (newState.isHovered() ? RESIZE_BORDER
+// // : DEFAULT_BORDER));
+//
+// }
+//
+//
+//
+//
+//
+//
+//
+// };
+//
+//
+// //marche pas il faut un container jscrollpane
+// //graphe.getActions().addAction(ActionFactory.createCenteredZoomAction (500));
+//
+//
+// labelWidget.getActions().addAction(ActionFactory.createResizeAction());
+// labelWidget.getActions().addAction(ActionFactory.createMoveAction());
+// labelWidget.getActions().addAction(this.createWidgetHoverAction());
+// //zoom de la scene en maintenant ctrl + molette
+// labelWidget.getActions().addAction(ActionFactory.createZoomAction());
+//
+//
+// //
+// labelWidget.getActions().addAction(ActionFactory.createPanAction());
+//
+// //-- ajout du labelWidget dans le visuel --//
+// visu.addChild(labelWidget);
+//
+//
+// //creation d un image widget
+ ImageWidget imageWidget=new ImageWidget (this,CtuluResource.CTULU.getImage("crystal_oui")){
+ public void notifyStateChanged(ObjectState previousState,
+ ObjectState newState) {
+ LookFeel lookFeel = getScene().getLookFeel();
+ // setBorder(lookFeel.getBorder(newState));
+ // setForeground(lookFeel.getForeground(newState));
+
+ setBorder(lookFeel.getBorder(newState));
+ // setBorder(newState.isSelected() ?
+ // (DEFAULT_SELECTED_BORDER) :
+ // (newState.isHovered() ? RESIZE_BORDER
+ // : DEFAULT_BORDER));
+ repaint();
+
+ }
+
+ //-- redessinne la l\xE9gende
+ protected void paintWidget() {
+
+ // recuperation du rectangle contour
+ Rectangle rec = getClientArea();
+ Graphics2D g=getGraphics();
+
+ g.translate(rec.x, rec.y);
+
+
+ //dimension du cadre de la l\xE9gende //
+ int widthCadre=rec.width;
+ int heightCadre=rec.height;
+
+ //cas initial: dessin vide
+ if(widthCadre==0)
+ widthCadre=10;
+ if(heightCadre==0)
+ heightCadre=10;
+
+
+ g.fillRect(rec.x, rec.y,widthCadre - 1, heightCadre - 1);
+ //courbe.setSize(rec.width - 1,rec.height - 1);
+ //courbe.computeMarges(getGraphics());
+ //courbe.dessine(getGraphics(), rec.width - 1,rec.height - 1, false );
+
+
+ }
+
+ };
+
+
+ WidgetLegendeManager.createWidgetLegendeGraphe(this, visu, courbe, graphe.getClientArea());
+
+
+ //ajout des resize et drag
+ imageWidget.getActions().addAction( ActionFactory.createResizeAction());
+ imageWidget.getActions().addAction(ActionFactory.createMoveAction());
+ imageWidget.getActions().addAction(this.createWidgetHoverAction());
+ //ajout du label widget
+ visu.addChild (imageWidget);
+
+
+ //test avec iconwidget
+ IconNodeWidget iconNode = new IconNodeWidget (this);
+ iconNode.setImage (CtuluResource.CTULU.getImage("crystal_non"));
+ iconNode.setLabel ("MyIconNode");
+ this.addChild (iconNode);
+ this.getActions ().addAction (ActionFactory.createCenteredZoomAction (1.1));
+ this.getActions ().addAction (ActionFactory.createPanAction ());
+ // assign HoverAction - the actual hovered widget is held by the scene
+ iconNode.getActions ().addAction (this.createWidgetHoverAction ());
+ // MoveAction has to be after the hover action
+ // otherwise MoveAction will always consume the event and HoverAction will never be invoked
+ iconNode.getActions ().addAction (ActionFactory.createMoveAction ());
+
+
+ // proprietes graphes
+ graphe.getActions().addAction(
+ ActionFactory.createResizeAction());
+ graphe.getActions().addAction(ActionFactory.createMoveAction());
+ graphe.getActions().addAction(this.createWidgetHoverAction());
+ return graphe;
+ }
+
+ @Override
+ protected Widget attachEdgeWidget(Object arg0) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ protected void attachEdgeTargetAnchor(Object arg0, Object arg1,
+ Object arg2) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ protected void attachEdgeSourceAnchor(Object arg0, Object arg1,
+ Object arg2) {
+ // TODO Auto-generated method stub
+
+ }
+ };
+
+
+
+
+
+
+ // debut
+ // scene.addNode(g);
+ scene.addNode(g);
+ // fin
+ p.add(new JScrollPane(scene.createView()), BuBorderLayout.CENTER);
+ final JMenu menu = new JMenu();
+ menu.setName("essai");
+ menu.setText("essai");
+ pn.fillSpecificMenu(menu);
+ final JMenuBar b = new JMenuBar();
+ b.add(menu);
+ f.setJMenuBar(b);
+ f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+
+ //f.pack();
+ f.show();
+ scene.setFont(CtuluLibSwing.getMiniFont());
+ g.computeMarges(scene.getGraphics());
+ g.fullRepaint();
+
+ }
}
\ 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: <had...@us...> - 2008-08-04 12:24:20
|
Revision: 3705
http://fudaa.svn.sourceforge.net/fudaa/?rev=3705&view=rev
Author: hadouxad
Date: 2008-08-04 12:24:25 +0000 (Mon, 04 Aug 2008)
Log Message:
-----------
AFFECT?\195?\137 - # 40: L?\195?\169gende pour les courbe 1d
http://mantis.genesis-groupe.com//view.php?id=40
R?\195?\137SOLU - # 16: Test
http://mantis.genesis-groupe.com//view.php?id=16
Modified Paths:
--------------
trunk/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueAffichageDonneesAbstract.java
trunk/fudaa_devel/ebli/src/org/fudaa/ebli/courbe/EGGraphe.java
trunk/fudaa_devel/ebli/src/org/fudaa/ebli/courbe/EGGrapheModelListener.java
trunk/fudaa_devel/ebli/src/org/fudaa/ebli/courbe/EGRepere.java
Modified: trunk/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueAffichageDonneesAbstract.java
===================================================================
--- trunk/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueAffichageDonneesAbstract.java 2008-08-04 12:21:24 UTC (rev 3704)
+++ trunk/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueAffichageDonneesAbstract.java 2008-08-04 12:24:25 UTC (rev 3705)
@@ -391,7 +391,7 @@
RenderingHints old = null;
if (isRapide()) {
old = graphics2D.getRenderingHints();
- final RenderingHints newRenderer = new RenderingHints(old);
+ final RenderingHints newRenderer = (RenderingHints)old.clone();
newRenderer.put(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_OFF);
newRenderer.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF);
newRenderer.put(RenderingHints.KEY_ALPHA_INTERPOLATION, RenderingHints.VALUE_ALPHA_INTERPOLATION_SPEED);
@@ -403,7 +403,7 @@
graphics2D.setRenderingHints(newRenderer);
} else if (isAntialiasSupported() && antialiasing_) {
old = graphics2D.getRenderingHints();
- final RenderingHints newRenderer = new RenderingHints(old);
+ final RenderingHints newRenderer = (RenderingHints)old.clone();
newRenderer.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
newRenderer.put(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
graphics2D.setRenderingHints(newRenderer);
Modified: trunk/fudaa_devel/ebli/src/org/fudaa/ebli/courbe/EGGraphe.java
===================================================================
--- trunk/fudaa_devel/ebli/src/org/fudaa/ebli/courbe/EGGraphe.java 2008-08-04 12:21:24 UTC (rev 3704)
+++ trunk/fudaa_devel/ebli/src/org/fudaa/ebli/courbe/EGGraphe.java 2008-08-04 12:24:25 UTC (rev 3705)
@@ -247,9 +247,12 @@
}
public void componentShown(final ComponentEvent _e) {}
+
+ public EGMarges computeMarges() {
+ return computeMarges((Graphics2D) getGraphics());
+ }
- public EGMarges computeMarges() {
- final Graphics2D gr = (Graphics2D) getGraphics();
+ public EGMarges computeMarges(Graphics2D gr) {
final EGMarges m = new EGMarges();
final EGAxeHorizontal xaxe = transformer_.getXAxe();
if (xaxe == null) {
@@ -331,7 +334,7 @@
structureChanged(_mustRestore);
}
- private void dessine(final Graphics _g, final int _w, final int _h, final boolean _fill) {
+ public void dessine(final Graphics _g, final int _w, final int _h, final boolean _fill) {
if (!isVisible()) {
return;
}
@@ -350,7 +353,7 @@
g2d.setColor(Color.black);
final EGGrapheModel model = getModel();
final int nbElement = model.getNbEGObject();
- transformer_.initFor(this);
+ transformer_.initFor(this,g2d);
// dessine axe horizontal
final Shape oldClip = g2d.getClip();
// g2d.clip(new Rectangle(xMarge, yMarge, wMarge, hMarge));
Modified: trunk/fudaa_devel/ebli/src/org/fudaa/ebli/courbe/EGGrapheModelListener.java
===================================================================
--- trunk/fudaa_devel/ebli/src/org/fudaa/ebli/courbe/EGGrapheModelListener.java 2008-08-04 12:21:24 UTC (rev 3704)
+++ trunk/fudaa_devel/ebli/src/org/fudaa/ebli/courbe/EGGrapheModelListener.java 2008-08-04 12:24:25 UTC (rev 3705)
@@ -19,7 +19,7 @@
public interface EGGrapheModelListener extends EventListener{
/**
- * Envoye si l'organisation des courbes a ete modifiee.
+ * Envoye si l'organisation des courbes a \xE9t\xE9 modifiee.
*/
void structureChanged();
Modified: trunk/fudaa_devel/ebli/src/org/fudaa/ebli/courbe/EGRepere.java
===================================================================
--- trunk/fudaa_devel/ebli/src/org/fudaa/ebli/courbe/EGRepere.java 2008-08-04 12:21:24 UTC (rev 3704)
+++ trunk/fudaa_devel/ebli/src/org/fudaa/ebli/courbe/EGRepere.java 2008-08-04 12:24:25 UTC (rev 3705)
@@ -7,6 +7,7 @@
*/
package org.fudaa.ebli.courbe;
+import java.awt.Graphics2D;
import java.awt.geom.Point2D;
/**
@@ -38,10 +39,10 @@
return marges_.getBas();
}
- public void initFor(final EGGraphe _g){
+ public void initFor(final EGGraphe _g,Graphics2D g2d){
w_ = _g.getWidth();
h_ = _g.getHeight();
- marges_ = _g.computeMarges();
+ marges_ = _g.computeMarges(g2d);
marges_.ajouteEmptyBorder(3);
xAxe_=_g.getModel().getAxeX();
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <had...@us...> - 2008-08-04 12:21:15
|
Revision: 3704
http://fudaa.svn.sourceforge.net/fudaa/?rev=3704&view=rev
Author: hadouxad
Date: 2008-08-04 12:21:24 +0000 (Mon, 04 Aug 2008)
Log Message:
-----------
Added Paths:
-----------
branches/Prepro-0.92-SNAPSHOT/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <had...@us...> - 2008-08-04 08:44:15
|
Revision: 3703
http://fudaa.svn.sourceforge.net/fudaa/?rev=3703&view=rev
Author: hadouxad
Date: 2008-08-04 08:44:21 +0000 (Mon, 04 Aug 2008)
Log Message:
-----------
Fudaa-Prepro avant projet Post
Added Paths:
-----------
tags/Prepro-0.91/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <had...@us...> - 2008-07-29 22:04:13
|
Revision: 3702
http://fudaa.svn.sourceforge.net/fudaa/?rev=3702&view=rev
Author: hadouxad
Date: 2008-07-29 22:04:21 +0000 (Tue, 29 Jul 2008)
Log Message:
-----------
R?\195?\137SOLU - # 16: Test
http://mantis.genesis-groupe.com//view.php?id=16
Modified Paths:
--------------
trunk/fudaa_devel/ebli/.classpath.defaults
Modified: trunk/fudaa_devel/ebli/.classpath.defaults
===================================================================
--- trunk/fudaa_devel/ebli/.classpath.defaults 2008-07-29 21:29:17 UTC (rev 3701)
+++ trunk/fudaa_devel/ebli/.classpath.defaults 2008-07-29 22:04:21 UTC (rev 3702)
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
+
<classpathentry exported="true" kind="src" path="/ctulu"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="test"/>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <had...@us...> - 2008-07-29 21:29:11
|
Revision: 3701
http://fudaa.svn.sourceforge.net/fudaa/?rev=3701&view=rev
Author: hadouxad
Date: 2008-07-29 21:29:17 +0000 (Tue, 29 Jul 2008)
Log Message:
-----------
Test genesis
Modified Paths:
--------------
trunk/fudaa_devel/ctulu/.classpath.defaults
Modified: trunk/fudaa_devel/ctulu/.classpath.defaults
===================================================================
--- trunk/fudaa_devel/ctulu/.classpath.defaults 2008-07-18 14:02:51 UTC (rev 3700)
+++ trunk/fudaa_devel/ctulu/.classpath.defaults 2008-07-29 21:29:17 UTC (rev 3701)
@@ -16,22 +16,13 @@
<classpathentry exported="true" kind="lib" path="lib/liquidlnf.jar"/>
<classpathentry exported="true" kind="lib" path="lib/db4o.jar" sourcepath="lib/db4o.src.zip"/>
<classpathentry exported="true" kind="var" path="JRE_LIB" sourcepath="JRE_SRC">
- <attributes>
- <attribute name="javadoc_location" value="file:/C:/java/j2sdk-1_4_2-doc/docs/api"/>
- </attributes>
<accessrules>
<accessrule kind="nonaccessible" pattern="ibm/**,apache/**"/>
</accessrules>
+
</classpathentry>
<classpathentry exported="true" kind="lib" path="lib/jep.jar" sourcepath="lib/jep.src.zip"/>
<classpathentry exported="true" kind="lib" path="lib/fgis.jar" sourcepath="lib/fgis.src.jar"/>
- <classpathentry exported="true" kind="lib" path="C:/java/JAI 1.1.3/lib/jai_codec.jar"/>
- <classpathentry exported="true" kind="lib" path="C:/java/JAI 1.1.3/lib/jai_core.jar">
- <attributes>
- <attribute name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY" value="C:/java/JAI 1.1.3/lib/dll"/>
- </attributes>
- </classpathentry>
- <classpathentry exported="true" kind="lib" path="C:/java/JAI 1.1.3/lib/mlibwrapper_jai.jar"/>
<classpathentry exported="true" kind="lib" path="lib/jfreechart.jar"/>
<classpathentry exported="true" kind="lib" path="lib/jcommon.jar"/>
<classpathentry kind="output" path="build/classes"/>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2008-07-18 14:02:42
|
Revision: 3700
http://fudaa.svn.sourceforge.net/fudaa/?rev=3700&view=rev
Author: bmarchan
Date: 2008-07-18 14:02:51 +0000 (Fri, 18 Jul 2008)
Log Message:
-----------
Created tag FudaaModeleur_0_05.
Added Paths:
-----------
tags/FudaaModeleur_0_05/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jm_...@us...> - 2008-07-18 13:45:38
|
Revision: 3699
http://fudaa.svn.sourceforge.net/fudaa/?rev=3699&view=rev
Author: jm_lacombe
Date: 2008-07-18 13:45:46 +0000 (Fri, 18 Jul 2008)
Log Message:
-----------
Guide utilisateur fudaa-mascaret 3.0
Modified Paths:
--------------
trunk/fudaa_devel/aide/src/mascaret/GuidePriseEnMainFudaaMascaret.pdf
Added Paths:
-----------
trunk/fudaa_devel/aide/src/mascaret/guidepriseenmainmascaret-version3_0.odt
Property changes on: trunk/fudaa_devel/aide/src/mascaret/guidepriseenmainmascaret-version3_0.odt
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2008-07-18 08:27:36
|
Revision: 3698
http://fudaa.svn.sourceforge.net/fudaa/?rev=3698&view=rev
Author: bmarchan
Date: 2008-07-18 08:27:43 +0000 (Fri, 18 Jul 2008)
Log Message:
-----------
Chgt du nom du calque par d?\195?\169faut + conforme au cdc.
Modified Paths:
--------------
branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dDirectionLine.java
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dDirectionLine.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dDirectionLine.java 2008-07-18 07:32:53 UTC (rev 3697)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dDirectionLine.java 2008-07-18 08:27:43 UTC (rev 3698)
@@ -36,7 +36,7 @@
setLineModelOuvert(getLineModel(0));
// _model.addListener(this); A implementer.
setName(getExtName());
- setTitle(MdlResource.MDL.getString("Lignes de direction"));
+ setTitle(MdlResource.MDL.getString("Lignes directrices"));
}
public MdlLayer2dDirectionLine(FSigEditor _editor) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2008-07-18 07:32:46
|
Revision: 3697
http://fudaa.svn.sourceforge.net/fudaa/?rev=3697&view=rev
Author: bmarchan
Date: 2008-07-18 07:32:53 +0000 (Fri, 18 Jul 2008)
Log Message:
-----------
Correctif #41 : Taille des entr?\195?\169es de texte augment?\195?\169e dans le panneau de translation/rotation + correction pour dz toujours actif
Modified Paths:
--------------
branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/SceneDeplacementAction.java
branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/SceneRotationAction.java
branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteDeplacement.java
branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteRotation.java
branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueDeplacement.java
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/SceneDeplacementAction.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/SceneDeplacementAction.java 2008-07-18 07:32:10 UTC (rev 3696)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/SceneDeplacementAction.java 2008-07-18 07:32:53 UTC (rev 3697)
@@ -1,93 +1,87 @@
-/*
- * @creation 1 avr. 2005
- * @modification $Date: 2008-05-13 12:10:47 $
- * @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.action;
-
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-
-import javax.swing.tree.TreeSelectionModel;
-
-import org.fudaa.ebli.calque.ZScene;
-import org.fudaa.ebli.calque.edition.BPaletteDeplacement;
-import org.fudaa.ebli.calque.edition.BPaletteEdition;
-import org.fudaa.ebli.calque.edition.ZCalqueDeplacement;
-import org.fudaa.ebli.calque.edition.ZCalqueEditable;
-import org.fudaa.ebli.calque.edition.ZEditorInterface;
-import org.fudaa.ebli.calque.edition.BPaletteRotation;
-import org.fudaa.ebli.calque.edition.ZSceneEditor;
-import org.fudaa.ebli.commun.BPalettePanelInterface;
-import org.fudaa.ebli.commun.EbliActionPaletteTreeModel;
-import org.fudaa.ebli.commun.EbliFormatterInterface;
-import org.fudaa.ebli.ressource.EbliResource;
-
-import com.memoire.fu.FuLog;
-
-/**
- * Une action pour faire une rotation d'objets GIS, reagissant au changement de calque selectionn\xE9.
- * @author Fred Deniger
- * @version $Id: SceneDeplacementAction.java,v 1.1.2.1 2008-05-13 12:10:47 bmarchan Exp $
- */
-public class SceneDeplacementAction extends EbliActionPaletteTreeModel implements PropertyChangeListener {
-
- ZSceneEditor sceneEditor_;
- EbliFormatterInterface formatter_;
- ZCalqueDeplacement cqDep_;
-
- /**
- * @param _m l'arbre des calques
- */
- public SceneDeplacementAction(final TreeSelectionModel _m, final ZSceneEditor _sceneEditor, EbliFormatterInterface _formatter, ZCalqueDeplacement _cqDep) {
- super(EbliResource.EBLI.getString("D\xE9placer des objets"), EbliResource.EBLI.getToolIcon("draw-move"), "GLOBAL_MOVE", _m);
- formatter_=_formatter;
- cqDep_=_cqDep;
- setSceneEditor(_sceneEditor);
- setEnabled(isTargetValid(null));
- cqDep_.addPropertyChangeListener(this);
- }
- /**
- * @param _editor l'editeur
- */
- private void setSceneEditor(final ZSceneEditor _sceneEditor) {
- sceneEditor_ = _sceneEditor;
- }
-
- protected boolean isTargetValid(final Object _o) {
- return (sceneEditor_!=null && (!sceneEditor_.getScene().isRestrictedToCalqueActif() || sceneEditor_.getScene().isCalqueActifEditable()));
- }
-
- public void changeAction(){
- cqDep_.setGele(!super.isSelected());
- super.changeAction();
- }
-
- /**
- * Le calque target, c'est \xE0 dire le calque actif.
- */
- protected void setTarget(final Object _o) {
- setDisableWhenHide_ = !isTargetValid(null);
- if (palette_!=null) palette_.setPalettePanelTarget(_o);
- }
-
- public void updateBeforeShow() {
- if (palette_!=null) ((BPaletteDeplacement)palette_).updateState();
- }
-
- protected BPalettePanelInterface buildPaletteContent() {
- BPaletteDeplacement pal=new BPaletteDeplacement(sceneEditor_,formatter_);
- pal.setCalqueDeplacement(cqDep_);
- return pal;
- }
-
- public void propertyChange(final PropertyChangeEvent _evt){
-// changeAction();
- if (isSelected() == cqDep_.isGele()) {
- super.setSelected(!cqDep_.isGele());
- }
-// super.changeAction();
- }
-}
+/*
+ * @creation 1 avr. 2005
+ * @modification $Date: 2008-05-13 12:10:47 $
+ * @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.action;
+
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+
+import javax.swing.tree.TreeSelectionModel;
+
+import org.fudaa.ebli.calque.ZScene;
+import org.fudaa.ebli.calque.edition.BPaletteDeplacement;
+import org.fudaa.ebli.calque.edition.BPaletteEdition;
+import org.fudaa.ebli.calque.edition.ZCalqueDeplacement;
+import org.fudaa.ebli.calque.edition.ZCalqueEditable;
+import org.fudaa.ebli.calque.edition.ZEditorInterface;
+import org.fudaa.ebli.calque.edition.BPaletteRotation;
+import org.fudaa.ebli.calque.edition.ZSceneEditor;
+import org.fudaa.ebli.commun.BPalettePanelInterface;
+import org.fudaa.ebli.commun.EbliActionPaletteTreeModel;
+import org.fudaa.ebli.commun.EbliFormatterInterface;
+import org.fudaa.ebli.ressource.EbliResource;
+
+import com.memoire.fu.FuLog;
+
+/**
+ * Une action pour faire une rotation d'objets GIS, reagissant au changement de calque selectionn\xE9.
+ * @author Fred Deniger
+ * @version $Id: SceneDeplacementAction.java,v 1.1.2.1 2008-05-13 12:10:47 bmarchan Exp $
+ */
+public class SceneDeplacementAction extends EbliActionPaletteTreeModel implements PropertyChangeListener {
+
+ ZSceneEditor sceneEditor_;
+ EbliFormatterInterface formatter_;
+ ZCalqueDeplacement cqDep_;
+
+ /**
+ * @param _m l'arbre des calques
+ */
+ public SceneDeplacementAction(final TreeSelectionModel _m, final ZSceneEditor _sceneEditor, EbliFormatterInterface _formatter, ZCalqueDeplacement _cqDep) {
+ super(EbliResource.EBLI.getString("D\xE9placer des objets"), EbliResource.EBLI.getToolIcon("draw-move"), "GLOBAL_MOVE", _m);
+ formatter_=_formatter;
+ cqDep_=_cqDep;
+ setSceneEditor(_sceneEditor);
+ setEnabled(isTargetValid(null));
+ cqDep_.addPropertyChangeListener(this);
+ }
+ /**
+ * @param _editor l'editeur
+ */
+ private void setSceneEditor(final ZSceneEditor _sceneEditor) {
+ sceneEditor_ = _sceneEditor;
+ }
+
+ protected boolean isTargetValid(final Object _o) {
+ // On n'utilise pas le calque actif de la scene (probablement pas encore initialis\xE9), mais l'objet pass\xE9.
+ return (sceneEditor_!=null && (!sceneEditor_.getScene().isRestrictedToCalqueActif() || _o instanceof ZCalqueEditable/*sceneEditor_.getScene().isCalqueActifEditable()*/));
+ }
+
+ public void changeAction(){
+ cqDep_.setGele(!super.isSelected());
+ super.changeAction();
+ }
+
+
+ public void updateBeforeShow() {
+ if (palette_!=null) ((BPaletteDeplacement)palette_).updateState();
+ }
+
+ protected BPalettePanelInterface buildPaletteContent() {
+ BPaletteDeplacement pal=new BPaletteDeplacement(sceneEditor_,formatter_);
+ pal.setCalqueDeplacement(cqDep_);
+ return pal;
+ }
+
+ public void propertyChange(final PropertyChangeEvent _evt){
+// changeAction();
+ if (isSelected() == cqDep_.isGele()) {
+ super.setSelected(!cqDep_.isGele());
+ }
+// super.changeAction();
+ }
+}
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/SceneRotationAction.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/SceneRotationAction.java 2008-07-18 07:32:10 UTC (rev 3696)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/SceneRotationAction.java 2008-07-18 07:32:53 UTC (rev 3697)
@@ -1,70 +1,64 @@
-/*
- * @creation 1 avr. 2005
- * @modification $Date: 2008-05-13 12:10:45 $
- * @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.action;
-
-import javax.swing.tree.TreeSelectionModel;
-
-import org.fudaa.ebli.calque.ZScene;
-import org.fudaa.ebli.calque.edition.BPaletteEdition;
-import org.fudaa.ebli.calque.edition.ZCalqueEditable;
-import org.fudaa.ebli.calque.edition.ZEditorInterface;
-import org.fudaa.ebli.calque.edition.BPaletteRotation;
-import org.fudaa.ebli.calque.edition.ZSceneEditor;
-import org.fudaa.ebli.commun.BPalettePanelInterface;
-import org.fudaa.ebli.commun.EbliActionPaletteTreeModel;
-import org.fudaa.ebli.commun.EbliFormatterInterface;
-import org.fudaa.ebli.ressource.EbliResource;
-
-import com.memoire.fu.FuLog;
-
-/**
- * Une action pour faire une rotation d'objets GIS, reagissant au changement de calque selectionn\xE9.
- * @author Fred Deniger
- * @version $Id: SceneRotationAction.java,v 1.1.2.1 2008-05-13 12:10:45 bmarchan Exp $
- */
-public class SceneRotationAction extends EbliActionPaletteTreeModel {
-
- ZSceneEditor sceneEditor_;
- EbliFormatterInterface formatter_;
-
- /**
- * @param _m l'arbre des calques
- */
- public SceneRotationAction(final TreeSelectionModel _m, final ZEditorInterface _editor, ZSceneEditor _sceneEditor, EbliFormatterInterface _formatter) {
- super(EbliResource.EBLI.getString("Rotation des objets"), EbliResource.EBLI.getToolIcon("draw-rotation"), "GLOBAL_ROTATE", _m);
- formatter_=_formatter;
- setSceneEditor(_sceneEditor);
- setEnabled(isTargetValid(null));
- }
- /**
- * @param _editor l'editeur
- */
- private void setSceneEditor(final ZSceneEditor _sceneEditor) {
- sceneEditor_ = _sceneEditor;
- }
-
- protected boolean isTargetValid(final Object _o) {
- return (sceneEditor_!=null && (!sceneEditor_.getScene().isRestrictedToCalqueActif() || sceneEditor_.getScene().isCalqueActifEditable()));
- }
-
- /**
- * Le calque target, c'est \xE0 dire le calque actif.
- */
- protected void setTarget(final Object _o) {
- setDisableWhenHide_ = !isTargetValid(null);
- if (palette_!=null) palette_.setPalettePanelTarget(_o);
- }
-
- public void updateBeforeShow() {
- if (palette_!=null) ((BPaletteRotation)palette_).updateForSelectionChanged();
- }
-
- protected BPalettePanelInterface buildPaletteContent() {
- return new BPaletteRotation(sceneEditor_,formatter_);
- }
-}
+/*
+ * @creation 1 avr. 2005
+ * @modification $Date: 2008-05-13 12:10:45 $
+ * @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.action;
+
+import javax.swing.tree.TreeSelectionModel;
+
+import org.fudaa.ebli.calque.ZScene;
+import org.fudaa.ebli.calque.edition.BPaletteEdition;
+import org.fudaa.ebli.calque.edition.ZCalqueEditable;
+import org.fudaa.ebli.calque.edition.ZEditorInterface;
+import org.fudaa.ebli.calque.edition.BPaletteRotation;
+import org.fudaa.ebli.calque.edition.ZSceneEditor;
+import org.fudaa.ebli.commun.BPalettePanelInterface;
+import org.fudaa.ebli.commun.EbliActionPaletteTreeModel;
+import org.fudaa.ebli.commun.EbliFormatterInterface;
+import org.fudaa.ebli.ressource.EbliResource;
+
+import com.memoire.fu.FuLog;
+
+/**
+ * Une action pour faire une rotation d'objets GIS, reagissant au changement de calque selectionn\xE9.
+ * @author Fred Deniger
+ * @version $Id: SceneRotationAction.java,v 1.1.2.1 2008-05-13 12:10:45 bmarchan Exp $
+ */
+public class SceneRotationAction extends EbliActionPaletteTreeModel {
+
+ ZSceneEditor sceneEditor_;
+ EbliFormatterInterface formatter_;
+
+ /**
+ * @param _m l'arbre des calques
+ */
+ public SceneRotationAction(final TreeSelectionModel _m, final ZEditorInterface _editor, ZSceneEditor _sceneEditor, EbliFormatterInterface _formatter) {
+ super(EbliResource.EBLI.getString("Rotation des objets"), EbliResource.EBLI.getToolIcon("draw-rotation"), "GLOBAL_ROTATE", _m);
+ formatter_=_formatter;
+ setSceneEditor(_sceneEditor);
+ setEnabled(isTargetValid(null));
+ }
+ /**
+ * @param _editor l'editeur
+ */
+ private void setSceneEditor(final ZSceneEditor _sceneEditor) {
+ sceneEditor_ = _sceneEditor;
+ }
+
+ protected boolean isTargetValid(final Object _o) {
+ // On n'utilise pas le calque actif de la scene (probablement pas encore initialis\xE9), mais l'objet pass\xE9.
+ return (sceneEditor_!=null && (!sceneEditor_.getScene().isRestrictedToCalqueActif() || _o instanceof ZCalqueEditable/*sceneEditor_.getScene().isCalqueActifEditable()*/));
+ }
+
+
+ public void updateBeforeShow() {
+ if (palette_!=null) ((BPaletteRotation)palette_).updateForSelectionChanged();
+ }
+
+ protected BPalettePanelInterface buildPaletteContent() {
+ return new BPaletteRotation(sceneEditor_,formatter_);
+ }
+}
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteDeplacement.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteDeplacement.java 2008-07-18 07:32:10 UTC (rev 3696)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteDeplacement.java 2008-07-18 07:32:53 UTC (rev 3697)
@@ -1,190 +1,184 @@
-/*
- * @creation 5 avr. 2005
- * @modification $Date: 2008-05-13 12:10:31 $
- * @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.edition;
-
-import java.awt.BorderLayout;
-import java.awt.Dimension;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.util.Arrays;
-
-import javax.swing.JButton;
-import javax.swing.JComponent;
-import javax.swing.JPanel;
-
-import com.memoire.bu.BuGridLayout;
-import com.memoire.bu.BuLabel;
-import com.memoire.bu.BuPanel;
-import com.memoire.bu.BuResource;
-import com.memoire.bu.BuTextField;
-import com.memoire.bu.BuToolButton;
-import com.memoire.fu.FuLog;
-
-import org.fudaa.ctulu.CtuluLibString;
-import org.fudaa.ctulu.gis.GISAttributeInterface;
-
-import org.fudaa.ebli.calque.ZSelectionEvent;
-import org.fudaa.ebli.calque.ZSelectionListener;
-import org.fudaa.ebli.commun.BPalettePanelInterface;
-import org.fudaa.ebli.commun.EbliFormatterInterface;
-
-/**
- * Un panneau pour saisir les coordonn\xE9es de d\xE9placement d'objets GIS.
- * Ce panneau est int\xE9gr\xE9 dans la palette des outils lorsque l'outil "d\xE9placement" est s\xE9lectionn\xE9.
- *
- * @author Fred Deniger
- * @version $Id: BPaletteDeplacement.java,v 1.1.2.1 2008-05-13 12:10:31 bmarchan Exp $
- */
-public class BPaletteDeplacement extends JPanel implements BPalettePanelInterface, ZSelectionListener,
- ZCalqueDeplacement.SpecPanel, ActionListener {
-
- JButton btApply_;
-
- ZCalqueDeplacement deplacement_;
- private ZSceneEditor sceneEditor_;
- EbliFormatterInterface formatter_;
-
- BuTextField tfDx_;
- BuTextField tfDy_;
- BuTextField tfDz_;
- BuLabel lbDz_;
- boolean bZ_=false;
-
- /**
- * @param _deplacement le calque de deplacement
- * @param _formatter
- */
- public BPaletteDeplacement(ZSceneEditor _sceneEditor, EbliFormatterInterface _formatter) {
- super();
-
-// deplacement_ = _deplacement;
-// deplacement_.specPanel_ = this;
-
- formatter_ = _formatter;
- sceneEditor_=_sceneEditor;
-
- tfDx_ = BuTextField.createDoubleField();
- tfDx_.setSize(new Dimension(50,tfDx_.getPreferredSize().height));
- tfDx_.setValue(new Double(0));
- tfDy_ = BuTextField.createDoubleField();
- tfDy_.setValue(new Double(0));
- tfDz_ = BuTextField.createDoubleField();
- tfDz_.setValue(new Double(0));
- lbDz_=new BuLabel("dz:");
-
- btApply_ = new BuToolButton(BuResource.BU.getToolIcon("appliquer"));
- btApply_.addActionListener(this);
-
- BuPanel pnMain=new BuPanel();
- pnMain.setLayout(new BuGridLayout(2,2,2));
- pnMain.add(new BuLabel("dx:"));
- pnMain.add(tfDx_);
- pnMain.add(new BuLabel("dy:"));
- pnMain.add(tfDy_);
- pnMain.add(lbDz_);
- pnMain.add(tfDz_);
-
- BuPanel pnButtons=new BuPanel();
- pnButtons.setLayout(new BorderLayout(5,5));
- pnButtons.add(btApply_,BorderLayout.SOUTH);
-
- setLayout(new BorderLayout(5,5));
- add(pnMain,BorderLayout.CENTER);
- add(pnButtons,BorderLayout.EAST);
-
- setName("pnMove");
-
- sceneEditor_.getScene().addSelectionListener(this);
- }
-
- public void actionPerformed(final ActionEvent _e){
- if (btApply_.isEnabled() && btApply_ == _e.getSource()) {
- Double dx = (Double) tfDx_.getValue();
- Double dy = (Double) tfDy_.getValue();
- Double dz=new Double(0);
- if (tfDz_.isEnabled()) dz=(Double) tfDz_.getValue();
- if (dx != null && dy != null && dz!=null) {
- deplacement_.manualMove(dx.doubleValue(), dy.doubleValue(), dz.doubleValue());
- }
-
- }
- }
-
- public void setCalqueDeplacement(ZCalqueDeplacement _dep) {
- deplacement_=_dep;
- deplacement_.specPanel_ = this;
- }
-// public void close(){
-// if (FuLog.isTrace()) {
-// FuLog.trace("EBL: " + getClass().getName() + " close");
-// }
-// deplacement_.specPanel_ = null;
-// }
-
- public JComponent getComponent(){
- return this;
- }
-
- public void targetChanged(final ZCalqueEditable _target) {
- bZ_= (_target != null && _target.getModelEditable() != null && _target.getModelEditable().getGeomData().getAttributeIsZ() != null);
- lbDz_.setEnabled(bZ_);
- tfDz_.setEnabled(bZ_);
- }
-
- public void updateState(){
- if (deplacement_.isDragged()) {
- tfDx_.setEditable(false);
- tfDy_.setEditable(false);
- tfDz_.setEditable(false);
- btApply_.setEnabled(false);
- tfDx_.setText(formatter_.getXYFormatter().format(deplacement_.getReelDx()));
- tfDy_.setText(formatter_.getXYFormatter().format(deplacement_.getReelDy()));
- }
- else {
- if (!tfDx_.isEditable()) {
- tfDx_.setText(CtuluLibString.ZERO);
- tfDy_.setText(CtuluLibString.ZERO);
- }
- tfDx_.setEditable(true);
- tfDy_.setEditable(true);
- tfDz_.setEditable(bZ_);
- btApply_.setEnabled(!deplacement_.isSelectionEmpty());
- }
-
- }
-
- /* (non-Javadoc)
- * @see org.fudaa.ebli.commun.BPalettePanelInterface#doAfterDisplay()
- */
- public void doAfterDisplay() {
- // TODO Auto-generated method stub
-
- }
-
- /* (non-Javadoc)
- * @see org.fudaa.ebli.commun.BPalettePanelInterface#paletteDeactivated()
- */
- public void paletteDeactivated() {
- FuLog.trace("BPaletteDeplacement.paletteDeactivated");
- }
-
- /* (non-Javadoc)
- * @see org.fudaa.ebli.commun.BPalettePanelInterface#setPalettePanelTarget(java.lang.Object)
- */
- public boolean setPalettePanelTarget(Object _target) {
- // TODO Auto-generated method stub
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.fudaa.ebli.calque.ZSelectionListener#selectionChanged(org.fudaa.ebli.calque.ZSelectionEvent)
- */
- public void selectionChanged(ZSelectionEvent _evt) {
- updateState();
- }
-}
+/*
+ * @creation 5 avr. 2005
+ * @modification $Date: 2008-05-13 12:10:31 $
+ * @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.edition;
+
+import java.awt.BorderLayout;
+import java.awt.Dimension;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.Arrays;
+
+import javax.swing.JButton;
+import javax.swing.JComponent;
+import javax.swing.JPanel;
+
+import com.memoire.bu.BuGridLayout;
+import com.memoire.bu.BuLabel;
+import com.memoire.bu.BuPanel;
+import com.memoire.bu.BuResource;
+import com.memoire.bu.BuTextField;
+import com.memoire.bu.BuToolButton;
+import com.memoire.fu.FuLog;
+
+import org.fudaa.ctulu.CtuluLibString;
+import org.fudaa.ctulu.gis.GISAttributeInterface;
+
+import org.fudaa.ebli.calque.ZSelectionEvent;
+import org.fudaa.ebli.calque.ZSelectionListener;
+import org.fudaa.ebli.commun.BPalettePanelInterface;
+import org.fudaa.ebli.commun.EbliFormatterInterface;
+
+/**
+ * Un panneau pour saisir les coordonn\xE9es de d\xE9placement d'objets GIS.
+ * Ce panneau est int\xE9gr\xE9 dans la palette des outils lorsque l'outil "d\xE9placement" est s\xE9lectionn\xE9.
+ *
+ * @author Fred Deniger
+ * @version $Id: BPaletteDeplacement.java,v 1.1.2.1 2008-05-13 12:10:31 bmarchan Exp $
+ */
+public class BPaletteDeplacement extends JPanel implements BPalettePanelInterface, ZSelectionListener,
+ ZCalqueDeplacement.SpecPanel, ActionListener {
+
+ JButton btApply_;
+
+ ZCalqueDeplacement deplacement_;
+ private ZSceneEditor sceneEditor_;
+ EbliFormatterInterface formatter_;
+
+ BuTextField tfDx_;
+ BuTextField tfDy_;
+ BuTextField tfDz_;
+ BuLabel lbDz_;
+
+ /**
+ * @param _deplacement le calque de deplacement
+ * @param _formatter
+ */
+ public BPaletteDeplacement(ZSceneEditor _sceneEditor, EbliFormatterInterface _formatter) {
+ super();
+
+// deplacement_ = _deplacement;
+// deplacement_.specPanel_ = this;
+
+ formatter_ = _formatter;
+ sceneEditor_=_sceneEditor;
+
+ tfDx_ = BuTextField.createDoubleField();
+ tfDx_.setPreferredSize(new Dimension(70,tfDx_.getPreferredSize().height));
+ tfDx_.setValue(new Double(0));
+ tfDy_ = BuTextField.createDoubleField();
+ tfDy_.setValue(new Double(0));
+ tfDz_ = BuTextField.createDoubleField();
+ tfDz_.setValue(new Double(0));
+ lbDz_=new BuLabel("dz:");
+
+ btApply_ = new BuToolButton(BuResource.BU.getToolIcon("appliquer"));
+ btApply_.addActionListener(this);
+
+ BuPanel pnMain=new BuPanel();
+ pnMain.setLayout(new BuGridLayout(2,2,2));
+ pnMain.add(new BuLabel("dx:"));
+ pnMain.add(tfDx_);
+ pnMain.add(new BuLabel("dy:"));
+ pnMain.add(tfDy_);
+ pnMain.add(lbDz_);
+ pnMain.add(tfDz_);
+
+ BuPanel pnButtons=new BuPanel();
+ pnButtons.setLayout(new BorderLayout(5,5));
+ pnButtons.add(btApply_,BorderLayout.SOUTH);
+
+ setLayout(new BorderLayout(5,5));
+ add(pnMain,BorderLayout.CENTER);
+ add(pnButtons,BorderLayout.EAST);
+
+ setName("pnMove");
+
+ sceneEditor_.getScene().addSelectionListener(this);
+ }
+
+ public void actionPerformed(final ActionEvent _e){
+ if (btApply_.isEnabled() && btApply_ == _e.getSource()) {
+ Double dx = (Double) tfDx_.getValue();
+ Double dy = (Double) tfDy_.getValue();
+ Double dz=new Double(0);
+ if (tfDz_.isEnabled()) dz=(Double) tfDz_.getValue();
+ if (dx != null && dy != null && dz!=null) {
+ deplacement_.manualMove(dx.doubleValue(), dy.doubleValue(), dz.doubleValue());
+ }
+
+ }
+ }
+
+ public void setCalqueDeplacement(ZCalqueDeplacement _dep) {
+ deplacement_=_dep;
+ deplacement_.specPanel_ = this;
+ }
+// public void close(){
+// if (FuLog.isTrace()) {
+// FuLog.trace("EBL: " + getClass().getName() + " close");
+// }
+// deplacement_.specPanel_ = null;
+// }
+
+ public JComponent getComponent(){
+ return this;
+ }
+
+
+ public void updateState(){
+ if (deplacement_.isDragged()) {
+ tfDx_.setEditable(false);
+ tfDy_.setEditable(false);
+ tfDz_.setEditable(false);
+ btApply_.setEnabled(false);
+ tfDx_.setText(formatter_.getXYFormatter().format(deplacement_.getReelDx()));
+ tfDy_.setText(formatter_.getXYFormatter().format(deplacement_.getReelDy()));
+ }
+ else {
+ if (!tfDx_.isEditable()) {
+ tfDx_.setText(CtuluLibString.ZERO);
+ tfDy_.setText(CtuluLibString.ZERO);
+ }
+ tfDx_.setEditable(true);
+ tfDy_.setEditable(true);
+ tfDz_.setEditable(true);
+ btApply_.setEnabled(!deplacement_.isSelectionEmpty());
+ }
+
+ }
+
+ /* (non-Javadoc)
+ * @see org.fudaa.ebli.commun.BPalettePanelInterface#doAfterDisplay()
+ */
+ public void doAfterDisplay() {
+ // TODO Auto-generated method stub
+
+ }
+
+ /* (non-Javadoc)
+ * @see org.fudaa.ebli.commun.BPalettePanelInterface#paletteDeactivated()
+ */
+ public void paletteDeactivated() {
+ FuLog.trace("BPaletteDeplacement.paletteDeactivated");
+ }
+
+ /* (non-Javadoc)
+ * @see org.fudaa.ebli.commun.BPalettePanelInterface#setPalettePanelTarget(java.lang.Object)
+ */
+ public boolean setPalettePanelTarget(Object _target) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ /* (non-Javadoc)
+ * @see org.fudaa.ebli.calque.ZSelectionListener#selectionChanged(org.fudaa.ebli.calque.ZSelectionEvent)
+ */
+ public void selectionChanged(ZSelectionEvent _evt) {
+ updateState();
+ }
+}
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteRotation.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteRotation.java 2008-07-18 07:32:10 UTC (rev 3696)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteRotation.java 2008-07-18 07:32:53 UTC (rev 3697)
@@ -79,7 +79,7 @@
BuLabel lbAng=new BuLabel(BuResource.BU.getString("Angle:"));
lbAng.setToolTipText(BuResource.BU.getString("En degr\xE9s"));
tfX0_ = BuTextField.createDoubleField();
- tfX0_.setSize(new Dimension(50,tfX0_.getPreferredSize().height));
+ tfX0_.setPreferredSize(new Dimension(70,tfX0_.getPreferredSize().height));
tfX0_.setValue(new Double(0));
tfY0_ = BuTextField.createDoubleField();
tfY0_.setValue(new Double(0));
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueDeplacement.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueDeplacement.java 2008-07-18 07:32:10 UTC (rev 3696)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueDeplacement.java 2008-07-18 07:32:53 UTC (rev 3697)
@@ -66,9 +66,9 @@
* @param _dy dy reel
*/
public final void manualMove(final double _dx, final double _dy, final double _dz) {
- if (isGele()) {
- return;
- }
+// if (isGele()) {
+// return;
+// }
isDragged_ = false;
if (target_ != null) {
target_.moved(_dx, _dy, _dz);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2008-07-18 07:32:01
|
Revision: 3696
http://fudaa.svn.sourceforge.net/fudaa/?rev=3696&view=rev
Author: bmarchan
Date: 2008-07-18 07:32:10 +0000 (Fri, 18 Jul 2008)
Log Message:
-----------
Un peu de doc...
Modified Paths:
--------------
branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/commun/BPalettePanelInterface.java
branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/commun/EbliActionPaletteAbstract.java
branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/commun/EbliActionPaletteSpecAbstract.java
branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/commun/EbliActionPaletteTreeModel.java
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/commun/BPalettePanelInterface.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/commun/BPalettePanelInterface.java 2008-07-17 12:46:28 UTC (rev 3695)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/commun/BPalettePanelInterface.java 2008-07-18 07:32:10 UTC (rev 3696)
@@ -21,16 +21,21 @@
JComponent getComponent();
/**
- * @param target la cible de cette palette
+ * @param _target la cible de cette palette. La cible peut \xEAtre un calque, une liste de calques, n'importe quoi,
+ * qui va permettre de configurer la palette ou faire les traitements.
* @return true si la cible est correcte
*/
boolean setPalettePanelTarget(Object _target);
/**
* appele lorsque le selecteur n'est plus activ\xE9e.
+ * BM: A priori n'est pas appel\xE9, donc ne pas se crever \xE0 implementer.
*/
void paletteDeactivated();
+ /**
+ * BM: A priori appel\xE9 apr\xE8s que la palette soit visible, en cas de chgt de cible. Par exemple pour refaire un pack().
+ */
void doAfterDisplay();
}
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/commun/EbliActionPaletteAbstract.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/commun/EbliActionPaletteAbstract.java 2008-07-17 12:46:28 UTC (rev 3695)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/commun/EbliActionPaletteAbstract.java 2008-07-18 07:32:10 UTC (rev 3696)
@@ -31,6 +31,7 @@
import org.fudaa.ctulu.gui.CtuluLibSwing;
/**
+ * Une action d\xE9clenchant l'affichage d'une palette.
* @author deniger
* @version $Id: EbliActionPaletteAbstract.java,v 1.21 2007-06-13 12:57:45 deniger Exp $
*/
@@ -118,6 +119,11 @@
}
}
+ /**
+ * Controle que la cible est acceptable par l'action/la palette. N'affecte pas la cible courante.
+ * @param _o La cible
+ * @return true si cible acceptable.
+ */
protected boolean isTargetValid(final Object _o) {
return true;
}
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/commun/EbliActionPaletteSpecAbstract.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/commun/EbliActionPaletteSpecAbstract.java 2008-07-17 12:46:28 UTC (rev 3695)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/commun/EbliActionPaletteSpecAbstract.java 2008-07-18 07:32:10 UTC (rev 3696)
@@ -20,6 +20,7 @@
public abstract class EbliActionPaletteSpecAbstract extends EbliActionPaletteAbstract {
protected transient BPalettePanelInterface palette_;
+ /** L'action est d\xE9sactiv\xE9e sitot que la palette est cach\xE9e. */
protected boolean setDisableWhenHide_;
protected Object target_;
@@ -75,6 +76,10 @@
return false;
}
+ /**
+ * D\xE9finit le calque actif.
+ * @param _o Le calque, null si pas de selection.
+ */
protected void setTarget(final Object _o) {
final boolean isValid = isTargetValid(_o);
if (target_ != _o) {
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/commun/EbliActionPaletteTreeModel.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/commun/EbliActionPaletteTreeModel.java 2008-07-17 12:46:28 UTC (rev 3695)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/commun/EbliActionPaletteTreeModel.java 2008-07-18 07:32:10 UTC (rev 3696)
@@ -15,7 +15,7 @@
import javax.swing.tree.TreeSelectionModel;
/**
- * Cette action permet de mettre \xE0 jour la palette \xE0 partir de du calque selectionne.
+ * Une action qui r\xE9agit au calque selectionne.
*
* @author Fred Deniger
* @version $Id: EbliActionPaletteTreeModel.java,v 1.3 2007-05-04 13:49:47 deniger Exp $
@@ -38,6 +38,11 @@
setEnabled(isTargetValid(target_));
}
+ /**
+ * Retourne le calque selectionn\xE9 dans l'arbre.
+ * @param _m Le modele de selection.
+ * @return Le calque selectionn\xE9. Normalement de type BCalque ??
+ */
protected Object getTarget(final TreeSelectionModel _m) {
final TreePath path = _m.getSelectionPath();
return path == null ? null : path.getLastPathComponent();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2008-07-17 12:46:49
|
Revision: 3695
http://fudaa.svn.sourceforge.net/fudaa/?rev=3695&view=rev
Author: bmarchan
Date: 2008-07-17 12:46:28 +0000 (Thu, 17 Jul 2008)
Log Message:
-----------
Renommage des classes Dunesxxx en DunesMAIxxx
Modified Paths:
--------------
branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesAdapter.java
branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/olb/OLBExec.java
branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/test/org/fudaa/dodico/reflux/TestJDunes.java
branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/meshviewer/export/MvExportFactory.java
branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/meshviewer/impl/MvActLoadDefault.java
branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/wizard/FSigWizardFileMng.java
branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/common/TrFileFormatManager.java
Added Paths:
-----------
branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesMAIFileFormat.java
branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesMAIReader.java
branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesMAIWriter.java
Removed Paths:
-------------
branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesFileFormat.java
branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesReader.java
branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesWriter.java
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesAdapter.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesAdapter.java 2008-07-17 11:36:00 UTC (rev 3694)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesAdapter.java 2008-07-17 12:46:28 UTC (rev 3695)
@@ -47,7 +47,7 @@
}
public FileFormat getFileFormat() {
- return DunesFileFormat.getInstance();
+ return DunesMAIFileFormat.getInstance();
}
}
Deleted: branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesFileFormat.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesFileFormat.java 2008-07-17 11:36:00 UTC (rev 3694)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesFileFormat.java 2008-07-17 12:46:28 UTC (rev 3695)
@@ -1,136 +0,0 @@
-/*
- * @creation 13 mars 2003
- * @modification $Date: 2006-11-15 09:22:54 $
- * @license GNU General Public License 2
- * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne
- */
-package org.fudaa.dodico.dunes.io;
-
-import java.io.File;
-
-import org.fudaa.ctulu.CtuluIOOperationSynthese;
-import org.fudaa.ctulu.ProgressionInterface;
-import org.fudaa.ctulu.fileformat.FileFormatUnique;
-import org.fudaa.ctulu.fileformat.FileReadOperationAbstract;
-import org.fudaa.ctulu.fileformat.FileWriteOperationAbstract;
-
-import org.fudaa.dodico.ef.EfGridInterface;
-import org.fudaa.dodico.ef.EfGridSource;
-import org.fudaa.dodico.ef.FileFormatGridVersion;
-import org.fudaa.dodico.fichiers.FileFormatSoftware;
-import org.fudaa.dodico.h2d.resource.H2dResource;
-import org.fudaa.dodico.h2d.type.H2dFileFormatType;
-
-/**
- * @author deniger
- * @version $Id: DunesFileFormat.java,v 1.25 2006-11-15 09:22:54 deniger Exp $
- */
-public final class DunesFileFormat extends FileFormatUnique implements DunesVersionInterface, FileFormatGridVersion {
-
- public static final DunesFileFormat INSTANCE = new DunesFileFormat();
-
- /**
- * @return le singleton
- */
- public static DunesFileFormat getInstance() {
- return INSTANCE;
- }
-
- private DunesFileFormat() {
- super(1);
- extensions_ = new String[] { "mail", "geo", "dunes" };
- id_ = "DUNES";
- nom_ = "Dunes";
- description_ = H2dResource.getS("utilis\xE9 par le mailleur Dunes");
- software_ = FileFormatSoftware.REFLUX_IS;
- type_ = H2dFileFormatType.MAILLAGE;
- }
-
- public boolean containsGrid() {
- return true;
- }
-
- /**
- * Returns the aDAPTATIF.
- *
- * @return int
- */
- public int getAdaptatifCode() {
- return 2;
- }
-
- /**
- * Returns the eLEMENT_ID.
- *
- * @return String
- */
- public String getElementCode() {
- return "ELEMENT";
- }
-
- /**
- * Returns the nOEUD_ID.
- *
- * @return String
- */
- public String getNoeudCode() {
- return "NOEUD";
- }
-
- /**
- * Returns the nON_ADAPTATIF.
- *
- * @return int
- */
- public int getNonAdaptatifCode() {
- return 1;
- }
-
- public FileReadOperationAbstract createReader() {
- return new DunesReader(this);
- }
-
- public FileWriteOperationAbstract createWriter() {
- return new DunesWriter(this);
- }
-
- /**
- * @param _f le fichier cible a ecrire
- * @param _inter le source des donnees
- * @param _prog la barre de progression
- * @return la synthese de l'operation
- */
- public CtuluIOOperationSynthese write(final File _f, final DunesInterface _inter, final ProgressionInterface _prog) {
- final DunesWriter w = new DunesWriter(this);
- w.setFile(_f);
- w.setProgressReceiver(_prog);
- return w.write(_inter);
- }
-
- /**
- * @param _f le fichier cible
- * @param _m le maillage a ecrire
- * @param _prog la barre de progression
- * @return la synthese
- */
- public CtuluIOOperationSynthese writeGrid(final File _f, final EfGridInterface _m, final ProgressionInterface _prog) {
- final DunesAdapter inter = new DunesAdapter();
- inter.setMaillage(_m);
- return write(_f, inter, _prog);
- }
-
- public CtuluIOOperationSynthese writeGrid(final File _f, final EfGridSource _m, final ProgressionInterface _prog) {
- return writeGrid(_f, _m.getGrid(), _prog);
- }
-
- public CtuluIOOperationSynthese readGrid(final File _f, final ProgressionInterface _prog) {
- return read(_f, _prog);
- }
-
- public CtuluIOOperationSynthese readListPoint(final File _f, final ProgressionInterface _prog) {
- final CtuluIOOperationSynthese s = readGrid(_f, _prog);
- s.setSource(((EfGridSource) s.getSource()).getGrid());
- return s;
- }
-
-}
\ No newline at end of file
Copied: branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesMAIFileFormat.java (from rev 3624, branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesFileFormat.java)
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesMAIFileFormat.java (rev 0)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesMAIFileFormat.java 2008-07-17 12:46:28 UTC (rev 3695)
@@ -0,0 +1,136 @@
+/*
+ * @creation 13 mars 2003
+ * @modification $Date: 2006-11-15 09:22:54 $
+ * @license GNU General Public License 2
+ * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne
+ */
+package org.fudaa.dodico.dunes.io;
+
+import java.io.File;
+
+import org.fudaa.ctulu.CtuluIOOperationSynthese;
+import org.fudaa.ctulu.ProgressionInterface;
+import org.fudaa.ctulu.fileformat.FileFormatUnique;
+import org.fudaa.ctulu.fileformat.FileReadOperationAbstract;
+import org.fudaa.ctulu.fileformat.FileWriteOperationAbstract;
+
+import org.fudaa.dodico.ef.EfGridInterface;
+import org.fudaa.dodico.ef.EfGridSource;
+import org.fudaa.dodico.ef.FileFormatGridVersion;
+import org.fudaa.dodico.fichiers.FileFormatSoftware;
+import org.fudaa.dodico.h2d.resource.H2dResource;
+import org.fudaa.dodico.h2d.type.H2dFileFormatType;
+
+/**
+ * @author deniger
+ * @version $Id: DunesFileFormat.java,v 1.25 2006-11-15 09:22:54 deniger Exp $
+ */
+public final class DunesMAIFileFormat extends FileFormatUnique implements DunesVersionInterface, FileFormatGridVersion {
+
+ public static final DunesMAIFileFormat INSTANCE = new DunesMAIFileFormat();
+
+ /**
+ * @return le singleton
+ */
+ public static DunesMAIFileFormat getInstance() {
+ return INSTANCE;
+ }
+
+ private DunesMAIFileFormat() {
+ super(1);
+ extensions_ = new String[] { "mail", "dunes" };
+ id_ = "DUNES";
+ nom_ = "Dunes maillage";
+ description_ = H2dResource.getS("utilis\xE9 par le mailleur Dunes");
+ software_ = FileFormatSoftware.REFLUX_IS;
+ type_ = H2dFileFormatType.MAILLAGE;
+ }
+
+ public boolean containsGrid() {
+ return true;
+ }
+
+ /**
+ * Returns the aDAPTATIF.
+ *
+ * @return int
+ */
+ public int getAdaptatifCode() {
+ return 2;
+ }
+
+ /**
+ * Returns the eLEMENT_ID.
+ *
+ * @return String
+ */
+ public String getElementCode() {
+ return "ELEMENT";
+ }
+
+ /**
+ * Returns the nOEUD_ID.
+ *
+ * @return String
+ */
+ public String getNoeudCode() {
+ return "NOEUD";
+ }
+
+ /**
+ * Returns the nON_ADAPTATIF.
+ *
+ * @return int
+ */
+ public int getNonAdaptatifCode() {
+ return 1;
+ }
+
+ public FileReadOperationAbstract createReader() {
+ return new DunesMAIReader(this);
+ }
+
+ public FileWriteOperationAbstract createWriter() {
+ return new DunesMAIWriter(this);
+ }
+
+ /**
+ * @param _f le fichier cible a ecrire
+ * @param _inter le source des donnees
+ * @param _prog la barre de progression
+ * @return la synthese de l'operation
+ */
+ public CtuluIOOperationSynthese write(final File _f, final DunesInterface _inter, final ProgressionInterface _prog) {
+ final DunesMAIWriter w = new DunesMAIWriter(this);
+ w.setFile(_f);
+ w.setProgressReceiver(_prog);
+ return w.write(_inter);
+ }
+
+ /**
+ * @param _f le fichier cible
+ * @param _m le maillage a ecrire
+ * @param _prog la barre de progression
+ * @return la synthese
+ */
+ public CtuluIOOperationSynthese writeGrid(final File _f, final EfGridInterface _m, final ProgressionInterface _prog) {
+ final DunesAdapter inter = new DunesAdapter();
+ inter.setMaillage(_m);
+ return write(_f, inter, _prog);
+ }
+
+ public CtuluIOOperationSynthese writeGrid(final File _f, final EfGridSource _m, final ProgressionInterface _prog) {
+ return writeGrid(_f, _m.getGrid(), _prog);
+ }
+
+ public CtuluIOOperationSynthese readGrid(final File _f, final ProgressionInterface _prog) {
+ return read(_f, _prog);
+ }
+
+ public CtuluIOOperationSynthese readListPoint(final File _f, final ProgressionInterface _prog) {
+ final CtuluIOOperationSynthese s = readGrid(_f, _prog);
+ s.setSource(((EfGridSource) s.getSource()).getGrid());
+ return s;
+ }
+
+}
\ No newline at end of file
Copied: branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesMAIReader.java (from rev 3624, branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesReader.java)
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesMAIReader.java (rev 0)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesMAIReader.java 2008-07-17 12:46:28 UTC (rev 3695)
@@ -0,0 +1,240 @@
+/*
+ * @creation 19 f\xE9vr. 2003
+ * @modification $Date: 2007-01-19 13:07:22 $
+ * @license GNU General Public License 2
+ * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne
+ * @mail de...@fu...
+ */
+package org.fudaa.dodico.dunes.io;
+
+import java.io.EOFException;
+import java.io.IOException;
+
+import org.fudaa.ctulu.CtuluLibMessage;
+import org.fudaa.ctulu.CtuluLibString;
+import org.fudaa.ctulu.ProgressionUpdater;
+import org.fudaa.ctulu.fileformat.FileFormat;
+import org.fudaa.ctulu.fileformat.FileFormatVersionInterface;
+
+import org.fudaa.dodico.ef.EfElement;
+import org.fudaa.dodico.ef.EfLib;
+import org.fudaa.dodico.ef.EfNode;
+import org.fudaa.dodico.ef.impl.EfGrid;
+import org.fudaa.dodico.fortran.FileOpReadCharSimpleAbstract;
+import org.fudaa.dodico.h2d.resource.H2dResource;
+
+/**
+ * Lecteur de fichiers dunes (.mail).
+ *
+ * @author deniger
+ * @version $Id: DunesReader.java,v 1.28 2007-01-19 13:07:22 deniger Exp $
+ */
+public class DunesMAIReader extends FileOpReadCharSimpleAbstract {
+
+ DunesVersionInterface version_;
+
+ /**
+ * Utilise la derniere version de DunesFileFormat.
+ */
+ public DunesMAIReader() {
+ this(DunesMAIFileFormat.getInstance());
+ }
+
+ /**
+ * @param _f le format a utiliser
+ */
+ public DunesMAIReader(final DunesVersionInterface _f) {
+ version_ = _f;
+ }
+
+ protected Object internalRead() {
+ return readDunes();
+ }
+
+ private EfElement[] readElement(final ProgressionUpdater _up) throws IOException {
+ final int nbElem = in_.intField(0);
+ // Les donnees utiles pour l'etat d'avancement
+ _up.setValue(2, nbElem, 50, 50);
+ _up.majProgessionStateOnly();
+ int[] index;
+
+ final EfElement[] elems = new EfElement[nbElem];
+ for (int i = 0; i < nbElem; i++) {
+ in_.readFields();
+ if (in_.getNumberOfFields() < 2) {
+ analyze_.addInfo(H2dResource.getS("Format attendu") + "NUM_ELEMENT NB_POINT P[1] ...P[NB_POINT]", in_
+ .getLineNumber());
+ analyze_.addError(H2dResource.getS("La d\xE9finition de l'\xE9l\xE9ment {0} n'est pas valide"), in_.getLineNumber());
+ return null;
+ }
+ // le numero d'element
+ int temp = in_.intField(0);
+ if (temp != (i + 1)) {
+ analyze_
+ .addInfo(H2dResource.getS("L'index de l'\xE9l\xE9ment ne correspond pas \xE0 l'index r\xE9el"), in_.getLineNumber());
+ }
+ temp = in_.intField(1);
+ if (temp <= 0) {
+ analyze_.addError(H2dResource.getS("Le nombre de points est n\xE9gatif ou nul pour l'\xE9l\xE9ment d'indice {0}",
+ CtuluLibString.getString(i + 1)), in_.getLineNumber());
+ return null;
+ }
+ if (in_.getNumberOfFields() != (temp + 2)) {
+ analyze_.addInfo(H2dResource.getS("Nombre indiqu\xE9") + ": " + temp + CtuluLibString.DOT + H2dResource.getS("Nombre lu") + ": "
+ + (in_.getNumberOfFields() - 2), in_.getLineNumber());
+ analyze_.addFatalError(H2dResource.getS("Le nombre d'\xE9l\xE9ments est incorrect"), in_.getLineNumber());
+ return null;
+ }
+ index = new int[temp];
+ for (int j = 0; j < temp; j++) {
+ // on stocke les indexs en commencant a 0.
+ index[j] = in_.intField(2 + j) - 1;
+ }
+ elems[i] = new EfElement(index);
+ _up.majAvancement();
+ }
+ return elems;
+ }
+
+ private EfNode[] readNodes(final int _nbNoeuds, final ProgressionUpdater _up, final double[] _adaptatifs) throws IOException {
+ final EfNode[] points = new EfNode[_nbNoeuds];
+ _up.setValue(2, _nbNoeuds, 0, 50);
+ _up.majProgessionStateOnly();
+ int temp;
+ // lecture des noeuds
+ for (int i = 0; i < _nbNoeuds; i++) {
+ in_.readFields();
+ if (in_.getNumberOfFields() != 4) {
+ analyze_.addInfo(H2dResource.getS("Format attendu") + ": NUM_POINT X Y Z", in_.getLineNumber());
+ analyze_.addError(H2dResource.getS("La d\xE9finition du noeud {0} n'est pas valide", CtuluLibString
+ .getString(i + 1)), in_.getLineNumber());
+ return null;
+ }
+ temp = in_.intField(0);
+ if (temp != (i + 1)) {
+ analyze_.addInfo(H2dResource.getS("Le num\xE9ro du point ne correspond pas au num\xE9ro r\xE9el"), in_.getLineNumber());
+ }
+ points[i] = new EfNode(in_.doubleField(1), in_.doubleField(2), in_.doubleField(3));
+ if (_adaptatifs != null) {
+ in_.readFields();
+ if (in_.getNumberOfFields() != 1) {
+ analyze_.addWarn(H2dResource.getS("La ligne du coefficient adaptatif ne doit contenir qu'un champ"), in_
+ .getLineNumber());
+ }
+ _adaptatifs[i] = in_.doubleField(0);
+ }
+ _up.majAvancement();
+ }
+ return points;
+
+ }
+
+ private DunesInterface readDunes() {
+ DunesAdapter source = null;
+ EfNode[] points = null;
+ EfElement[] elems = null;
+ double[] adaptatifs = null;
+ in_.setJumpBlankLine(true);
+ try {
+ // lit jusqu'a la premiere ligne non vide.
+ // Lecture de l'identifiant NOEUD
+ in_.readFields();
+ if ((in_.getNumberOfFields() != 1) || (!version_.getNoeudCode().equals(in_.stringField(0)))) {
+ analyze_.addError(H2dResource.getS("L'identifiant {0} est attendu", version_.getNoeudCode()), in_
+ .getLineNumber());
+ return null;
+
+ }
+ in_.readFields();
+ // Lecture du nombre de noeud et format du maillage (apaptatif ou non)
+ // NOMBRE_DE_NOEUD TYPE_DE_MAILLAGE
+
+ // verification que l'on a bien 2 champs
+ if (in_.getNumberOfFields() != 2) {
+ analyze_.addFatalError(H2dResource.getS("Nombre de noeuds non trouv\xE9"), in_.getLineNumber());
+ return null;
+ }
+ // le nombre de noeud
+ final int nbNoeuds = in_.intField(0);
+ // le type de maillage.
+ // Si 2, des infos sur le maillage adaptatif seront presentes
+ final int typeMaillage = in_.intField(1);
+ // Si adaptatif, on initialise le tableau stockant les valeurs.
+ if (typeMaillage == version_.getAdaptatifCode()) {
+ adaptatifs = new double[nbNoeuds];
+ // on affecte a source le tableau.
+ }
+ final ProgressionUpdater up = new ProgressionUpdater(progress_);
+ points = readNodes(nbNoeuds, up, adaptatifs);
+ if (points == null) {
+ return null;
+ }
+ // Lecture du mot cle ELEMENT
+ in_.readFields();
+ if ((in_.getNumberOfFields() != 1) && (!version_.getElementCode().equals(in_.stringField(0)))) {
+ analyze_.addError(H2dResource.getS("L'identifiant {0} est attendu", version_.getElementCode()), in_
+ .getLineNumber());
+ return null;
+ }
+ // Lecture du nombre d'elements.
+ in_.readFields();
+ // Un seul champ attendu
+ if (in_.getNumberOfFields() != 1) {
+ analyze_.addFatalError(H2dResource.getS("Cette ligne est invalide"), in_.getLineNumber());
+ return null;
+ }
+ elems = readElement(up);
+ if (elems == null) {
+ return null;
+ }
+ in_.readFields();
+ if (!"0 0 0 0".equals(in_.getLine().trim())) {
+ if (in_.getLine().trim().length() > 0) {
+ analyze_.addWarn(H2dResource
+ .getS("Cette ligne et les suivantes sont ignor\xE9es"), in_.getLineNumber());
+ }
+ }
+ in_.readFields();
+ if (in_.getLine().trim().length() > 0) {
+ analyze_.addWarn(H2dResource
+ .getS("Cette ligne et les suivantes sont ignor\xE9es"), in_.getLineNumber());
+ }
+ } catch (final EOFException e) {
+ if (CtuluLibMessage.DEBUG) {
+ CtuluLibMessage.debug("Dunes Read end");
+ }
+ } catch (final NumberFormatException fe) {
+ analyze_.manageException(fe, in_.getLineNumber());
+ } catch (final IOException _e) {
+ analyze_.manageException(_e);
+ }
+ // Le mot clef noeud est trouve, on peut creer le maillage.
+ final EfGrid maillage = new EfGrid(points, elems);
+ EfLib.orienteGrid(maillage, progress_, true, analyze_);
+ source = new DunesAdapter();
+ source.setMaillage(maillage);
+ source.setAdaptatif(adaptatifs);
+ return source;
+ }
+
+ /**
+ * @return le format
+ */
+ public FileFormat getFileFormat() {
+ return getDunesFileFormat();
+ }
+
+ /**
+ * @return le format utilise
+ */
+ public DunesMAIFileFormat getDunesFileFormat() {
+ return (DunesMAIFileFormat) version_.getFileFormat();
+ }
+
+ /**
+ * @return la version utilisee
+ */
+ public FileFormatVersionInterface getVersion() {
+ return version_;
+ }
+}
\ No newline at end of file
Copied: branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesMAIWriter.java (from rev 3624, branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesWriter.java)
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesMAIWriter.java (rev 0)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesMAIWriter.java 2008-07-17 12:46:28 UTC (rev 3695)
@@ -0,0 +1,197 @@
+/*
+ * @creation 2003-02-20
+ * @modification $Date: 2006-10-16 07:55:47 $
+ * @license GNU General Public License 2
+ * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne
+ * @mail de...@fu...
+ */
+package org.fudaa.dodico.dunes.io;
+
+import java.io.IOException;
+
+import org.fudaa.ctulu.CtuluIOOperationSynthese;
+import org.fudaa.ctulu.ProgressionUpdater;
+import org.fudaa.ctulu.fileformat.FileFormat;
+import org.fudaa.ctulu.fileformat.FileFormatVersionInterface;
+
+import org.fudaa.dodico.commun.DodicoLib;
+import org.fudaa.dodico.ef.EfElement;
+import org.fudaa.dodico.ef.EfGridInterface;
+import org.fudaa.dodico.fortran.FileOpWriterCharSimpleAbstract;
+import org.fudaa.dodico.h2d.resource.H2dResource;
+
+/**
+ * @author deniger
+ * @version $Id: DunesWriter.java,v 1.27 2006-10-16 07:55:47 deniger Exp $
+ */
+public class DunesMAIWriter extends FileOpWriterCharSimpleAbstract {
+
+ DunesVersionInterface version_;
+
+ /**
+ * Construit avec une version par defaut.
+ */
+ public DunesMAIWriter() {
+ this(DunesMAIFileFormat.getInstance());
+ }
+
+ /**
+ * @param _f la version a utiliser
+ */
+ public DunesMAIWriter(final DunesVersionInterface _f) {
+ version_ = _f;
+ }
+
+ /**
+ * @return le format utilise
+ */
+ public FileFormat getFileFormat() {
+ return version_.getFileFormat();
+ }
+
+ /**
+ * Ecrire les donnees de l'interface <code>DunesInterface</code> sur la sortie <code>Writer</code>. L'ecriture
+ * n'est effectu\xE9e que si les points et elements du maillage sont non nuls. La m\xE9thode se termine par un flush mais ne
+ * ferme pas le flux.
+ */
+ protected void writeDunes(final DunesInterface _d) {
+ final DunesInterface dunes = _d;
+ // Test sur les objets a ecrire
+ if (dunes == null) {
+ analyze_.addFatalError(H2dResource.getS("Les donn\xE9es sont nulles"));
+ return;
+ }
+ if (out_ == null) {
+ analyze_.addFatalError(DodicoLib.getS("Le flux de sortie est nul"));
+ return;
+ }
+ final EfGridInterface maillage = dunes.getGrid();
+ if (maillage == null) {
+ analyze_.addFatalError("Le maillage est nul");
+ return;
+ }
+ final int nPts = maillage.getPtsNb();
+ if (nPts == 0) {
+ analyze_.addFatalError(H2dResource.getS("Le maillage ne contient pas de points"));
+ return;
+ }
+ // H2dElement[] elems= maillage.getElts();
+ // if (elems == null)
+ // {
+ // analyze_.addFatalError("Le maillage ne contient pas d'\xE9l\xE9ments !");
+ // return;
+ // }
+ final int nElems = maillage.getEltNb();
+ if (nElems == 0) {
+ analyze_.addFatalError(H2dResource.getS("Le maillage ne contient pas d'\xE9l\xE9ments"));
+ return;
+ }
+ try {
+ StringBuffer b = new StringBuffer(600);
+ b.append(version_.getNoeudCode());
+ b.append(' ');
+ b.append(lineSep_);
+ b.append(nPts);
+ boolean printAdaptatifV = false;
+ final double[] adValeur = dunes.getAdaptatifValeur();
+ b.append(' ');
+ if (adValeur == null) {
+ b.append(version_.getNonAdaptatifCode());
+ } else {
+ b.append(version_.getAdaptatifCode());
+ printAdaptatifV = true;
+ }
+ writelnToOut(b.toString());
+ // Gestion de l'etat d'avancement
+ // le pas pour afficher l'etat d'avancement
+ final int pourc = 0;
+ final boolean afficheAvance = (progress_ == null ? false : true);
+ if (afficheAvance) {
+ progress_.setProgression(pourc);
+ progress_.setDesc(H2dResource.getS("Ecriture fichier") + " dunes");
+ }
+ final ProgressionUpdater up = new ProgressionUpdater(progress_);
+ up.setValue(2, nPts);
+
+ for (int i = 0; i < nPts; i++) {
+ b = new StringBuffer();
+ b.append((i + 1));
+ b.append(' ');
+ b.append(maillage.getPtX(i));
+ b.append(' ');
+ b.append(maillage.getPtY(i));
+ b.append(' ');
+ b.append(maillage.getPtZ(i));
+ b.append(lineSep_);
+ if (printAdaptatifV&&adValeur!=null) {
+ b.append(adValeur[i]);
+ b.append(lineSep_);
+ }
+ writeToOut(b.toString());
+ up.majAvancement();
+ }
+ b = new StringBuffer();
+ // Cette ligne blanche est-elle utile ?
+ b.append(lineSep_);
+ // L'identifiant element
+ b.append(version_.getElementCode());
+ b.append(lineSep_);
+ // le nb d'\xE9l\xE9ments
+ b.append(nElems);
+ writelnToOut(b.toString());
+ // pour afficher l'etat d'avancement
+ up.setValue(2, nElems, 50, 50);
+ up.majAvancement();
+ // les points par elements
+ EfElement ppel;
+ // le nombre de points par elements.
+ int nppel;
+ for (int i = 0; i < nElems; i++) {
+ b = new StringBuffer();
+ ppel = maillage.getElement(i);
+ nppel = ppel.getPtNb();
+ // le num d'elements
+ b.append((i + 1));
+ b.append(' ');
+ // le nombre de point pour l'\xE9l\xE9ment i
+ b.append(nppel);
+ // les indices des points pour l'element i
+ for (int j = 0; j < nppel; j++) {
+ b.append(' ');
+ // Les indices sont stock\xE9s a partir de 0.
+ b.append(ppel.getPtIndex(j) + 1);
+ }
+ writelnToOut(b.toString());
+ // mis a jour de l'etat d'avancement au cas ou.
+ up.majAvancement();
+ }
+ out_.flush();
+ } catch (final IOException _ex) {
+ analyze_.manageException(_ex);
+ }
+ }
+
+ protected void internalWrite(final Object _o) {
+ if (_o instanceof DunesInterface) {
+ writeDunes((DunesInterface) _o);
+ } else {
+ analyze_.addFatalError(DodicoLib.getS("Donn\xE9es invalides"));
+ }
+ }
+
+ /**
+ * @param _o la source a ecrire
+ * @return la synthese de l'operation
+ */
+ public final CtuluIOOperationSynthese write(final DunesInterface _o) {
+ writeDunes(_o);
+ return closeOperation(_o);
+ }
+
+ /**
+ * @return la version utilisee
+ */
+ public FileFormatVersionInterface getVersion() {
+ return version_;
+ }
+}
Deleted: branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesReader.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesReader.java 2008-07-17 11:36:00 UTC (rev 3694)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesReader.java 2008-07-17 12:46:28 UTC (rev 3695)
@@ -1,240 +0,0 @@
-/*
- * @creation 19 f\xE9vr. 2003
- * @modification $Date: 2007-01-19 13:07:22 $
- * @license GNU General Public License 2
- * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne
- * @mail de...@fu...
- */
-package org.fudaa.dodico.dunes.io;
-
-import java.io.EOFException;
-import java.io.IOException;
-
-import org.fudaa.ctulu.CtuluLibMessage;
-import org.fudaa.ctulu.CtuluLibString;
-import org.fudaa.ctulu.ProgressionUpdater;
-import org.fudaa.ctulu.fileformat.FileFormat;
-import org.fudaa.ctulu.fileformat.FileFormatVersionInterface;
-
-import org.fudaa.dodico.ef.EfElement;
-import org.fudaa.dodico.ef.EfLib;
-import org.fudaa.dodico.ef.EfNode;
-import org.fudaa.dodico.ef.impl.EfGrid;
-import org.fudaa.dodico.fortran.FileOpReadCharSimpleAbstract;
-import org.fudaa.dodico.h2d.resource.H2dResource;
-
-/**
- * Lecteur de fichiers dunes (.mail).
- *
- * @author deniger
- * @version $Id: DunesReader.java,v 1.28 2007-01-19 13:07:22 deniger Exp $
- */
-public class DunesReader extends FileOpReadCharSimpleAbstract {
-
- DunesVersionInterface version_;
-
- /**
- * Utilise la derniere version de DunesFileFormat.
- */
- public DunesReader() {
- this(DunesFileFormat.getInstance());
- }
-
- /**
- * @param _f le format a utiliser
- */
- public DunesReader(final DunesVersionInterface _f) {
- version_ = _f;
- }
-
- protected Object internalRead() {
- return readDunes();
- }
-
- private EfElement[] readElement(final ProgressionUpdater _up) throws IOException {
- final int nbElem = in_.intField(0);
- // Les donnees utiles pour l'etat d'avancement
- _up.setValue(2, nbElem, 50, 50);
- _up.majProgessionStateOnly();
- int[] index;
-
- final EfElement[] elems = new EfElement[nbElem];
- for (int i = 0; i < nbElem; i++) {
- in_.readFields();
- if (in_.getNumberOfFields() < 2) {
- analyze_.addInfo(H2dResource.getS("Format attendu") + "NUM_ELEMENT NB_POINT P[1] ...P[NB_POINT]", in_
- .getLineNumber());
- analyze_.addError(H2dResource.getS("La d\xE9finition de l'\xE9l\xE9ment {0} n'est pas valide"), in_.getLineNumber());
- return null;
- }
- // le numero d'element
- int temp = in_.intField(0);
- if (temp != (i + 1)) {
- analyze_
- .addInfo(H2dResource.getS("L'index de l'\xE9l\xE9ment ne correspond pas \xE0 l'index r\xE9el"), in_.getLineNumber());
- }
- temp = in_.intField(1);
- if (temp <= 0) {
- analyze_.addError(H2dResource.getS("Le nombre de points est n\xE9gatif ou nul pour l'\xE9l\xE9ment d'indice {0}",
- CtuluLibString.getString(i + 1)), in_.getLineNumber());
- return null;
- }
- if (in_.getNumberOfFields() != (temp + 2)) {
- analyze_.addInfo(H2dResource.getS("Nombre indiqu\xE9") + ": " + temp + CtuluLibString.DOT + H2dResource.getS("Nombre lu") + ": "
- + (in_.getNumberOfFields() - 2), in_.getLineNumber());
- analyze_.addFatalError(H2dResource.getS("Le nombre d'\xE9l\xE9ments est incorrect"), in_.getLineNumber());
- return null;
- }
- index = new int[temp];
- for (int j = 0; j < temp; j++) {
- // on stocke les indexs en commencant a 0.
- index[j] = in_.intField(2 + j) - 1;
- }
- elems[i] = new EfElement(index);
- _up.majAvancement();
- }
- return elems;
- }
-
- private EfNode[] readNodes(final int _nbNoeuds, final ProgressionUpdater _up, final double[] _adaptatifs) throws IOException {
- final EfNode[] points = new EfNode[_nbNoeuds];
- _up.setValue(2, _nbNoeuds, 0, 50);
- _up.majProgessionStateOnly();
- int temp;
- // lecture des noeuds
- for (int i = 0; i < _nbNoeuds; i++) {
- in_.readFields();
- if (in_.getNumberOfFields() != 4) {
- analyze_.addInfo(H2dResource.getS("Format attendu") + ": NUM_POINT X Y Z", in_.getLineNumber());
- analyze_.addError(H2dResource.getS("La d\xE9finition du noeud {0} n'est pas valide", CtuluLibString
- .getString(i + 1)), in_.getLineNumber());
- return null;
- }
- temp = in_.intField(0);
- if (temp != (i + 1)) {
- analyze_.addInfo(H2dResource.getS("Le num\xE9ro du point ne correspond pas au num\xE9ro r\xE9el"), in_.getLineNumber());
- }
- points[i] = new EfNode(in_.doubleField(1), in_.doubleField(2), in_.doubleField(3));
- if (_adaptatifs != null) {
- in_.readFields();
- if (in_.getNumberOfFields() != 1) {
- analyze_.addWarn(H2dResource.getS("La ligne du coefficient adaptatif ne doit contenir qu'un champ"), in_
- .getLineNumber());
- }
- _adaptatifs[i] = in_.doubleField(0);
- }
- _up.majAvancement();
- }
- return points;
-
- }
-
- private DunesInterface readDunes() {
- DunesAdapter source = null;
- EfNode[] points = null;
- EfElement[] elems = null;
- double[] adaptatifs = null;
- in_.setJumpBlankLine(true);
- try {
- // lit jusqu'a la premiere ligne non vide.
- // Lecture de l'identifiant NOEUD
- in_.readFields();
- if ((in_.getNumberOfFields() != 1) || (!version_.getNoeudCode().equals(in_.stringField(0)))) {
- analyze_.addError(H2dResource.getS("L'identifiant {0} est attendu", version_.getNoeudCode()), in_
- .getLineNumber());
- return null;
-
- }
- in_.readFields();
- // Lecture du nombre de noeud et format du maillage (apaptatif ou non)
- // NOMBRE_DE_NOEUD TYPE_DE_MAILLAGE
-
- // verification que l'on a bien 2 champs
- if (in_.getNumberOfFields() != 2) {
- analyze_.addFatalError(H2dResource.getS("Nombre de noeuds non trouv\xE9"), in_.getLineNumber());
- return null;
- }
- // le nombre de noeud
- final int nbNoeuds = in_.intField(0);
- // le type de maillage.
- // Si 2, des infos sur le maillage adaptatif seront presentes
- final int typeMaillage = in_.intField(1);
- // Si adaptatif, on initialise le tableau stockant les valeurs.
- if (typeMaillage == version_.getAdaptatifCode()) {
- adaptatifs = new double[nbNoeuds];
- // on affecte a source le tableau.
- }
- final ProgressionUpdater up = new ProgressionUpdater(progress_);
- points = readNodes(nbNoeuds, up, adaptatifs);
- if (points == null) {
- return null;
- }
- // Lecture du mot cle ELEMENT
- in_.readFields();
- if ((in_.getNumberOfFields() != 1) && (!version_.getElementCode().equals(in_.stringField(0)))) {
- analyze_.addError(H2dResource.getS("L'identifiant {0} est attendu", version_.getElementCode()), in_
- .getLineNumber());
- return null;
- }
- // Lecture du nombre d'elements.
- in_.readFields();
- // Un seul champ attendu
- if (in_.getNumberOfFields() != 1) {
- analyze_.addFatalError(H2dResource.getS("Cette ligne est invalide"), in_.getLineNumber());
- return null;
- }
- elems = readElement(up);
- if (elems == null) {
- return null;
- }
- in_.readFields();
- if (!"0 0 0 0".equals(in_.getLine().trim())) {
- if (in_.getLine().trim().length() > 0) {
- analyze_.addWarn(H2dResource
- .getS("Cette ligne et les suivantes sont ignor\xE9es"), in_.getLineNumber());
- }
- }
- in_.readFields();
- if (in_.getLine().trim().length() > 0) {
- analyze_.addWarn(H2dResource
- .getS("Cette ligne et les suivantes sont ignor\xE9es"), in_.getLineNumber());
- }
- } catch (final EOFException e) {
- if (CtuluLibMessage.DEBUG) {
- CtuluLibMessage.debug("Dunes Read end");
- }
- } catch (final NumberFormatException fe) {
- analyze_.manageException(fe, in_.getLineNumber());
- } catch (final IOException _e) {
- analyze_.manageException(_e);
- }
- // Le mot clef noeud est trouve, on peut creer le maillage.
- final EfGrid maillage = new EfGrid(points, elems);
- EfLib.orienteGrid(maillage, progress_, true, analyze_);
- source = new DunesAdapter();
- source.setMaillage(maillage);
- source.setAdaptatif(adaptatifs);
- return source;
- }
-
- /**
- * @return le format
- */
- public FileFormat getFileFormat() {
- return getDunesFileFormat();
- }
-
- /**
- * @return le format utilise
- */
- public DunesFileFormat getDunesFileFormat() {
- return (DunesFileFormat) version_.getFileFormat();
- }
-
- /**
- * @return la version utilisee
- */
- public FileFormatVersionInterface getVersion() {
- return version_;
- }
-}
\ No newline at end of file
Deleted: branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesWriter.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesWriter.java 2008-07-17 11:36:00 UTC (rev 3694)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesWriter.java 2008-07-17 12:46:28 UTC (rev 3695)
@@ -1,197 +0,0 @@
-/*
- * @creation 2003-02-20
- * @modification $Date: 2006-10-16 07:55:47 $
- * @license GNU General Public License 2
- * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne
- * @mail de...@fu...
- */
-package org.fudaa.dodico.dunes.io;
-
-import java.io.IOException;
-
-import org.fudaa.ctulu.CtuluIOOperationSynthese;
-import org.fudaa.ctulu.ProgressionUpdater;
-import org.fudaa.ctulu.fileformat.FileFormat;
-import org.fudaa.ctulu.fileformat.FileFormatVersionInterface;
-
-import org.fudaa.dodico.commun.DodicoLib;
-import org.fudaa.dodico.ef.EfElement;
-import org.fudaa.dodico.ef.EfGridInterface;
-import org.fudaa.dodico.fortran.FileOpWriterCharSimpleAbstract;
-import org.fudaa.dodico.h2d.resource.H2dResource;
-
-/**
- * @author deniger
- * @version $Id: DunesWriter.java,v 1.27 2006-10-16 07:55:47 deniger Exp $
- */
-public class DunesWriter extends FileOpWriterCharSimpleAbstract {
-
- DunesVersionInterface version_;
-
- /**
- * Construit avec une version par defaut.
- */
- public DunesWriter() {
- this(DunesFileFormat.getInstance());
- }
-
- /**
- * @param _f la version a utiliser
- */
- public DunesWriter(final DunesVersionInterface _f) {
- version_ = _f;
- }
-
- /**
- * @return le format utilise
- */
- public FileFormat getFileFormat() {
- return version_.getFileFormat();
- }
-
- /**
- * Ecrire les donnees de l'interface <code>DunesInterface</code> sur la sortie <code>Writer</code>. L'ecriture
- * n'est effectu\xE9e que si les points et elements du maillage sont non nuls. La m\xE9thode se termine par un flush mais ne
- * ferme pas le flux.
- */
- protected void writeDunes(final DunesInterface _d) {
- final DunesInterface dunes = _d;
- // Test sur les objets a ecrire
- if (dunes == null) {
- analyze_.addFatalError(H2dResource.getS("Les donn\xE9es sont nulles"));
- return;
- }
- if (out_ == null) {
- analyze_.addFatalError(DodicoLib.getS("Le flux de sortie est nul"));
- return;
- }
- final EfGridInterface maillage = dunes.getGrid();
- if (maillage == null) {
- analyze_.addFatalError("Le maillage est nul");
- return;
- }
- final int nPts = maillage.getPtsNb();
- if (nPts == 0) {
- analyze_.addFatalError(H2dResource.getS("Le maillage ne contient pas de points"));
- return;
- }
- // H2dElement[] elems= maillage.getElts();
- // if (elems == null)
- // {
- // analyze_.addFatalError("Le maillage ne contient pas d'\xE9l\xE9ments !");
- // return;
- // }
- final int nElems = maillage.getEltNb();
- if (nElems == 0) {
- analyze_.addFatalError(H2dResource.getS("Le maillage ne contient pas d'\xE9l\xE9ments"));
- return;
- }
- try {
- StringBuffer b = new StringBuffer(600);
- b.append(version_.getNoeudCode());
- b.append(' ');
- b.append(lineSep_);
- b.append(nPts);
- boolean printAdaptatifV = false;
- final double[] adValeur = dunes.getAdaptatifValeur();
- b.append(' ');
- if (adValeur == null) {
- b.append(version_.getNonAdaptatifCode());
- } else {
- b.append(version_.getAdaptatifCode());
- printAdaptatifV = true;
- }
- writelnToOut(b.toString());
- // Gestion de l'etat d'avancement
- // le pas pour afficher l'etat d'avancement
- final int pourc = 0;
- final boolean afficheAvance = (progress_ == null ? false : true);
- if (afficheAvance) {
- progress_.setProgression(pourc);
- progress_.setDesc(H2dResource.getS("Ecriture fichier") + " dunes");
- }
- final ProgressionUpdater up = new ProgressionUpdater(progress_);
- up.setValue(2, nPts);
-
- for (int i = 0; i < nPts; i++) {
- b = new StringBuffer();
- b.append((i + 1));
- b.append(' ');
- b.append(maillage.getPtX(i));
- b.append(' ');
- b.append(maillage.getPtY(i));
- b.append(' ');
- b.append(maillage.getPtZ(i));
- b.append(lineSep_);
- if (printAdaptatifV&&adValeur!=null) {
- b.append(adValeur[i]);
- b.append(lineSep_);
- }
- writeToOut(b.toString());
- up.majAvancement();
- }
- b = new StringBuffer();
- // Cette ligne blanche est-elle utile ?
- b.append(lineSep_);
- // L'identifiant element
- b.append(version_.getElementCode());
- b.append(lineSep_);
- // le nb d'\xE9l\xE9ments
- b.append(nElems);
- writelnToOut(b.toString());
- // pour afficher l'etat d'avancement
- up.setValue(2, nElems, 50, 50);
- up.majAvancement();
- // les points par elements
- EfElement ppel;
- // le nombre de points par elements.
- int nppel;
- for (int i = 0; i < nElems; i++) {
- b = new StringBuffer();
- ppel = maillage.getElement(i);
- nppel = ppel.getPtNb();
- // le num d'elements
- b.append((i + 1));
- b.append(' ');
- // le nombre de point pour l'\xE9l\xE9ment i
- b.append(nppel);
- // les indices des points pour l'element i
- for (int j = 0; j < nppel; j++) {
- b.append(' ');
- // Les indices sont stock\xE9s a partir de 0.
- b.append(ppel.getPtIndex(j) + 1);
- }
- writelnToOut(b.toString());
- // mis a jour de l'etat d'avancement au cas ou.
- up.majAvancement();
- }
- out_.flush();
- } catch (final IOException _ex) {
- analyze_.manageException(_ex);
- }
- }
-
- protected void internalWrite(final Object _o) {
- if (_o instanceof DunesInterface) {
- writeDunes((DunesInterface) _o);
- } else {
- analyze_.addFatalError(DodicoLib.getS("Donn\xE9es invalides"));
- }
- }
-
- /**
- * @param _o la source a ecrire
- * @return la synthese de l'operation
- */
- public final CtuluIOOperationSynthese write(final DunesInterface _o) {
- writeDunes(_o);
- return closeOperation(_o);
- }
-
- /**
- * @return la version utilisee
- */
- public FileFormatVersionInterface getVersion() {
- return version_;
- }
-}
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/olb/OLBExec.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/olb/OLBExec.java 2008-07-17 11:36:00 UTC (rev 3694)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/olb/OLBExec.java 2008-07-17 12:46:28 UTC (rev 3695)
@@ -20,7 +20,7 @@
import org.fudaa.dodico.calcul.CalculExecBatch;
import org.fudaa.dodico.commun.DodicoLib;
import org.fudaa.dodico.dunes.io.DunesAdapter;
-import org.fudaa.dodico.dunes.io.DunesFileFormat;
+import org.fudaa.dodico.dunes.io.DunesMAIFileFormat;
import org.fudaa.dodico.dunes.io.DunesInterface;
import org.fudaa.dodico.ef.EfElement;
import org.fudaa.dodico.ef.EfElementType;
@@ -89,7 +89,7 @@
double offsetY = (_init.getMinY() + _init.getMaxY()) / 2;
final EfGridInterface init = new EfGridTranslate(_init, -offsetX, -offsetY);
interfaceDunes.setMaillage(init);
- CtuluIOOperationSynthese op = DunesFileFormat.getInstance().getLastVersionInstance(null).write(inFile,
+ CtuluIOOperationSynthese op = DunesMAIFileFormat.getInstance().getLastVersionInstance(null).write(inFile,
interfaceDunes, _prog);
if (stop_) {
deleteFiles(inFile, outFile);
@@ -112,7 +112,7 @@
deleteFiles(inFile, outFile);
return null;
}
- op = DunesFileFormat.getInstance().getLastVersionInstance(outFile).read(outFile, _prog);
+ op = DunesMAIFileFormat.getInstance().getLastVersionInstance(outFile).read(outFile, _prog);
if ((_ui != null) && (op.containsFatalError())) {
_ui.error("OLB", op.getAnalyze().getFatalError().getMessage(), false);
}
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/test/org/fudaa/dodico/reflux/TestJDunes.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/test/org/fudaa/dodico/reflux/TestJDunes.java 2008-07-17 11:36:00 UTC (rev 3694)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/test/org/fudaa/dodico/reflux/TestJDunes.java 2008-07-17 12:46:28 UTC (rev 3695)
@@ -18,7 +18,7 @@
import org.fudaa.ctulu.ProgressionBuAdapter;
import org.fudaa.dodico.all.TestIO;
-import org.fudaa.dodico.dunes.io.DunesFileFormat;
+import org.fudaa.dodico.dunes.io.DunesMAIFileFormat;
import org.fudaa.dodico.dunes.io.DunesInterface;
import org.fudaa.dodico.ef.EfElement;
import org.fudaa.dodico.ef.EfGridInterface;
@@ -88,7 +88,7 @@
final DunesInterface inter = getInter(fic_);
final File tmpFile = createTempFile();
final CtuluIOOperationSynthese syntheseR =
- DunesFileFormat.getInstance().write(
+ DunesMAIFileFormat.getInstance().write(
tmpFile,
inter,
null);
@@ -102,7 +102,7 @@
*/
public static DunesInterface getInter(final File _f) {
final CtuluIOOperationSynthese syntheseR =
- DunesFileFormat.getInstance().read(_f, null);
+ DunesMAIFileFormat.getInstance().read(_f, null);
final DunesInterface r = (DunesInterface) syntheseR.getSource();
if (syntheseR.containsMessages()) {
syntheseR.getAnalyze().printResume();
@@ -140,7 +140,7 @@
}
final ProgressionBuAdapter progress = new ProgressionBuAdapter(new BuTask());
final CtuluIOOperationSynthese op =
- DunesFileFormat.getInstance().read(f, progress);
+ DunesMAIFileFormat.getInstance().read(f, progress);
final DunesInterface inter = (DunesInterface) op.getSource();
if (op.containsMessages()) {
op.getAnalyze().printResume();
@@ -156,7 +156,7 @@
return;
}
final CtuluIOOperationSynthese opw =
- DunesFileFormat.getInstance().write(
+ DunesMAIFileFormat.getInstance().write(
out,
inter,
progress);
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/meshviewer/export/MvExportFactory.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/meshviewer/export/MvExportFactory.java 2008-07-17 11:36:00 UTC (rev 3694)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/meshviewer/export/MvExportFactory.java 2008-07-17 12:46:28 UTC (rev 3695)
@@ -34,7 +34,7 @@
import org.fudaa.ctulu.gui.CtuluLibSwing;
import org.fudaa.ctulu.interpolation.InterpolationVectorContainer;
-import org.fudaa.dodico.dunes.io.DunesFileFormat;
+import org.fudaa.dodico.dunes.io.DunesMAIFileFormat;
import org.fudaa.dodico.ef.EfGridData;
import org.fudaa.dodico.ef.FileFormatGridVersion;
import org.fudaa.dodico.reflux.io.CorEleBthFileFormat;
@@ -66,7 +66,7 @@
public static FileFormat[] getT3Format() {
// serafin et rubar mai sont g\xE9r\xE9 differemment
- return new FileFormat[] { DunesFileFormat.getInstance(), TrigridFileFormat.getInstance(),
+ return new FileFormat[] { DunesMAIFileFormat.getInstance(), TrigridFileFormat.getInstance(),
CorEleBthFileFormat.getInstance() };
}
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/meshviewer/impl/MvActLoadDefault.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/meshviewer/impl/MvActLoadDefault.java 2008-07-17 11:36:00 UTC (rev 3694)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/meshviewer/impl/MvActLoadDefault.java 2008-07-17 12:46:28 UTC (rev 3695)
@@ -32,7 +32,7 @@
import org.fudaa.ctulu.gui.CtuluDialogPanel;
import org.fudaa.ctulu.gui.CtuluTaskOperationGUI;
-import org.fudaa.dodico.dunes.io.DunesFileFormat;
+import org.fudaa.dodico.dunes.io.DunesMAIFileFormat;
import org.fudaa.dodico.ef.EfGridSource;
import org.fudaa.dodico.ef.FileFormatGridVersion;
import org.fudaa.dodico.reflux.io.CorEleBthFileFormat;
@@ -93,7 +93,7 @@
*
*/
public final static CtuluPermanentList FT_LIST = new CtuluPermanentList(CtuluLibArray.sort(new FileFormat[] {
- INPFileFormat.getInstance(), DunesFileFormat.getInstance(), CorEleBthFileFormat.getInstance(),
+ INPFileFormat.getInstance(), DunesMAIFileFormat.getInstance(), CorEleBthFileFormat.getInstance(),
SerafinFileFormat.getInstance(), TrigridFileFormat.getInstance(), RubarDATFileFormat.getInstance(),
RubarMAIFileFormat.getInstance() }));
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/wizard/FSigWizardFileMng.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/wizard/FSigWizardFileMng.java 2008-07-17 11:36:00 UTC (rev 3694)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/wizard/FSigWizardFileMng.java 2008-07-17 12:46:28 UTC (rev 3695)
@@ -37,7 +37,7 @@
import org.fudaa.ctulu.gui.CtuluCellTextRenderer;
import org.fudaa.ctulu.gui.CtuluFileChooser;
-import org.fudaa.dodico.dunes.io.DunesFileFormat;
+import org.fudaa.dodico.dunes.io.DunesMAIFileFormat;
import org.fudaa.dodico.ef.FileFormatGridVersion;
import org.fudaa.dodico.reflux.io.CorEleBthFileFormat;
import org.fudaa.dodico.rubar.io.RubarDATFileFormat;
@@ -160,7 +160,7 @@
r.add(CorEleBthFileFormat.getInstance());
r.add(RubarMAIFileFormat.getInstance());
r.add(TrigridFileFormat.getInstance());
- r.add(DunesFileFormat.getInstance());
+ r.add(DunesMAIFileFormat.getInstance());
r.add(RubarDATFileFormat.getInstance());
return r;
}
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/common/TrFileFormatManager.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/common/TrFileFormatManager.java 2008-07-17 11:36:00 UTC (rev 3694)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/common/TrFileFormatManager.java 2008-07-17 12:46:28 UTC (rev 3695)
@@ -18,7 +18,7 @@
import org.fudaa.ctulu.fileformat.FileFormat;
-import org.fudaa.dodico.dunes.io.DunesFileFormat;
+import org.fudaa.dodico.dunes.io.DunesMAIFileFormat;
import org.fudaa.dodico.h2d.type.H2dFileFormatType;
import org.fudaa.dodico.reflux.io.CorEleBthFileFormat;
import org.fudaa.dodico.reflux.io.INPFileFormat;
@@ -73,7 +73,7 @@
} else if (_sofwareId == TrRefluxImplHelper.getID()) {
r.add(INPFileFormat.getInstance());
r.add(CorEleBthFileFormat.getInstance());
- r.add(DunesFileFormat.getInstance());
+ r.add(DunesMAIFileFormat.getInstance());
}
r.add(SerafinFileFormat.getInstance());
return getArray(r);
@@ -134,7 +134,7 @@
r.add(RubarDATFileFormat.getInstance());
r.add(SerafinFileFormat.getInstance());
r.add(INPFileFormat.getInstance());
- r.add(DunesFileFormat.getInstance());
+ r.add(DunesMAIFileFormat.getInstance());
return getArray(r);
}
@@ -151,7 +151,7 @@
} else if (_sofwareId == TrRefluxImplHelper.getID()) {
r.add(CorEleBthFileFormat.getInstance());
r.add(INPFileFormat.getInstance());
- r.add(DunesFileFormat.getInstance());
+ r.add(DunesMAIFileFormat.getInstance());
r.add(SerafinFileFormat.getInstance());
}
return getArray(r);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2008-07-17 11:36:24
|
Revision: 3694
http://fudaa.svn.sourceforge.net/fudaa/?rev=3694&view=rev
Author: bmarchan
Date: 2008-07-17 11:36:00 +0000 (Thu, 17 Jul 2008)
Log Message:
-----------
Implementation de l'export vers Dunes g?\195?\169om?\195?\169trie
Modified Paths:
--------------
branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectExportPanel.java
branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/layer/FSigLayerExporter.java
branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/layer/FSigLayerFilter.java
Added Paths:
-----------
branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesGEOFileFormat.java
branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesGEOWriter.java
Added: branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesGEOFileFormat.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesGEOFileFormat.java (rev 0)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesGEOFileFormat.java 2008-07-17 11:36:00 UTC (rev 3694)
@@ -0,0 +1,61 @@
+/**
+ * @creation 11 f\xE9vr. 2004
+ * @modification $Date: 2007/05/04 13:47:27 $
+ * @license GNU General Public License 2
+ * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne
+ * @mail de...@fu...
+ */
+package org.fudaa.dodico.dunes.io;
+
+import java.io.File;
+
+import org.fudaa.ctulu.CtuluIOOperationSynthese;
+import org.fudaa.ctulu.ProgressionInterface;
+import org.fudaa.ctulu.fileformat.FileFormatUnique;
+import org.fudaa.ctulu.fileformat.FileReadOperationAbstract;
+import org.fudaa.ctulu.fileformat.FileWriteOperationAbstract;
+
+import org.fudaa.dodico.commun.DodicoLib;
+import org.fudaa.dodico.fichiers.FileFormatSoftware;
+import org.fudaa.dodico.h2d.type.H2dFileFormatType;
+
+/**
+ * Un format pour les fichiers de modelisation geometriques Dunes.
+ * @author Bertrand Marchand
+ * @version $Id: SinusxFileFormat.java,v 1.15 2007/05/04 13:47:27 deniger Exp $
+ */
+public final class DunesGEOFileFormat extends FileFormatUnique {
+
+ static final DunesGEOFileFormat INSTANCE = new DunesGEOFileFormat();
+
+ /**
+ * @return singleton
+ */
+ public static DunesGEOFileFormat getInstance() {
+ return INSTANCE;
+ }
+
+ private DunesGEOFileFormat() {
+ super(1);
+ extensions_ = new String[] { "geo" };
+ id_ = "DUNESGEO";
+ nom_ = "Dunes g\xE9ometrie";
+ description_ = DodicoLib.getS("Comporte les d\xE9finitions de points, polylignes et polygones");
+ software_ = FileFormatSoftware.REFLUX_IS;
+// type_ = : Geometrique => Autre
+ }
+
+ public FileReadOperationAbstract createReader() {
+ return null;
+// return new DunesGEOReader(this);
+ }
+
+ public CtuluIOOperationSynthese write(final File _f, final Object _source, final ProgressionInterface _prog) {
+ return super.write(_f, _source, _prog);
+ }
+
+ public FileWriteOperationAbstract createWriter() {
+ return new DunesGEOWriter(this);
+ }
+
+}
\ No newline at end of file
Property changes on: branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesGEOFileFormat.java
___________________________________________________________________
Added: svn:eol-style
+ native
Added: branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesGEOWriter.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesGEOWriter.java (rev 0)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesGEOWriter.java 2008-07-17 11:36:00 UTC (rev 3694)
@@ -0,0 +1,268 @@
+/*
+ * @creation 2002-11-21
+ * @modification $Date: 2007/05/04 13:47:27 $
+ * @license GNU General Public License 2
+ * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne
+ * @mail de...@fu...
+ */
+package org.fudaa.dodico.dunes.io;
+
+import java.io.IOException;
+import java.util.ArrayList;
+
+import org.fudaa.ctulu.CtuluActivity;
+import org.fudaa.ctulu.ProgressionUpdater;
+import org.fudaa.ctulu.fileformat.FileFormatVersionInterface;
+import org.fudaa.ctulu.gis.GISDataModel;
+import org.fudaa.ctulu.gis.GISDataModelPointMultiPointAdapter;
+import org.fudaa.ctulu.gis.GISMultiPoint;
+import org.fudaa.dodico.fortran.FileOpWriterCharSimpleAbstract;
+import org.fudaa.dodico.fortran.FortranWriter;
+import org.fudaa.dodico.h2d.resource.H2dResource;
+
+import com.vividsolutions.jts.geom.Coordinate;
+import com.vividsolutions.jts.geom.CoordinateSequence;
+import com.vividsolutions.jts.geom.Geometry;
+import com.vividsolutions.jts.geom.LineString;
+import com.vividsolutions.jts.geom.Point;
+
+/**
+ * Une classe pour ecrire des fichiers Dunes de mod\xE9lisation (.geo)
+ * @version $Id: SinusxWriter.java,v 1.24 2007/05/04 13:47:27 deniger Exp $
+ * @author Bertrand Marchand
+ */
+public class DunesGEOWriter extends FileOpWriterCharSimpleAbstract implements CtuluActivity {
+
+ final FileFormatVersionInterface v_;
+ boolean stop_;
+
+ public void stop() {
+ stop_ = true;
+ }
+
+ /**
+ * @param _v la version utilisee.
+ */
+ public DunesGEOWriter(final FileFormatVersionInterface _v) {
+ v_ = _v;
+ }
+
+ /**
+ * Ecriture des g\xE9om\xE9tries contenues dans les mod\xE8les. Les g\xE9om\xE9tries peuvent \xEAtre
+ * des points, des polylignes/polygones ou des multipoints. Chaque modele est cens\xE9 contenir
+ * le m\xEAme type de g\xE9om\xE9tries.<p>
+ *
+ * Les doublons de coordonn\xE9es (si X et Y sont equivalents) sont supprim\xE9s.
+ * @param _geometries Les mod\xE8les de g\xE9om\xE9tries
+ */
+ protected void internalWrite(final Object _o) {
+ if (!(_o instanceof GISDataModel[])) {
+ donneesInvalides(_o);
+ return;
+ }
+
+ GISDataModel[] mdls=(GISDataModel[])_o;
+ if (mdls == null) {
+ analyze_.addFatalError(H2dResource.getS("Les donn\xE9es sont nulles"));
+ return;
+ }
+
+ final ProgressionUpdater up = new ProgressionUpdater(progress_);
+ if (progress_ != null) {
+ progress_.setProgression(0);
+ }
+ up.majProgessionStateOnly();
+
+ Coordinate[] coords=null;
+
+ // Les coordonn\xE9es, d'abord la totalit\xE9, puis sans les doublons.
+ ArrayList<Coordinate> vcoords=new ArrayList<Coordinate>();
+ int nblig=0;
+
+ // Recuperation des coordonn\xE9es : d'abord les lignes...
+ GISDataModel[] mdlligs=filtreModels(mdls,1);
+ if (mdlligs.length==0) {
+ analyze_.addFatalError(H2dResource.getS("Aucune ligne trouv\xE9e"));
+ return;
+ }
+
+ for (int i=0; i<mdlligs.length; i++) {
+ GISDataModel mdl=mdlligs[i];
+ int nbgeo=mdl.getNumGeometries();
+ for (int j=0; j<nbgeo; j++) {
+ LineString g=(LineString)mdl.getGeometry(j);
+ int nbpt=g.getNumPoints();
+ nblig+=nbpt-1;
+ CoordinateSequence seq=g.getCoordinateSequence();
+ for (int k=0; k<nbpt; k++) {
+ vcoords.add(seq.getCoordinate(k));
+ }
+ }
+ }
+ if (stop_) return;
+ up.setValue(1,1,10,10);
+ up.majProgessionStateOnly();
+
+ // ...Ensuite les points
+ GISDataModel[] mdlpts=filtreModels(mdls,0);
+
+ for (int i=0; i<mdlpts.length; i++) {
+ GISDataModel mdl=mdlpts[i];
+ int nbgeo=mdl.getNumGeometries();
+ for (int j=0; j<nbgeo; j++) {
+ GISMultiPoint g=(GISMultiPoint)mdl.getGeometry(j);
+ int nbpt=g.getNumPoints();
+ CoordinateSequence seq=g.getCoordinateSequence();
+ for (int k=0; k<nbpt; k++) {
+ vcoords.add(seq.getCoordinate(k));
+ }
+ }
+ }
+ if (stop_) return;
+
+ coords=vcoords.toArray(new Coordinate[0]);
+ // Les indexs de coordonn\xE9es pour les lignes.
+ int[] idxs=new int[coords.length];
+ for (int i=0; i<idxs.length; i++) idxs[i]=i;
+
+ // Suppression des doublons (pas optimal, mais fonctionnel).
+ // Il serait plus efficace d'utiliser un tri suivant X pour supprimer les doublons.
+ // La difficult\xE9 une fois le tri fait est de retrouver l'indice des points pour les lignes.
+ up.setValue(100,coords.length,10,70);
+ int nbsup=0;
+ for (int i=0; i<coords.length; i++) {
+ up.majAvancement();
+ if (stop_) return;
+
+ if (coords[i]==null) {
+ nbsup++;
+ continue;
+ }
+ // Reindexation au fur et a mesure des suppressions.
+ idxs[i]-=nbsup;
+
+ for (int j=i+1; j<coords.length; j++) {
+ if (coords[j]==null) continue;
+ if (coords[i].distance(coords[j])<1.e-6) {
+ idxs[j]=idxs[i];
+ coords[j]=null;
+ }
+ }
+ }
+
+ int nbtrous=0;
+ int nbreg=0;
+ up.setValue(20, coords.length-nbsup+nblig+nbtrous+nbreg, 80, 20);
+
+ // Ecriture des infos. Repris de DParametresDunes.
+ final FortranWriter fout = new FortranWriter(out_);
+ try {
+ int[] fmt;
+
+ /** Ecriture des coordonnees des points * */
+ fmt = new int[] { 8, 8 };
+ fout.intField(1, 1);
+ fout.intField(0, coords.length-nbsup);
+ fout.writeFields(fmt);
+ fmt = new int[] { 8, 24, 24, 24 };
+ for (int i = 0; i < coords.length; i++) {
+ if (stop_) return;
+ if (coords[i]==null) continue;
+ fout.doubleField(3, coords[i].z);
+ fout.intField(0, idxs[i]+1);
+ fout.doubleField(1, coords[i].x);
+ fout.doubleField(2, coords[i].y);
+ fout.writeFields(fmt);
+ up.majAvancement();
+ }
+
+ /** Ecriture des polylignes * */
+ fmt = new int[] { 8, 8 };
+ fout.intField(1, 0);
+ fout.intField(0, nblig);
+ fout.writeFields(fmt);
+ fmt = new int[] { 8, 8, 8 };
+ int ilig=0;
+ for (int i=0; i<mdlligs.length; i++) {
+ if (stop_) return;
+ GISDataModel mdl=mdlligs[i];
+ int nbgeo=mdl.getNumGeometries();
+ for (int j=0; j<nbgeo; j++) {
+ LineString g=(LineString)mdl.getGeometry(j);
+ int nbpt=g.getNumPoints();
+ for (int k=1; k<nbpt; k++) {
+ int index1=idxs[ilig]+1;
+ int index2=idxs[ilig+1]+1;
+ fout.intField(2, index2);
+ fout.intField(0, ilig+1);
+ fout.intField(1, index1);
+ fout.writeFields(fmt);
+ ilig++;
+ up.majAvancement();
+ }
+ }
+ }
+
+ /** Ecriture des positions des trous * */
+ fmt = new int[] { 8 };
+ fout.intField(0, nbtrous);
+ fout.writeFields(fmt);
+ fmt = new int[] { 8, 24, 24 };
+ for (int i = 0; i < nbtrous; i++) {
+ if (stop_) return;
+ double x=0;
+ double y=0;
+ fout.intField(0, i + 1);
+ fout.doubleField(1, x);
+ fout.doubleField(2, y);
+ fout.writeFields(fmt);
+ up.majAvancement();
+ }
+
+ /** Ecriture des positions des regions * */
+ fmt = new int[] { 8 };
+ fout.intField(0, nbreg);
+ fout.writeFields(fmt);
+ fmt = new int[] { 8, 24, 24, 24, 24 };
+ for (int i = 0; i < nbreg; i++) {
+ if (stop_) return;
+ double x=0;
+ double y=0;
+ double z=0;
+ final double aireMax = 0;
+ fout.intField(0, i + 1);
+ fout.doubleField(1, x);
+ fout.doubleField(2, y);
+ fout.doubleField(3, z);
+ fout.doubleField(4, aireMax);
+ fout.writeFields(fmt);
+ up.majAvancement();
+ }
+ } catch (final IOException ex) {
+ analyze_.manageException(ex);
+ }
+ }
+
+ /**
+ * R\xE9cup\xE8re les modeles d'un type particulier.
+ * @param _mdls Les models
+ * @param _type 0 : Points et multipoints. 1 : Lignes, polygones.
+ * @return Les modeles, une fois filtr\xE9s.
+ */
+ GISDataModel[] filtreModels(GISDataModel[] _mdls, int _type) {
+ ArrayList<GISDataModel> mdls=new ArrayList<GISDataModel>();
+ for (int i=0; i<_mdls.length; i++) {
+ if (_mdls[i].getNumGeometries()==0) continue;
+
+ Geometry g=_mdls[i].getGeometry(0);
+ if (_type==0 && g instanceof GISMultiPoint)
+ mdls.add(_mdls[i]);
+ else if (_type==0 && g instanceof Point)
+ mdls.add(new GISDataModelPointMultiPointAdapter(_mdls[i]));
+ else if (_type==1 && g instanceof LineString)
+ mdls.add(_mdls[i]);
+ }
+
+ return mdls.toArray(new GISDataModel[0]);
+ }
+}
\ No newline at end of file
Property changes on: branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/dunes/io/DunesGEOWriter.java
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectExportPanel.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectExportPanel.java 2008-07-17 11:32:59 UTC (rev 3693)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectExportPanel.java 2008-07-17 11:36:00 UTC (rev 3694)
@@ -58,6 +58,7 @@
import org.fudaa.ctulu.gui.CtuluDialogPanel;
import org.fudaa.ctulu.gui.CtuluFileChooser;
import org.fudaa.ctulu.gui.CtuluFileChooserPanel;
+import org.fudaa.dodico.dunes.io.DunesGEOFileFormat;
import org.fudaa.dodico.rubar.io.RubarStCnFileFormat;
import org.fudaa.dodico.telemac.io.SinusxFileFormat;
@@ -196,10 +197,12 @@
private BuFileFilter[] buildFilter2Export() {
final BuFileFilter sx = SinusxFileFormat.getInstance().createFileFilter();
final BuFileFilter st = RubarStCnFileFormat.createStFilter();
+ final BuFileFilter dunes= DunesGEOFileFormat.getInstance().createFileFilter();
filter2Exporter_ = new HashMap(5);// pour l'instant .....
filter2Exporter_.put(sx, new FSigLayerExporter.ToSinusX());
filter2Exporter_.put(st, new FSigLayerExporter.ToRubar());
+ filter2Exporter_.put(dunes, new FSigLayerExporter.ToDunes());
// final Map dataStores = GISExportDataStoreFactory.buildFileFilterMap(false);
// for (final Iterator it = dataStores.entrySet().iterator(); it.hasNext();) {
// final Map.Entry e = (Map.Entry) it.next();
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/layer/FSigLayerExporter.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/layer/FSigLayerExporter.java 2008-07-17 11:32:59 UTC (rev 3693)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/layer/FSigLayerExporter.java 2008-07-17 11:36:00 UTC (rev 3694)
@@ -38,6 +38,7 @@
import org.fudaa.ctulu.gis.gml.GISGMLZoneExporter;
import org.fudaa.ctulu.gis.mif.MIFDataStoreFactory;
+import org.fudaa.dodico.dunes.io.DunesGEOFileFormat;
import org.fudaa.dodico.rubar.io.RubarSEMFileFormat;
import org.fudaa.dodico.rubar.io.RubarSEMWriterGISAdapter;
import org.fudaa.dodico.rubar.io.RubarStCnFileFormat;
@@ -142,6 +143,29 @@
}
}
+ public static class ToDunes extends FSigLayerExporter {
+
+ CtuluIOOperationSynthese exportTo(final FSigLayerFilter _filter, final CtuluUI _impl, final File _f,
+ final ProgressionInterface _prog) {
+ File f = CtuluLibFile.appendExtensionIfNeeded(_f, DunesGEOFileFormat.getInstance().getExtensions()[0]);
+
+ List<GISDataModel> mdls=new ArrayList<GISDataModel>();
+ for (int i=0; i<_filter.pointCq_.size(); i++) {
+ mdls.add(new GISDataModelPointMultiPointAdapter(
+ GISDataModelFilterAdapter.buildAdapter(_filter.getCollect(_filter.pointCq_.get(i)), null)));
+ }
+ for (int i = 0; i < _filter.mlptsCq_.size(); i++) {
+ mdls.add(_filter.getCollect(_filter.mlptsCq_.get(i)));
+ }
+ for (int i = 0; i < _filter.polyCq_.size(); i++) {
+ final GISZoneCollection collec = _filter.getCollect(_filter.polyCq_.get(i));
+ mdls.add(collec);
+ }
+
+ return DunesGEOFileFormat.getInstance().write(f, mdls.toArray(new GISDataModel[0]), _prog);
+ }
+ }
+
/**
* Export des g\xE9om\xE9tries vers les fichiers Rubar (ST, SEM, CN).
* @author Bertrand Marchand
@@ -164,7 +188,7 @@
for (int i=0; i<_filter.pointCq_.size(); i++) {
mdlsemis.add(new GISDataModelPointMultiPointAdapter(
- GISDataModelFilterAdapter.buildAdapter(_filter.getCollect(_filter.mlptsCq_.get(i)), null)));
+ GISDataModelFilterAdapter.buildAdapter(_filter.getCollect(_filter.pointCq_.get(i)), null)));
}
for (int i = 0; i < _filter.mlptsCq_.size(); i++) {
mdlsemis.add(GISDataModelFilterAdapter.buildAdapter(_filter.getCollect(_filter.mlptsCq_.get(i)), null));
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/layer/FSigLayerFilter.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/layer/FSigLayerFilter.java 2008-07-17 11:32:59 UTC (rev 3693)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/layer/FSigLayerFilter.java 2008-07-17 11:36:00 UTC (rev 3694)
@@ -34,7 +34,7 @@
*/
public class FSigLayerFilter implements BCalqueVisitor {
- final Set cq_ = new HashSet();
+ final Set cqs_ = new HashSet();
List pointCq_ = new ArrayList();
List polyCq_ = new ArrayList();
List mlptsCq_=new ArrayList();
@@ -89,8 +89,9 @@
// Calque non trait\xE9 si invisible.
if (bonlyVisible_ && !_cq.isVisible()) return true;
- if (!cq_.contains(_cq) && _cq instanceof ZCalqueAffichageDonneesInterface
+ if (!cqs_.contains(_cq) && _cq instanceof ZCalqueAffichageDonneesInterface
&& ((ZCalqueAffichageDonneesInterface) _cq).modeleDonnees() instanceof ZModeleGeom) {
+ cqs_.add(_cq);
final ZModeleGeom geom = (ZModeleGeom) ((ZCalqueAffichageDonneesInterface) _cq).modeleDonnees();
if (geom.getGeomData().getDataStoreClass().equals(Point.class)) {
pointCq_.add(_cq);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2008-07-17 11:33:13
|
Revision: 3693
http://fudaa.svn.sourceforge.net/fudaa/?rev=3693&view=rev
Author: bmarchan
Date: 2008-07-17 11:32:59 +0000 (Thu, 17 Jul 2008)
Log Message:
-----------
Changement de version : passage ?\195?\160 0.05
Modified Paths:
--------------
branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java 2008-07-17 10:56:03 UTC (rev 3692)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java 2008-07-17 11:32:59 UTC (rev 3693)
@@ -86,8 +86,8 @@
protected static BuInformationsSoftware isMdl_ = new BuInformationsSoftware();
static {
isMdl_.name = "Modeleur";
- isMdl_.version = "0.04";
- isMdl_.date = "2008-06-04";
+ isMdl_.version = "0.05";
+ isMdl_.date = "2008-07-17";
isMdl_.rights = "Tous droits r\xE9serv\xE9s. CETMEF (c)1999-2008";
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: <bma...@us...> - 2008-07-17 10:56:53
|
Revision: 3692
http://fudaa.svn.sourceforge.net/fudaa/?rev=3692&view=rev
Author: bmarchan
Date: 2008-07-17 10:56:03 +0000 (Thu, 17 Jul 2008)
Log Message:
-----------
Le support de localisations triable suivant X utilis?\195?\169 par le package d'interpolation est g?\195?\169n?\195?\169ralis?\195?\169 pour ?\195?\170tre utilis?\195?\169 en dehors.
Modified Paths:
--------------
branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/InterpolationSupportGISAdapter.java
branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/InterpolationSupportPoint.java
branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/bilinear/InterpolationBilinearSupportSorted.java
branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/bilinear/InterpolatorBilinear.java
branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/test/org/fudaa/ctulu/interpolation/TestJInterpolation.java
branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/ef/EfGridDataInterpolationValuesAdapter.java
branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/ef/interpolation/EfInterpolationGridSupportAdapter.java
branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/test/org/fudaa/dodico/h2d/TestJMaillage.java
Added Paths:
-----------
branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/SupportCoordinate.java
branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/SupportLocationI.java
branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/SupportLocationXYComparator.java
Removed Paths:
-------------
branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/InterpolationSupportLocationI.java
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/InterpolationSupportGISAdapter.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/InterpolationSupportGISAdapter.java 2008-07-17 10:41:09 UTC (rev 3691)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/InterpolationSupportGISAdapter.java 2008-07-17 10:56:03 UTC (rev 3692)
@@ -18,7 +18,7 @@
* @author Fred Deniger
* @version $Id: InterpolationSupportGISAdapter.java,v 1.2 2007-06-11 13:03:29 deniger Exp $
*/
-public class InterpolationSupportGISAdapter implements InterpolationSupportLocationI, InterpolationSupportValuesI {
+public class InterpolationSupportGISAdapter implements SupportLocationI, InterpolationSupportValuesI {
final GISDataModel model_;
final TObjectIntHashMap attInt_;
Deleted: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/InterpolationSupportLocationI.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/InterpolationSupportLocationI.java 2008-07-17 10:41:09 UTC (rev 3691)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/InterpolationSupportLocationI.java 2008-07-17 10:56:03 UTC (rev 3692)
@@ -1,34 +0,0 @@
-/*
- * @creation 4 f\xE9vr. 2004
- * @modification $Date: 2007-06-05 08:57:42 $
- * @license GNU General Public License 2
- * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne
- * @mail de...@fu...
- */
-package org.fudaa.ctulu.interpolation;
-
-/**
- * @author deniger
- * @version $Id: InterpolationSupportLocationI.java,v 1.1 2007-06-05 08:57:42 deniger Exp $
- */
-public interface InterpolationSupportLocationI {
-
- /**
- * @return le nombre de points
- */
- int getPtsNb();
-
- /**
- * @param _i indice
- * @return x en _i
- */
- double getPtX(int _i);
-
- /**
- * @param _i indice
- * @return y en _i
- */
- double getPtY(int _i);
-
-
-}
\ No newline at end of file
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/InterpolationSupportPoint.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/InterpolationSupportPoint.java 2008-07-17 10:41:09 UTC (rev 3691)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/InterpolationSupportPoint.java 2008-07-17 10:56:03 UTC (rev 3692)
@@ -14,7 +14,7 @@
* @author Fred Deniger
* @version $Id: InterpolationSupportPoint.java,v 1.2 2007-06-11 13:03:29 deniger Exp $
*/
-public class InterpolationSupportPoint implements InterpolationSupportLocationI, InterpolationSupportValuesI {
+public class InterpolationSupportPoint implements SupportLocationI, InterpolationSupportValuesI {
final GISPoint[] list_;
Added: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/SupportCoordinate.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/SupportCoordinate.java (rev 0)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/SupportCoordinate.java 2008-07-17 10:56:03 UTC (rev 3692)
@@ -0,0 +1,45 @@
+/*
+ * @creation 22 avr. 2005
+ * @modification $Date: 2007-06-11 13:03:29 $
+ * @license GNU General Public License 2
+ * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne
+ * @mail de...@fu...
+ */
+package org.fudaa.ctulu.interpolation;
+
+import org.fudaa.ctulu.CtuluVariable;
+import org.fudaa.ctulu.gis.GISPoint;
+
+import com.vividsolutions.jts.geom.Coordinate;
+
+/**
+ * Un support de location \xE0 partir de coordonn\xE9es {@link Coordinate}
+ * @author Bertrand Marchand
+ * @version $Id: InterpolationSupportPoint.java,v 1.2 2007-06-11 13:03:29 deniger Exp $
+ */
+public class SupportCoordinate implements SupportLocationI, InterpolationSupportValuesI {
+
+ final Coordinate[] list_;
+
+ public SupportCoordinate(final Coordinate[] _list) {
+ list_ = _list;
+ }
+
+ public int getPtsNb() {
+ return list_.length;
+ }
+
+ public double getPtX(final int _i) {
+ return list_[_i].x;
+ }
+
+ public double getPtY(final int _i) {
+ return list_[_i].y;
+ }
+
+ public double getV(CtuluVariable _var, int _ptIdx) {
+ /* _var n'est pas utilis\xE9e. */
+ return list_[_ptIdx].z;
+ }
+
+}
Property changes on: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/SupportCoordinate.java
___________________________________________________________________
Added: svn:eol-style
+ native
Copied: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/SupportLocationI.java (from rev 3624, branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/InterpolationSupportLocationI.java)
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/SupportLocationI.java (rev 0)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/SupportLocationI.java 2008-07-17 10:56:03 UTC (rev 3692)
@@ -0,0 +1,34 @@
+/*
+ * @creation 4 f\xE9vr. 2004
+ * @modification $Date: 2007-06-05 08:57:42 $
+ * @license GNU General Public License 2
+ * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne
+ * @mail de...@fu...
+ */
+package org.fudaa.ctulu.interpolation;
+
+/**
+ * @author deniger
+ * @version $Id: InterpolationSupportLocationI.java,v 1.1 2007-06-05 08:57:42 deniger Exp $
+ */
+public interface SupportLocationI {
+
+ /**
+ * @return le nombre de points
+ */
+ int getPtsNb();
+
+ /**
+ * @param _i indice
+ * @return x en _i
+ */
+ double getPtX(int _i);
+
+ /**
+ * @param _i indice
+ * @return y en _i
+ */
+ double getPtY(int _i);
+
+
+}
\ No newline at end of file
Added: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/SupportLocationXYComparator.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/SupportLocationXYComparator.java (rev 0)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/SupportLocationXYComparator.java 2008-07-17 10:56:03 UTC (rev 3692)
@@ -0,0 +1,66 @@
+/*
+ * @creation 16 juil. 2008
+ * @modification $Date:$
+ * @license GNU General Public License 2
+ * @copyright (c)1998-2008 CETMEF 2 bd Gambetta F-60231 Compiegne
+ * @mail fud...@li...
+ */
+package org.fudaa.ctulu.interpolation;
+
+import java.util.Comparator;
+
+/**
+ * Un comparateur de coordonn\xE9es XY d'un support. Utilis\xE9 pour trier.
+ * @author Bertrand Marchand
+ * @version $Id:$
+ */
+public class SupportLocationXYComparator implements Comparator<Integer> {
+
+ final SupportLocationI srcData_;
+
+ /**
+ * @param _data
+ */
+ public SupportLocationXYComparator(final SupportLocationI _data) {
+ super();
+ srcData_ = _data;
+ }
+
+ /**
+ * Compare les coordonn\xE9es d'un point _idx avec les coordonn\xE9es _x2, y2.
+ * @param _idx Le point a comparer.
+ * @param _x2 Le x a comparer.
+ * @param _y2 Le y a comparer.
+ * @return -1 : Si point _idx a coordonn\xE9e X inf\xE9rieur. 1 : Si point a coordonn\xE9e X sup\xE9rieur.
+ * 0 : Si m\xEAme coordonn\xE9es.
+ */
+ public int compare(final int _idx, final double _x2, final double _y2) {
+ final double x1 = srcData_.getPtX(_idx);
+ if (x1 < _x2) {
+ return -1;
+ }
+ if (x1 > _x2) {
+ return 1;
+ }
+ final double y1 = srcData_.getPtY(_idx);
+ if (y1 < _y2) {
+ return -1;
+ }
+ if (y1 > _y2) {
+ return 1;
+ }
+ return 0;
+ }
+
+ public int compare(final int _o1, final int _o2) {
+ if (_o1 == _o2) {
+ return 0;
+ }
+ return compare(_o1, srcData_.getPtX(_o2), srcData_.getPtY(_o2));
+ }
+
+ public int compare(final Integer _o1, final Integer _o2) {
+ return compare(_o1.intValue(),_o2.intValue());
+ }
+
+}
\ No newline at end of file
Property changes on: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/SupportLocationXYComparator.java
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/bilinear/InterpolationBilinearSupportSorted.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/bilinear/InterpolationBilinearSupportSorted.java 2008-07-17 10:41:09 UTC (rev 3691)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/bilinear/InterpolationBilinearSupportSorted.java 2008-07-17 10:56:03 UTC (rev 3692)
@@ -12,7 +12,8 @@
import org.fudaa.ctulu.ProgressionInterface;
import org.fudaa.ctulu.ProgressionUpdater;
-import org.fudaa.ctulu.interpolation.InterpolationSupportLocationI;
+import org.fudaa.ctulu.interpolation.SupportLocationI;
+import org.fudaa.ctulu.interpolation.SupportLocationXYComparator;
/**
* Un classe representant une source pour une interpolation des plus proches voisins.
@@ -22,50 +23,7 @@
*/
public final class InterpolationBilinearSupportSorted {
- private final static class ComparatorIdx implements Comparator {
-
- final InterpolationSupportLocationI srcData_;
-
- /**
- * @param _data
- */
- public ComparatorIdx(final InterpolationSupportLocationI _data) {
- super();
- srcData_ = _data;
- }
-
- public int compare(final int _idx, final double _x2, final double _y2) {
- final double x1 = srcData_.getPtX(_idx);
- if (x1 < _x2) {
- return -1;
- }
- if (x1 > _x2) {
- return 1;
- }
- final double y1 = srcData_.getPtY(_idx);
- if (y1 < _y2) {
- return -1;
- }
- if (y1 > _y2) {
- return 1;
- }
- return 0;
- }
-
- public int compare(final int _o1, final int _o2) {
- if (_o1 == _o2) {
- return 0;
- }
- return compare(_o1, srcData_.getPtX(_o2), srcData_.getPtY(_o2));
- }
-
- public int compare(final Object _o1, final Object _o2) {
- return compare(((Integer) _o1).intValue(), ((Integer) _o2).intValue());
- }
-
- }
-
- public static InterpolationBilinearSupportSorted buildSortedSrc(final InterpolationSupportLocationI _src,
+ public static InterpolationBilinearSupportSorted buildSortedSrc(final SupportLocationI _src,
final ProgressionInterface _prog) {
final Integer[] idxs = new Integer[_src.getPtsNb()];
final ProgressionUpdater up = new ProgressionUpdater(_prog);
@@ -74,7 +32,7 @@
idxs[i] = new Integer(i);
up.majAvancement();
}
- Arrays.sort(idxs, new ComparatorIdx(_src));
+ Arrays.sort(idxs, new SupportLocationXYComparator(_src));
final int[] sortedIdx = new int[idxs.length];
for (int i = idxs.length - 1; i >= 0; i--) {
sortedIdx[i] = idxs[i].intValue();
@@ -83,15 +41,15 @@
}
- final private ComparatorIdx comp_;
- InterpolationSupportLocationI ref_;
+ final private SupportLocationXYComparator comp_;
+ SupportLocationI ref_;
final int[] sortedIdx_;
- private InterpolationBilinearSupportSorted(final InterpolationSupportLocationI _ref, final int[] _sorted) {
+ private InterpolationBilinearSupportSorted(final SupportLocationI _ref, final int[] _sorted) {
ref_ = _ref;
sortedIdx_ = _sorted;
- comp_ = new ComparatorIdx(ref_);
+ comp_ = new SupportLocationXYComparator(ref_);
}
private int searchIdx(final double _x, final double _y) {
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/bilinear/InterpolatorBilinear.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/bilinear/InterpolatorBilinear.java 2008-07-17 10:41:09 UTC (rev 3691)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/bilinear/InterpolatorBilinear.java 2008-07-17 10:56:03 UTC (rev 3692)
@@ -20,7 +20,7 @@
import org.fudaa.ctulu.ProgressionUpdater;
import org.fudaa.ctulu.interpolation.InterpolationParameters;
import org.fudaa.ctulu.interpolation.InterpolationResultsHolderI;
-import org.fudaa.ctulu.interpolation.InterpolationSupportLocationI;
+import org.fudaa.ctulu.interpolation.SupportLocationI;
import org.fudaa.ctulu.interpolation.InterpolationSupportValuesI;
import org.fudaa.ctulu.interpolation.InterpolationTarget;
import org.fudaa.ctulu.interpolation.Interpolator;
@@ -33,7 +33,7 @@
double distance_;
InterpolationBilinearSupportSorted ref_;
- final InterpolationSupportLocationI init_;
+ final SupportLocationI init_;
boolean stop_;
/**
@@ -41,7 +41,7 @@
* @param _ref
* @param _results
*/
- public InterpolatorBilinear(final InterpolationSupportLocationI _ref) {
+ public InterpolatorBilinear(final SupportLocationI _ref) {
super();
init_ = _ref;
distance_ = -1;
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/test/org/fudaa/ctulu/interpolation/TestJInterpolation.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/test/org/fudaa/ctulu/interpolation/TestJInterpolation.java 2008-07-17 10:41:09 UTC (rev 3691)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/test/org/fudaa/ctulu/interpolation/TestJInterpolation.java 2008-07-17 10:56:03 UTC (rev 3692)
@@ -260,7 +260,7 @@
}
}
- static class InterpolationSrcAdapter implements InterpolationSupportValuesI, InterpolationSupportLocationI {
+ static class InterpolationSrcAdapter implements InterpolationSupportValuesI, SupportLocationI {
final double[] x_ = new double[] { 0, 1, 0, 1 };
final double[] y_ = new double[] { 0, 0, 1, 1 };
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/ef/EfGridDataInterpolationValuesAdapter.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/ef/EfGridDataInterpolationValuesAdapter.java 2008-07-17 10:41:09 UTC (rev 3691)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/ef/EfGridDataInterpolationValuesAdapter.java 2008-07-17 10:56:03 UTC (rev 3692)
@@ -13,7 +13,7 @@
import org.fudaa.ctulu.CtuluVariable;
import org.fudaa.ctulu.collection.CtuluCollectionDouble;
-import org.fudaa.ctulu.interpolation.InterpolationSupportLocationI;
+import org.fudaa.ctulu.interpolation.SupportLocationI;
import org.fudaa.ctulu.interpolation.InterpolationSupportValuesMultiI;
/**
@@ -21,7 +21,7 @@
* @version $Id: EfGridDataInterpolationValuesAdapter.java,v 1.2 2007-06-11 13:04:05 deniger Exp $
*/
public class EfGridDataInterpolationValuesAdapter implements InterpolationSupportValuesMultiI,
- InterpolationSupportLocationI {
+ SupportLocationI {
final EfGridData data_;
final int tIdx_;
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/ef/interpolation/EfInterpolationGridSupportAdapter.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/ef/interpolation/EfInterpolationGridSupportAdapter.java 2008-07-17 10:41:09 UTC (rev 3691)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/ef/interpolation/EfInterpolationGridSupportAdapter.java 2008-07-17 10:56:03 UTC (rev 3692)
@@ -8,7 +8,7 @@
package org.fudaa.dodico.ef.interpolation;
import org.fudaa.ctulu.CtuluVariable;
-import org.fudaa.ctulu.interpolation.InterpolationSupportLocationI;
+import org.fudaa.ctulu.interpolation.SupportLocationI;
import org.fudaa.ctulu.interpolation.InterpolationSupportValuesI;
import org.fudaa.dodico.ef.EfGridInterface;
@@ -17,7 +17,7 @@
* @author Fred Deniger
* @version $Id: EfInterpolationGridSupportAdapter.java,v 1.2 2007-06-11 13:04:06 deniger Exp $
*/
-public abstract class EfInterpolationGridSupportAdapter implements InterpolationSupportLocationI,
+public abstract class EfInterpolationGridSupportAdapter implements SupportLocationI,
InterpolationSupportValuesI {
final EfGridInterface grid_;
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/test/org/fudaa/dodico/h2d/TestJMaillage.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/test/org/fudaa/dodico/h2d/TestJMaillage.java 2008-07-17 10:41:09 UTC (rev 3691)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/test/org/fudaa/dodico/h2d/TestJMaillage.java 2008-07-17 10:56:03 UTC (rev 3692)
@@ -43,7 +43,7 @@
import org.fudaa.ctulu.gis.GISPoint;
import org.fudaa.ctulu.interpolation.InterpolationParameters;
import org.fudaa.ctulu.interpolation.InterpolationResultsHolderI;
-import org.fudaa.ctulu.interpolation.InterpolationSupportLocationI;
+import org.fudaa.ctulu.interpolation.SupportLocationI;
import org.fudaa.ctulu.interpolation.InterpolationSupportPoint;
import org.fudaa.ctulu.interpolation.InterpolationSupportValuesI;
import org.fudaa.ctulu.interpolation.TestJInterpolation;
@@ -818,7 +818,7 @@
assertTrue(mail_.getFrontiers().isSame(l.toNativeArray()));
}
- private static class GridRef implements InterpolationSupportLocationI, InterpolationSupportValuesI {
+ private static class GridRef implements SupportLocationI, InterpolationSupportValuesI {
final EfGridInterface g_;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2008-07-17 10:41:08
|
Revision: 3691
http://fudaa.svn.sourceforge.net/fudaa/?rev=3691&view=rev
Author: bmarchan
Date: 2008-07-17 10:41:09 +0000 (Thu, 17 Jul 2008)
Log Message:
-----------
Correction de l'updater + details d'utilisation.
Modified Paths:
--------------
branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/ProgressionUpdater.java
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/ProgressionUpdater.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/ProgressionUpdater.java 2008-07-15 15:26:24 UTC (rev 3690)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/ProgressionUpdater.java 2008-07-17 10:41:09 UTC (rev 3691)
@@ -9,8 +9,10 @@
/**
* Cette classe permet de mettre a jour automatiquement la progression d'une boucle. Il faut donner le nombre
- * d'iteration attendu et le nombre de mise a jour ( ou etape) voulue.Exemple <br>
+ * d'iteration attendu et le nombre de mise a jour (ou etape) voulue.<p>
*
+ * Exemple:
+ *
* <pre>
* int nbEle = _getNombreElementATraiter();
* ProgressionUpdater prog = new ProgressionUpdater(_inter);
@@ -76,8 +78,10 @@
}
/**
- * Permet d'initialiser cet updater avec le nombre d'\xE9tapes voulues et le nombre d'iteration attendue. Exemple: <br>
- * vous avez une boucle qui contient 200 iteration et vous voulez mettre a jour la progression tous les 50 (soit 4
+ * Initialise l'updater avec le nombre d'\xE9tapes voulues et le nombre d'iteration attendues.<p>
+ *
+ * Exemple: <br>
+ * vous avez une boucle qui contient 200 iteration et vous voulez mettre a jour la progression toutes les 50 (soit 4
* \xE9tapes). Il suffit d'appeler setValue(4,200). Appelle la fonction setValue(int,int,0,100)
*
* @see #setValue(int, int, int, int)
@@ -91,13 +95,18 @@
boolean maxStepUsed_ = true;
/**
- * Permet d'initialiser cet updater avec le nombre d'\xE9tapes voulues et le nombre d'iteration attendue. De plus, il est
- * possible de preciser le pourcentage initial et l'\xE9tendu du pourcentage. Exemple: <br>
- * vous avez une boucle qui contient 300 iteration et vous voulez mettre a jour la progression tous les 100 (soit 3
- * \xE9tapes). Par contre, vous voulez que la progression commence \xE0 20 et qu'elle se finisse a 60 ( soit une \xE9tendue de
- * 60) Il suffit d'appeler setValue(3,300,20,60). Attention : si le nombre d'iteration pour chaque etape est trop
- * faible (<20) le nombre d'etape sera de 2. C'est pour eviter de mettre a jour trop souvent l'interface
+ * Initialise l'updater avec le nombre d'\xE9tapes voulues et le nombre d'iterations attendues, le pourcentage initial
+ * et l'\xE9tendu du pourcentage.<p>
*
+ * Exemple: <br>
+ * vous avez une boucle qui contient 300 iterations et vous voulez mettre a jour la progression toutes les 100 (soit 3
+ * \xE9tapes). De plus, vous voulez que la progression commence \xE0 20% et qu'elle se finisse a 80% ( soit une \xE9tendue de
+ * 60). Il suffit d'appeler setValue(3,300,20,60).<p>
+ *
+ * Attention: <br>
+ * si le nombre d'iteration pour chaque etape est trop
+ * faible (<20) le nombre d'etape sera de 2 pour eviter de mettre a jour trop souvent l'interface.
+ *
* @param _nbStepToShow le nombre de maj voulue
* @param _nbTotalIteration le nombre d'iteration
* @param _pourcentOffSet le depart des pourcentages
@@ -109,6 +118,7 @@
if (maxStepUsed_) {
step = ((_nbTotalIteration / _nbStepToShow) < 20) ? 4 : _nbStepToShow;
}
+ step=Math.min(step, _pourcentRange); // Le nombre de pas ne peut \xEAtre sup\xE9rieur \xE0 l'intervalle, sinon pas d'avanc\xE9e.
pourcStep_ = _pourcentRange / step;
pas_ = _nbTotalIteration / step;
nextPas_ = pas_;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2008-07-15 15:27:54
|
Revision: 3690
http://fudaa.svn.sourceforge.net/fudaa/?rev=3690&view=rev
Author: bmarchan
Date: 2008-07-15 08:26:24 -0700 (Tue, 15 Jul 2008)
Log Message:
-----------
Cr?\195?\169ation d'une valeur d'attribut String global a partir d'un tableau de String
Modified Paths:
--------------
branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeConstants.java
branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeString.java
branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISDataModelPointMultiPointAdapter.java
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeConstants.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeConstants.java 2008-07-15 15:24:26 UTC (rev 3689)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeConstants.java 2008-07-15 15:26:24 UTC (rev 3690)
@@ -116,10 +116,11 @@
// Si la valeur en entr\xE9e est la valeur par d\xE9faut, alors une nouvelle valeur en sortie est cr\xE9\xE9e.
// Ceci permet d'affecter automatiquement un nom nouveau \xE0 une g\xE9om\xE9trie cr\xE9\xE9e.
if (r == null || def_.equals(r)) {
- r="Geom_"+(++numid_);
+ return r="Geom_"+(++numid_);
}
- return r;
-
+ else {
+ return super.createGlobalValues(_initValues);
+ }
}
public Object getDefaultValue() {
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeString.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeString.java 2008-07-15 15:24:26 UTC (rev 3689)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeString.java 2008-07-15 15:26:24 UTC (rev 3690)
@@ -41,6 +41,15 @@
public Object getDefaultValue(){
return CtuluLibString.EMPTY_STRING;
}
+
+ protected Object createGlobalValues(final Object _initValues) {
+ if (_initValues instanceof Object[]) { // Plusieurs valeurs en entr\xE9e : On prend la premi\xE8re.
+ return ((Object[])_initValues)[0];
+ }
+ else {
+ return super.createGlobalValues(_initValues);
+ }
+ }
public int getPrecision(){
return 50;
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISDataModelPointMultiPointAdapter.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISDataModelPointMultiPointAdapter.java 2008-07-15 15:24:26 UTC (rev 3689)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISDataModelPointMultiPointAdapter.java 2008-07-15 15:26:24 UTC (rev 3690)
@@ -134,7 +134,7 @@
ArrayList<Integer> idxpts=hibloc2ListPts_.get(_idxGeom);
Object[] vals=new Object[idxpts.size()];
for (int i=0; i<idxpts.size(); i++) vals[i]=initmd_.getValue(_idxAtt,idxpts.get(i));
- datas_[_idxAtt][_idxGeom]=getAttribute(_idxAtt).createAtomicModel(vals, vals.length);
+ datas_[_idxAtt][_idxGeom]=getAttribute(_idxAtt).createDataForGeom(vals, vals.length);
}
return datas_[_idxAtt][_idxGeom];
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2008-07-15 15:25:53
|
Revision: 3689
http://fudaa.svn.sourceforge.net/fudaa/?rev=3689&view=rev
Author: bmarchan
Date: 2008-07-15 08:24:26 -0700 (Tue, 15 Jul 2008)
Log Message:
-----------
Correction sur addGeometry(), qui se fait directement depuiis la g?\195?\169om?\195?\169trie cr?\195?\169?\195?\169e.
Modified Paths:
--------------
branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionLigneBrisee.java
branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionMultiPoint.java
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionLigneBrisee.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionLigneBrisee.java 2008-07-15 15:22:51 UTC (rev 3688)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionLigneBrisee.java 2008-07-15 15:24:26 UTC (rev 3689)
@@ -182,12 +182,12 @@
}
}
- public void addGeometry(final Geometry _seq, final Object[] _data, final CtuluCommandContainer _cmd) {
- final LineString s = (LineString) _seq;
- if (s.isClosed()) {
- addPolygone(s.getCoordinateSequence(), _data, _cmd);
- } else {
- addPolyligne(s.getCoordinateSequence(), _data, _cmd);
+ public void addGeometry(final Geometry _geom, final Object[] _data, final CtuluCommandContainer _cmd) {
+ if (!(_geom instanceof LineString))
+ throw new IllegalArgumentException("Bad type geometry");
+
+ if (isGeomModifiable_) {
+ geometry_.add(_geom, Arrays.asList(createAttributeList(_data, _geom, true)), _cmd);
}
}
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionMultiPoint.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionMultiPoint.java 2008-07-15 15:22:51 UTC (rev 3688)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionMultiPoint.java 2008-07-15 15:24:26 UTC (rev 3689)
@@ -173,9 +173,11 @@
}
public void addGeometry(final Geometry _geom, final Object[] _data, final CtuluCommandContainer _cmd) {
- if (!(_geom instanceof GISMultiPoint)) return;
+ if (!(_geom instanceof GISMultiPoint))
+ throw new IllegalArgumentException("Bad type geometry");
+
if (isGeomModifiable_) {
- super.geometry_.add(_geom, Arrays.asList(createAttributeList(_data, _geom, true)), _cmd);
+ geometry_.add(_geom, Arrays.asList(createAttributeList(_data, _geom, true)), _cmd);
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2008-07-15 15:23:35
|
Revision: 3688
http://fudaa.svn.sourceforge.net/fudaa/?rev=3688&view=rev
Author: bmarchan
Date: 2008-07-15 08:22:51 -0700 (Tue, 15 Jul 2008)
Log Message:
-----------
Impl?\195?\169mentation import/export SinusX.
Modified Paths:
--------------
branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/telemac/io/SinusxReader.java
branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/telemac/io/SinusxWriter.java
branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlWizardImport.java
branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/layer/FSigLayerExporter.java
branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/wizard/FSigDataModelSinusxAdapter.java
branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/wizard/FSigFileLoaderSinusX.java
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/telemac/io/SinusxReader.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/telemac/io/SinusxReader.java 2008-07-15 15:11:13 UTC (rev 3687)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/telemac/io/SinusxReader.java 2008-07-15 15:22:51 UTC (rev 3688)
@@ -12,8 +12,12 @@
import java.io.EOFException;
import java.io.File;
import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
import com.vividsolutions.jts.geom.Coordinate;
+import com.vividsolutions.jts.geom.Geometry;
import com.memoire.fu.FuLog;
@@ -21,8 +25,14 @@
import org.fudaa.ctulu.CtuluLibFile;
import org.fudaa.ctulu.CtuluLibString;
import org.fudaa.ctulu.fileformat.FileFormatVersionInterface;
+import org.fudaa.ctulu.gis.GISAttribute;
+import org.fudaa.ctulu.gis.GISAttributeConstants;
+import org.fudaa.ctulu.gis.GISAttributeInterface;
import org.fudaa.ctulu.gis.GISCoordinateSequence;
+import org.fudaa.ctulu.gis.GISDataModelPointMultiPointAdapter;
+import org.fudaa.ctulu.gis.GISGeometryFactory;
import org.fudaa.ctulu.gis.GISZone;
+import org.fudaa.ctulu.gis.GISZoneCollection;
import org.fudaa.ctulu.gis.GISZoneCollectionPoint;
import org.fudaa.ctulu.gis.GISZoneCollectionPolygone;
import org.fudaa.ctulu.gis.GISZoneCollectionPolyligne;
@@ -89,7 +99,9 @@
/**
* En retour, les polylignes sont stock\xE9es dans une seule GISZoneCollectionPolyligne, les polygones dans une
- * seule GISZoneCollectionPolygone, les points par blocs, chaque bloc correspondant \xE0 une GISZoneCollectionPoint.
+ * seule GISZoneCollectionPolygone, les points par blocs, chaque bloc correspondant \xE0 une GISZoneCollectionPoint.<p>
+ * Les collections de points poss\xE8dent un attribut TITLE, chaque point de la collection ayant m\xEAme TITLE, qui correspond
+ * au nom du semis dont ils font partie. Ils poss\xE8dent \xE9galement un attribut ATT_NUM_BLOC pour pouvoir les regrouper.<p>
*
* Utilise FortranReader ( donc un buffer).
*
@@ -101,7 +113,18 @@
GISZoneCollectionPoint ptDefZone = null;
GISZoneCollectionPolygone polygones = null;
GISZoneCollectionPolyligne polylignes = null;
- int idx = 1;
+
+// GISAttribute[] atts=new GISAttribute[]{GISAttributeConstants.BATHY,GISAttributeConstants.TITRE};
+ GISAttributeInterface[] attPts=new GISAttributeInterface[]{
+ GISAttributeConstants.BATHY,
+ GISAttributeConstants.TITRE,
+ GISDataModelPointMultiPointAdapter.ATT_NUM_BLOC
+ };
+
+// Geometry geom;
+ String name = "";
+
+ int idx = 0;
defZone.setNom(name_);
// GISZone profilZone = null;
if (super.in_ == null) {
@@ -135,7 +158,6 @@
}
} while (key.isBlocCommentaire(bloc));
String type = null;
- // String nom = "";
// MNTEntite ent = null;
// approximation
lu += 150;
@@ -157,9 +179,10 @@
while (!estPoint(bloc)) {
if (key.isBlocNomEntite(bloc)) {
- if (FuLog.isDebug()) {
- FuLog.debug("DTE: name " + in_.getLine().substring(key.getBlocNomEntite().length()).trim());
- }
+ name=in_.getLine().substring(key.getBlocNomEntite().length()).trim();
+// if (FuLog.isDebug()) {
+// FuLog.debug("DTE: name " + in_.getLine().substring(key.getBlocNomEntite().length()).trim());
+// }
} else if (key.isBlocInfos(bloc)) {
final String t1 = in_.stringField(1);
final int nbChamps = in_.getNumberOfFields();
@@ -185,40 +208,57 @@
if (key.isTypeCourbe(type)) {
// DEBUG:FERME??
polyligneXyz = new TDoubleArrayList();
- } else if (key.isTypeCourbeNiveau(type)) {
+ }
+ else if (key.isTypeCourbeNiveau(type)) {
polyligneXyz = new TDoubleArrayList();
niveau = true;
/*
* temp.niveau(true); defZone.ajoutePolyligne(temp); ent = temp; temp = null; ent.setNom(nom);
*/
// ent.setNom(nom);
- } else if (key.isTypeProfil(type)) {
- analyze_.addWarn(H2dResource.getS("Pofils non g\xE9r\xE9s"), in_.getLineNumber());
+ }
+ else if (key.isTypeProfil(type)) {
+ analyze_.addWarn(H2dResource.getS("Profils non g\xE9r\xE9s"), in_.getLineNumber());
pt = defZone.createPointContainer();
- pt.setTitle("profil", null);
- } else {
- if (!key.isTypeSemis(type)) {
- analyze_.addWarn(H2dResource.getS("TYPE inconnu : assimil\xE9 a un semis"), in_.getLineNumber());
+ pt.setAttributes(attPts, null);
+ idx++;
+// pt.setTitle("profil", null);
+ }
+ else if (key.isTypeSemis(type)) {
+ if (ptDefZone == null) {
+ ptDefZone = defZone.createPointContainer();
+ pt = ptDefZone;
+ pt.setAttributes(attPts, null);
+ idx++;
+ } else {
pt = defZone.createPointContainer();
- pt.setTitle(H2dResource.getS("type inconnu"), null);
- } else {
- if (ptDefZone == null) {
- ptDefZone = defZone.createPointContainer();
- pt = ptDefZone;
- } else {
- pt = defZone.createPointContainer();
- pt.setTitle(name_ + " " + (idx++), null);
- }
+ pt.setAttributes(attPts, null);
+ idx++;
+// pt.setTitle(name_ + " " + (idx++), null);
}
}
- } else {
+ else {
+ analyze_.addWarn(H2dResource.getS("TYPE inconnu : assimil\xE9 a un semis"), in_.getLineNumber());
+ pt = defZone.createPointContainer();
+ pt.setAttributes(attPts, null);
+ idx++;
+// pt.setTitle(H2dResource.getS("type inconnu"), null);
+ }
+ }
+ else {
analyze_.addWarn(H2dResource.getS("Liste de points uniquement"), in_.getLineNumber());
if (ptDefZone == null) {
ptDefZone = defZone.createPointContainer();
pt = ptDefZone;
+ pt.setAttributes(attPts, null);
+ idx++;
+ name=name_+" "+(idx);
} else {
pt = defZone.createPointContainer();
- pt.setTitle(name_ + " " + (idx++), null);
+ pt.setAttributes(attPts, null);
+ idx++;
+ name=name_+" "+(idx);
+// pt.setTitle(name_ + " " + (idx++), null);
}
}
lu += 30;
@@ -229,7 +269,7 @@
}
if (estPoint(bloc)) {
if (pt != null) {
- pt.add(Double.parseDouble(bloc), in_.doubleField(1), in_.doubleField(2));
+ pt.add(Double.parseDouble(bloc), in_.doubleField(1), in_.doubleField(2),Arrays.asList(new Object[]{null,name,idx-1}),null);
} else if (polyligneXyz != null) {
polyligneXyz.add(Double.parseDouble(bloc));
polyligneXyz.add(in_.doubleField(1));
@@ -246,34 +286,41 @@
}
// Fin de lecture des points du bloc => Si polyligne ou polygone, cr\xE9ation et ajout des points.
if (polyligneXyz != null) {
- if (!ferme) {
- ferme = isClosed(polyligneXyz);
- }
- if (ferme) {
- if (polygones == null) {
- polygones = defZone.createPolygoneContainer();
- }
- polyligneXyz.add(polyligneXyz.getQuick(0));
- polyligneXyz.add(polyligneXyz.getQuick(1));
- polyligneXyz.add(polyligneXyz.getQuick(2));
- if (niveau) {
- polygones.addPolygoneNiveau(new GISCoordinateSequence(polyligneXyz), null);
- } else {
- polygones.addPolygone(new GISCoordinateSequence(polyligneXyz), null);
- }
- } else {
- if (polylignes == null) {
- polylignes = defZone.createPolyligneContainer();
- }
- if (niveau) {
- polylignes.addPolyligneNiveau(new GISCoordinateSequence(polyligneXyz), null);
- } else {
- polylignes.addPolyligne(new GISCoordinateSequence(polyligneXyz), null);
- }
- }
- ferme = false;
- niveau = false;
+ addLigne(defZone, polyligneXyz, name, polygones, polylignes, ferme, niveau);
+// if (!ferme) {
+// ferme = isClosed(polyligneXyz);
+// }
+// if (ferme) {
+// if (polygones == null) {
+// polygones = defZone.createPolygoneContainer();
+// polygones.setAttributes(atts, null);
+// }
+// polyligneXyz.add(polyligneXyz.getQuick(0));
+// polyligneXyz.add(polyligneXyz.getQuick(1));
+// polyligneXyz.add(polyligneXyz.getQuick(2));
+// if (niveau) {
+// geom=GISGeometryFactory.INSTANCE.createLinearRingNiveau(new GISCoordinateSequence(polyligneXyz));
+// } else {
+// geom=GISGeometryFactory.INSTANCE.createLinearRing(new GISCoordinateSequence(polyligneXyz));
+// }
+// polygones.addGeometry(geom, new Object[]{null,name}, null);
+// } else {
+// if (polylignes == null) {
+// polylignes = defZone.createPolyligneContainer();
+// polylignes.setAttributes(atts, null);
+// }
+// if (niveau) {
+// geom=GISGeometryFactory.INSTANCE.createLineStringNiveau(new GISCoordinateSequence(polyligneXyz));
+// } else {
+// geom=GISGeometryFactory.INSTANCE.createLineString(new GISCoordinateSequence(polyligneXyz));
+// }
+// polylignes.addGeometry(geom, new Object[]{null,name}, null);
+// }
+// ferme = false;
+// niveau = false;
}
+ ferme = false;
+ niveau = false;
}
} catch (final EOFException e) {} catch (final IOException e) {
analyze_.manageException(e);
@@ -284,33 +331,90 @@
return null;
}
if (polyligneXyz != null) {
- if (!ferme) {
- ferme = isClosed(polyligneXyz);
+ addLigne(defZone, polyligneXyz, name, polygones, polylignes, ferme, niveau);
+// if (!ferme) {
+// ferme = isClosed(polyligneXyz);
+// }
+// if (ferme) {
+// if (polygones == null) {
+// polygones = defZone.createPolygoneContainer();
+// polygones.setAttributes(atts, null);
+// }
+// polyligneXyz.add(polyligneXyz.getQuick(0));
+// polyligneXyz.add(polyligneXyz.getQuick(1));
+// polyligneXyz.add(polyligneXyz.getQuick(2));
+// if (niveau) {
+// geom=GISGeometryFactory.INSTANCE.createLinearRingNiveau(new GISCoordinateSequence(polyligneXyz));
+// } else {
+// geom=GISGeometryFactory.INSTANCE.createLinearRing(new GISCoordinateSequence(polyligneXyz));
+// }
+// polygones.addGeometry(geom, new Object[]{null,name}, null);
+// } else {
+// if (polylignes == null) {
+// polylignes = defZone.createPolyligneContainer();
+// polylignes.setAttributes(atts, null);
+// }
+// if (niveau) {
+// geom=GISGeometryFactory.INSTANCE.createLineStringNiveau(new GISCoordinateSequence(polyligneXyz));
+// } else {
+// geom=GISGeometryFactory.INSTANCE.createLineString(new GISCoordinateSequence(polyligneXyz));
+// }
+// polylignes.addGeometry(geom, new Object[]{null,name}, null);
+// }
+ }
+
+ for (int i=0; i<defZone.getNumGeometries(); i++) {
+ ((GISZoneCollection)defZone.getGeometry(i)).postImport(0);
+ }
+ return defZone;
+ }
+
+ private void addLigne(GISZone _defZone, TDoubleArrayList _polyligneXyz, String _name, GISZoneCollection _polygones, GISZoneCollection _polylignes,
+ boolean _ferme, boolean _niveau) {
+
+ if (_polyligneXyz.size()<=3) { // Une polyligne ne peut pas contenir moins de 2 points.
+ analyze_.addWarn(H2dResource.getS("La polyligne {0} est vide ou ne contient qu'un point",_name), in_.getLineNumber());
+ return;
+ }
+
+ GISAttribute[] atts=new GISAttribute[]{GISAttributeConstants.BATHY,GISAttributeConstants.TITRE};
+ Geometry geom;
+
+ if (!_ferme) {
+ _ferme = isClosed(_polyligneXyz);
+ }
+ if (_ferme) {
+ if (_polygones == null) {
+ _polygones = _defZone.createPolygoneContainer();
+ _polygones.setAttributes(atts, null);
}
- if (ferme) {
- if (polygones == null) {
- polygones = defZone.createPolygoneContainer();
- }
- polyligneXyz.add(polyligneXyz.getQuick(0));
- polyligneXyz.add(polyligneXyz.getQuick(1));
- polyligneXyz.add(polyligneXyz.getQuick(2));
- if (niveau) {
- polygones.addPolygoneNiveau(new GISCoordinateSequence(polyligneXyz), null);
- } else {
- polygones.addPolygone(new GISCoordinateSequence(polyligneXyz), null);
- }
+ _polyligneXyz.add(_polyligneXyz.getQuick(0));
+ _polyligneXyz.add(_polyligneXyz.getQuick(1));
+ _polyligneXyz.add(_polyligneXyz.getQuick(2));
+ if (_niveau) {
+ geom=GISGeometryFactory.INSTANCE.createLinearRingNiveau(new GISCoordinateSequence(_polyligneXyz));
+// polygones.addPolygoneNiveau(new GISCoordinateSequence(polyligneXyz), null);
} else {
- if (polylignes == null) {
- polylignes = defZone.createPolyligneContainer();
- }
- if (niveau) {
- polylignes.addPolyligneNiveau(new GISCoordinateSequence(polyligneXyz), null);
- } else {
- polylignes.addPolyligne(new GISCoordinateSequence(polyligneXyz), null);
- }
+ geom=GISGeometryFactory.INSTANCE.createLinearRing(new GISCoordinateSequence(_polyligneXyz));
+// polygones.addPolygone(new GISCoordinateSequence(polyligneXyz), null);
}
+ _polygones.addGeometry(geom, new Object[]{null,_name}, null);
+ } else {
+ if (_polylignes == null) {
+ _polylignes = _defZone.createPolyligneContainer();
+ _polylignes.setAttributes(atts, null);
+ }
+ if (_niveau) {
+ geom=GISGeometryFactory.INSTANCE.createLineStringNiveau(new GISCoordinateSequence(_polyligneXyz));
+// polylignes.addPolyligneNiveau(new GISCoordinateSequence(polyligneXyz), null);
+ } else {
+ geom=GISGeometryFactory.INSTANCE.createLineString(new GISCoordinateSequence(_polyligneXyz));
+// polylignes.addPolyligne(new GISCoordinateSequence(polyligneXyz), null);
+ }
+ _polylignes.addGeometry(geom, new Object[]{null,_name}, null);
}
- return defZone;
+ _ferme = false;
+ _niveau = false;
}
public boolean isClosed(final TDoubleArrayList _list) {
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/telemac/io/SinusxWriter.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/telemac/io/SinusxWriter.java 2008-07-15 15:11:13 UTC (rev 3687)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/dodico/src/org/fudaa/dodico/telemac/io/SinusxWriter.java 2008-07-15 15:22:51 UTC (rev 3688)
@@ -17,6 +17,7 @@
import com.vividsolutions.jts.geom.CoordinateSequence;
import com.vividsolutions.jts.geom.LineString;
import com.vividsolutions.jts.geom.LinearRing;
+import com.vividsolutions.jts.geom.MultiPoint;
import com.vividsolutions.jts.geom.Point;
import com.vividsolutions.jts.geom.Polygon;
@@ -24,8 +25,13 @@
import org.fudaa.ctulu.CtuluLibString;
import org.fudaa.ctulu.ProgressionUpdater;
import org.fudaa.ctulu.fileformat.FileFormatVersionInterface;
+import org.fudaa.ctulu.gis.GISAttribute;
+import org.fudaa.ctulu.gis.GISAttributeConstants;
+import org.fudaa.ctulu.gis.GISCollection;
+import org.fudaa.ctulu.gis.GISCoordinateSequenceContainerInterface;
import org.fudaa.ctulu.gis.GISGeometry;
import org.fudaa.ctulu.gis.GISLib;
+import org.fudaa.ctulu.gis.GISMultiPoint;
import org.fudaa.ctulu.gis.GISPolygone;
import org.fudaa.ctulu.gis.GISPolyligne;
import org.fudaa.ctulu.gis.GISVisitorDefault;
@@ -228,34 +234,65 @@
if (g == null) {
continue;
}
+ int attName=g.getIndiceOf(GISAttributeConstants.TITRE);
+ // Les lignes et polygones
if (g.getDataStoreClass() == LineString.class || g.getDataStoreClass() == LinearRing.class) {
final int nbPoly = g.getNumGeometries();
for (int polyIdx = 0; polyIdx < nbPoly; polyIdx++) {
final StringBuffer buf = new StringBuffer();
buf.append(bs_).append(CtuluLibString.ESPACE);
- final LineString l = (LineString) g.getGeometryN(polyIdx);
- ((GISGeometry) l).accept(identifieur);
+ final LineString geom = (LineString) g.getGeometryN(polyIdx);
+ ((GISGeometry) geom).accept(identifieur);
final boolean ferme = identifieur.isClosed_;
- final String nom = ((ferme) ? "polygone" : "polyligne");
+
+ final String nom;
+ if (attName==-1)
+ nom= ((ferme) ? "polygone" : "polyligne") + CtuluLibString.ESPACE + (j + 1) + "-" + (polyIdx + 1);
+ else
+ nom=(String)g.getValue(attName, polyIdx);
+
if (identifieur.isNiveau_) {
buf.append(key_.getTypeCourbeNiveau());
- spec = formate_.format(l.getCoordinateSequence().getOrdinate(0, 2));
+ spec = formate_.format(geom.getCoordinateSequence().getOrdinate(0, 2));
} else {
buf.append(key_.getTypeCourbe());
spec = courbeDefaut(key_.getCourbeNBIndic());
}
writeToOut(buf.toString());
- writeEntete(j + polyIdx, nom + CtuluLibString.ESPACE + (j + 1) + "-" + (polyIdx + 1), spec, ferme);
- writeCoordinateSequence(l.getCoordinateSequence(), up, ferme);
+ writeEntete(j + polyIdx, nom, spec, ferme);
+ writeCoordinateSequence(geom.getCoordinateSequence(), up, ferme);
}
// DEBUG: Que veut dire ferme??
// if(ent instanceof MNTPolygone) fermee=true;
}
- /*
- * else if (ent instanceof MNTProfil) { buf.append(key.getTypeProfil()); spec = profilDefaut(); }
- */
+
+ // Multipoints
+ else if (g.getDataStoreClass() == GISMultiPoint.class) {
+ final int nbPoly = g.getNumGeometries();
+ for (int polyIdx = 0; polyIdx < nbPoly; polyIdx++) {
+ final StringBuffer buf = new StringBuffer();
+ buf.append(bs_).append(CtuluLibString.ESPACE);
+ final GISMultiPoint geom = (GISMultiPoint) g.getGeometryN(polyIdx);
+
+ final String nom;
+ if (attName==-1)
+ nom = "semis"+ CtuluLibString.ESPACE + (j + 1) + "-" + (polyIdx + 1);
+ else
+ nom=(String)g.getValue(attName, polyIdx);
+
+ buf.append(key_.getTypeSemis());
+ spec = null;
+ writeToOut(buf.toString());
+ writeEntete(j + polyIdx, nom , spec, false);
+ writeCoordinateSequence(geom.getCoordinateSequence(), up, false);
+ }
+ // DEBUG: Que veut dire ferme??
+ // if(ent instanceof MNTPolygone) fermee=true;
+ }
+
+ // Points
else {
final StringBuffer buf = new StringBuffer(50);
buf.append(bs_).append(' ');
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlWizardImport.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlWizardImport.java 2008-07-15 15:11:13 UTC (rev 3687)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlWizardImport.java 2008-07-15 15:22:51 UTC (rev 3688)
@@ -22,6 +22,7 @@
import org.fudaa.ctulu.gis.GISPolygone;
import org.fudaa.ctulu.gis.GISZoneCollectionLigneBrisee;
import org.fudaa.ctulu.gis.GISZoneCollectionMultiPoint;
+import org.fudaa.ebli.calque.dessin.DeForme;
import org.fudaa.ebli.calque.edition.ZCalqueEditable;
import org.fudaa.fudaa.commun.FudaaLib;
import org.fudaa.fudaa.modeleur.layer.MdlLayer2dLine;
@@ -51,8 +52,11 @@
@Override
public void doTask() {
- if (data_==null) data_ = fileLoader_.loadAll(null, new CtuluAnalyze());
-
+ CtuluAnalyze analyze=new CtuluAnalyze();
+ if (data_==null) data_ = fileLoader_.loadAll(null, analyze);
+ // Affiche les erreurs dans une boite de dialogue.
+ impl_.manageAnalyzeAndIsFatal(analyze);
+
// Pas de fichier, retour sans message.
done_=true;
if (data_==null) return;
@@ -83,8 +87,8 @@
protected void importData(ProgressionInterface _prog) {
final CtuluCommandComposite cmp = new CtuluCommandComposite();
- // Calque des semis de points.
- if (selectedLayer_ instanceof MdlLayer2dMultiPoint) {
+ // Les semis de points.
+ if (selectedLayer_ instanceof MdlLayer2dMultiPoint && selectedLayer_.canAddForme(DeForme.MULTI_POINT)) {
final GISZoneCollectionMultiPoint col = (GISZoneCollectionMultiPoint)((MdlModel2dMultiPoint)selectedLayer_.modeleDonnees()).getGeomData();
final GISAttributeInterface[] attChosen=col.getAttributes();
final GISDataModel[] pts = data_.getPoints();
@@ -95,8 +99,8 @@
}
}
- // Les autres calques.
- else if (selectedLayer_ instanceof MdlLayer2dLine) {
+ // Les polylignes.
+ if (selectedLayer_ instanceof MdlLayer2dLine && selectedLayer_.canAddForme(DeForme.LIGNE_BRISEE)) {
final GISZoneCollectionLigneBrisee col = (GISZoneCollectionLigneBrisee)((MdlModel2dLine)selectedLayer_.modeleDonnees()).getGeomData();
final GISAttributeInterface[] attChosen=col.getAttributes();
GISDataModel[] lines = data_.getPolylignes();
@@ -106,6 +110,18 @@
col.addAll(model, cmp, true);
}
}
+
+ // Les polygones.
+ if (selectedLayer_ instanceof MdlLayer2dLine && selectedLayer_.canAddForme(DeForme.POLYGONE)) {
+ final GISZoneCollectionLigneBrisee col = (GISZoneCollectionLigneBrisee)((MdlModel2dLine)selectedLayer_.modeleDonnees()).getGeomData();
+ final GISAttributeInterface[] attChosen=col.getAttributes();
+ GISDataModel[] lines = data_.getPolygones();
+ final int nb=lines.length;
+ for (int i=0; i<nb; i++) {
+ final GISDataModel model=GISDataModelFilterAdapter.buildLigneAdapter(lines[i], attChosen);
+ col.addAll(model, cmp, true);
+ }
+ }
if (mng_!=null) mng_.addCmd(cmp.getSimplify());
}
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/layer/FSigLayerExporter.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/layer/FSigLayerExporter.java 2008-07-15 15:11:13 UTC (rev 3687)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/layer/FSigLayerExporter.java 2008-07-15 15:22:51 UTC (rev 3688)
@@ -132,6 +132,11 @@
final GISZoneCollection collec = _filter.getCollect(_filter.polyCq_.get(i));
z.add(collec);
}
+ nb = _filter.mlptsCq_.size();
+ for (int i = 0; i < nb; i++) {
+ final GISZoneCollection collec = _filter.getCollect(_filter.mlptsCq_.get(i));
+ z.add(collec);
+ }
return SinusxFileFormat.getInstance().write(f, z, _prog);
}
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/wizard/FSigDataModelSinusxAdapter.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/wizard/FSigDataModelSinusxAdapter.java 2008-07-15 15:11:13 UTC (rev 3687)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/wizard/FSigDataModelSinusxAdapter.java 2008-07-15 15:22:51 UTC (rev 3688)
@@ -50,10 +50,10 @@
* @param _progress la barre de progression
* @return le model correspondant
*/
- public static GISDataModel readSxFilePoly(final File _f, final Class _filterClass, final CtuluUI _impl,
- final ProgressionInterface _progress) {
- return readSxFilePoly(_f, _filterClass, _impl, _progress, null);
- }
+// public static GISDataModel readSxFilePoly(final File _f, final Class _filterClass, final CtuluUI _impl,
+// final ProgressionInterface _progress) {
+// return readSxFilePoly(_f, _filterClass, _impl, _progress, null);
+// }
public Envelope getEnvelopeInternal() {
return GISLib.computeEnveloppe(geoms_);
@@ -69,143 +69,171 @@
* @param _isPolygoneAccepted true si les polygones sont acceptees dans le modele
* @param _progress la barre de progression
* @param _res le resultat peut etre null
- * @return le model
+ * @return le model, null si aucune g\xE9om\xE9trie.
*/
public static GISDataModel analyseSxFile(final GISZone _zi, final boolean _isPointAccepted,
final boolean _isPolyligneAccepted, final boolean _isPolygoneAccepted, final ProgressionInterface _progress,
final FSigFileLoadResult _res) {
- int ibloc=0;
- final List res = new ArrayList(100);
- // final TDoubleArrayList zAverage = new TDoubleArrayList(100);
- final List z = new ArrayList();
- final TIntArrayList numBloc=new TIntArrayList();
- final GISAttributeDouble zAtt = (GISAttributeDouble) GISAttributeConstants.BATHY;
- final GISAttributeInterface numBlocAtt=GISDataModelPointMultiPointAdapter.ATT_NUM_BLOC;
- if (_res != null) {
- _res.allAttribute_.add(zAtt);
- _res.allAttribute_.add(numBlocAtt);
- }
+// int ibloc=0;
+// final List res = new ArrayList(100);
+// // final TDoubleArrayList zAverage = new TDoubleArrayList(100);
+// final List z = new ArrayList();
+// final TIntArrayList numBloc=new TIntArrayList();
+// final GISAttributeDouble zAtt = (GISAttributeDouble) GISAttributeConstants.BATHY;
+// final GISAttributeInterface numBlocAtt=GISDataModelPointMultiPointAdapter.ATT_NUM_BLOC;
+// final GISAttribute nameAtt = GISAttributeConstants.TITRE;
+// if (_res != null) {
+// _res.allAttribute_.add(zAtt);
+// _res.allAttribute_.add(numBlocAtt);
+// _res.allAttribute_.add(nameAtt);
+// }
final GISZoneCollectionPolygone[] polygones = _zi.getPolygoneCollections();
// on parcourt les polygones
if (polygones != null && _isPolygoneAccepted) {
+ if (polygones.length==0) return null;
final int nbPolyg = polygones.length;
for (int j = 0; j < nbPolyg; j++) {
- final GISZoneCollectionPolygone polyzj = polygones[j];
- final int nbpoly = polyzj.getNumGeometries();
- for (int k = 0; k < nbpoly; k++) {
- final GISPolygone pk = (GISPolygone) polyzj.getGeometry(k);
- res.add(pk);
- if (_res != null) {
- _res.nbPolygones_++;
- _res.nbPointTotal_ += pk.getNumGeometries();
- }
- final CoordinateSequence seq = pk.getCoordinateSequence();
- final GISAttributeModelDoubleArray zl = zAtt.createAtomicModelDouble(pk.getNumPoints());
- for (int l = zl.getSize() - 1; l >= 0; l--) {
- zl.set(l, seq.getOrdinate(l, 2));
- }
- z.add(zl);
- numBloc.add(ibloc++);
- }
-
+ _res.nbPolygones_+=polygones[j].getNumGeometries();
+ _res.nbPointTotal_+=polygones[j].getNumPoints();
}
+ GISDataModel mdl=new GISDataModelMultiAdapter(polygones);
+ return mdl;
+// final int nbPolyg = polygones.length;
+// for (int j = 0; j < nbPolyg; j++) {
+// final GISZoneCollectionPolygone polyzj = polygones[j];
+// final int nbpoly = polyzj.getNumGeometries();
+// for (int k = 0; k < nbpoly; k++) {
+// final GISPolygone pk = (GISPolygone) polyzj.getGeometry(k);
+// res.add(pk);
+// if (_res != null) {
+// _res.nbPolygones_++;
+// _res.nbPointTotal_ += pk.getNumGeometries();
+// }
+// final CoordinateSequence seq = pk.getCoordinateSequence();
+// final GISAttributeModelDoubleArray zl = zAtt.createAtomicModelDouble(pk.getNumPoints());
+// for (int l = zl.getSize() - 1; l >= 0; l--) {
+// zl.set(l, seq.getOrdinate(l, 2));
+// }
+// z.add(zl);
+// numBloc.add(ibloc++);
+// }
+//
+// }
}
final GISZoneCollectionPolyligne[] polyligne = _zi.getPolyligneCollections();
// on parcourt les polygones
if (polyligne != null && _isPolyligneAccepted) {
- final int nbLignes = polyligne.length;
- for (int j = 0; j < nbLignes; j++) {
- final GISZoneCollectionPolyligne lignes = polyligne[j];
- final int nbpoly = lignes.getNumGeometries();
- for (int k = 0; k < nbpoly; k++) {
- final GISPolyligne pk = (GISPolyligne) lignes.getGeometry(k);
- res.add(pk);
- if (_res != null) {
- _res.nbPolylignes_++;
- _res.nbPointTotal_ += pk.getNumGeometries();
- }
- final CoordinateSequence seq = pk.getCoordinateSequence();
- final double[] zl = new double[pk.getNumPoints()];
- for (int l = zl.length - 1; l >= 0; l--) {
- zl[l] = seq.getOrdinate(l, 2);
- }
- z.add(new GISAttributeModelDoubleArray(zl, zAtt));
- numBloc.add(ibloc++);
- }
-
+ if (polyligne.length==0) return null;
+ final int nbPolyg = polyligne.length;
+ for (int j = 0; j < nbPolyg; j++) {
+ _res.nbPolylignes_+=polyligne[j].getNumGeometries();
+ _res.nbPointTotal_+=polyligne[j].getNumPoints();
}
+ GISDataModel mdl=new GISDataModelMultiAdapter(polyligne);
+ return mdl;
+// final int nbLignes = polyligne.length;
+// for (int j = 0; j < nbLignes; j++) {
+// final GISZoneCollectionPolyligne lignes = polyligne[j];
+// final int nbpoly = lignes.getNumGeometries();
+// for (int k = 0; k < nbpoly; k++) {
+// final GISPolyligne pk = (GISPolyligne) lignes.getGeometry(k);
+// res.add(pk);
+// if (_res != null) {
+// _res.nbPolylignes_++;
+// _res.nbPointTotal_ += pk.getNumGeometries();
+// }
+// final CoordinateSequence seq = pk.getCoordinateSequence();
+// final double[] zl = new double[pk.getNumPoints()];
+// for (int l = zl.length - 1; l >= 0; l--) {
+// zl[l] = seq.getOrdinate(l, 2);
+// }
+// z.add(new GISAttributeModelDoubleArray(zl, zAtt));
+// numBloc.add(ibloc++);
+// }
+//
+// }
}
final GISZoneCollectionPoint[] pts = _zi.getPointCollections();
if (pts != null && _isPointAccepted) {
final int nbPts = pts.length;
+ if (pts.length==0) return null;
for (int j = 0; j < nbPts; j++) {
- final GISZoneCollectionPoint lignes = pts[j];
- final int nbpoly = lignes.getNumGeometries();
- if (_res != null) {
- _res.nbPoint_ += lignes.getNumPoints();
- _res.nbPointTotal_ += lignes.getNumPoints();
- }
- for (int k = 0; k < nbpoly; k++) {
- final Point pk = (Point) lignes.getGeometry(k);
- res.add(pk);
- z.add(CtuluLib.getDouble(pk.getCoordinateSequence().getOrdinate(0, 2)));
- numBloc.add(ibloc);
- }
- ibloc++;
+ _res.nbPoint_+=pts[j].getNumPoints();
+ _res.nbPointTotal_+=pts[j].getNumPoints();
}
+ GISDataModel mdl=new GISDataModelMultiAdapter(pts);
+ return mdl;
+// final int nbPts = pts.length;
+// for (int j = 0; j < nbPts; j++) {
+// final GISZoneCollectionPoint lignes = pts[j];
+// final int nbpoly = lignes.getNumGeometries();
+// if (_res != null) {
+// _res.nbPoint_ += lignes.getNumPoints();
+// _res.nbPointTotal_ += lignes.getNumPoints();
+// }
+// for (int k = 0; k < nbpoly; k++) {
+// final Point pk = (Point) lignes.getGeometry(k);
+// res.add(pk);
+// z.add(CtuluLib.getDouble(pk.getCoordinateSequence().getOrdinate(0, 2)));
+// numBloc.add(ibloc);
+// }
+// ibloc++;
+// }
}
- final FSigDataModelSinusxAdapter r = new FSigDataModelSinusxAdapter();
- r.geoms_ = new Geometry[res.size()];
- res.toArray(r.geoms_);
- r.model_ = new GISAttributeModel[2];
- r.model_[0] = new GISAttributeModelObjectList(z, zAtt);
- r.model_[1] = new GISAttributeModelIntegerList(numBloc.toNativeArray(),numBlocAtt);
- return r;
+// final FSigDataModelSinusxAdapter r = new FSigDataModelSinusxAdapter();
+// r.geoms_ = new Geometry[res.size()];
+// res.toArray(r.geoms_);
+// r.model_ = new GISAttributeModel[2];
+// r.model_[0] = new GISAttributeModelObjectList(z, zAtt);
+// r.model_[1] = new GISAttributeModelIntegerList(numBloc.toNativeArray(),numBlocAtt);
+// r.model_[2] = new GISAttributeModelObjectList(nameAtt);
+// return r;
+ return null;
}
- public static GISDataModel analyseSinusxRes(final GISZone _zones, final Class _filterClass,
- final ProgressionInterface _progress, final FSigFileLoadResult _res) {
- // on part sur 100 objets
- boolean isPolygoneAccepted = true;
- boolean isPolyligneAccepted = true;
- boolean isPointAccepted = true;
- if (_filterClass != null) {
- if (LineString.class.equals(_filterClass)) {
- isPointAccepted = false;
- } else if (LinearRing.class.equals(_filterClass)) {
- isPointAccepted = false;
- isPolyligneAccepted = false;
- } else if (Point.class.equals(_filterClass)) {
- isPolyligneAccepted = false;
- isPolygoneAccepted = false;
- }
- }
- return analyseSxFile(_zones, isPointAccepted, isPolyligneAccepted, isPolygoneAccepted, _progress, _res);
+// public static GISDataModel analyseSinusxRes(final GISZone _zones, final Class _filterClass,
+// final ProgressionInterface _progress, final FSigFileLoadResult _res) {
+// // on part sur 100 objets
+// boolean isPolygoneAccepted = true;
+// boolean isPolyligneAccepted = true;
+// boolean isPointAccepted = true;
+// if (_filterClass != null) {
+// if (LineString.class.equals(_filterClass)) {
+// isPointAccepted = false;
+// } else if (LinearRing.class.equals(_filterClass)) {
+// isPointAccepted = false;
+// isPolyligneAccepted = false;
+// } else if (Point.class.equals(_filterClass)) {
+// isPolyligneAccepted = false;
+// isPolygoneAccepted = false;
+// }
+// }
+// return analyseSxFile(_zones, isPointAccepted, isPolyligneAccepted, isPolygoneAccepted, _progress, _res);
+//
+// }
- }
-
/**
* @param _f
* @param _impl
* @param _progress
* @return la source correspondante
*/
- public static GISDataModel readSxFilePoly(final File _f, final Class _filterClass, final CtuluUI _impl,
- final ProgressionInterface _progress, final FSigFileLoadResult _res) {
- final CtuluIOOperationSynthese result = SinusxFileFormat.getInstance().read(_f, _progress);
- // si erreur fatale on renvoie null
- if (_impl.manageErrorOperationAndIsFatal(result)) {
- return null;
- }
- final GISZone zones = (GISZone) result.getSource();
- if (zones == null || zones.getNumGeometries() == 0) {
- return null;
- }
- return analyseSinusxRes(zones, _filterClass, _progress, _res);
+// public static GISDataModel readSxFilePoly(final File _f, final Class _filterClass, final CtuluUI _impl,
+// final ProgressionInterface _progress, final FSigFileLoadResult _res) {
+// final CtuluIOOperationSynthese result = SinusxFileFormat.getInstance().read(_f, _progress);
+// // si erreur fatale on renvoie null
+// if (_impl.manageErrorOperationAndIsFatal(result)) {
+// return null;
+// }
+// final GISZone zones = (GISZone) result.getSource();
+// if (zones == null || zones.getNumGeometries() == 0) {
+// return null;
+// }
+// return analyseSinusxRes(zones, _filterClass, _progress, _res);
+//
+// }
- }
-
public GISAttributeInterface getAttribute(final int _idxAtt) {
return model_ == null ? null : model_[_idxAtt].getAttribute();
}
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/wizard/FSigFileLoaderSinusX.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/wizard/FSigFileLoaderSinusX.java 2008-07-15 15:11:13 UTC (rev 3687)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/wizard/FSigFileLoaderSinusX.java 2008-07-15 15:22:51 UTC (rev 3688)
@@ -55,8 +55,8 @@
final CtuluAnalyze _analyze) {
if (zones_ == null) {
final CtuluIOOperationSynthese op = SinusxFileFormat.getInstance().read(_f, _prog);
+ _analyze.merge(op.getAnalyze());
if (op.containsMessages() && op.getAnalyze().containsErrors()) {
- _analyze.merge(op.getAnalyze());
return;
}
zones_ = (GISZone) op.getSource();
@@ -64,17 +64,17 @@
if (zones_ != null) {
GISDataModel data=null;
data = FSigDataModelSinusxAdapter.analyseSxFile(zones_, true, false, false, _prog, _r);
- if (data.getNumGeometries() > 0) {
+ if (data!=null && data.getNumGeometries() > 0) {
_r.pointModel_.add(data);
_r.addUsedAttributes(GISLib.getAttributeFrom(data));
}
data = FSigDataModelSinusxAdapter.analyseSxFile(zones_, false, true, false, _prog, _r);
- if (data.getNumGeometries() > 0) {
+ if (data!=null && data.getNumGeometries() > 0) {
_r.ligneModel_.add(data);
_r.addUsedAttributes(GISLib.getAttributeFrom(data));
}
data = FSigDataModelSinusxAdapter.analyseSxFile(zones_, false, false, true, _prog, _r);
- if (data.getNumGeometries() > 0) {
+ if (data!=null && data.getNumGeometries() > 0) {
_r.polygoneModel_.add(data);
_r.addUsedAttributes(GISLib.getAttributeFrom(data));
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2008-07-15 15:12:39
|
Revision: 3687
http://fudaa.svn.sourceforge.net/fudaa/?rev=3687&view=rev
Author: bmarchan
Date: 2008-07-15 08:11:13 -0700 (Tue, 15 Jul 2008)
Log Message:
-----------
Diff?\195?\169rents controles effectu?\195?\169s pour eviter des plantages.
Modified Paths:
--------------
branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollection.java
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollection.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollection.java 2008-07-14 16:44:47 UTC (rev 3686)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollection.java 2008-07-15 15:11:13 UTC (rev 3687)
@@ -41,7 +41,7 @@
/** La valeur de la nature pour pour cette collection si elle est impos\xE9e. null : non impos\xE9e. */
protected Map fixedAttributes_=new HashMap();
- protected GISAttributeDouble attributeIsZ_ = GISAttributeConstants.BATHY; // Devrait \xEAtre null par defaut.
+ protected GISAttributeDouble attributeIsZ_ = null;//GISAttributeConstants.BATHY; // Devrait \xEAtre null par defaut.
protected boolean isGeomModifiable_ = true;
@@ -250,7 +250,13 @@
public abstract void addCoordinateSequence(CoordinateSequence _seq, Object[] _datas, CtuluCommandContainer _cmd);
- public abstract void addGeometry(Geometry _seq, Object[] _datas, CtuluCommandContainer _cmd);
+ /**
+ * Ajoute une g\xE9om\xE9trie du bon type \xE0 la collection. En cas de mauvaise g\xE9ometrie ajout\xE9e, une Exception est lev\xE9e.
+ * @param _geom La g\xE9om\xE9trie.
+ * @param _datas Les valeurs d'attributs, dans l'ordre.
+ * @param _cmd Le manager de commandes.
+ */
+ public abstract void addGeometry(Geometry _geom, Object[] _datas, CtuluCommandContainer _cmd);
public void removeGeometries(final int[] _idx, CtuluCommandContainer _cmd) {
super.geometry_.remove(_idx, _cmd);
@@ -360,8 +366,21 @@
}
public Object getValue(final int _idxAtt, final int _idxGeom) {
+ if (_idxAtt<0 || _idxAtt>getNbAttributes()) return null;
return getModel(_idxAtt).getObjectValueAt(_idxGeom);
}
+
+ /**
+ * Wrapper pour d\xE9finir la valeur d'un attribut.
+ * @param _idxAtt L'indice de l'attribut.
+ * @param _idxGeom La g\xE9om\xE9trie.
+ * @param _data La valeur de l'attribut.
+ * @param _cmd Le manager undo/redo.
+ */
+ public void setAttributValue(final int _idxAtt, final int _idxGeom, Object _data, CtuluCommandContainer _cmd) {
+ if (_idxAtt<0 || _idxAtt>getNbAttributes()) return;
+ getModel(_idxAtt).setObject(_idxGeom, _data, _cmd);
+ }
public void gisDataChanged(final GISAttributeInterface _src) {
if (listener_ != null) {
@@ -424,12 +443,14 @@
/**
* D\xE9finit l'attribut qui correspond \xE0 Z. Il est alors utilis\xE9 lors des d\xE9placements en Z de l'objet,
* ou pour la persistence en chaque point s'il est atomique. Seul les attributs de type {@link GISAttributeDouble}
- * sont autoris\xE9s.
+ * sont autoris\xE9s.<p>
+ * Remarque : L'attribut doit \xEAtre dans la liste des attributs de la collection, sinon l'appel de la m\xE9thode n'a pas d'effet.
*
* @param _attributeIsZ l'attribut qui correspond \xE0 z: il sera automatiquement mis \xE0 jour lors de
* l'ajout de geometrie. Peut \xEAtre null.
*/
public final void setAttributeIsZ(final GISAttributeDouble _attributeIsZ) {
+ if (getIndiceOf(_attributeIsZ)==-1) return;
attributeIsZ_ = _attributeIsZ;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2008-07-14 16:44:41
|
Revision: 3686
http://fudaa.svn.sourceforge.net/fudaa/?rev=3686&view=rev
Author: bmarchan
Date: 2008-07-14 09:44:47 -0700 (Mon, 14 Jul 2008)
Log Message:
-----------
Ticket#38 : Correction suite ?\195?\160 plantage lors du d?\195?\169placement de sommets de semis.
Modified Paths:
--------------
branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeEditable.java
branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleMultiPointEditable.java
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeEditable.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeEditable.java 2008-07-11 16:26:37 UTC (rev 3685)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeEditable.java 2008-07-14 16:44:47 UTC (rev 3686)
@@ -558,8 +558,8 @@
GISAttributeModelDoubleArray oldvals=null;
if (zAtt!=null && zAtt.isAtomicValue()) {
if (getGeomData().getModel(zAtt)!=null) {
- oldvals=(GISAttributeModelDoubleArray)getGeomData().getModel(zAtt).getObjectValueAt(i);
- newvals=(GISAttributeModelDoubleArray)zAtt.createDataForGeom(oldvals, geometries_.getGeometry(i).getNumPoints());
+ oldvals=(GISAttributeModelDoubleArray)getGeomData().getModel(zAtt).getObjectValueAt(idx);
+ newvals=(GISAttributeModelDoubleArray)zAtt.createDataForGeom(oldvals, geometries_.getGeometry(idx).getNumPoints());
}
else
FuLog.warning("EBL:Pb l'attribut pour Z n'est pas dans la liste des attributs du calque!");
@@ -604,7 +604,7 @@
}
if (newvals!=null)
- getGeomData().getModel(zAtt).setObject(i, newvals, cmp);
+ getGeomData().getModel(zAtt).setObject(idx, newvals, cmp);
}
}
if (_cmd != null) {
Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleMultiPointEditable.java
===================================================================
--- branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleMultiPointEditable.java 2008-07-11 16:26:37 UTC (rev 3685)
+++ branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleMultiPointEditable.java 2008-07-14 16:44:47 UTC (rev 3686)
@@ -642,8 +642,8 @@
GISAttributeModelDoubleArray oldvals=null;
if (zAtt!=null && zAtt.isAtomicValue()) {
if (getGeomData().getModel(zAtt)!=null) {
- oldvals=(GISAttributeModelDoubleArray)getGeomData().getModel(zAtt).getObjectValueAt(i);
- newvals=(GISAttributeModelDoubleArray)zAtt.createDataForGeom(oldvals, geometries_.getGeometry(i).getNumPoints());
+ oldvals=(GISAttributeModelDoubleArray)getGeomData().getModel(zAtt).getObjectValueAt(idx);
+ newvals=(GISAttributeModelDoubleArray)zAtt.createDataForGeom(oldvals, geometries_.getGeometry(idx).getNumPoints());
}
else
FuLog.warning("EBL:Pb l'attribut pour Z n'est pas dans la liste des attributs du calque!");
@@ -669,7 +669,7 @@
geometries_.setValue(idx, geo, cmp);
if (newvals!=null)
- getGeomData().getModel(zAtt).setObject(i, newvals, cmp);
+ getGeomData().getModel(zAtt).setObject(idx, newvals, cmp);
}
}
if (_cmd != null) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|