|
From: <bma...@us...> - 2011-12-04 18:53:59
|
Revision: 6783
http://fudaa.svn.sourceforge.net/fudaa/?rev=6783&view=rev
Author: bmarchan
Date: 2011-12-04 18:53:52 +0000 (Sun, 04 Dec 2011)
Log Message:
-----------
Refactor setImage()
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivOriginalView.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivTransfView.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivAbstractImageModel.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivOriginalImageModel.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivRealImageModel.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivTransfImageModel.java
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivOriginalView.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivOriginalView.java 2011-12-04 18:32:38 UTC (rev 6782)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivOriginalView.java 2011-12-04 18:53:52 UTC (rev 6783)
@@ -148,7 +148,7 @@
if (!enableEvents_) return;
if (cqOriginalImg_!=null && cqOriginalImg_.getModelImage()!=null) {
- cqOriginalImg_.getModelImage().setImage(cbImg_.getSelectedIndex());
+ cqOriginalImg_.getModelImage().setSelectedImage(cbImg_.getSelectedIndex());
// Pour que le calque soit r\xE9affich\xE9.
cqOriginalImg_.repaint();
}
@@ -202,7 +202,7 @@
public void projectStateChanged(PivProject _prj, String _prop) {
if("pgmImages".equals(_prop)) {
majTools();
- mdlOriginalImage.setImage(cbImg_.getSelectedIndex());
+ mdlOriginalImage.setSelectedImage(cbImg_.getSelectedIndex());
}
else if("orthoPoints".equals(_prop)) {
mdlOrthoPoints.update();
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java 2011-12-04 18:32:38 UTC (rev 6782)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java 2011-12-04 18:53:52 UTC (rev 6783)
@@ -396,7 +396,7 @@
private void setSelectedImage(int _ind) {
if (cqRealImg_!=null && cqRealImg_.getModelImage()!=null) {
- cqRealImg_.getModelImage().setImage(_ind);
+ cqRealImg_.getModelImage().setSelectedImage(_ind);
// Pour que le calque soit r\xE9affich\xE9.
cqRealImg_.repaint();
}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivTransfView.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivTransfView.java 2011-12-04 18:32:38 UTC (rev 6782)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivTransfView.java 2011-12-04 18:53:52 UTC (rev 6783)
@@ -195,7 +195,7 @@
if (!enableEvents_) return;
if (cqTransfImage_!=null && cqTransfImage_.getModelImage()!=null) {
- cqTransfImage_.getModelImage().setImage(cbImg_.getSelectedIndex());
+ cqTransfImage_.getModelImage().setSelectedImage(cbImg_.getSelectedIndex());
// Pour que le calque soit r\xE9affich\xE9.
cqTransfImage_.repaint();
}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivAbstractImageModel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivAbstractImageModel.java 2011-12-04 18:32:38 UTC (rev 6782)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivAbstractImageModel.java 2011-12-04 18:53:52 UTC (rev 6783)
@@ -11,7 +11,7 @@
/**
* Un modele pour un calque image.
* @author Bertrand Marchand (mar...@de...)
- * @version $Id:$
+ * @version $Id$
*/
public abstract class PivAbstractImageModel extends ZModeleStatiqueImageRaster {
@@ -21,9 +21,9 @@
public abstract PivProject getProject();
/**
- * Definit l'image du projet a afficher.
+ * S\xE9lectionne l'image du projet a afficher.
* @param _idx L'index de l'image dans la liste des images, -1 si aucune image \xE0 afficher.
*/
- public abstract void setImage(int _idx);
+ public abstract void setSelectedImage(int _idx);
}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivOriginalImageModel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivOriginalImageModel.java 2011-12-04 18:32:38 UTC (rev 6782)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivOriginalImageModel.java 2011-12-04 18:53:52 UTC (rev 6783)
@@ -47,7 +47,7 @@
* Met a jour le mod\xE8le en fonction de la premi\xE8re image reconditionn\xE9e.
*/
public void update() {
- setImage(0);
+ setSelectedImage(0);
}
/**
@@ -55,7 +55,7 @@
* @param _idx L'index de l'image dans le projet.
*/
@Override
- public void setImage(int _idx) {
+ public void setSelectedImage(int _idx) {
File[] srcFiles=prj_.getSrcImageFiles();
// Si l'indice d'image est bien dans les images disponibles
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivRealImageModel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivRealImageModel.java 2011-12-04 18:32:38 UTC (rev 6782)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivRealImageModel.java 2011-12-04 18:53:52 UTC (rev 6783)
@@ -45,7 +45,7 @@
* Met a jour le mod\xE8le en fonction de la premi\xE8re image transform\xE9e.
*/
public void update() {
- setImage(0);
+ setSelectedImage(0);
}
/**
@@ -53,7 +53,7 @@
* @param _idx L'index de l'image dans le projet.
*/
@Override
- public void setImage(int _idx) {
+ public void setSelectedImage(int _idx) {
File[] imgFiles=prj_.getTransfImageFiles();
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivTransfImageModel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivTransfImageModel.java 2011-12-04 18:32:38 UTC (rev 6782)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivTransfImageModel.java 2011-12-04 18:53:52 UTC (rev 6783)
@@ -45,7 +45,7 @@
* Met a jour le mod\xE8le en fonction de la premi\xE8re image transform\xE9e.
*/
public void update() {
- setImage(0);
+ setSelectedImage(0);
}
/**
@@ -53,7 +53,7 @@
* @param _idx L'index de l'image dans le projet.
*/
@Override
- public void setImage(int _idx) {
+ public void setSelectedImage(int _idx) {
File[] imgFiles=prj_.getTransfImageFiles();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2011-12-05 15:18:25
|
Revision: 6796
http://fudaa.svn.sourceforge.net/fudaa/?rev=6796&view=rev
Author: bmarchan
Date: 2011-12-05 15:18:14 +0000 (Mon, 05 Dec 2011)
Log Message:
-----------
Fix Linux : Liste des fichiers du projet dans un ordre alphab?\195?\169tique
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java 2011-12-05 15:16:41 UTC (rev 6795)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java 2011-12-05 15:18:14 UTC (rev 6796)
@@ -5,13 +5,11 @@
package org.fudaa.fudaa.piv.io;
-import com.memoire.fu.FuLib;
-import com.memoire.fu.FuLog;
import java.io.File;
-import java.io.FileFilter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
+
import org.fudaa.ctulu.CtuluAnalyze;
import org.fudaa.ctulu.CtuluIOOperationSynthese;
import org.fudaa.ctulu.CtuluLibFile;
@@ -26,6 +24,9 @@
import org.fudaa.fudaa.piv.metier.PivProject;
import org.fudaa.fudaa.piv.metier.PivVelResults;
+import com.memoire.fu.FuLib;
+import com.memoire.fu.FuLog;
+
/**
* Une classe pour lancer les executables externes. Les exe sont sous la forme
* d'un script ou directement d'un executable. La plupart des exes sont lanc\xE9s
@@ -381,11 +382,7 @@
ret=writer.write(_prj.getComputeGrid(), gridFile, null);
// Les images transform\xE9es
- File[] imgOut=prjImgOut.listFiles(new FileFilter() {
- public boolean accept(File _f) {
- return _f.getPath().endsWith(".pgm");
- }
- });
+ File[] imgOut=_prj.getTransfImageFiles();
int prog=5;
for (int i=0; i<imgOut.length-1; i++) {
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java 2011-12-05 15:16:41 UTC (rev 6795)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java 2011-12-05 15:18:14 UTC (rev 6796)
@@ -47,7 +47,7 @@
import com.memoire.fu.FuLog;
/**
- * Le projet contenant toutes les donn\xE9es. Chauqe projet peut \xEAtre sauv\xE9/relu
+ * Le projet contenant toutes les donn\xE9es. Chaque projet peut \xEAtre sauv\xE9/relu
* grace aux fichiers projets.
*
* @author Bertrand Marchand (mar...@de...)
@@ -180,8 +180,8 @@
}
/**
- * Retourne le chemin des fichiers vitesses brutes.
- * @return Le chemin des fichiers.
+ * Retourne le chemin des fichiers vitesses brutes, ordonn\xE9es par ordre alphab\xE9tique.
+ * @return Les chemins des fichiers
*/
public File[] getRawVelocityFiles() {
File velRawDir=new File(rootPath,VEL_RAW_DIR);
@@ -192,11 +192,14 @@
return _f.isFile() && (_f.getPath().endsWith(".dat"));
}
});
+ // files n'est jamais null.
+ Arrays.sort(files);
+
return files;
}
/**
- * Retourne le chemin des images sources.
+ * Retourne le chemin des images sources, dans l'ordre utilisateur.
* @return Le chemin des images.
*/
public File[] getSrcImageFiles() {
@@ -204,7 +207,8 @@
}
/**
- * @return Le chemins de images transformables uniquement parmis les images sources.
+ * @return Le chemins des images transformables uniquement parmis les images sources, dans
+ * l'ordre utilisateur.
*/
public File[] getTransformableImageFiles() {
List<File> files = new ArrayList<File>();
@@ -567,8 +571,8 @@
}
/**
- * Retourne le chemin des fichiers images transform\xE9es
- * @return Le chemin
+ * Retourne le chemin des fichiers images transform\xE9es, ordonn\xE9es par ordre alphab\xE9tique.
+ * @return Les chemins des fichiers.
*/
public File[] getTransfImageFiles() {
File imgOutDir=new File(rootPath,IMG_TRANSF_DIR);
@@ -579,6 +583,9 @@
return _f.isFile() && (_f.getPath().endsWith(".pgm"));
}
});
+ // files n'est jamais null.
+ Arrays.sort(files);
+
return files;
}
@@ -793,13 +800,18 @@
}
/**
- * Charge les resultats de vitesses instantan\xE9es dans l'espace r\xE9el.
+ * Charge les resultats de vitesses instantan\xE9es dans l'espace r\xE9el, suivant l'ordre
+ * alphab\xE9tique des fichiers.
+ *
* @param _prog L'interface de progression.
* @return Les resultats ou <tt>null</tt> si aucun r\xE9sultat.
*/
public PivInstantVelResults[] loadInstantVelResults(ProgressionInterface _prog) {
File[] instantVelFiles=new File(rootPath,VEL_REAL_DIR).listFiles();
+
if (instantVelFiles!=null && instantVelFiles.length>0) {
+ Arrays.sort(instantVelFiles);
+
List<PivInstantVelResults> instantVel=new ArrayList<PivInstantVelResults>();
for (File f : instantVelFiles) {
FileReadOperationAbstract reader=PivInstantVelFileFormat.getInstance().createReader();
@@ -819,9 +831,9 @@
public boolean[] loadUsedInstantVelResults(ProgressionInterface _prog) {
boolean[] res;
- File[] instantVelFiles=new File(rootPath,VEL_RAW_DIR).listFiles();
+ File[] instantVelFiles=getRawVelocityFiles();
// Pas de r\xE9sultats instantan\xE9s
- if (instantVelFiles==null || instantVelFiles.length==0) {
+ if (instantVelFiles.length==0) {
res=new boolean[0];
return res;
}
@@ -941,10 +953,10 @@
*/
public void saveUsedInstantVelResults() {
- File[] instantVelFiles=new File(rootPath,VEL_RAW_DIR).listFiles();
+ File[] instantVelFiles=getRawVelocityFiles();
// Pas de r\xE9sultats instantan\xE9s
- if (instantVelFiles==null || instantVelFiles.length==0) return;
-
+ if (instantVelFiles.length==0) return;
+
// Cr\xE9ation du fichier contenant la liste des fichiers piv.dat obtenus par calcul.
PrintWriter out=null;
try {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2012-06-15 10:27:20
|
Revision: 7344
http://fudaa.svn.sourceforge.net/fudaa/?rev=7344&view=rev
Author: bmarchan
Date: 2012-06-15 10:27:09 +0000 (Fri, 15 Jun 2012)
Log Message:
-----------
Add : Tooltip diff?\195?\169rent du titre calque + chgt moyennation par moyenne + enregistrement des options d'affichage
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivOriginalView.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivTransfView.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeAverageAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java 2012-06-15 10:18:29 UTC (rev 7343)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java 2012-06-15 10:27:09 UTC (rev 7344)
@@ -81,9 +81,9 @@
protected static BuInformationsSoftware isPIV_ = new BuInformationsSoftware();
static {
isPIV_.name = "LSPIV";
- isPIV_.version = "1.2.1";
- isPIV_.date = "2011-12-15";
- isPIV_.rights = PivResource.getS("Tous droits r\xE9serv\xE9s")+". CETMEF (c)1999-2011";
+ isPIV_.version = "1.3.1-beta";
+ isPIV_.date = "2012-06-15";
+ isPIV_.rights = PivResource.getS("Tous droits r\xE9serv\xE9s")+". CETMEF (c)1999-2012";
isPIV_.license = "GPL2";
isPIV_.languages = "en,fr";
isPIV_.authors=new String[]{"B.Marchand (DeltaCAD)"};
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivOriginalView.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivOriginalView.java 2012-06-15 10:18:29 UTC (rev 7343)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivOriginalView.java 2012-06-15 10:27:09 UTC (rev 7344)
@@ -228,15 +228,17 @@
@Override
public void restoreLayerProperties(Map<String, EbliUIProperties> _props) {
- cqOrthoPoints_.initFrom(_props.get(cqOrthoPoints_.getName()));
- cqOriginalImg_.initFrom(_props.get(cqOriginalImg_.getName()));
+ for (BCalqueAffichage cq : layers_) {
+ cq.initFrom(_props.get(cq.getName()));
+ }
}
@Override
public Map<String, EbliUIProperties> saveLayerProperties() {
HashMap<String, EbliUIProperties> props=new HashMap<String, EbliUIProperties>();
- props.put(cqOrthoPoints_.getName(),cqOrthoPoints_.saveUIProperties());
- props.put(cqOriginalImg_.getName(),cqOriginalImg_.saveUIProperties());
+ for (BCalqueAffichage cq : layers_) {
+ props.put(cq.getName(),cq.saveUIProperties());
+ }
return props;
}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java 2012-06-15 10:18:29 UTC (rev 7343)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java 2012-06-15 10:27:09 UTC (rev 7344)
@@ -205,7 +205,8 @@
return "m/s";
}
};
- cqVelResults.setTitle(PivResource.getS("Vit. surf. moyennes"));
+ cqVelResults.setTitle(PivResource.getS("Vit. surf. moy."));
+ cqVelResults.setLongTitle(PivResource.getS("Vitesse de surface moyenn\xE9e"));
cqVelResults.setTitleModifiable(true);
cqVelResults.setName("cqRealVel");
// Donne la couleur des fl\xE8ches si pas de palette de couleurs.
@@ -225,7 +226,8 @@
return "m/s";
}
};
- cqInstantVelResults_.setTitle(PivResource.getS("Vit. surf. instantan\xE9es"));
+ cqInstantVelResults_.setTitle(PivResource.getS("Vit. surf. inst."));
+ cqInstantVelResults_.setLongTitle(PivResource.getS("Vitesse de surface instantan\xE9e"));
cqInstantVelResults_.setTitleModifiable(true);
cqInstantVelResults_.setName("cqInstantVel");
// Donne la couleur des fl\xE8ches si pas de palette de couleurs.
@@ -245,7 +247,8 @@
return "m/s";
}
};
- cqFlowResults.setTitle(PivResource.getS("Vit. moyennes sur vert."));
+ cqFlowResults.setTitle(PivResource.getS("Vit. moy. prof."));
+ cqFlowResults.setLongTitle(PivResource.getS("Vitesse moyenn\xE9e sur la profondeur"));
cqFlowResults.setTitleModifiable(true);
cqFlowResults.setName("cqRealFlow");
// Donne la couleur des fl\xE8ches si pas de palette de couleurs.
@@ -491,23 +494,21 @@
@Override
public void restoreLayerProperties(Map<String, EbliUIProperties> _props) {
- cqFlowResults.initFrom(_props.get(cqFlowResults.getName()));
- cqVelResults.initFrom(_props.get(cqVelResults.getName()));
- cqRealOrthoPoints_.initFrom(_props.get(cqRealOrthoPoints_.getName()));
+ for (BCalqueAffichage cq : layers_) {
+ cq.initFrom(_props.get(cq.getName()));
+ }
+ // Special : Ce calque n'est pas dans la liste des calques.
cqRealControlPoints_.initFrom(_props.get(cqRealControlPoints_.getName()));
- cqRealImg_.initFrom(_props.get(cqRealImg_.getName()));
- cqTransect_.initFrom(_props.get(cqTransect_.getName()));
}
@Override
public Map<String, EbliUIProperties> saveLayerProperties() {
HashMap<String, EbliUIProperties> props=new HashMap<String, EbliUIProperties>();
- props.put(cqFlowResults.getName(),cqFlowResults.saveUIProperties());
- props.put(cqVelResults.getName(),cqVelResults.saveUIProperties());
- props.put(cqRealOrthoPoints_.getName(),cqRealOrthoPoints_.saveUIProperties());
+ for (BCalqueAffichage cq : layers_) {
+ props.put(cq.getName(),cq.saveUIProperties());
+ }
+ // Special : Ce calque n'est pas dans la liste des calques.
props.put(cqRealControlPoints_.getName(),cqRealControlPoints_.saveUIProperties());
- props.put(cqRealImg_.getName(),cqRealImg_.saveUIProperties());
- props.put(cqTransect_.getName(),cqTransect_.saveUIProperties());
return props;
}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivTransfView.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivTransfView.java 2012-06-15 10:18:29 UTC (rev 7343)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivTransfView.java 2012-06-15 10:27:09 UTC (rev 7344)
@@ -280,19 +280,17 @@
@Override
public void restoreLayerProperties(Map<String, EbliUIProperties> _props) {
- cqTransfImage_.initFrom(_props.get(cqTransfImage_.getName()));
- cqGrille_.initFrom(_props.get(cqGrille_.getName()));
- cqCntGrille_.initFrom(_props.get(cqCntGrille_.getName()));
- cqIASA_.initFrom(_props.get(cqIASA_.getName()));
+ for (BCalqueAffichage cq : layers_) {
+ cq.initFrom(_props.get(cq.getName()));
+ }
}
@Override
public Map<String, EbliUIProperties> saveLayerProperties() {
HashMap<String, EbliUIProperties> props=new HashMap<String, EbliUIProperties>();
- props.put(cqTransfImage_.getName(),cqTransfImage_.saveUIProperties());
- props.put(cqGrille_.getName(),cqGrille_.saveUIProperties());
- props.put(cqCntGrille_.getName(),cqCntGrille_.saveUIProperties());
- props.put(cqIASA_.getName(),cqIASA_.saveUIProperties());
+ for (BCalqueAffichage cq : layers_) {
+ props.put(cq.getName(),cq.saveUIProperties());
+ }
return props;
}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeAverageAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeAverageAction.java 2012-06-15 10:18:29 UTC (rev 7343)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeAverageAction.java 2012-06-15 10:27:09 UTC (rev 7344)
@@ -23,7 +23,7 @@
import org.fudaa.fudaa.piv.io.PivExeLauncher;
/**
- * Une action pour lancer les filtres et moyennation sur les vitesses
+ * Une action pour lancer les filtres et moyenne sur les vitesses
* instantan\xE9es.
*
* @author Bertrand Marchand (mar...@de...)
@@ -38,7 +38,7 @@
* @param _impl L'implementation.
*/
public PivComputeAverageAction(PivImplementation _impl) {
- super(PivResource.getS("Filtrage/moyennation des vitesses instantan\xE9es..."), null, "COMPUTE_AVERAGE");
+ super(PivResource.getS("Filtrage/moyenne des vitesses instantan\xE9es..."), null, "COMPUTE_AVERAGE");
impl=_impl;
setEnabled(false);
@@ -73,7 +73,7 @@
impl.getCurrentProject().setUsedInstantVelResults(pn.getSelectedResults());
// La tache a ex\xE9cuter.
- CtuluTaskOperationGUI r=new CtuluTaskOperationGUI(impl, PivResource.getS("Filtrage/moyennation des vitesses instantan\xE9es")) {
+ CtuluTaskOperationGUI r=new CtuluTaskOperationGUI(impl, PivResource.getS("Filtrage/moyenne des vitesses instantan\xE9es")) {
public void act() {
try {
@@ -86,7 +86,7 @@
return;
}
- // Moyennation
+ // Moyenne
PivExeLauncher.instance().launchAverageVelocities(ana, impl.getCurrentProject(), this);
if (ana.containsErrorOrFatalError()) {
impl.error(ana.getResume());
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java 2012-06-15 10:18:29 UTC (rev 7343)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java 2012-06-15 10:27:09 UTC (rev 7344)
@@ -640,9 +640,9 @@
}
/**
- * Lance la moyennation des vitesses et leur restitution dans l'espace r\xE9el. Cette
+ * Lance la moyenne des vitesses et leur restitution dans l'espace r\xE9el. Cette
* methode doit \xEAtre appel\xE9e juste apr\xE8s le filtrage des vitesses.
- * La moyennation se fait dans le r\xE9pertoire projet.
+ * La moyenne se fait dans le r\xE9pertoire projet.
*
* @param _ana L'analyse pour la tache ex\xE9cut\xE9e.
* @param _prj Le projet.
@@ -660,7 +660,7 @@
File resFile=new File(prjOutputs,faverage);
resFile.delete();
- String desc=PivResource.getS("Moyennation des vitesses...");
+ String desc=PivResource.getS("Calcul des vitesses moyennes...");
FuLog.trace(desc);
if (_task!=null) {
_task.setDesc(desc);
@@ -672,7 +672,7 @@
String outs = FuLib.runProgram(new String[]{exePath+File.separator+EXES[5] + EXE_EXT}, prjRoot);
if (!outs.trim().equals("")) {
- _ana.addError(PivResource.getS("Erreur de moyennation des vitesses:\n")+outs);
+ _ana.addError(PivResource.getS("Erreur de calcul des vitesses moyennes:\n")+outs);
return false;
}
@@ -685,7 +685,7 @@
PivVelResults res=(PivVelResults)ret.getSource();
if (_task!=null && _task.isStopRequested()) {
- _ana.addError(PivResource.getS("Moyennation interrompue"));
+ _ana.addError(PivResource.getS("Calcul interrompu"));
return false;
}
@@ -695,7 +695,7 @@
if (_task!=null)
_task.setProgression(100);
- FuLog.trace(PivResource.getS("Moyennation ok."));
+ FuLog.trace(PivResource.getS("Calcul des vitesses moyennes ok."));
}
catch (IOException ex) {
_ana.addError(ex.getMessage());
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java 2012-06-15 10:18:29 UTC (rev 7343)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java 2012-06-15 10:27:09 UTC (rev 7344)
@@ -995,8 +995,8 @@
}
/**
- * Sauvegarde sur une liste les resultats instantan\xE9es utilis\xE9s pour le calcul de
- * moyennation.
+ * Sauvegarde sur une liste les resultats instantan\xE9es utilis\xE9s pour le calcul des
+ * vitesses moyenn\xE9es.
*/
public void saveUsedInstantVelResults() {
@@ -1257,7 +1257,7 @@
}
/**
- * Definit les resultats instantan\xE9s \xE0 utiliser pour le calcul de moyennation.
+ * Definit les resultats instantan\xE9s \xE0 utiliser pour le calcul des vitesses moyennes.
* @param _usedVelResults
*/
public void setUsedInstantVelResults(boolean[] _usedVelResults) {
@@ -1265,7 +1265,7 @@
}
/**
- * @return La liste des resultats instantan\xE9s utuilis\xE9s pour la moyennation. La valeur
+ * @return La liste des resultats instantan\xE9s utuilis\xE9s pour le calcul de vitesses . La valeur
* a l'index du resultat est True si utilis\xE9.
*/
public boolean[] getUsedInstantVelResults() {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2012-07-03 13:21:30
|
Revision: 7438
http://fudaa.svn.sourceforge.net/fudaa/?rev=7438&view=rev
Author: bmarchan
Date: 2012-07-03 13:21:19 +0000 (Tue, 03 Jul 2012)
Log Message:
-----------
Fix : Calcul impossible si les images caches ne sont pas cr?\195?\169?\195?\169es imm?\195?\169diatement + suppression exe repack
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java
Added Paths:
-----------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/imageio/package.html
Added: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/imageio/package.html
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/imageio/package.html (rev 0)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/imageio/package.html 2012-07-03 13:21:19 UTC (rev 7438)
@@ -0,0 +1,6 @@
+<html>
+<body>
+Contient les classes n\xE9cessaires \xE0 la lecture/\xE9criture de certains formats d'images,
+comme le format PGM.
+</body>
+</html>
Property changes on: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/imageio/package.html
___________________________________________________________________
Added: svn:keywords
+ Id
Added: svn:eol-style
+ native
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java 2012-07-03 07:45:52 UTC (rev 7437)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java 2012-07-03 13:21:19 UTC (rev 7438)
@@ -37,11 +37,23 @@
* @version $Id$
*/
public class PivExeLauncher {
+
/** Les exe pouvant \xEAtre lanc\xE9s */
- private final static String[] EXES={
- "ortho_plan","transf_a","PIV","repack","verif_ortho",
- "moy_ec","filter","bathy_compute","Q_compute","vel_transf"};
- private final static String[] CMDS={"repack"};
+ private enum EXE {
+ ortho_plan,
+ transf_a,
+ PIV,
+ verif_ortho,
+ moy_ec,
+ filter,
+ bathy_compute,
+ Q_compute,
+ vel_transf
+ }
+
+ /** Les scripts pouvant etre lanc\xE9s */
+ private enum CMD {
+ }
/** */
private static final String OUTPUT_DIR="outputs.dir";
@@ -109,15 +121,15 @@
public String[] getMissingExeOrCmdIn(File _exePath) {
ArrayList<String> list=new ArrayList<String>();
- for (int i=0; i<EXES.length; i++) {
- if (!new File(_exePath,EXES[i]+EXE_EXT).exists()) {
- list.add(EXES[i]+EXE_EXT);
+ for (EXE exe : EXE.values()) {
+ if (!new File(_exePath,exe.toString()+EXE_EXT).exists()) {
+ list.add(exe.toString()+EXE_EXT);
}
}
- for (int i=0; i<CMDS.length; i++) {
- if (!new File(_exePath,CMDS[i]+CMD_EXT).exists()) {
- list.add(CMDS[i]+CMD_EXT);
+ for (CMD cmd : CMD.values()) {
+ if (!new File(_exePath,cmd.toString()+CMD_EXT).exists()) {
+ list.add(cmd.toString()+CMD_EXT);
}
}
return list.toArray(new String[0]);
@@ -176,7 +188,7 @@
// Lancement
try {
- String outs=FuLib.runProgram(new String[]{exePath+File.separator+EXES[0]+EXE_EXT}, prjRoot);
+ String outs=FuLib.runProgram(new String[]{exePath+File.separator+EXE.ortho_plan+EXE_EXT}, prjRoot);
if (!outs.trim().equals("")) {
_ana.addError(PivResource.getS("Erreur de calcul des coefficients :\n")+outs);
return false;
@@ -252,13 +264,18 @@
int maxIter=(_apercu?1:imgInp.length);
for (int i = 0; i <maxIter ; i++) {
-// String srcFileName = imgInp[i].getName();
- File cache=_prj.getCacheImageFile(imgInp[i]);
try {
- BufferedImage buffer = ImageIO.read(cache);
- new PivPGMWriter().write(new File(prjImgInp, fimgInpExe.getName()), buffer);
- // Attention : Le nom ne doit pas etre le m\xEAme que les images d\xE9ja stock\xE9es
-// copyFile(prjImgInp, prjImgInp, srcFileName, fimgInpExe.getName());
+ if (_prj.cacheExists(imgInp[i])) {
+ File cache = _prj.getCacheImageFile(imgInp[i]);
+ BufferedImage buffer = ImageIO.read(cache);
+ new PivPGMWriter().write(new File(prjImgInp, fimgInpExe.getName()), buffer);
+ }
+ else {
+ // Attention : Le nom ne doit pas etre le m\xEAme que les images d\xE9ja
+ // stock\xE9es
+ String srcFileName = imgInp[i].getName();
+ copyFile(prjImgInp, prjImgInp, srcFileName, fimgInpExe.getName());
+ }
String desc = PivResource.getS("Transformation de l'image {0} sur {1}...", i + 1, maxIter);
FuLog.trace(desc);
@@ -267,7 +284,7 @@
_task.setProgression(prog);
}
- String outs = FuLib.runProgram(new String[]{exePath + File.separator + EXES[1] + EXE_EXT}, prjRoot);
+ String outs = FuLib.runProgram(new String[]{exePath + File.separator + EXE.transf_a + EXE_EXT}, prjRoot);
if (!outs.trim().equals("")) {
_ana.addError(PivResource.getS("Erreur de transformation de l'image {0}:\n",i+1)+outs);
return false;
@@ -353,18 +370,26 @@
int prog=5;
for (int i=0; i<imgOut.length-1; i++) {
-// String srcFileName1=imgOut[i].getName();
-// copyFile(prjImgOut, prjImgOut, srcFileName1, "image1_transf.pgm");
-// String srcFileName2=imgOut[i+1].getName();
-// copyFile(prjImgOut, prjImgOut, srcFileName2, "image2_transf.pgm");
try {
- File cache1=_prj.getCacheImageFile(imgOut[i]);
- BufferedImage buffer1 = ImageIO.read(cache1);
- new PivPGMWriter().write(new File(prjImgOut, "image1_transf.pgm"), buffer1);
- File cache2=_prj.getCacheImageFile(imgOut[i+1]);
- BufferedImage buffer2 = ImageIO.read(cache2);
- new PivPGMWriter().write(new File(prjImgOut, "image2_transf.pgm"), buffer2);
+ if (_prj.cacheExists(imgOut[i])) {
+ File cache1=_prj.getCacheImageFile(imgOut[i]);
+ BufferedImage buffer1 = ImageIO.read(cache1);
+ new PivPGMWriter().write(new File(prjImgOut, "image1_transf.pgm"), buffer1);
+ }
+ else {
+ String srcFileName1=imgOut[i].getName();
+ copyFile(prjImgOut, prjImgOut, srcFileName1, "image1_transf.pgm");
+ }
+ if (_prj.cacheExists(imgOut[i+1])) {
+ File cache2 = _prj.getCacheImageFile(imgOut[i+1]);
+ BufferedImage buffer2 = ImageIO.read(cache2);
+ new PivPGMWriter().write(new File(prjImgOut, "image2_transf.pgm"), buffer2);
+ }
+ else {
+ String srcFileName2=imgOut[i+1].getName();
+ copyFile(prjImgOut, prjImgOut, srcFileName2, "image2_transf.pgm");
+ }
String desc=PivResource.getS("Analyse du couple d'images {0} sur {1}...",i+1,imgOut.length-1);
FuLog.trace(desc);
@@ -373,7 +398,7 @@
_task.setProgression(prog);
}
- String outs=FuLib.runProgram(new String[]{exePath+File.separator+EXES[2]+EXE_EXT}, prjRoot);
+ String outs=FuLib.runProgram(new String[]{exePath+File.separator+EXE.PIV+EXE_EXT}, prjRoot);
if (!outs.trim().equals("")) {
_ana.addError(PivResource.getS("Erreur d'analyse du couple d'images {0},{1}:\n",i+1,i+2)+outs);
return false;
@@ -411,72 +436,6 @@
}
/**
- * Lance le reconditionnement des images d'origine de pgm ligne a pgm matrice,
- * et les place dans le r\xE9pertoire des images reconditionn\xE9es.
- *
- * @param _ana L'analyse pour la tache ex\xE9cut\xE9e.
- * @param _prj Le projet.
- * @param _task La tache en cours d'execution.
- * @param _imgOrig Les fichiers d'origine \xE0 reconditionner.
- * @return true : Tout s'est bien d\xE9roul\xE9.
- */
- public boolean launchRepackingImg(CtuluAnalyze _ana, PivProject _prj, CtuluTaskOperationGUI _task, File[] _imgOrig) {
- File prjRoot=_prj.getRoot();
- File prjImgInp=new File(prjRoot,IMG_PGM_DIR);
-
- // Nettoyage eventuel du repertoire des images reconditionnees.
- prjImgInp.mkdir();
-// for (File f : prjImgInp.listFiles())
-// f.delete();
-
- if (_task!=null)
- _task.setProgression(10);
-
- int prog=0;
- for (int i=0; i<_imgOrig.length; i++) {
-// File dstImgInp=new File(prjImgInp,"image"+computeImgNumber(i+1)+".pgm");
- File dstImgInp=new File(prjImgInp,_imgOrig[i].getName());
-
- String desc=PivResource.getS("Reconditionnement de l'image {0} sur {1}",(i+1),_imgOrig.length);
- FuLog.trace(desc);
- if (_task!=null) {
- _task.setDesc(desc);
- _task.setProgression(prog);
- }
-
- try {
- String outs = FuLib.runProgram(new String[]{exePath + File.separator + CMDS[0] + CMD_EXT,
- _imgOrig[i].getPath(), dstImgInp.getPath()}, prjRoot);
- if (!outs.trim().equals("")) {
- _ana.addError(PivResource.getS("Erreur de reconditionnement:\n")+outs);
- return false;
- }
-
- if (_task!=null && _task.isStopRequested()) {
- _ana.addError(PivResource.getS("Reconditionnement interrompu"));
- return false;
- }
- }
- catch (IOException ex) {
- _ana.addError(ex.getMessage());
- return false;
- }
- prog=(i+1)*90/_imgOrig.length;
- if (_task!=null)
- _task.setProgression(prog);
- }
-
- FuLog.trace(PivResource.getS("Reconditionnement ok."));
-
- // On signale au projet que les images reconditionn\xE9es ont chang\xE9.
-// _prj.setPgmImagesChanged();
- if (_task!=null)
- _task.setProgression(100);
-
- return true;
- }
-
- /**
* Lance le controle du calcul de l'orthorectification par comparaison des
* des points donn\xE9es et des points recalcul\xE9s.
* Doit \xEAtre lanc\xE9 apr\xE8s le calcul des coefficients d'orthorectification.
@@ -499,7 +458,7 @@
}
try {
- String outs = FuLib.runProgram(new String[]{exePath+File.separator+EXES[4] + EXE_EXT}, prjRoot);
+ String outs = FuLib.runProgram(new String[]{exePath+File.separator+EXE.verif_ortho + EXE_EXT}, prjRoot);
if (!outs.trim().equals("")) {
_ana.addError(PivResource.getS("Erreur de v\xE9rification de l'orthorectification:\n")+outs);
return false;
@@ -588,7 +547,7 @@
_task.setProgression(30);
- String outs = FuLib.runProgram(new String[]{exePath+File.separator+EXES[6] + EXE_EXT}, prjRoot);
+ String outs = FuLib.runProgram(new String[]{exePath+File.separator+EXE.filter + EXE_EXT}, prjRoot);
if (!outs.trim().equals("")) {
_ana.addError(PivResource.getS("Erreur de filtrage des vitesses:\n")+outs);
return false;
@@ -644,7 +603,7 @@
try {
// list_avg.dat deja cr\xE9\xE9 auparavant => Pas de cr\xE9ation
- String outs = FuLib.runProgram(new String[]{exePath+File.separator+EXES[5] + EXE_EXT}, prjRoot);
+ String outs = FuLib.runProgram(new String[]{exePath+File.separator+EXE.moy_ec + EXE_EXT}, prjRoot);
if (!outs.trim().equals("")) {
_ana.addError(PivResource.getS("Erreur de calcul des vitesses moyennes:\n")+outs);
return false;
@@ -715,7 +674,7 @@
}
try {
- String outs=FuLib.runProgram(new String[]{exePath + File.separator + EXES[7] + EXE_EXT}, prjRoot);
+ String outs=FuLib.runProgram(new String[]{exePath + File.separator + EXE.bathy_compute + EXE_EXT}, prjRoot);
if (!outs.trim().equals("")) {
_ana.addError(PivResource.getS("Erreur de reconditionnement du transect:\n") + outs);
return false;
@@ -788,7 +747,7 @@
try {
StringBuffer sbout=new StringBuffer();
StringBuffer sberr=new StringBuffer();
- String outs=FuLib.runProgram(new String[]{exePath + File.separator + EXES[8] + EXE_EXT}, prjRoot, sbout, sberr);
+ String outs=FuLib.runProgram(new String[]{exePath + File.separator + EXE.Q_compute + EXE_EXT}, prjRoot, sbout, sberr);
if (!sberr.toString().trim().equals("")) {
_ana.addError(PivResource.getS("Erreur de calcul du d\xE9bit:\n") + outs);
return false;
@@ -880,7 +839,7 @@
_task.setProgression(30);
- String outs = FuLib.runProgram(new String[]{exePath+File.separator+EXES[9] + EXE_EXT}, prjRoot);
+ String outs = FuLib.runProgram(new String[]{exePath+File.separator+EXE.vel_transf + EXE_EXT}, prjRoot);
if (!outs.trim().equals("")) {
_ana.addError(PivResource.getS("Erreur de transformation des vitesses instantan\xE9es:\n")+outs);
return false;
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java 2012-07-03 07:45:52 UTC (rev 7437)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java 2012-07-03 13:21:19 UTC (rev 7438)
@@ -330,6 +330,16 @@
fireProjectStateChanged(bsrc ? "pgmImages":"transfImages");
return b;
}
+
+ /**
+ * Verifie si une image PGM est en cache ou non
+ * @param _file Le chemin du fichier PGM
+ * @return True si le fichier est d\xE9j\xE0 en cache.
+ */
+ public boolean cacheExists(File _file) {
+ File fcache=getCacheImageFile(_file);
+ return (fcache.exists());
+ }
/**
* Retourne le chemin du fichier cache pour un fichier donn\xE9. Les fichiers
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2012-07-05 15:04:33
|
Revision: 7458
http://fudaa.svn.sourceforge.net/fudaa/?rev=7458&view=rev
Author: bmarchan
Date: 2012-07-05 15:04:23 +0000 (Thu, 05 Jul 2012)
Log Message:
-----------
Fix : Repack des PGM par Java (necessaire si images pas mises en cache).
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/imageio/PivPGMReader.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/imageio/PivPGMWriter.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/imageio/PivPGMReader.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/imageio/PivPGMReader.java 2012-07-05 13:26:40 UTC (rev 7457)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/imageio/PivPGMReader.java 2012-07-05 15:04:23 UTC (rev 7458)
@@ -6,6 +6,8 @@
import java.io.IOException;
import java.io.LineNumberReader;
+import com.memoire.fu.FuLog;
+
/**
* Une classe de lecture d'une image PGM. Cette classe ne respecte pas le standard IIO, mais
* est beaucoup simple et rapide.
@@ -28,6 +30,8 @@
* @throws IOException Si le format est incorrect.
*/
public BufferedImage read(File _srcFile) throws IOException {
+ FuLog.trace("Lecture du fichier "+_srcFile.getName());
+
BufferedImage buf=null;
LineNumberReader reader=new LineNumberReader(new FileReader(_srcFile));
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/imageio/PivPGMWriter.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/imageio/PivPGMWriter.java 2012-07-05 13:26:40 UTC (rev 7457)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/imageio/PivPGMWriter.java 2012-07-05 15:04:23 UTC (rev 7458)
@@ -6,6 +6,8 @@
import java.io.IOException;
import java.io.PrintWriter;
+import com.memoire.fu.FuLog;
+
/**
* Une classe d'ecriture d'une image PGM. Cette classe ne respecte pas le standard IIO, mais
* est beaucoup simple et rapide.
@@ -23,6 +25,8 @@
* @throws IOException Si le fichier ne peut \xEAtre ecrit.
*/
public void write(File _srcFile, BufferedImage _img) throws IOException {
+ FuLog.trace("Ecriture du fichier "+_srcFile.getName());
+
int width=_img.getWidth();
int height=_img.getHeight();
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java 2012-07-05 13:26:40 UTC (rev 7457)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java 2012-07-05 15:04:23 UTC (rev 7458)
@@ -31,6 +31,7 @@
import org.fudaa.fudaa.piv.PivPreferences;
import org.fudaa.fudaa.piv.PivResource;
import org.fudaa.fudaa.piv.imageio.PivPGMReader;
+import org.fudaa.fudaa.piv.imageio.PivPGMWriter;
import org.fudaa.fudaa.piv.io.PivAverageVelFileFormat;
import org.fudaa.fudaa.piv.io.PivBathyFileFormat;
import org.fudaa.fudaa.piv.io.PivDischargeFileFormat;
@@ -577,27 +578,27 @@
closePgmCacheImageInputStream();
List<File> newFiles=new ArrayList<File>();
-// List<File> newpgm=new ArrayList<File>();
+ List<File> newpgm=new ArrayList<File>();
// Traitement des fichiers .pgm, pour mise en cache.
for (File f : _files) {
File fimg=new File(imgInpDir,f.getName());
if (!srcFiles_.contains(f)) {
- // Reconditionnement de l'image.
-// if (f.getName().endsWith(".pgm")) {
-// newpgm.add(f);
-// }
-// else {
+ // Reconditionnement de l'image, uniquement si le cache n'est pas automatique.
+ if (f.getName().endsWith(".pgm") && !PivPreferences.PIV.getBooleanProperty(PivPreferences.PIV_AUTO_CACHE,true)) {
+ newpgm.add(f);
+ }
+ else {
// Copie du fichier localement au projet.
CtuluLibFile.copyFile(f, fimg);
-// }
+ }
}
newFiles.add(fimg);
}
- // Reconditionnement des pgm
-// PivExeLauncher.instance().launchRepackingImg(_ana, this, _task, newpgm.toArray(new File[0]));
+ // Reconditionnement des pgm. Necessaire si une seule image est mise en cache.
+ repack(_ana, _task, newpgm.toArray(new File[0]));
// Suppression des anciennes images sources
for (File f : imgInpDir.listFiles(FLT_FILES)) {
@@ -611,6 +612,58 @@
}
/**
+ * Reconditionne les images d'origine de pgm ligne a pgm matrice,
+ * et les place dans le r\xE9pertoire des images reconditionn\xE9es.
+ *
+ * @param _ana L'analyse pour la tache ex\xE9cut\xE9e.
+ * @param _task La tache en cours d'execution.
+ * @param _imgOrig Les fichiers d'origine \xE0 reconditionner.
+ * @return true : Tout s'est bien d\xE9roul\xE9.
+ */
+ public boolean repack(CtuluAnalyze _ana, CtuluTaskOperationGUI _task, File[] _imgOrig) {
+ File imgInpDir=new File(rootPath,IMG_PGM_DIR);
+
+ if (_task!=null)
+ _task.setProgression(10);
+
+ int prog=0;
+ for (int i=0; i<_imgOrig.length; i++) {
+ File dstImgInp=new File(imgInpDir,_imgOrig[i].getName());
+
+ String desc=PivResource.getS("Reconditionnement de l'image {0} sur {1}",(i+1),_imgOrig.length);
+ FuLog.trace(desc);
+ if (_task!=null) {
+ _task.setDesc(desc);
+ _task.setProgression(prog);
+ }
+
+ try {
+ BufferedImage buf = new PivPGMReader().read(_imgOrig[i]);
+ new PivPGMWriter().write(dstImgInp, buf);
+
+ if (_task!=null && _task.isStopRequested()) {
+ _ana.addError(PivResource.getS("Reconditionnement interrompu"));
+ return false;
+ }
+ }
+ catch (IOException ex) {
+ _ana.addError(ex.getMessage());
+ return false;
+ }
+ prog=(i+1)*90/_imgOrig.length;
+ if (_task!=null)
+ _task.setProgression(prog);
+ }
+
+ FuLog.trace(PivResource.getS("Reconditionnement ok."));
+
+ if (_task!=null)
+ _task.setProgression(100);
+
+ return true;
+ }
+
+ /**
* Les images transform\xE9es ont-elles \xE9t\xE9 modifi\xE9es par le calcul ?
* @return true : elles ont \xE9t\xE9 modifi\xE9es.
*/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2012-11-09 13:36:50
|
Revision: 7864
http://fudaa.svn.sourceforge.net/fudaa/?rev=7864&view=rev
Author: bmarchan
Date: 2012-11-09 13:36:41 +0000 (Fri, 09 Nov 2012)
Log Message:
-----------
Add : Chemin des exe donn?\195?\169 sur ligne de commande
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivExePanel.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeAverageAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeFlowAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeLaunchAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivOrthoLaunchAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivOrthoVerifyGRPAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivSelectImagesAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivExePanel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivExePanel.java 2012-11-09 08:19:19 UTC (rev 7863)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivExePanel.java 2012-11-09 13:36:41 UTC (rev 7864)
@@ -52,8 +52,7 @@
add(btExePath,BorderLayout.EAST);
// add(pnExeDir);
- String exePath=PivPreferences.PIV.getStringProperty(PivPreferences.PIV_EXE_PATH);
- tfExePath.setText(exePath);
+ tfExePath.setText(PivExeLauncher.instance().getExePath().getPath());
isDataValid();
// setErrorText(PivResource.getS("Le r\xE9pertoire des ex\xE9cutables n'a pas encore \xE9t\xE9 pr\xE9cis\xE9 ou n'est pas valide."));
@@ -88,7 +87,8 @@
* Fermeture du dialogue, et mise a jour du path.
*/
private void close() {
- PivPreferences.PIV.putStringProperty(PivPreferences.PIV_EXE_PATH,tfExePath.getText().trim());
+ PivExeLauncher.instance().setExePath(new File(tfExePath.getText().trim()));
+ PivPreferences.PIV.putStringProperty(PivPreferences.PIV_EXE_PATH,PivExeLauncher.instance().getExePath().getPath());
PivPreferences.PIV.writeIniFile();
}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java 2012-11-09 08:19:19 UTC (rev 7863)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java 2012-11-09 13:36:41 UTC (rev 7864)
@@ -81,8 +81,8 @@
protected static BuInformationsSoftware isPIV_ = new BuInformationsSoftware();
static {
isPIV_.name = "LSPIV";
- isPIV_.version = "1.3.1";
- isPIV_.date = "2012-07-03";
+ isPIV_.version = "1.3.2";
+ isPIV_.date = "2012-11-08";
isPIV_.rights = PivResource.getS("Tous droits r\xE9serv\xE9s")+". CETMEF (c)1999-2012";
isPIV_.license = "GPL2";
isPIV_.languages = "en,fr";
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeAverageAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeAverageAction.java 2012-11-09 08:19:19 UTC (rev 7863)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeAverageAction.java 2012-11-09 13:36:41 UTC (rev 7864)
@@ -59,9 +59,6 @@
if (!pnExe.afficheModaleOk(impl.getFrame(), PivResource.getS("R\xE9pertoire contenant les executables"))) {
return;
}
- else {
- PivExeLauncher.instance().setExePath(new File(PivPreferences.PIV.getStringProperty(PivPreferences.PIV_EXE_PATH)));
- }
}
PivSelectInstantVelResultsPanel pn=new PivSelectInstantVelResultsPanel(impl);
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeFlowAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeFlowAction.java 2012-11-09 08:19:19 UTC (rev 7863)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeFlowAction.java 2012-11-09 13:36:41 UTC (rev 7864)
@@ -63,9 +63,6 @@
if (!pnExe.afficheModaleOk(impl.getFrame(), PivResource.getS("R\xE9pertoire contenant les executables"))) {
return;
}
- else {
- PivExeLauncher.instance().setExePath(new File(PivPreferences.PIV.getStringProperty(PivPreferences.PIV_EXE_PATH)));
- }
}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeLaunchAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeLaunchAction.java 2012-11-09 08:19:19 UTC (rev 7863)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeLaunchAction.java 2012-11-09 13:36:41 UTC (rev 7864)
@@ -56,9 +56,6 @@
if (!pnExe.afficheModaleOk(impl.getFrame(), PivResource.getS("R\xE9pertoire contenant les executables"))) {
return;
}
- else {
- PivExeLauncher.instance().setExePath(new File(PivPreferences.PIV.getStringProperty(PivPreferences.PIV_EXE_PATH)));
- }
}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivOrthoLaunchAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivOrthoLaunchAction.java 2012-11-09 08:19:19 UTC (rev 7863)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivOrthoLaunchAction.java 2012-11-09 13:36:41 UTC (rev 7864)
@@ -52,9 +52,6 @@
if (!pnExe.afficheModaleOk(impl.getFrame(), PivResource.getS("R\xE9pertoire contenant les executables"))) {
return;
}
- else {
- PivExeLauncher.instance().setExePath(new File(PivPreferences.PIV.getStringProperty(PivPreferences.PIV_EXE_PATH)));
- }
}
// La tache a ex\xE9cuter.
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivOrthoVerifyGRPAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivOrthoVerifyGRPAction.java 2012-11-09 08:19:19 UTC (rev 7863)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivOrthoVerifyGRPAction.java 2012-11-09 13:36:41 UTC (rev 7864)
@@ -57,9 +57,6 @@
if (!pnExe.afficheModaleOk(impl.getFrame(), PivResource.getS("R\xE9pertoire contenant les executables"))) {
return;
}
- else {
- PivExeLauncher.instance().setExePath(new File(PivPreferences.PIV.getStringProperty(PivPreferences.PIV_EXE_PATH)));
- }
}
CtuluAnalyze ana=new CtuluAnalyze();
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivSelectImagesAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivSelectImagesAction.java 2012-11-09 08:19:19 UTC (rev 7863)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivSelectImagesAction.java 2012-11-09 13:36:41 UTC (rev 7864)
@@ -63,9 +63,6 @@
if (!pnExe.afficheModaleOk(impl.getFrame(), PivResource.getS("R\xE9pertoire contenant les executables"))) {
return;
}
- else {
- PivExeLauncher.instance().setExePath(new File(PivPreferences.PIV.getStringProperty(PivPreferences.PIV_EXE_PATH)));
- }
}
// Selection des images
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java 2012-11-09 08:19:19 UTC (rev 7863)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java 2012-11-09 13:36:41 UTC (rev 7864)
@@ -83,8 +83,15 @@
}
public static PivExeLauncher instance() {
+ // Le chemin des exes peut \xEAtre donn\xE9 en propri\xE9t\xE9, auquel cas il est prioritaire sur
+ // celui r\xE9cup\xE9r\xE9 du fichier des pr\xE9f\xE9rences
+ String exeRep=System.getProperty(PivPreferences.PIV_EXE_PATH);
+ if (exeRep==null) {
+ exeRep=PivPreferences.PIV.getStringProperty(PivPreferences.PIV_EXE_PATH);
+ }
+
if (instance_==null)
- instance_=new PivExeLauncher(new File(PivPreferences.PIV.getStringProperty(PivPreferences.PIV_EXE_PATH)));
+ instance_=new PivExeLauncher(new File(exeRep));
return instance_;
}
@@ -96,6 +103,14 @@
public void setExePath(File _exePath) {
exePath=_exePath;
}
+
+ /**
+ * Retourne le chemin du repertoire des exes.
+ * @return Le chemin.
+ */
+ public File getExePath() {
+ return exePath;
+ }
/**
* Retourne vrai si tous les exe sont pr\xE9sents dans le repertoire sp\xE9cifi\xE9.
@@ -204,6 +219,8 @@
FuLog.trace(PivResource.getS("Calcul des coefficients ok."));
}
catch (IOException ex) {
+ _ana.addError(ex.getMessage());
+ return false;
}
return true;
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java 2012-11-09 08:19:19 UTC (rev 7863)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java 2012-11-09 13:36:41 UTC (rev 7864)
@@ -1076,7 +1076,10 @@
PrintWriter out=null;
try {
out = new PrintWriter(new File(getOutputDir(),"list_avg.dat"));
- for (int i=0; i<instantVelFiles.length; i++) {
+ // En principe, le nb de fichiers existants dans le repertoire devrait etre le meme
+ // que la taille du tableau usedInstantVelResults. Ce n'est pas toujours le cas,
+ // par exemple quand le calcul s'est mal pass\xE9.
+ for (int i=0; i<usedInstantVelResults.length; i++) {
if (usedInstantVelResults[i])
out.println(instantVelFiles[i].getName());
}
@@ -1298,7 +1301,7 @@
instantVelResults=_res;
- usedInstantVelResults=new boolean[instantVelResults.length];
+ usedInstantVelResults=new boolean[instantVelResults==null?0:instantVelResults.length];
Arrays.fill(usedInstantVelResults, true);
isModified=true;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2012-12-03 13:36:23
|
Revision: 8091
http://fudaa.svn.sourceforge.net/fudaa/?rev=8091&view=rev
Author: bmarchan
Date: 2012-12-03 13:36:11 +0000 (Mon, 03 Dec 2012)
Log Message:
-----------
Ajout de r?\195?\169sultats autres que vitesses
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivAverageVelReader.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivVelResultsModel.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java
Added Paths:
-----------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivResults.java
Removed Paths:
-------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivVelResults.java
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivAverageVelReader.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivAverageVelReader.java 2012-12-03 10:22:53 UTC (rev 8090)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivAverageVelReader.java 2012-12-03 13:36:11 UTC (rev 8091)
@@ -17,7 +17,7 @@
import org.fudaa.dodico.fortran.FileOpReadCharSimpleAbstract;
import org.fudaa.fudaa.piv.PivResource;
-import org.fudaa.fudaa.piv.metier.PivVelResults;
+import org.fudaa.fudaa.piv.metier.PivResults;
/**
* Un lecteur pour les fichiers des r\xE9sultats de vitesses moyenn\xE9es.
@@ -42,7 +42,7 @@
* Lit les r\xE9sultats de vitesses et les retourne.
* @return Les r\xE9sultats
*/
- protected PivVelResults internalRead() {
+ protected PivResults internalRead() {
return readVelocities();
}
@@ -55,8 +55,8 @@
*
* @return les infos non bloquantes.
*/
- private synchronized PivVelResults readVelocities() {
- PivVelResults res = new PivVelResults();
+ private synchronized PivResults readVelocities() {
+ PivResults res = new PivResults();
List<Double> valAtts=new ArrayList<Double>();
if (super.in_ == null) {
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java 2012-12-03 10:22:53 UTC (rev 8090)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java 2012-12-03 13:36:11 UTC (rev 8091)
@@ -22,7 +22,7 @@
import org.fudaa.fudaa.piv.metier.PivInstantVelResults;
import org.fudaa.fudaa.piv.metier.PivOrthoPoint;
import org.fudaa.fudaa.piv.metier.PivProject;
-import org.fudaa.fudaa.piv.metier.PivVelResults;
+import org.fudaa.fudaa.piv.metier.PivResults;
import com.memoire.fu.FuLib;
import com.memoire.fu.FuLog;
@@ -48,7 +48,9 @@
filter,
bathy_compute,
Q_compute,
- vel_transf
+ vel_transf,
+ vel_scal,
+ moy_scal
}
/** Les scripts pouvant etre lanc\xE9s */
@@ -632,7 +634,7 @@
// R\xE9cup\xE9ration des r\xE9sultats du projet.
FileReadOperationAbstract reader = PivAverageVelFileFormat.getInstance().createReader();
CtuluIOOperationSynthese ret=reader.read(resFile, _task);
- PivVelResults res=(PivVelResults)ret.getSource();
+ PivResults res=(PivResults)ret.getSource();
if (_task!=null && _task.isStopRequested()) {
_ana.addError(PivResource.getS("Calcul interrompu"));
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivVelResultsModel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivVelResultsModel.java 2012-12-03 10:22:53 UTC (rev 8090)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivVelResultsModel.java 2012-12-03 13:36:11 UTC (rev 8091)
@@ -11,7 +11,7 @@
import org.fudaa.ebli.palette.BPaletteInfo.InfoData;
import org.fudaa.fudaa.piv.PivResource;
import org.fudaa.fudaa.piv.metier.PivProject;
-import org.fudaa.fudaa.piv.metier.PivVelResults;
+import org.fudaa.fudaa.piv.metier.PivResults;
/**
* Un modele pour le trac\xE9 des vecteurs vitesses moyenn\xE9es.
@@ -162,7 +162,7 @@
*/
@Override
public GrBoite getDomaine() {
- PivVelResults res=prj_.getVelResults();
+ PivResults res=prj_.getVelResults();
if (res==null) return null;
GrBoite bt=new GrBoite();
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java 2012-12-03 10:22:53 UTC (rev 8090)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java 2012-12-03 13:36:11 UTC (rev 8091)
@@ -97,7 +97,7 @@
/** Un transect pour le calcul de d\xE9bits */
protected PivTransect transect;
/** Les r\xE9sultats de vitesses moyennes */
- protected PivVelResults velResults;
+ protected PivResults velResults;
/** Les r\xE9sultats des vitesses instantan\xE9es */
protected PivInstantVelResults[] instantVelResults;
/** Les r\xE9sultats instantan\xE9s utilis\xE9s pour le calcul des vitesses moyennes. */
@@ -782,7 +782,7 @@
if (velFile.exists()) {
FileReadOperationAbstract reader=PivAverageVelFileFormat.getInstance().createReader();
CtuluIOOperationSynthese ret=reader.read(velFile, _prog);
- velResults=(PivVelResults)ret.getSource();
+ velResults=(PivResults)ret.getSource();
}
// Les r\xE9sultats de vitesses instantan\xE9es dans l'espace r\xE9el.
@@ -1268,7 +1268,7 @@
* Retourne les r\xE9sultats.
* @return Les r\xE9sultats, ou <tt>null</tt> s'il n'a pas \xE9t\xE9 d\xE9fini.
*/
- public PivVelResults getVelResults() {
+ public PivResults getVelResults() {
return velResults;
}
@@ -1277,7 +1277,7 @@
* modifi\xE9.
* @param _res Les r\xE9sultats. <tt>null</tt> est autoris\xE9.
*/
- public void setVelResults(PivVelResults _res) {
+ public void setVelResults(PivResults _res) {
velResults=_res;
isModified=true;
fireProjectStateChanged("velResults");
Copied: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivResults.java (from rev 7861, trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivVelResults.java)
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivResults.java (rev 0)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivResults.java 2012-12-03 13:36:11 UTC (rev 8091)
@@ -0,0 +1,63 @@
+package org.fudaa.fudaa.piv.metier;
+
+import org.fudaa.ctulu.gis.GISAttributeDouble;
+import org.fudaa.ctulu.gis.GISAttributeInterface;
+import org.fudaa.ctulu.gis.GISZoneCollectionPoint;
+import org.fudaa.fudaa.piv.PivResource;
+
+/**
+ * Les r\xE9sultats aux points filtr\xE9s et moyenn\xE9s issus du calcul par PIV.
+ * Les valeurs sont stock\xE9es dans les attributs correspondants.
+ *
+ * @author Bertrand Marchand (mar...@de...)
+ * @version $Id$
+ */
+public class PivResults extends GISZoneCollectionPoint {
+ /** L'attribut vitesse suivant X */
+ public final static GISAttributeDouble ATT_VX=new GISAttributeDouble(PivResource.getS("Vitesse X"),false);
+ /** L'attribut vitesse suivant Y */
+ public final static GISAttributeDouble ATT_VY=new GISAttributeDouble(PivResource.getS("Vitesse Y"),false);
+ /** L'attribut norme de vitesse */
+ public final static GISAttributeDouble ATT_NORME=new GISAttributeDouble(PivResource.getS("Norme vit."),false);
+ /** L'attribut coefficient de correlation */
+ public final static GISAttributeDouble ATT_CORREL=new GISAttributeDouble(PivResource.getS("Coef. Correl."),false);
+ /** L'attribut rotationnel */
+ public final static GISAttributeDouble ATT_OMEGA=new GISAttributeDouble(PivResource.getS("Omega"),false);
+ /** L'attribut de divergence */
+ public final static GISAttributeDouble ATT_DIVERG=new GISAttributeDouble(PivResource.getS("Divergence"),false);
+
+ /**
+ * Constructeur, avec les attributs necessaires \xE0 VX, VY.
+ */
+ public PivResults() {
+ setAttributes(new GISAttributeInterface[]{ATT_VX,ATT_VY,ATT_NORME,ATT_CORREL,ATT_OMEGA,ATT_DIVERG}, null);
+ }
+
+ /**
+ * Retourne la vitesse suivant X pour le point d'indice _ind.
+ * @param _ind L'indice du point dans le tableau des r\xE9sultats.
+ * @return La vitesse.
+ */
+ public double getVx(int _ind) {
+ return (Double)getModel(ATT_VX).getObjectValueAt(_ind);
+ }
+
+ /**
+ * Retourne la vitesse suivant Y pour le point d'indice _ind.
+ * @param _ind L'indice du point dans le tableau des r\xE9sultats.
+ * @return La vitesse.
+ */
+ public double getVy(int _ind) {
+ return (Double)getModel(ATT_VY).getObjectValueAt(_ind);
+ }
+
+ /**
+ * Retourne la valeur pour l'attribut donn\xE9 et le point d'indice _ind
+ * @param _att L'attribut
+ * @param _ind L'indice du point dans le tableau des r\xE9sultats.
+ * @return La valeur pour le point
+ */
+ public double getResult(GISAttributeDouble _att, int _ind) {
+ return (Double)getModel(_att).getObjectValueAt(_ind);
+ }
+}
Deleted: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivVelResults.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivVelResults.java 2012-12-03 10:22:53 UTC (rev 8090)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivVelResults.java 2012-12-03 13:36:11 UTC (rev 8091)
@@ -1,45 +0,0 @@
-package org.fudaa.fudaa.piv.metier;
-
-import org.fudaa.ctulu.gis.GISAttributeDouble;
-import org.fudaa.ctulu.gis.GISAttributeInterface;
-import org.fudaa.ctulu.gis.GISZoneCollectionPoint;
-import org.fudaa.fudaa.piv.PivResource;
-
-/**
- * Les r\xE9sultats de vitesses aux points filtr\xE9s et moyenn\xE9s issus du calcul par PIV.
- * Les valeurs de vitesses sont stock\xE9es dans les attributs correspondants.
- *
- * @author Bertrand Marchand (mar...@de...)
- * @version $Id:$
- */
-public class PivVelResults extends GISZoneCollectionPoint {
- /** L'attribut vitesse suivant X */
- public final static GISAttributeDouble ATT_VX=new GISAttributeDouble(PivResource.getS("Vitesse X"),false);
- /** L'attribut vitesse suivant Y */
- public final static GISAttributeDouble ATT_VY=new GISAttributeDouble(PivResource.getS("Vitesse Y"),false);
-
- /**
- * Constructeur, avec les attributs necessaires \xE0 VX, VY.
- */
- public PivVelResults() {
- setAttributes(new GISAttributeInterface[]{ATT_VX,ATT_VY}, null);
- }
-
- /**
- * Retourne la vitesse suivant X pour le point d'indice _ind.
- * @param _ind L'indice du point dans le tableau des r\xE9sultats.
- * @return La vitesse.
- */
- public double getVx(int _ind) {
- return (Double)getModel(ATT_VX).getObjectValueAt(_ind);
- }
-
- /**
- * Retourne la vitesse suivant Y pour le point d'indice _ind.
- * @param _ind L'indice du point dans le tableau des r\xE9sultats.
- * @return La vitesse.
- */
- public double getVy(int _ind) {
- return (Double)getModel(ATT_VY).getObjectValueAt(_ind);
- }
-}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2013-01-22 14:42:38
|
Revision: 8238
http://fudaa.svn.sourceforge.net/fudaa/?rev=8238&view=rev
Author: bmarchan
Date: 2013-01-22 14:42:29 +0000 (Tue, 22 Jan 2013)
Log Message:
-----------
Fix : Pb avec les calques results
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeLaunchAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivResultsLayer.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java
Added Paths:
-----------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivVelResultsLayer.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivVelResultsModel.java
Removed Paths:
-------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivInstantVelResultsModel.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivVelResultsModel.java
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java 2013-01-22 14:41:07 UTC (rev 8237)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java 2013-01-22 14:42:29 UTC (rev 8238)
@@ -47,13 +47,13 @@
import org.fudaa.fudaa.piv.layer.PivControlPointsModel;
import org.fudaa.fudaa.piv.layer.PivFlowResultsModel;
import org.fudaa.fudaa.piv.layer.PivImageRasterLayer;
-import org.fudaa.fudaa.piv.layer.PivResultsModel;
-import org.fudaa.fudaa.piv.layer.PivInstantVelResultsModel;
+import org.fudaa.fudaa.piv.layer.PivVelResultsModel;
import org.fudaa.fudaa.piv.layer.PivOrthoPointsModel;
import org.fudaa.fudaa.piv.layer.PivRealImageModel;
import org.fudaa.fudaa.piv.layer.PivResultsLayer;
+import org.fudaa.fudaa.piv.layer.PivResultsModel;
import org.fudaa.fudaa.piv.layer.PivTransectModel;
-import org.fudaa.fudaa.piv.layer.PivVelResultsModel;
+import org.fudaa.fudaa.piv.layer.PivVelResultsLayer;
import org.fudaa.fudaa.piv.metier.PivProject;
import org.fudaa.fudaa.piv.metier.PivProjectStateListener;
import org.fudaa.fudaa.piv.metier.PivResultsI;
@@ -93,9 +93,9 @@
/** L'affichage d'un transect */
ZCalqueLigneBriseeEditable cqTransect_;
/** L'affichage des r\xE9sultats moyenn\xE9s */
- ZCalqueFleche cqVelResults;
+ PivVelResultsLayer cqVelResults;
/** L'affichage des r\xE9sultats instantan\xE9s */
- ZCalqueFleche cqInstantVelResults_;
+ PivVelResultsLayer cqInstantVelResults_;
/** L'affichage des r\xE9sultats de d\xE9bit */
ZCalqueFleche cqFlowResults;
/** L'affichage des r\xE9sultats instantan\xE9s */
@@ -109,7 +109,7 @@
PivVelResultsModel mdlVelResults;
PivTransectModel mdlTransect;
PivFlowResultsModel mdlFlowResults;
- PivInstantVelResultsModel mdlInstantVelResults;
+ PivVelResultsModel mdlInstantVelResults;
PivResultsModel mdlInstantResults;
PivResultsModel mdlAverageResults;
@@ -219,12 +219,7 @@
cqRealImg_.setName("cqRealImg");
// Layer des vitesses resultantes.
- cqVelResults = new ZCalqueFleche() {
- @Override
- protected String getFlecheUnit() {
- return "m/s";
- }
- };
+ cqVelResults = new PivVelResultsLayer();
cqVelResults.setTitle(PivResource.getS("Vit. surf. moy."));
cqVelResults.setLongTitle(PivResource.getS("Vitesse de surface moyenn\xE9e"));
cqVelResults.setTitleModifiable(true);
@@ -240,12 +235,7 @@
});
// Layer des vitesses instantan\xE9es resultantes.
- cqInstantVelResults_ = new ZCalqueFleche() {
- @Override
- protected String getFlecheUnit() {
- return "m/s";
- }
- };
+ cqInstantVelResults_ = new PivVelResultsLayer();
cqInstantVelResults_.setTitle(PivResource.getS("Vit. surf. inst."));
cqInstantVelResults_.setLongTitle(PivResource.getS("Vitesse de surface instantan\xE9e"));
cqInstantVelResults_.setTitleModifiable(true);
@@ -335,15 +325,17 @@
mdlRealImage.setProjet(prj_);
cqRealImg_.setModele(mdlRealImage);
- mdlVelResults=new PivVelResultsModel();
- mdlVelResults.setProjet(prj_);
- cqVelResults.setModele(mdlVelResults);
- cqVelResults.setVisible(false);
+ if (prj_.getAverageResults()!=null) {
+ mdlVelResults=new PivVelResultsModel(new PivResultsI[]{prj_.getAverageResults()});
+ cqVelResults.setModele(mdlVelResults);
+ cqVelResults.setVisible(false);
+ }
- mdlInstantVelResults=new PivInstantVelResultsModel();
- mdlInstantVelResults.setProjet(prj_);
- cqInstantVelResults_.setModele(mdlInstantVelResults);
- cqInstantVelResults_.setVisible(false);
+ if (prj_.getInstantResults()!=null) {
+ mdlInstantVelResults=new PivVelResultsModel(prj_.getInstantResults());
+ cqInstantVelResults_.setModele(mdlInstantVelResults);
+ cqInstantVelResults_.setVisible(false);
+ }
mdlFlowResults=new PivFlowResultsModel();
mdlFlowResults.setProjet(prj_);
@@ -455,7 +447,7 @@
private void setSelectedResult(int _ind) {
if (cqInstantVelResults_!=null && cqInstantVelResults_.modeleDonnees()!=null) {
- ((PivInstantVelResultsModel)cqInstantVelResults_.modeleDonnees()).setSelectedResult(_ind);
+ ((PivVelResultsModel)cqInstantVelResults_.modeleDonnees()).setSelectedResult(_ind);
// Pour que le calque soit r\xE9affich\xE9.
cqInstantVelResults_.repaint();
}
@@ -593,17 +585,21 @@
if (_prj.getAverageResults()!=null) {
mdlAverageResults=new PivResultsModel(new PivResultsI[]{prj_.getAverageResults()},null);
cqAverageIso_.setModele(mdlAverageResults);
+
+ mdlVelResults=new PivVelResultsModel(new PivResultsI[]{prj_.getAverageResults()});
+ cqVelResults.setModele(mdlVelResults);
}
majTools();
- mdlVelResults.update();
}
else if ("instantResults".equals(_prop)) {
if (_prj.getInstantResults()!=null) {
mdlInstantResults=new PivResultsModel(prj_.getInstantResults(),null);
cqInstantIso_.setModele(mdlInstantResults);
+
+ mdlInstantVelResults=new PivVelResultsModel(prj_.getInstantResults());
+ cqInstantVelResults_.setModele(mdlInstantVelResults);
}
- mdlInstantVelResults.update();
majTools();
}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeLaunchAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeLaunchAction.java 2013-01-22 14:41:07 UTC (rev 8237)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeLaunchAction.java 2013-01-22 14:42:29 UTC (rev 8238)
@@ -35,7 +35,7 @@
* @param _impl L'implementation.
*/
public PivComputeLaunchAction(PivImplementation _impl) {
- super(PivResource.getS("Calcul des vitesses instantan\xE9es"), null, "COMPUTE_PIV");
+ super(PivResource.getS("Calcul des r\xE9sultats instantan\xE9s"), null, "COMPUTE_PIV");
impl=_impl;
setEnabled(false);
@@ -60,7 +60,7 @@
// La tache a ex\xE9cuter.
- CtuluTaskOperationGUI r=new CtuluTaskOperationGUI(impl, PivResource.getS("Calcul des champs de vitesses instantan\xE9es")) {
+ CtuluTaskOperationGUI r=new CtuluTaskOperationGUI(impl, PivResource.getS("Calcul des r\xE9sultats instantan\xE9s")) {
public void act() {
try {
Deleted: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivInstantVelResultsModel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivInstantVelResultsModel.java 2013-01-22 14:41:07 UTC (rev 8237)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivInstantVelResultsModel.java 2013-01-22 14:42:29 UTC (rev 8238)
@@ -1,219 +0,0 @@
-package org.fudaa.fudaa.piv.layer;
-
-import org.fudaa.ctulu.table.CtuluTable;
-import org.fudaa.ebli.calque.ZCalqueAffichageDonneesInterface;
-import org.fudaa.ebli.calque.ZCalqueFleche;
-import org.fudaa.ebli.calque.ZModeleFleche;
-import org.fudaa.ebli.geometrie.GrBoite;
-import org.fudaa.ebli.geometrie.GrPoint;
-import org.fudaa.ebli.geometrie.GrSegment;
-import org.fudaa.ebli.palette.BPaletteInfo.InfoData;
-import org.fudaa.fudaa.piv.PivResource;
-import org.fudaa.fudaa.piv.metier.PivProject;
-import org.fudaa.fudaa.piv.metier.PivResultsI;
-import org.fudaa.fudaa.piv.metier.PivResultsI.TYPE;
-
-import com.memoire.bu.BuTable;
-
-/**
- * Un modele pour le trac\xE9 des vecteurs vitesses instantan\xE9s.
- *
- * @author Bertrand Marchand (mar...@de...)
- * @version $Id$
- */
-public class PivInstantVelResultsModel implements ZModeleFleche {
- /** Le projet. **/
- PivProject prj_;
- /** L'index du r\xE9sultat instantan\xE9 s\xE9lectionn\xE9. */
- int iselres_=-1;
- /** Le point, toujours le m\xEAme, pour retourner les coordonn\xE9es 3D d'un r\xE9sultat. */
- GrPoint ptCache_=new GrPoint();
-
- /**
- * Le constructeur.
- */
- public PivInstantVelResultsModel() {
- }
-
- /**
- * Redefinit le projet, et remet a jour le modele.
- * @param _prj Le projet courant.
- */
- public void setProjet(PivProject _prj) {
- prj_=_prj;
- update();
- }
-
- /**
- * D\xE9finit le r\xE9sultat instantan\xE9 selectionn\xE9.
- * @param _ind L'index. Peut \xEAtre -1 si aucun r\xE9sultat s\xE9lectionn\xE9.
- */
- public void setSelectedResult(int _ind) {
- iselres_=_ind;
- }
-
- /**
- * Met a jour le mod\xE8le. Cette m\xE9thode est vide, le mod\xE8le se base directement
- * sur le projet.
- */
- public void update() {
- if (prj_.getInstantResults()==null || prj_.getInstantResults().length-1<iselres_)
- setSelectedResult(0);
- }
-
- /** Non implement\xE9 */
- @Override
- public boolean interpolate(GrSegment _seg, double _x, double _y) {
- return false;
- }
-
- /**
- * Initialise le segment depuis les points d'indice _i et _i+1
- * @param _s Le segement.
- * @param _i L'indice du premier point.
- * @param _force Inutilis\xE9.
- * @return Fix\xE9 \xE0 true.
- */
- @Override
- public boolean segment(GrSegment _s, int _i, boolean _force) {
- _s.o_.x_=getX(_i);
- _s.o_.y_=getY(_i);
- _s.e_.x_=getX(_i)+getVx(_i);
- _s.e_.y_=getY(_i)+getVy(_i);
-
- return true;
- }
-
- /**
- * Retourne la norme de la vitesse au point d'indice _i
- * @param _i L'indice du point.
- * @return La norme.
- */
- @Override
- public double getNorme(int _i) {
- double vx=getVx(_i);
- double vy=getVy(_i);
- return Math.sqrt(vx*vx+vy*vy);
- }
-
- /**
- * Retourne la vitesse suivant X au point d'indice _i
- * @param _i L'indice du point.
- * @return La vitesse.
- */
- @Override
- public double getVx(int _i) {
- if (iselres_==-1 || prj_.getInstantResults()==null) return 0;
- return prj_.getInstantResults()[iselres_].getValue(_i,TYPE.VX);
- }
-
- /**
- * Retourne la vitesse suivant Y au point d'indice _i
- * @param _i L'indice du point.
- * @return La vitesse.
- */
- @Override
- public double getVy(int _i) {
- if (iselres_==-1 || prj_.getInstantResults()==null) return 0;
- return prj_.getInstantResults()[iselres_].getValue(_i,TYPE.VY);
- }
-
- /**
- * Retourne la coordonn\xE9e X au point d'indice _i
- * @param _i L'indice du point.
- * @return La coordonn\xE9e.
- */
- @Override
- public double getX(int _i) {
- if (iselres_==-1 || prj_.getInstantResults()==null) return 0;
- return prj_.getInstantResults()[iselres_].getX(_i);
- }
-
- /**
- * Retourne la coordonn\xE9e Y au point d'indice _i
- * @param _i L'indice du point.
- * @return La coordonn\xE9e.
- */
- @Override
- public double getY(int _i) {
- if (iselres_==-1 || prj_.getInstantResults()==null) return 0;
- return prj_.getInstantResults()[iselres_].getY(_i);
- }
-
- /** Non implement\xE9 */
- @Override
- public double getZ1(int _i) {
- return 0;
- }
-
- /** Non implement\xE9 */
- @Override
- public double getZ2(int _i) {
- return 0;
- }
-
- @Override
- public BuTable createValuesTable(ZCalqueAffichageDonneesInterface _layer) {
- return new CtuluTable(new ZCalqueFleche.ValueTableModel(this));
- }
-
- @Override
- public void fillWithInfo(InfoData _d, ZCalqueAffichageDonneesInterface _layer) {
- final ZCalqueFleche.StringInfo info = new ZCalqueFleche.StringInfo();
- info.titleIfOne_ = PivResource.getS("Vit. instantan\xE9es: point n\xB0");
- info.title_ = PivResource.getS("Vit. instantan\xE9es");
- ZCalqueFleche.fillWithInfo(_d, _layer.getLayerSelection(), this, info);
- }
-
- /** Non implement\xE9 */
- @Override
- public boolean isValuesTableAvailable() {
- return true;
- }
-
- /**
- * Retourne la boite englobante des points du mod\xE8le.
- * @return La boite.
- */
- @Override
- public GrBoite getDomaine() {
- PivResultsI[] res=prj_.getInstantResults();
- if (res==null) return null;
-
- GrBoite bt=new GrBoite();
- for (int i=0; i<res[0].getNbPoints(); i++) {
- bt.ajuste(res[0].getX(i),res[0].getY(i),0);
- }
- return bt;
- }
-
- /**
- * Retourne le nombre de points du mod\xE8le.
- * @return Le nombre de points.
- */
- @Override
- public int getNombre() {
- if (prj_.getInstantResults()==null) return 0;
- return prj_.getInstantResults()[0].getNbPoints();
- }
-
- /** Non implement\xE9 */
- @Override
- public Object getObject(int _ind) {
- return null;
- }
-
- public GrPoint getVertexForObject(int _ind, int _idVertex) {
- if (prj_.getInstantResults()==null) return null;
- if (_ind>=prj_.getInstantResults()[0].getNbPoints()) return null;
-
- ptCache_.x_=prj_.getInstantResults()[0].getX(_ind);
- ptCache_.y_=prj_.getInstantResults()[0].getY(_ind);
- ptCache_.z_=0;
- return ptCache_;
- }
-
- @Override
- public void prepare() {
- }
-}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivResultsLayer.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivResultsLayer.java 2013-01-22 14:41:07 UTC (rev 8237)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivResultsLayer.java 2013-01-22 14:42:29 UTC (rev 8238)
@@ -19,6 +19,7 @@
import org.fudaa.ebli.trace.TraceLigneModel;
import org.fudaa.fudaa.meshviewer.layer.MvElementLayer;
import org.fudaa.fudaa.meshviewer.layer.MvIsoLayerQuickPainter;
+import org.fudaa.fudaa.piv.metier.PivResultsI.TYPE;
/**
* Un calque pour afficher des r\xE9sultats sous forme d'isocouleurs/isolignes. Ce calque
@@ -229,4 +230,33 @@
palette.setSousTitre(modele().getCurrentVar().getName());
this.setPaletteCouleurPlages(palette);
}
+
+ @Override
+ public EbliUIProperties saveUIProperties() {
+ final EbliUIProperties res = super.saveUIProperties();
+
+ res.put(PivResultatsLayerConfigure.ISO_LINE_PAINTED, isTraceIsoLine());
+ res.put(PivResultatsLayerConfigure.ISO_SURFACE_PAINTED, isTraceIsoSurface());
+ res.put("iso.variable", modele()==null ? "":modele().getCurrentVar().toString());
+ return res;
+ }
+
+ @Override
+ public void initFrom(final EbliUIProperties _p) {
+ if (_p != null) {
+ if (_p.isDefined(PivResultatsLayerConfigure.ISO_LINE_PAINTED)) {
+ setTraceIsoLine(_p.getBoolean(PivResultatsLayerConfigure.ISO_LINE_PAINTED));
+ }
+ if (_p.isDefined(PivResultatsLayerConfigure.ISO_SURFACE_PAINTED)) {
+ setTraceIsoSurface(_p.getBoolean(PivResultatsLayerConfigure.ISO_SURFACE_PAINTED));
+ }
+ if (_p.isDefined("iso.variable")) {
+ if (modele()!=null) {
+ modele().setCurrentVar(TYPE.valueOf(_p.getString("iso.variable")));
+ }
+ }
+ super.initFrom(_p);
+ }
+ }
+
}
Added: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivVelResultsLayer.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivVelResultsLayer.java (rev 0)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivVelResultsLayer.java 2013-01-22 14:42:29 UTC (rev 8238)
@@ -0,0 +1,85 @@
+package org.fudaa.fudaa.piv.layer;
+
+import org.fudaa.ctulu.CtuluRange;
+import org.fudaa.ebli.calque.ZCalqueFleche;
+import org.fudaa.ebli.calque.ZModeleSegment;
+
+/**
+ * Un calque pour le trac\xE9 des vitesses.
+ * @author Bertrand Marchand (mar...@de...)
+ * @version $Id$
+ */
+public class PivVelResultsLayer extends ZCalqueFleche {
+
+ @Override
+ protected String getFlecheUnit() {
+ return "m/s";
+ }
+
+ /**
+ * True : Les bornes de la palette peuvent \xEAtre d\xE9finies de mani\xE8re automatique pour tous
+ * les temps.
+ */
+ @Override
+ public boolean isDonneesBoiteAvailable() {
+ return true;
+ }
+
+ /**
+ * True : Les bornes de la palette peuvent \xEAtre d\xE9finies de mani\xE8re automatique pour le temps
+ * temps courant.
+ */
+ @Override
+ public boolean isDonneesBoiteTimeAvailable() {
+ return true;
+ }
+
+ /**
+ * Definition des bornes de la palette pour tous les pas de temps.
+ */
+ @Override
+ public boolean getRange(final CtuluRange _b) {
+ PivVelResultsModel mdl=modeleDonnees();
+ if (mdl==null) return false;
+
+ // on initialise le min/max;
+ _b.setToNill();
+ for (int tidx = mdl.getNbTime() - 1; tidx >= 0; tidx--) {
+ for (int i = mdl.getNombre() - 1; i >= 0; i--) {
+ _b.expandTo(mdl.getNorme(tidx, i));
+ }
+ }
+ return true;
+ }
+
+ /**
+ * Definition des bornes de la palette pour le temps courant.
+ */
+ @Override
+ public boolean getTimeRange(final CtuluRange _b) {
+ PivVelResultsModel mdl=modeleDonnees();
+ if (mdl==null) return false;
+
+ // on initialise le min/max;
+ _b.setToNill();
+ for (int i = mdl.getNombre() - 1; i >= 0; i--) {
+ _b.expandTo(mdl.getNorme(i));
+ }
+ return true;
+ }
+
+ @Override
+ public PivVelResultsModel modeleDonnees() {
+ return (PivVelResultsModel )modele_;
+ }
+
+ @Override
+ public void setModele(ZModeleSegment _modele) {
+ if (!(_modele instanceof PivVelResultsModel))
+ throw new IllegalArgumentException("Bad type argument");
+
+ super.setModele(_modele);
+ }
+
+
+}
Property changes on: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivVelResultsLayer.java
___________________________________________________________________
Added: svn:keywords
+ Id
Added: svn:eol-style
+ native
Deleted: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivVelResultsModel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivVelResultsModel.java 2013-01-22 14:41:07 UTC (rev 8237)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivVelResultsModel.java 2013-01-22 14:42:29 UTC (rev 8238)
@@ -1,204 +0,0 @@
-package org.fudaa.fudaa.piv.layer;
-
-import org.fudaa.ctulu.table.CtuluTable;
-import org.fudaa.ebli.calque.ZCalqueAffichageDonneesInterface;
-import org.fudaa.ebli.calque.ZCalqueFleche;
-import org.fudaa.ebli.calque.ZModeleFleche;
-import org.fudaa.ebli.geometrie.GrBoite;
-import org.fudaa.ebli.geometrie.GrPoint;
-import org.fudaa.ebli.geometrie.GrSegment;
-import org.fudaa.ebli.palette.BPaletteInfo.InfoData;
-import org.fudaa.fudaa.piv.PivResource;
-import org.fudaa.fudaa.piv.metier.PivProject;
-import org.fudaa.fudaa.piv.metier.PivResultsI;
-import org.fudaa.fudaa.piv.metier.PivResultsI.TYPE;
-
-import com.memoire.bu.BuTable;
-
-/**
- * Un modele pour le trac\xE9 des vecteurs vitesses moyenn\xE9es.
- *
- * @author Bertrand Marchand (mar...@de...)
- * @version $Id$
- */
-public class PivVelResultsModel implements ZModeleFleche {
- /** Le projet. **/
- PivProject prj_;
- /** Le point, toujours le m\xEAme, pour retourner les coordonn\xE9es 3D d'un r\xE9sultat. */
- GrPoint ptCache_=new GrPoint();
-
- /**
- * Le constructeur.
- */
- public PivVelResultsModel() {
- }
-
- /**
- * Redefinit le projet, et remet a jour le modele.
- * @param _prj Le projet courant.
- */
- public void setProjet(PivProject _prj) {
- prj_=_prj;
- update();
- }
-
- /**
- * Met a jour le mod\xE8le. Cette m\xE9thode est vide, le mod\xE8le se base directement
- * sur le projet.
- */
- public void update() {}
-
- /** Non implement\xE9 */
- @Override
- public boolean interpolate(GrSegment _seg, double _x, double _y) {
- return false;
- }
-
- /**
- * Initialise le segment depuis les points d'indice _i et _i+1
- * @param _s Le segement.
- * @param _i L'indice du premier point.
- * @param _force Inutilis\xE9.
- * @return Fix\xE9 \xE0 true.
- */
- @Override
- public boolean segment(GrSegment _s, int _i, boolean _force) {
- _s.o_.x_=getX(_i);
- _s.o_.y_=getY(_i);
- _s.e_.x_=getX(_i)+getVx(_i);
- _s.e_.y_=getY(_i)+getVy(_i);
-
- return true;
- }
-
- /**
- * Retourne la norme de la vitesse au point d'indice _i
- * @param _i L'indice du point.
- * @return La norme.
- */
- @Override
- public double getNorme(int _i) {
- double vx=getVx(_i);
- double vy=getVy(_i);
- return Math.sqrt(vx*vx+vy*vy);
- }
-
- /**
- * Retourne la vitesse suivant X au point d'indice _i
- * @param _i L'indice du point.
- * @return La vitesse.
- */
- @Override
- public double getVx(int _i) {
- if (prj_.getAverageResults()==null) return 0;
- return prj_.getAverageResults().getValue(_i,TYPE.VX);
- }
-
- /**
- * Retourne la vitesse suivant Y au point d'indice _i
- * @param _i L'indice du point.
- * @return La vitesse.
- */
- @Override
- public double getVy(int _i) {
- if (prj_.getAverageResults()==null) return 0;
- return prj_.getAverageResults().getValue(_i,TYPE.VY);
- }
-
- /**
- * Retourne la coordonn\xE9e X au point d'indice _i
- * @param _i L'indice du point.
- * @return La coordonn\xE9e.
- */
- @Override
- public double getX(int _i) {
- if (prj_.getAverageResults()==null) return 0;
- return prj_.getAverageResults().getX(_i);
- }
-
- /**
- * Retourne la coordonn\xE9e Y au point d'indice _i
- * @param _i L'indice du point.
- * @return La coordonn\xE9e.
- */
- @Override
- public double getY(int _i) {
- if (prj_.getAverageResults()==null) return 0;
- return prj_.getAverageResults().getY(_i);
- }
-
- /** Non implement\xE9 */
- @Override
- public double getZ1(int _i) {
- return 0;
- }
-
- /** Non implement\xE9 */
- @Override
- public double getZ2(int _i) {
- return 0;
- }
-
- @Override
- public BuTable createValuesTable(ZCalqueAffichageDonneesInterface _layer) {
- return new CtuluTable(new ZCalqueFleche.ValueTableModel(this));
- }
-
- @Override
- public void fillWithInfo(InfoData _d, ZCalqueAffichageDonneesInterface _layer) {
- final ZCalqueFleche.StringInfo info = new ZCalqueFleche.StringInfo();
- info.titleIfOne_ = PivResource.getS("R\xE9sultats: point n\xB0");
- info.title_ = PivResource.getS("R\xE9sultats");
- ZCalqueFleche.fillWithInfo(_d, _layer.getLayerSelection(), this, info);
- }
-
- /** Non implement\xE9 */
- @Override
- public boolean isValuesTableAvailable() {
- return true;
- }
-
- /**
- * Retourne la boite englobante des points du mod\xE8le.
- * @return La boite.
- */
- @Override
- public GrBoite getDomaine() {
- PivResultsI res=prj_.getAverageResults();
- if (res==null) return null;
-
- GrBoite bt=new GrBoite();
- for (int i=0; i<res.getNbPoints(); i++) {
- bt.ajuste(res.getX(i),res.getY(i),0);
- }
- return bt;
- }
-
- /**
- * Retourne le nombre de points du mod\xE8le.
- * @return Le nombre de points.
- */
- @Override
- public int getNombre() {
- if (prj_.getAverageResults()==null) return 0;
- return prj_.getAverageResults().getNbPoints();
- }
-
- /** Non implement\xE9 */
- @Override
- public Object getObject(int _ind) {
- return null;
- }
-
- public GrPoint getVertexForObject(int _ind, int _idVertex) {
- if (prj_.getAverageResults()==null) return null;
- if (_ind>=prj_.getAverageResults().getNbPoints()) return null;
-
- ptCache_.setCoordonnees(prj_.getAverageResults().getX(_ind),prj_.getAverageResults().getY(_ind),0.);
- return ptCache_;
- }
-
- @Override
- public void prepare() {
- }
-}
Copied: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivVelResultsModel.java (from rev 8233, trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivInstantVelResultsModel.java)
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivVelResultsModel.java (rev 0)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivVelResultsModel.java 2013-01-22 14:42:29 UTC (rev 8238)
@@ -0,0 +1,249 @@
+package org.fudaa.fudaa.piv.layer;
+
+import org.fudaa.ctulu.table.CtuluTable;
+import org.fudaa.ebli.calque.ZCalqueAffichageDonneesInterface;
+import org.fudaa.ebli.calque.ZCalqueFleche;
+import org.fudaa.ebli.calque.ZModeleFleche;
+import org.fudaa.ebli.geometrie.GrBoite;
+import org.fudaa.ebli.geometrie.GrPoint;
+import org.fudaa.ebli.geometrie.GrSegment;
+import org.fudaa.ebli.palette.BPaletteInfo.InfoData;
+import org.fudaa.fudaa.piv.PivResource;
+import org.fudaa.fudaa.piv.metier.PivResultsI;
+import org.fudaa.fudaa.piv.metier.PivResultsI.TYPE;
+
+import com.memoire.bu.BuTable;
+
+/**
+ * Un modele pour le trac\xE9 des vecteurs vitesses.
+ *
+ * @author Bertrand Marchand (mar...@de...)
+ * @version $Id$
+ */
+public class PivVelResultsModel implements ZModeleFleche {
+ /** L'index du r\xE9sultat instantan\xE9 s\xE9lectionn\xE9. */
+ int iselres_=0;
+ /** Le point, toujours le m\xEAme, pour retourner les coordonn\xE9es 3D d'un r\xE9sultat. */
+ GrPoint ptCache_=new GrPoint();
+ /** Les resultats */
+ PivResultsI[] results_;
+
+ /**
+ * Le constructeur.
+ */
+ public PivVelResultsModel(PivResultsI[] _res) {
+ results_=_res;
+ }
+
+ /**
+ * @return Le nombre de temps du mod\xE8le
+ */
+ public int getNbTime() {
+ return results_==null ? 0 : results_.length;
+ }
+
+ /**
+ * D\xE9finit le r\xE9sultat instantan\xE9 selectionn\xE9.
+ * @param _ind L'index. Peut \xEAtre -1 si aucun r\xE9sultat s\xE9lectionn\xE9.
+ */
+ public void setSelectedResult(int _ind) {
+ iselres_=_ind;
+ }
+
+ /** Non implement\xE9 */
+ @Override
+ public boolean interpolate(GrSegment _seg, double _x, double _y) {
+ return false;
+ }
+
+ /**
+ * Initialise le segment depuis les points d'indice _i et _i+1, pour
+ * le temps courant.
+ * @param _s Le segement.
+ * @param _i L'indice du premier point.
+ * @param _force Inutilis\xE9.
+ * @return Fix\xE9 \xE0 true.
+ */
+ @Override
+ public boolean segment(GrSegment _s, int _i, boolean _force) {
+ _s.o_.x_=getX(_i);
+ _s.o_.y_=getY(_i);
+ _s.e_.x_=getX(_i)+getVx(_i);
+ _s.e_.y_=getY(_i)+getVy(_i);
+
+ return true;
+ }
+
+ /**
+ * Retourne la norme de la vitesse au point d'indice _i, pour le temps
+ * courant.
+ * @param _i L'indice du point.
+ * @return La norme.
+ */
+ @Override
+ public double getNorme(int _i) {
+ double vx=getVx(_i);
+ double vy=getVy(_i);
+ return Math.sqrt(vx*vx+vy*vy);
+ }
+
+ /**
+ * Retourne la norme de la vitesse au point d'indice _i, pour le temps
+ * donn\xE9.
+ * @param _tidx L'indice du temps
+ * @param _ipt L'indice du point.
+ * @return La norme.
+ */
+ public double getNorme(int _tidx, int _ipt) {
+ double vx=getVx(_tidx, _ipt);
+ double vy=getVy(_tidx, _ipt);
+ return Math.sqrt(vx*vx+vy*vy);
+ }
+
+ /**
+ * Retourne la vitesse suivant X au point d'indice _i pour le
+ * temps courant.
+ * @param _i L'indice du point.
+ * @return La vitesse.
+ */
+ @Override
+ public double getVx(int _i) {
+ if (iselres_>=results_.length || results_[iselres_]==null) return 0;
+ return results_[iselres_].getValue(_i,TYPE.VX);
+ }
+
+ /**
+ * Retourne la vitesse suivant X au point d'indice _i pour le
+ * temps donn\xE9.
+ * @param _tidx L'indice du temps
+ * @param _ipt L'indice du point.
+ * @return La vitesse.
+ */
+ public double getVx(int _tidx, int _ipt) {
+ if (_tidx>=results_.length || results_[_tidx]==null) return 0;
+ return results_[_tidx].getValue(_ipt,TYPE.VX);
+ }
+
+ /**
+ * Retourne la vitesse suivant Y au point d'indice _i pour le
+ * temps courant.
+ * @param _i L'indice du point.
+ * @return La vitesse.
+ */
+ @Override
+ public double getVy(int _i) {
+ if (iselres_>=results_.length || results_[iselres_]==null) return 0;
+ return results_[iselres_].getValue(_i,TYPE.VY);
+ }
+
+ /**
+ * Retourne la vitesse suivant Y au point d'indice _i pour le
+ * temps donn\xE9.
+ * @param _tidx L'indice du temps
+ * @param _ipt L'indice du point.
+ * @return La vitesse.
+ */
+ public double getVy(int _tidx, int _ipt) {
+ if (_tidx>=results_.length || results_[_tidx]==null) return 0;
+ return results_[_tidx].getValue(_ipt,TYPE.VY);
+ }
+
+ /**
+ * Retourne la coordonn\xE9e X au point d'indice _i pour le temps courant
+ * @param _i L'indice du point.
+ * @return La coordonn\xE9e.
+ */
+ @Override
+ public double getX(int _i) {
+ if (iselres_>=results_.length || results_[iselres_]==null) return 0;
+ return results_[iselres_].getX(_i);
+ }
+
+ /**
+ * Retourne la coordonn\xE9e Y au point d'indice _i pour le temps courant
+ * @param _i L'indice du point.
+ * @return La coordonn\xE9e.
+ */
+ @Override
+ public double getY(int _i) {
+ if (iselres_>=results_.length || results_[iselres_]==null) return 0;
+ return results_[iselres_].getY(_i);
+ }
+
+ /** Non implement\xE9 */
+ @Override
+ public double getZ1(int _i) {
+ return 0;
+ }
+
+ /** Non implement\xE9 */
+ @Override
+ public double getZ2(int _i) {
+ return 0;
+ }
+
+ @Override
+ public BuTable createValuesTable(ZCalqueAffichageDonneesInter...
[truncated message content] |
|
From: <bma...@us...> - 2013-02-14 15:43:46
|
Revision: 8271
http://fudaa.svn.sourceforge.net/fudaa/?rev=8271&view=rev
Author: bmarchan
Date: 2013-02-14 15:43:35 +0000 (Thu, 14 Feb 2013)
Log Message:
-----------
Add : Relecture transect projete
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeFlowAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivResultsLayer.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivVelResultsLayer.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivTransect.java
Added Paths:
-----------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivBathyPFileFormat.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivBathyPReader.java
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java 2013-02-14 15:41:04 UTC (rev 8270)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java 2013-02-14 15:43:35 UTC (rev 8271)
@@ -221,7 +221,7 @@
// Layer des vitesses resultantes.
cqVelResults = new PivVelResultsLayer();
cqVelResults.setTitle(PivResource.getS("Vit. surf. moy."));
- cqVelResults.setLongTitle(PivResource.getS("Vitesse de surface moyenn\xE9e"));
+ cqVelResults.setLongTitle(PivResource.getS("Vitesses de surface moyenn\xE9es"));
cqVelResults.setTitleModifiable(true);
cqVelResults.setName("cqRealVel");
// Donne la couleur des fl\xE8ches si pas de palette de couleurs.
@@ -237,7 +237,7 @@
// Layer des vitesses instantan\xE9es resultantes.
cqInstantVelResults_ = new PivVelResultsLayer();
cqInstantVelResults_.setTitle(PivResource.getS("Vit. surf. inst."));
- cqInstantVelResults_.setLongTitle(PivResource.getS("Vitesse de surface instantan\xE9e"));
+ cqInstantVelResults_.setLongTitle(PivResource.getS("Vitesses de surface instantan\xE9es"));
cqInstantVelResults_.setTitleModifiable(true);
cqInstantVelResults_.setName("cqInstantVel");
// Donne la couleur des fl\xE8ches si pas de palette de couleurs.
@@ -258,7 +258,7 @@
}
};
cqFlowResults.setTitle(PivResource.getS("Vit. moy. prof."));
- cqFlowResults.setLongTitle(PivResource.getS("Vitesse moyenn\xE9e sur la profondeur"));
+ cqFlowResults.setLongTitle(PivResource.getS("Vitesses moyenn\xE9es sur la profondeur"));
cqFlowResults.setTitleModifiable(true);
cqFlowResults.setName("cqRealFlow");
// Donne la couleur des fl\xE8ches si pas de palette de couleurs.
@@ -285,7 +285,7 @@
// Layer des iso couleurs instantan\xE9es
cqInstantIso_ = new PivResultsLayer();
cqInstantIso_.setLineModel(0, new TraceLigneModel(TraceLigne.LISSE, 1, Color.LIGHT_GRAY));
- cqInstantIso_.setTitle("R\xE9sultats instantan\xE9s");
+ cqInstantIso_.setTitle(PivResource.getS("R\xE9sultats instantan\xE9s"));
cqInstantIso_.setName("cqInstantResults");
cqInstantIso_.setDestructible(false);
cqInstantIso_.setVisible(false);
@@ -293,7 +293,7 @@
// Layer des iso couleurs instantan\xE9es
cqAverageIso_ = new PivResultsLayer();
cqAverageIso_.setLineModel(0, new TraceLigneModel(TraceLigne.LISSE, 1, Color.LIGHT_GRAY));
- cqAverageIso_.setTitle("R\xE9sultats moyenn\xE9s");
+ cqAverageIso_.setTitle(PivResource.getS("R\xE9sultats moyenn\xE9s"));
cqAverageIso_.setName("cqAveResults");
cqAverageIso_.setDestructible(false);
cqAverageIso_.setVisible(false);
@@ -584,21 +584,28 @@
else if("averageResults".equals(_prop)) {
if (_prj.getAverageResults()!=null) {
mdlAverageResults=new PivResultsModel(new PivResultsI[]{prj_.getAverageResults()},null);
- cqAverageIso_.setModele(mdlAverageResults);
-
mdlVelResults=new PivVelResultsModel(new PivResultsI[]{prj_.getAverageResults()});
- cqVelResults.setModele(mdlVelResults);
}
+ else {
+ mdlAverageResults=null;
+ mdlVelResults=null;
+ }
+ cqAverageIso_.setModele(mdlAverageResults);
+ cqVelResults.setModele(mdlVelResults);
+
majTools();
}
else if ("instantResults".equals(_prop)) {
if (_prj.getInstantResults()!=null) {
mdlInstantResults=new PivResultsModel(prj_.getInstantResults(),null);
- cqInstantIso_.setModele(mdlInstantResults);
-
mdlInstantVelResults=new PivVelResultsModel(prj_.getInstantResults());
- cqInstantVelResults_.setModele(mdlInstantVelResults);
}
+ else {
+ mdlInstantResults=null;
+ mdlInstantVelResults=null;
+ }
+ cqInstantIso_.setModele(mdlInstantResults);
+ cqInstantVelResults_.setModele(mdlInstantVelResults);
majTools();
}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeFlowAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeFlowAction.java 2013-02-14 15:41:04 UTC (rev 8270)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeFlowAction.java 2013-02-14 15:43:35 UTC (rev 8271)
@@ -11,6 +11,7 @@
import java.io.File;
import javax.swing.SwingUtilities;
import org.fudaa.ctulu.CtuluAnalyze;
+import org.fudaa.ctulu.fileformat.FileReadOperationAbstract;
import org.fudaa.ctulu.gui.CtuluDialog;
import org.fudaa.ctulu.gui.CtuluTaskOperationGUI;
import org.fudaa.ebli.commun.EbliActionSimple;
@@ -22,7 +23,10 @@
import org.fudaa.fudaa.piv.PivProgressionPanel;
import org.fudaa.fudaa.piv.PivResource;
import org.fudaa.fudaa.piv.PivVisuPanel;
+import org.fudaa.fudaa.piv.io.PivBathyPFileFormat;
+import org.fudaa.fudaa.piv.io.PivDischargeFileFormat;
import org.fudaa.fudaa.piv.io.PivExeLauncher;
+import org.fudaa.fudaa.piv.metier.PivFlowResults;
import org.fudaa.fudaa.piv.metier.PivOrthoParameters;
import org.fudaa.fudaa.piv.metier.PivTransect;
@@ -98,6 +102,14 @@
pnInfo.afficheModale(impl.getFrame(), PivResource.getS("Calcul termin\xE9"), CtuluDialog.OK_OPTION);
impl.get2dFrame().getVisuPanel().setViewMode(PivVisuPanel.MODE_REAL_VIEW);
impl.get2dFrame().getVisuPanel().setFlowLayerVisible(true);
+
+ if (impl.question(
+ PivResource.getS("Modification du transect initial"),
+ PivResource.getS("Souhaitez vous remplacer le transect initial par celui calcul\xE9 ?"))) {
+
+ PivTransect trans=impl.getCurrentProject().loadBathyPFile(null);
+ impl.getCurrentProject().setTransect(trans);
+ }
}
});
Added: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivBathyPFileFormat.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivBathyPFileFormat.java (rev 0)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivBathyPFileFormat.java 2013-02-14 15:43:35 UTC (rev 8271)
@@ -0,0 +1,51 @@
+package org.fudaa.fudaa.piv.io;
+
+import org.fudaa.ctulu.fileformat.FileFormatUnique;
+import org.fudaa.ctulu.fileformat.FileReadOperationAbstract;
+import org.fudaa.ctulu.fileformat.FileWriteOperationAbstract;
+import org.fudaa.fudaa.piv.PivResource;
+
+/**
+ * La classe d\xE9crivant le format d'un fichier bathy_p.dat contenant
+ * un transect.
+ *
+ * @author Bertrand Marchand (mar...@de...)
+ * @version $Id$
+ */
+public class PivBathyPFileFormat extends FileFormatUnique {
+
+ private PivBathyPFileFormat() {
+ super(1);
+ nom_ = PivResource.getS("PIV transect");
+ description_ = PivResource.getS("Fichier contenant un transect");
+ extensions_=new String[]{"dat"};
+ }
+ static final PivBathyPFileFormat INSTANCE = new PivBathyPFileFormat();
+
+ /**
+ * Retourne le singleton pour instancier un reader ou un writer.
+ * @return Le singleton
+ */
+ public static PivBathyPFileFormat getInstance() {
+ return INSTANCE;
+ }
+
+ /**
+ * Cr\xE9ation d'un reader.
+ * @return Le reader
+ */
+ @Override
+ public FileReadOperationAbstract createReader() {
+ return new PivBathyPReader();
+ }
+
+ /**
+ * Cr\xE9ation d'un writer.
+ * @return Le writer
+ */
+ @Override
+ public FileWriteOperationAbstract createWriter() {
+ return null;
+ }
+
+}
Property changes on: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivBathyPFileFormat.java
___________________________________________________________________
Added: svn:keywords
+ Id
Added: svn:eol-style
+ native
Added: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivBathyPReader.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivBathyPReader.java (rev 0)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivBathyPReader.java 2013-02-14 15:43:35 UTC (rev 8271)
@@ -0,0 +1,121 @@
+/**
+ * @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.fudaa.piv.io;
+
+import java.io.EOFException;
+import java.io.File;
+import java.io.IOException;
+
+import org.fudaa.ctulu.CtuluActivity;
+import org.fudaa.dodico.fortran.FileOpReadCharSimpleAbstract;
+import org.fudaa.ebli.geometrie.GrPolyligne;
+import org.fudaa.fudaa.piv.PivResource;
+import org.fudaa.fudaa.piv.metier.PivTransect;
+
+/**
+ * Un lecteur pour les fichiers de bathy_p.dat.
+ *
+ * @author Bertrand Marchand (mar...@de...)
+ * @version $Id$
+ */
+public class PivBathyPReader extends FileOpReadCharSimpleAbstract implements CtuluActivity {
+
+ /** Drapeau d'interruption */
+ boolean bstop_;
+ /** Nb d'octets du fichier a lire pour stat sur pourcentage effectu\xE9 */
+ int nbOctets;
+
+ /**
+ * Constructeur.
+ */
+ public PivBathyPReader() {
+ }
+
+ /**
+ * Lit les points et retourne le transect.
+ * @return Le transect
+ */
+ @Override
+ protected PivTransect internalRead() {
+ return readParams();
+ }
+
+ @Override
+ protected void processFile(final File _f) {
+ nbOctets = (int) _f.length();
+ }
+
+ /**
+ * Utilise FortranReader ( donc un buffer).
+ *
+ * @return les infos non bloquantes.
+ */
+ private synchronized PivTransect readParams() {
+ PivTransect ret=null;
+ GrPolyligne pl=new GrPolyligne();
+
+ if (super.in_ == null) {
+ analyze_.addErrorFromFile(PivResource.getS("Flux d'entr\xE9e non trouv\xE9"), 0);
+ return null;
+ }
+
+ try {
+ int lu=0;
+ boolean afficheAvance = false;
+ if ((progress_ != null) && (nbOctets > 0)) {
+ afficheAvance = true;
+ progress_.setProgression(0);
+ }
+ int pourcentageEnCours = 0;
+
+ in_.setJumpBlankLine(true);
+
+ // On saute l'entete (6 lignes)
+ for (int i=0; i<6; i++) {
+ in_.readLine();
+ }
+
+ // Boucle jusque fin de fichier. Exception EOF si fin.
+ while (true) {
+ in_.readFields();
+ pl.sommets_.ajoute(in_.doubleField(1),in_.doubleField(2),in_.doubleField(3));
+ lu+=26; // Si le formattage en fortran
+
+ if ((afficheAvance) && ((lu * 100 / nbOctets) >= (pourcentageEnCours + 20))) {
+ pourcentageEnCours += 20;
+ progress_.setProgression(pourcentageEnCours);
+ }
+ }
+ }
+ // Sortie normale
+ catch (final EOFException e) {
+ ret=new PivTransect();
+ ret.setStraight(pl);
+ }
+ catch (final IOException e) {
+ analyze_.addErrorFromFile(PivResource.getS("Une erreur de lecture s'est produite"), in_.getLineNumber());
+ }
+ catch (final NumberFormatException e) {
+ analyze_.addErrorFromFile(PivResource.getS("Une erreur de lecture s'est produite"), in_.getLineNumber());
+ }
+ finally {
+ if (progress_ != null) {
+ progress_.setProgression(100);
+ }
+ return ret;
+ }
+ }
+
+ /**
+ * Interruption asynchrone de l'activit\xE9 de lecture.
+ */
+ @Override
+ public void stop() {
+ bstop_ = true;
+ }
+}
Property changes on: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivBathyPReader.java
___________________________________________________________________
Added: svn:keywords
+ Id
Added: svn:eol-style
+ native
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java 2013-02-14 15:41:04 UTC (rev 8270)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java 2013-02-14 15:43:35 UTC (rev 8271)
@@ -370,8 +370,10 @@
// On supprime le fichier des vitesses moyennes
File resFile=new File(prjOutputs, faverage);
resFile.delete();
-
- _prj.setAverageResults(null);
+ // Et celui des scalaires moyens
+ faverage="average_scal.out";
+ File resScalFile=new File(prjOutputs,faverage);
+ resScalFile.delete();
try {
// Sauvegarde des donn\xE9es du projet.
@@ -449,6 +451,11 @@
finally {
new File(prjImgOut, "image1_transf.pgm").delete();
new File(prjImgOut, "image2_transf.pgm").delete();
+
+ if (_ana.containsErrorOrFatalError()) {
+ _prj.setInstantResults(null);
+ _prj.setAverageResults(null);
+ }
}
return true;
@@ -903,7 +910,7 @@
FuLog.trace(PivResource.getS("Transformation ok."));
- desc=PivResource.getS("Calcul des r\xE9sultats instantan\xE9es...");
+ desc=PivResource.getS("Calcul des r\xE9sultats instantan\xE9s...");
FuLog.trace(desc);
if (_task!=null) {
_task.setDesc(desc);
@@ -934,6 +941,7 @@
}
finally {
_prj.setInstantResults(res);
+ _prj.setAverageResults(null);
}
return true;
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivResultsLayer.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivResultsLayer.java 2013-02-14 15:41:04 UTC (rev 8270)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivResultsLayer.java 2013-02-14 15:43:35 UTC (rev 8271)
@@ -66,7 +66,7 @@
@Override
public void setModele(ZModelePolygone _modele) {
- if (!(_modele instanceof PivResultsModel))
+ if (_modele!=null && !(_modele instanceof PivResultsModel))
throw new IllegalArgumentException("Bad type argument");
if (modele_!=null) {
@@ -78,11 +78,16 @@
}
initPalette();
- if (isoPainter==null) {
- isoPainter = new MvIsoLayerQuickPainter(modele());
+ if (_modele==null) {
+ isoPainter=null;
}
else {
- isoPainter.setModel(modele());
+ if (isoPainter==null) {
+ isoPainter = new MvIsoLayerQuickPainter(modele());
+ }
+ else {
+ isoPainter.setModel(modele());
+ }
}
}
@@ -227,7 +232,7 @@
CtuluRange range = new CtuluRange();
this.getRange(range);
palette.initPlages(10, range.min_, range.max_);
- palette.setSousTitre(modele().getCurrentVar().getName());
+ palette.setSousTitre(modele()==null ? null:modele().getCurrentVar().getName());
this.setPaletteCouleurPlages(palette);
}
@@ -237,7 +242,9 @@
res.put(PivResultatsLayerConfigure.ISO_LINE_PAINTED, isTraceIsoLine());
res.put(PivResultatsLayerConfigure.ISO_SURFACE_PAINTED, isTraceIsoSurface());
- res.put("iso.variable", modele()==null ? "":modele().getCurrentVar().toString());
+ if (modele()!=null)
+ res.put("iso.variable", modele().getCurrentVar().toString());
+
return res;
}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivVelResultsLayer.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivVelResultsLayer.java 2013-02-14 15:41:04 UTC (rev 8270)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivVelResultsLayer.java 2013-02-14 15:43:35 UTC (rev 8271)
@@ -3,6 +3,9 @@
import org.fudaa.ctulu.CtuluRange;
import org.fudaa.ebli.calque.ZCalqueFleche;
import org.fudaa.ebli.calque.ZModeleSegment;
+import org.fudaa.ebli.palette.BPalettePlage;
+import org.fudaa.ebli.palette.BPalettePlageAbstract;
+import org.fudaa.ebli.palette.BPalettePlageInterface;
/**
* Un calque pour le trac\xE9 des vitesses.
@@ -75,11 +78,26 @@
@Override
public void setModele(ZModeleSegment _modele) {
- if (!(_modele instanceof PivVelResultsModel))
+ if (_modele!=null && !(_modele instanceof PivVelResultsModel))
throw new IllegalArgumentException("Bad type argument");
super.setModele(_modele);
+
+ initPalette();
}
-
+ /**
+ * Initialisation de la palette en fonction des bornes min/max des valeurs pour tous les
+ * pas de temps.
+ */
+ private void initPalette() {
+ BPalettePlage palette=(BPalettePlage)getPaletteCouleur();
+ // Pas de plages : On consid\xE8re que la palette n'est pas utilis\xE9e.
+ if (palette==null || palette.getNbPlages()==0) return;
+
+ CtuluRange range = new CtuluRange();
+ this.getRange(range);
+ palette.initPlages(10, range.min_, range.max_);
+ this.setPaletteCouleurPlages(palette);
+ }
}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java 2013-02-14 15:41:04 UTC (rev 8270)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java 2013-02-14 15:43:35 UTC (rev 8271)
@@ -35,6 +35,7 @@
import org.fudaa.fudaa.piv.io.PivAverageScalFileFormat;
import org.fudaa.fudaa.piv.io.PivAverageVelFileFormat;
import org.fudaa.fudaa.piv.io.PivBathyFileFormat;
+import org.fudaa.fudaa.piv.io.PivBathyPFileFormat;
import org.fudaa.fudaa.piv.io.PivDischargeFileFormat;
import org.fudaa.fudaa.piv.io.PivGRPFileFormat;
import org.fudaa.fudaa.piv.io.PivGlobalXmlFileFormat;
@@ -1043,6 +1044,18 @@
}
/**
+ * Charge un fichier bathy_p.dat
+ * @param _prog L'interface de progression.
+ * @return Le transect lu.
+ * TODO devrait etre d\xE9l\xE9gu\xE9 dans une classe de lecture/ecriture des donn\xE9es.
+ */
+ public PivTransect loadBathyPFile(ProgressionInterface _prog) {
+ File fbathyp=new File(getOutputDir(),"bathy_p.dat");
+ FileReadOperationAbstract reader=PivBathyPFileFormat.getInstance().createReader();
+ CtuluIOOperationSynthese ret=reader.read(fbathyp, _prog);
+ return (PivTransect)ret.getSource();
+ }
+ /**
* Sauve le projet sur le fichier projet. Les infos sont sauv\xE9es sur le
* r\xE9pertoire temporaire, puis zip\xE9es.
* @param _prjFile Le fichier de sauvegarde.
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivTransect.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivTransect.java 2013-02-14 15:41:04 UTC (rev 8270)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivTransect.java 2013-02-14 15:43:35 UTC (rev 8271)
@@ -28,4 +28,23 @@
public void setStraight(GrPolyligne _transect) {
this.transect = _transect;
}
+
+ /**
+ * Recr\xE9e un transect depuis les r\xE9sultats calcul\xE9s et le transect d'origine. Lors du calcul,
+ * les points sont r\xE9align\xE9s. La bathy et le nombre de points n'est pas modifi\xE9e.
+ * @param _res Les r\xE9sultats.
+ * @param _trans Le transect original, avec points non align\xE9s.
+ * @return Le transect recalcul\xE9.
+ */
+ public static PivTransect buildFromAlignResults(PivFlowResults _res, PivTransect _trans) {
+ PivTransect trans=new PivTransect();
+
+ GrPolyligne pl=new GrPolyligne();
+ for (int i=0; i<_res.getNombre(); i++) {
+ pl.sommets_.ajoute(_res.getX(i), _res.getY(i), _trans.getStraight().sommet(i).z_);
+ }
+ trans.transect=pl;
+
+ return trans;
+ }
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2015-01-27 14:52:30
|
Revision: 8995
http://sourceforge.net/p/fudaa/svn/8995
Author: bmarchan
Date: 2015-01-27 14:52:27 +0000 (Tue, 27 Jan 2015)
Log Message:
-----------
Export des images sources et transform?\195?\169es
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java
Added Paths:
-----------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivExportImageFilesPanel.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivExportImagesAction.java
Removed Paths:
-------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivExportTranfFilesPanel.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivExportTransfImagesAction.java
Copied: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivExportImageFilesPanel.java (from rev 8994, trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivExportTranfFilesPanel.java)
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivExportImageFilesPanel.java (rev 0)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivExportImageFilesPanel.java 2015-01-27 14:52:27 UTC (rev 8995)
@@ -0,0 +1,232 @@
+/*
+ * @creation 18 d\xE9c. 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.fudaa.piv;
+
+import java.awt.BorderLayout;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
+import java.io.File;
+import java.util.List;
+
+import javax.swing.ButtonGroup;
+import javax.swing.JComboBox;
+import javax.swing.JFileChooser;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JRadioButton;
+
+import org.fudaa.ctulu.CtuluUI;
+import org.fudaa.ctulu.gui.CtuluCellTextRenderer;
+import org.fudaa.ctulu.gui.CtuluDialogPanel;
+import org.fudaa.ctulu.gui.CtuluFileChooserPanel;
+import org.fudaa.ctulu.gui.CtuluListEditorModel;
+import org.fudaa.ctulu.gui.CtuluListEditorPanel;
+import org.fudaa.ctulu.image.CtuluImageExport;
+
+import com.memoire.bu.BuVerticalLayout;
+
+/**
+ * Un panneau pour exporter les images transform\xE9es pgm ou autres vers un r\xE9pertoire choisi.
+ *
+ * @author mar...@de...
+ * @version $Id$
+ */
+public class PivExportImageFilesPanel extends CtuluDialogPanel {
+
+ private CtuluUI ui_;
+ /** Le repertoire d'export. */
+ private CtuluFileChooserPanel fcDirExport_;
+ /** Le mod\xE8le pour la liste des images */
+ private CtuluListEditorModel mdFiles_;
+ /** La liste des images */
+ private CtuluListEditorPanel pnFiles_;
+ /** toutes les images */
+ private JRadioButton rbAllFiles_;
+ /** Une selection des images */
+ private JRadioButton rbSelectedImages_;
+ /** Format d'export */
+ private JComboBox cbFormat_;
+
+ /**
+ * Constructeur.
+ * @param _ui Le parent pour la boite de dialogue.
+ * @param _originalFormatSupported
+ */
+ public PivExportImageFilesPanel(CtuluUI _ui) {
+ ui_=_ui;
+
+ setLayout(new BuVerticalLayout(5, true, true));
+ setHelpText(PivResource.getS("S\xE9lectionnez les images que vous souhaitez exporter, puis le format d'export."));
+
+ fcDirExport_=new CtuluFileChooserPanel(PivResource.getS("R\xE9pertoire destination"));
+ fcDirExport_.setFileSelectMode(JFileChooser.DIRECTORIES_ONLY);
+ fcDirExport_.setWriteMode(false);
+ JPanel pnDirExport=CtuluFileChooserPanel.buildPanel(fcDirExport_, PivResource.getS("R\xE9pertoire destination"));
+
+ // Liste des images
+ mdFiles_=new CtuluListEditorModel(true) {
+ @Override
+ public boolean isCellEditable(int _rowIndex, int _columnIndex) {
+ return false;
+ }
+ @Override
+ public Object createNewObject() {
+ return null;
+ }
+ };
+
+ pnFiles_=new CtuluListEditorPanel(mdFiles_, false, false, false, false, false) {
+ @Override
+ public void actionAdd() {
+ }
+ };
+
+ pnFiles_.setValueListCellRenderer(new CtuluCellTextRenderer() {
+ @Override
+ public void setValue(Object _file) {
+ File f=(File)_file;
+ setText(f.getName());
+ }
+ });
+
+ rbAllFiles_=new JRadioButton(PivResource.getS("Toutes les images"));
+ rbAllFiles_.addItemListener(new ItemListener() {
+
+ @Override
+ public void itemStateChanged(ItemEvent e) {
+ pnFiles_.setAllEnabled(!rbAllFiles_.isSelected());
+ }
+ });
+ rbSelectedImages_=new JRadioButton(PivResource.getS("Les images s\xE9lectionn\xE9es"));
+
+ ButtonGroup bg=new ButtonGroup();
+ bg.add(rbAllFiles_);
+ bg.add(rbSelectedImages_);
+
+ rbAllFiles_.setSelected(true);
+
+ cbFormat_=new JComboBox();
+ // 2 formats suppl\xE9mentaires
+ cbFormat_.addItem(PivResource.getS("<d'origine>"));
+ cbFormat_.addItem("pgm");
+ List<String> exts=CtuluImageExport.FORMAT_LIST;
+ for (String ext : exts) {
+ cbFormat_.addItem(ext);
+ }
+
+ JPanel pnFormat=new JPanel();
+ pnFormat.setLayout(new BorderLayout(3,3));
+ pnFormat.add(new JLabel(PivResource.getS("Format d'export")),BorderLayout.WEST);
+ pnFormat.add(cbFormat_,BorderLayout.CENTER);
+
+ add(rbAllFiles_);
+ add(rbSelectedImages_);
+ add(pnFiles_);
+ add(pnFormat);
+ add(pnDirExport);
+ }
+
+ @Override
+ public void setValue(Object _files) {
+ if (!(_files instanceof File[]))
+ throw new IllegalArgumentException("bad type parameter");
+ setFiles((File[])_files);
+ }
+
+ @Override
+ public File[] getValue() {
+ return getFiles();
+ }
+
+ /**
+ * D\xE9finit l'utilitaire \xE0 modifier.
+ * @param _tool L'utilitaire
+ */
+ public void setFiles(File[] _files) {
+ if (_files==null) return;
+
+ mdFiles_.setData(_files);
+ }
+
+ /**
+ * @return Les fichiers image.
+ */
+ public File[] getFiles() {
+ File[] files=new File[mdFiles_.getRowCount()];
+ mdFiles_.getValues(files);
+
+ return files;
+ }
+
+ /**
+ * @return Les fichiers selectionn\xE9s de la liste, ou tous les fichiers si le bouton radio
+ * "toutes images" est activ\xE9.
+ */
+ public File[] getSelectedFiles() {
+ if (rbAllFiles_.isSelected()) {
+ return getFiles();
+ }
+ else {
+ int[] selind=pnFiles_.getTable().getSelectedRows();
+ File[] files=new File[selind.length];
+ for (int i=0; i<selind.length; i++) {
+ files[i]=(File)mdFiles_.getValueAt(selind[i]);
+ }
+ return files;
+ }
+ }
+
+ /**
+ * @return Le repertoire destination
+ */
+ public File getDestinationDir() {
+ return fcDirExport_.getFile();
+ }
+
+ /**
+ * @return Le format d'export. ORIGIN si le format d'origine est autoris\xE9.
+ */
+ public String getFormat() {
+ if (cbFormat_.getSelectedIndex()==0) {
+ return "ORIGIN";
+ }
+ return (String)cbFormat_.getSelectedItem();
+ }
+
+ @Override
+ public boolean isDataValid() {
+ if (getSelectedFiles().length==0) {
+ setErrorText(PivResource.getS("Pas d'image \xE0 transf\xE9rer ou aucune image s\xE9lectionn\xE9e"));
+ return false;
+ }
+ File dir=fcDirExport_.getFile();
+ if (dir==null || !dir.exists() || !dir.canWrite()) {
+ setErrorText(PivResource.getS("Le r\xE9pertoire de destination n'est pas d\xE9fini ou est inaccessible"));
+ return false;
+ }
+ return true;
+ }
+
+ @Override
+ public void apply() {
+ setErrorText("");
+ super.apply();
+ }
+
+ @Override
+ public boolean cancel() {
+ setErrorText("");
+ return super.cancel();
+ }
+
+ @Override
+ public boolean ok() {
+ setErrorText("");
+ return super.ok();
+ }
+}
Deleted: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivExportTranfFilesPanel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivExportTranfFilesPanel.java 2015-01-23 14:32:27 UTC (rev 8994)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivExportTranfFilesPanel.java 2015-01-27 14:52:27 UTC (rev 8995)
@@ -1,137 +0,0 @@
-/*
- * @creation 18 d\xE9c. 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.fudaa.piv;
-
-import java.io.File;
-
-import javax.swing.JFileChooser;
-import javax.swing.JLabel;
-
-import org.fudaa.ctulu.CtuluUI;
-import org.fudaa.ctulu.gui.CtuluCellTextRenderer;
-import org.fudaa.ctulu.gui.CtuluDialogPanel;
-import org.fudaa.ctulu.gui.CtuluFileChooser;
-import org.fudaa.ctulu.gui.CtuluFileChooserPanel;
-import org.fudaa.ctulu.gui.CtuluListEditorModel;
-import org.fudaa.ctulu.gui.CtuluListEditorPanel;
-
-import com.memoire.bu.BuVerticalLayout;
-
-/**
- * Un panneau pour exporter les images transform\xE9es pgm ou autres vers un r\xE9pertoire choisi.
- *
- * @author mar...@de...
- * @version $Id$
- */
-public class PivExportTranfFilesPanel extends CtuluDialogPanel {
-
- private CtuluUI ui_;
- /** Le repertoire racine du projet */
- private File prjRoot_;
- /** Le repertoire d'export. */
- private CtuluFileChooserPanel fcDirExport_;
- /** Le mod\xE8le pour la liste des images */
- private CtuluListEditorModel mdFiles_;
-
- /**
- * Constructeur.
- * @param _ui Le parent pour la boite de dialogue.
- */
- public PivExportTranfFilesPanel(CtuluUI _ui) {
- ui_=_ui;
-
- setLayout(new BuVerticalLayout(5, true, true));
- setHelpText(PivResource.getS("Selectionner les images que vous souhaitez exporter."));
-
- fcDirExport_=new CtuluFileChooserPanel();
- fcDirExport_.setFileSelectMode(JFileChooser.DIRECTORIES_ONLY);
- add(fcDirExport_);
-
- // Label images
- add(new JLabel(PivResource.getS("Liste des images"),JLabel.LEFT));
-
- // Liste des images
- mdFiles_=new CtuluListEditorModel(true) {
- @Override
- public boolean isCellEditable(int _rowIndex, int _columnIndex) {
- return false;
- }
- @Override
- public Object createNewObject() {
- return null;
- }
- };
-
- CtuluListEditorPanel pnFiles=new CtuluListEditorPanel(mdFiles_, true, true, false) {
- @Override
- public void actionAdd() {
- }
- };
-
- pnFiles.setValueListCellRenderer(new CtuluCellTextRenderer() {
- @Override
- public void setValue(Object _file) {
- File f=(File)_file;
- setText(f.getName());
- if (f.getPath().startsWith(prjRoot_.getPath())) {
- setToolTipText(PivResource.getS("Dans le projet"));
- }
- else {
- setToolTipText(f.getPath());
- }
- }
- });
-
- add(pnFiles);
- }
-
- @Override
- public void setValue(Object _files) {
- if (!(_files instanceof File[]))
- throw new IllegalArgumentException("bad type parameter");
- setFiles((File[])_files);
- }
-
- @Override
- public File[] getValue() {
- return getFiles();
- }
-
- /**
- * Definit la racine du projet, pour savoir si un fichier fait d\xE9j\xE0 partie du projet.
- * @param _root La racine du projet.
- */
- public void setRootProject(File _root) {
- prjRoot_=_root;
- }
-
- /**
- * D\xE9finit l'utilitaire \xE0 modifier.
- * @param _tool L'utilitaire
- */
- public void setFiles(File[] _files) {
- if (_files==null) return;
-
- mdFiles_.setData(_files);
- }
-
- /**
- * @return Les fichiers image, comportant les anciens et nouveaux fichiers.
- */
- public File[] getFiles() {
- File[] files=new File[mdFiles_.getRowCount()];
- mdFiles_.getValues(files);
-
- return files;
- }
-
- @Override
- public boolean isDataValid() {
- return true;
- }
-}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java 2015-01-23 14:32:27 UTC (rev 8994)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java 2015-01-27 14:52:27 UTC (rev 8995)
@@ -42,7 +42,7 @@
import org.fudaa.fudaa.piv.action.PivComputeFlowAction;
import org.fudaa.fudaa.piv.action.PivComputeLaunchAction;
import org.fudaa.fudaa.piv.action.PivComputeParamAction;
-import org.fudaa.fudaa.piv.action.PivExportTransfImagesAction;
+import org.fudaa.fudaa.piv.action.PivExportImagesAction;
import org.fudaa.fudaa.piv.action.PivFlowParamAction;
import org.fudaa.fudaa.piv.action.PivImportGRPAction;
import org.fudaa.fudaa.piv.action.PivImportGridAction;
@@ -222,6 +222,7 @@
setEnabledForAction("SHOW_VELOCITIES_RESULTS", bprjOpen && project.getAverageResults()!=null);
setEnabledForAction("SHOW_FLOW_RESULTS", bprjOpen && project.getFlowResults()!=null);
setEnabledForAction("EXPORT_TRANSF_IMAGES", bprjOpen && bprjHasTransfImg);
+ setEnabledForAction("EXPORT_SRC_IMAGES", bprjOpen && bprjHasSrcImg);
refreshTitle();
}
@@ -818,7 +819,8 @@
super.initExportImageToClipborad(itExportImageToClip);
mnExport.add(itExportImageToClip);
mnExport.addSeparator();
- mnExport.add(new PivExportTransfImagesAction(this));
+ mnExport.add(new PivExportImagesAction(this,true));
+ mnExport.add(new PivExportImagesAction(this,false));
}
/**
Copied: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivExportImagesAction.java (from rev 8994, trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivExportTransfImagesAction.java)
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivExportImagesAction.java (rev 0)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivExportImagesAction.java 2015-01-27 14:52:27 UTC (rev 8995)
@@ -0,0 +1,169 @@
+/*
+ * @creation 3 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.fudaa.piv.action;
+
+import java.awt.event.ActionEvent;
+import java.awt.image.BufferedImage;
+import java.io.File;
+import java.io.IOException;
+
+import javax.imageio.ImageIO;
+
+import org.fudaa.ctulu.CtuluLibFile;
+import org.fudaa.ctulu.gui.CtuluDialog;
+import org.fudaa.ctulu.gui.CtuluTaskOperationGUI;
+import org.fudaa.ctulu.image.CtuluImageExport;
+import org.fudaa.ebli.commun.EbliActionSimple;
+import org.fudaa.fudaa.piv.PivExportImageFilesPanel;
+import org.fudaa.fudaa.piv.PivImplementation;
+import org.fudaa.fudaa.piv.PivProgressionPanel;
+import org.fudaa.fudaa.piv.PivResource;
+import org.fudaa.fudaa.piv.imageio.PivPGMWriter;
+
+import com.memoire.fu.FuLog;
+
+/**
+ * Une action pour eporter les images transform\xE9es ou sources
+ *
+ * @author Bertrand Marchand (mar...@de...)
+ * @version $Id$
+ */
+public class PivExportImagesAction extends EbliActionSimple {
+ PivImplementation impl;
+ PivExportImageFilesPanel pnExportImages;
+ CtuluDialog diProgress_;
+ boolean exportSrc_;
+
+ static final String TXTEXPORTERSRC=PivResource.getS("Exporter les images sources");
+ static final String TXTEXPORTERTRANSF=PivResource.getS("Exporter les images transform\xE9es");
+ static final String TXTEXPORTSRC=PivResource.getS("Export des images sources");
+ static final String TXTEXPORTTRANSF=PivResource.getS("Export des images transform\xE9es");
+
+ /**
+ * Constructeur.
+ * @param _impl L'implementation.
+ */
+ public PivExportImagesAction(PivImplementation _impl, boolean _exportSrc) {
+ super((_exportSrc ? TXTEXPORTERSRC:TXTEXPORTERTRANSF)+"...", null, _exportSrc ? "EXPORT_TRANSF_IMAGES":"EXPORT_SRC_IMAGES");
+ exportSrc_=_exportSrc;
+
+ impl=_impl;
+ setEnabled(false);
+ }
+
+ /**
+ * Exporte les images transform\xE9es au format pgm.
+ * @param _e L'evenement pour l'action.
+ */
+ @Override
+ public void actionPerformed(final ActionEvent _e) {
+ if (!isValide()) {
+ return;
+ }
+
+ // Selection des images
+ if (pnExportImages==null)
+ pnExportImages = new PivExportImageFilesPanel(impl);
+
+ if (exportSrc_) {
+ pnExportImages.setFiles(impl.getCurrentProject().getSrcImageFiles());
+ }
+ else {
+ pnExportImages.setFiles(impl.getCurrentProject().getTransfImageFiles());
+ }
+ if (!pnExportImages.afficheModaleOk(impl.getFrame(), (exportSrc_ ? TXTEXPORTERSRC:TXTEXPORTERTRANSF), CtuluDialog.OK_CANCEL_OPTION)) {
+ return;
+ }
+
+ // Export des images, eventuellement dans un autre format.
+ CtuluTaskOperationGUI r=new CtuluTaskOperationGUI(impl, (exportSrc_ ? TXTEXPORTSRC:TXTEXPORTTRANSF)) {
+
+ @Override
+ public void act() {
+ try {
+ this.setDesc((exportSrc_ ? TXTEXPORTSRC:TXTEXPORTTRANSF));
+ this.setProgression(0);
+
+ File[] exportImgFiles=pnExportImages.getSelectedFiles();
+ File destinationDir=pnExportImages.getDestinationDir();
+ // Correspond aux extensions
+ String format=pnExportImages.getFormat();
+
+ for (int i=0; i<exportImgFiles.length; i++) {
+ File cacheFile=impl.getCurrentProject().getCacheImageFile(exportImgFiles[i]);
+ // Chaque image dans sont format d'origine
+ if (format.equals("ORIGIN")) {
+ File destFile=new File(destinationDir,exportImgFiles[i].getName());
+ String ext=CtuluLibFile.getExtension(exportImgFiles[i].getName());
+
+ if (exportImgFiles.equals(cacheFile)) {
+ CtuluLibFile.copyFile(cacheFile, destFile);
+ }
+ else {
+ BufferedImage img = ImageIO.read(cacheFile);
+ if (ext.equals("pgm")) {
+ new PivPGMWriter().write(destFile, img);
+ }
+ else {
+ CtuluImageExport.export(img, destFile, ext, impl);
+ }
+ }
+ }
+ else {
+ File destFile=CtuluLibFile.changeExtension(new File(destinationDir,exportImgFiles[i].getName()),format);
+
+ // Le format d'export est le m\xEAme que le format de stockage
+ if (format.equals(CtuluLibFile.getExtension(cacheFile.getName()))) {
+ CtuluLibFile.copyFile(cacheFile, destFile);
+ }
+ // Sinon, transfert du format de stockage vers format d'export.
+ else {
+ BufferedImage img = ImageIO.read(cacheFile);
+ if (format.equals("pgm")) {
+ new PivPGMWriter().write(destFile, img);
+ }
+ else {
+ CtuluImageExport.export(img, destFile, format, impl);
+ }
+ }
+ }
+ setProgression(((i+1)*100)/exportImgFiles.length);
+ if (this.isStopRequested()) return;
+ }
+ }
+ catch (IOException e) {
+ FuLog.error("Erreur lors de l'export des images");
+ }
+ finally {
+ diProgress_.dispose();
+ }
+ }
+ };
+
+ PivProgressionPanel pnProgress_=new PivProgressionPanel(r);
+ diProgress_ = pnProgress_.createDialog(impl.getParentComponent());
+ diProgress_.setOption(CtuluDialog.ZERO_OPTION);
+ diProgress_.setDefaultCloseOperation(CtuluDialog.DO_NOTHING_ON_CLOSE);
+ diProgress_.setTitle(r.getName());
+
+ r.start();
+ diProgress_.afficheDialogModal();
+ }
+
+ /**
+ * @return true Si toutes les donn\xE9es sont pr\xE9sentes pour un lancement.
+ */
+ public boolean isValide() {
+ return true;
+ }
+
+ @Override
+ public String getEnableCondition() {
+ return PivResource.getS("Les images doivent exister");
+ }
+}
Deleted: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivExportTransfImagesAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivExportTransfImagesAction.java 2015-01-23 14:32:27 UTC (rev 8994)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivExportTransfImagesAction.java 2015-01-27 14:52:27 UTC (rev 8995)
@@ -1,126 +0,0 @@
-/*
- * @creation 3 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.fudaa.piv.action;
-
-import java.awt.event.ActionEvent;
-import java.io.File;
-
-import org.fudaa.ctulu.CtuluAnalyze;
-import org.fudaa.ctulu.gui.CtuluDialog;
-import org.fudaa.ctulu.gui.CtuluTaskOperationGUI;
-import org.fudaa.ebli.commun.EbliActionSimple;
-import org.fudaa.fudaa.piv.PivExePanel;
-import org.fudaa.fudaa.piv.PivExportTranfFilesPanel;
-import org.fudaa.fudaa.piv.PivImplementation;
-import org.fudaa.fudaa.piv.PivManageOriginalFilesPanel;
-import org.fudaa.fudaa.piv.PivPreferences;
-import org.fudaa.fudaa.piv.PivProgressionPanel;
-import org.fudaa.fudaa.piv.PivResource;
-import org.fudaa.fudaa.piv.PivVisuPanel;
-import org.fudaa.fudaa.piv.io.PivExeLauncher;
-
-/**
- * Une action pour eporter les images transform\xE9es.
- *
- * @author Bertrand Marchand (mar...@de...)
- * @version $Id$
- */
-public class PivExportTransfImagesAction extends EbliActionSimple {
- PivImplementation impl;
- PivExportTranfFilesPanel pnExportImages;
- CtuluDialog diProgress_;
-
- /**
- * Constructeur.
- * @param _impl L'implementation.
- */
- public PivExportTransfImagesAction(PivImplementation _impl) {
- super(PivResource.getS("Export des images transform\xE9es..."), null, "EXPORT_TRANSF_IMAGES");
-
- impl=_impl;
- setEnabled(false);
- }
-
- /**
- * Exporte les images transform\xE9es au format pgm.
- * @param _e L'evenement pour l'action.
- */
- @Override
- public void actionPerformed(final ActionEvent _e) {
- if (!isValide()) {
- return;
- }
-
-// if (!PivExeLauncher.instance().areExeOK()) {
-// PivExePanel pnExe = new PivExePanel();
-//
-// // TODO BM : Verifier que les nouvelles images sont compatibles avec les donn\xE9es d'ortho ou message.
-//
-// if (!pnExe.afficheModaleOk(impl.getFrame(), PivResource.getS("R\xE9pertoire contenant les executables"))) {
-// return;
-// }
-// }
-
- // Selection des images
- if (pnExportImages==null)
- pnExportImages = new PivExportTranfFilesPanel(impl);
- pnExportImages.setRootProject(impl.getCurrentProject().getRoot());
- pnExportImages.setFiles(impl.getCurrentProject().getTransfImageFiles());
- if (!pnExportImages.afficheModaleOk(impl.getFrame(), PivResource.getS("Export des images"), CtuluDialog.OK_CANCEL_OPTION)) {
- return;
- }
-
- final File[] exportImgFiles=pnExportImages.getFiles();
-
-// // Le reconditionnement des images.
-// CtuluTaskOperationGUI r=new CtuluTaskOperationGUI(impl, PivResource.getS("Traitement des images sources")) {
-//
-// @Override
-// public void act() {
-// try {
-// CtuluAnalyze ana=new CtuluAnalyze();
-// ana.setDesc(getName());
-// impl.getCurrentProject().setSrcImagesFiles(exportImgFiles, this, ana);
-//
-// if (ana.containsErrorOrFatalError()) {
-// impl.error(ana.getResume());
-// return;
-// }
-//
-// }
-// finally {
-// diProgress_.dispose();
-// }
-//
-// impl.get2dFrame().getVisuPanel().setViewMode(PivVisuPanel.MODE_ORIGINAL_VIEW);
-//// impl.message(PivResource.getS("{0} images ont \xE9t\xE9 reconditionn\xE9es avec succ\xE8s",impl.getCurrentProject().getSrcImageFiles().length));
-// }
-// };
-//
-// PivProgressionPanel pnProgress_=new PivProgressionPanel(r);
-// diProgress_ = pnProgress_.createDialog(impl.getParentComponent());
-// diProgress_.setOption(CtuluDialog.ZERO_OPTION);
-// diProgress_.setDefaultCloseOperation(CtuluDialog.DO_NOTHING_ON_CLOSE);
-// diProgress_.setTitle(r.getName());
-//
-// r.start();
-// diProgress_.afficheDialogModal();
- }
-
- /**
- * @return true Si toutes les donn\xE9es sont pr\xE9sentes pour un lancement.
- */
- public boolean isValide() {
- return true;
- }
-
- @Override
- public String getEnableCondition() {
- return PivResource.getS("Les images transform\xE9es doivent exister");
- }
-}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2015-02-09 11:29:44
|
Revision: 9011
http://sourceforge.net/p/fudaa/svn/9011
Author: bmarchan
Date: 2015-02-09 11:29:41 +0000 (Mon, 09 Feb 2015)
Log Message:
-----------
Modification des panneaux de parametres calcul
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivComputeParamPanel.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivResource.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeAverageAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivComputeParameters.java
Added Paths:
-----------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivFilterInstantResultsPanel.java
Removed Paths:
-------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivSelectInstantResultsPanel.java
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivComputeParamPanel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivComputeParamPanel.java 2015-02-06 18:09:42 UTC (rev 9010)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivComputeParamPanel.java 2015-02-09 11:29:41 UTC (rev 9011)
@@ -99,9 +99,6 @@
pnIASize.setBorder(javax.swing.BorderFactory.createTitledBorder(PivResource.getS("Aire d'interrogation (pix)")));
lbIASize.setText(PivResource.getS("Taille de l'aire:"));
pnSA.setBorder(javax.swing.BorderFactory.createTitledBorder(PivResource.getS("Aire de recherche (pix)")));
- pnCorr.setBorder(javax.swing.BorderFactory.createTitledBorder(PivResource.getS("Corr\xE9lation")));
- pnNormeVit.setBorder(javax.swing.BorderFactory.createTitledBorder(PivResource.getS("Limites de la norme de vitesse (m/s)")));
- pnTransVit.setBorder(javax.swing.BorderFactory.createTitledBorder(PivResource.getS("Limites de la vitesse v transversale (m/s)")));
lbTemps.setText(PivResource.getS("Intervalle de temps (s):"));
lbPosition.setText(PivResource.getS("Position du centre"));
@@ -121,12 +118,6 @@
tfSip.setText("" + _params.getSip());
tfSjm.setText("" + _params.getSjm());
tfSjp.setText("" + _params.getSjp());
- tfMinCorr.setText("" + _params.getMinCorrelation());
- tfMaxCorr.setText("" + _params.getMaxCorrelation());
- tfMinNormeVit.setText("" + _params.getSmin());
- tfMaxNormeVit.setText("" + _params.getSmax());
- tfMinTransVit.setText("" + _params.getVmin());
- tfMaxTransVit.setText("" + _params.getVmax());
tfTemps.setText("" + _params.getTimeInterval());
if (_params.getIACenterPosition()!=null) {
setCenterPosition(_params.getIACenterPosition());
@@ -158,12 +149,6 @@
_params.setSjm(Integer.parseInt(tfSjm.getText().trim()));
_params.setSip(Integer.parseInt(tfSip.getText().trim()));
_params.setSjp(Integer.parseInt(tfSjp.getText().trim()));
- _params.setMinCorrelation(Double.parseDouble(tfMinCorr.getText().trim()));
- _params.setMaxCorrelation(Double.parseDouble(tfMaxCorr.getText().trim()));
- _params.setSmin(Double.parseDouble(tfMinNormeVit.getText().trim()));
- _params.setSmax(Double.parseDouble(tfMaxNormeVit.getText().trim()));
- _params.setVmin(Double.parseDouble(tfMinTransVit.getText().trim()));
- _params.setVmax(Double.parseDouble(tfMaxTransVit.getText().trim()));
_params.setTimeInterval(Double.parseDouble(tfTemps.getText().trim()));
}
@@ -231,27 +216,6 @@
}
/**
- * Controle que la valeur du champ de nom donn\xE9 est un r\xE9el.
- * @param _sval La valeur du champ.
- * @param _param Le nom du champ.
- * @return true si la valeur est correcte.
- */
- private boolean isReal(String _sval, String _param) {
- boolean bok=false;
- try {
- bok=false;
- Double.parseDouble(_sval.trim());
- bok=true;
- }
- catch (NumberFormatException _exc) {}
- if (!bok) {
- setErrorText(PivResource.getS("{0}: Doit \xEAtre un r\xE9el",_param));
- return false;
- }
- return true;
- }
-
- /**
* Controle que la valeur du champ de nom donn\xE9 est un r\xE9el positif.
* @param _sval La valeur du champ.
* @param _param Le nom du champ.
@@ -289,12 +253,6 @@
isPositiveInteger(tfSip.getText(),PivResource.getS("Sip")) &&
isPositiveInteger(tfSjm.getText(),PivResource.getS("Sjm")) &&
isPositiveInteger(tfSjp.getText(),PivResource.getS("Sjp")) &&
- isReal(tfMinCorr.getText(),PivResource.getS("Min correlation")) &&
- isReal(tfMaxCorr.getText(),PivResource.getS("Max correlation")) &&
- isReal(tfMinNormeVit.getText(),PivResource.getS("Min norme de vitesse")) &&
- isReal(tfMaxNormeVit.getText(),PivResource.getS("Max norme de vitesse")) &&
- isReal(tfMinTransVit.getText(),PivResource.getS("Min vitesse transversale")) &&
- isReal(tfMaxTransVit.getText(),PivResource.getS("Max vitesse transversale")) &&
isStrictPositiveReal(tfTemps.getText(),PivResource.getS("Intervalle de temps"));
if (!bok) return false;
@@ -327,21 +285,6 @@
tfSjp = new javax.swing.JTextField();
lbSjm = new javax.swing.JLabel();
tfSjm = new javax.swing.JTextField();
- pnCorr = new javax.swing.JPanel();
- lbMinCorr = new javax.swing.JLabel();
- tfMinCorr = new javax.swing.JTextField();
- lbMaxCorr = new javax.swing.JLabel();
- tfMaxCorr = new javax.swing.JTextField();
- pnNormeVit = new javax.swing.JPanel();
- lbMinNormeVit = new javax.swing.JLabel();
- tfMinNormeVit = new javax.swing.JTextField();
- lbMaxNormeVit = new javax.swing.JLabel();
- tfMaxNormeVit = new javax.swing.JTextField();
- pnTransVit = new javax.swing.JPanel();
- lbMinTransVit = new javax.swing.JLabel();
- tfMinTransVit = new javax.swing.JTextField();
- lbMaxTransVit = new javax.swing.JLabel();
- tfMaxTransVit = new javax.swing.JTextField();
lbTemps = new javax.swing.JLabel();
tfTemps = new javax.swing.JTextField();
@@ -456,152 +399,44 @@
);
pnSA.setLayout(gl_pnSA);
- pnCorr.setBorder(javax.swing.BorderFactory.createTitledBorder("Correlation"));
-
- lbMinCorr.setText("Min:");
-
- lbMaxCorr.setText("Max:");
-
- javax.swing.GroupLayout gl_pnCorr = new javax.swing.GroupLayout(pnCorr);
- pnCorr.setLayout(gl_pnCorr);
- gl_pnCorr.setHorizontalGroup(
- gl_pnCorr.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(gl_pnCorr.createSequentialGroup()
- .addComponent(lbMinCorr)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addComponent(tfMinCorr, javax.swing.GroupLayout.DEFAULT_SIZE, 102, Short.MAX_VALUE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addComponent(lbMaxCorr)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(tfMaxCorr, javax.swing.GroupLayout.DEFAULT_SIZE, 102, Short.MAX_VALUE))
- );
- gl_pnCorr.setVerticalGroup(
- gl_pnCorr.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(gl_pnCorr.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(lbMinCorr)
- .addComponent(tfMinCorr, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(lbMaxCorr)
- .addComponent(tfMaxCorr, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- );
-
- pnNormeVit.setBorder(javax.swing.BorderFactory.createTitledBorder("Limits of the normal velocity (m/s)"));
-
- lbMinNormeVit.setText("Min:");
-
- lbMaxNormeVit.setText("Max:");
-
- javax.swing.GroupLayout gl_pnNormeVit = new javax.swing.GroupLayout(pnNormeVit);
- pnNormeVit.setLayout(gl_pnNormeVit);
- gl_pnNormeVit.setHorizontalGroup(
- gl_pnNormeVit.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(gl_pnNormeVit.createSequentialGroup()
- .addComponent(lbMinNormeVit)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addComponent(tfMinNormeVit, javax.swing.GroupLayout.DEFAULT_SIZE, 102, Short.MAX_VALUE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addComponent(lbMaxNormeVit)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(tfMaxNormeVit, javax.swing.GroupLayout.DEFAULT_SIZE, 102, Short.MAX_VALUE))
- );
- gl_pnNormeVit.setVerticalGroup(
- gl_pnNormeVit.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(gl_pnNormeVit.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(lbMinNormeVit)
- .addComponent(tfMinNormeVit, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(lbMaxNormeVit)
- .addComponent(tfMaxNormeVit, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- );
-
- pnTransVit.setBorder(javax.swing.BorderFactory.createTitledBorder("Limits of the v transverse velocity (m/s)"));
-
- lbMinTransVit.setText("Min:");
-
- lbMaxTransVit.setText("Max:");
-
- javax.swing.GroupLayout gl_pnTransVit = new javax.swing.GroupLayout(pnTransVit);
- pnTransVit.setLayout(gl_pnTransVit);
- gl_pnTransVit.setHorizontalGroup(
- gl_pnTransVit.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(gl_pnTransVit.createSequentialGroup()
- .addComponent(lbMinTransVit)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addComponent(tfMinTransVit, javax.swing.GroupLayout.DEFAULT_SIZE, 102, Short.MAX_VALUE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addComponent(lbMaxTransVit)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(tfMaxTransVit, javax.swing.GroupLayout.DEFAULT_SIZE, 102, Short.MAX_VALUE))
- );
- gl_pnTransVit.setVerticalGroup(
- gl_pnTransVit.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(gl_pnTransVit.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(lbMinTransVit)
- .addComponent(tfMinTransVit, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(lbMaxTransVit)
- .addComponent(tfMaxTransVit, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- );
-
lbTemps.setText("Time interval (s):");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
layout.setHorizontalGroup(
layout.createParallelGroup(Alignment.LEADING)
+ .addComponent(pnSA, GroupLayout.DEFAULT_SIZE, 459, Short.MAX_VALUE)
+ .addComponent(pnIASize, GroupLayout.DEFAULT_SIZE, 459, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addComponent(lbTemps)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(tfTemps, GroupLayout.PREFERRED_SIZE, 90, GroupLayout.PREFERRED_SIZE)
- .addGap(241))
- .addComponent(pnTransVit, 0, 448, Short.MAX_VALUE)
- .addComponent(pnNormeVit, 0, 448, Short.MAX_VALUE)
- .addComponent(pnCorr, GroupLayout.DEFAULT_SIZE, 448, Short.MAX_VALUE)
- .addComponent(pnSA, GroupLayout.DEFAULT_SIZE, 448, Short.MAX_VALUE)
- .addComponent(pnIASize, GroupLayout.DEFAULT_SIZE, 448, Short.MAX_VALUE)
+ .addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(Alignment.LEADING)
- .addGroup(Alignment.TRAILING, layout.createSequentialGroup()
+ .addGroup(layout.createSequentialGroup()
.addComponent(pnIASize, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(pnSA, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addPreferredGap(ComponentPlacement.RELATED)
- .addComponent(pnCorr, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(ComponentPlacement.RELATED)
- .addComponent(pnNormeVit, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(ComponentPlacement.RELATED)
- .addComponent(pnTransVit, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(Alignment.BASELINE)
.addComponent(lbTemps)
.addComponent(tfTemps, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
- .addContainerGap(0, Short.MAX_VALUE))
+ .addContainerGap(14, Short.MAX_VALUE))
);
this.setLayout(layout);
}// </editor-fold>//GEN-END:initComponents
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JLabel lbIASize;
- private javax.swing.JLabel lbMaxCorr;
- private javax.swing.JLabel lbMaxNormeVit;
- private javax.swing.JLabel lbMaxTransVit;
- private javax.swing.JLabel lbMinCorr;
- private javax.swing.JLabel lbMinNormeVit;
- private javax.swing.JLabel lbMinTransVit;
private javax.swing.JLabel lbSim;
private javax.swing.JLabel lbSip;
private javax.swing.JLabel lbSjm;
private javax.swing.JLabel lbSjp;
private javax.swing.JLabel lbTemps;
- private javax.swing.JPanel pnCorr;
private javax.swing.JPanel pnIASize;
- private javax.swing.JPanel pnNormeVit;
private javax.swing.JPanel pnSA;
- private javax.swing.JPanel pnTransVit;
private javax.swing.JTextField tfIASize;
- private javax.swing.JTextField tfMaxCorr;
- private javax.swing.JTextField tfMaxNormeVit;
- private javax.swing.JTextField tfMaxTransVit;
- private javax.swing.JTextField tfMinCorr;
- private javax.swing.JTextField tfMinNormeVit;
- private javax.swing.JTextField tfMinTransVit;
private javax.swing.JTextField tfSim;
private javax.swing.JTextField tfSip;
private javax.swing.JTextField tfSjm;
Copied: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivFilterInstantResultsPanel.java (from rev 9001, trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivSelectInstantResultsPanel.java)
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivFilterInstantResultsPanel.java (rev 0)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivFilterInstantResultsPanel.java 2015-02-09 11:29:41 UTC (rev 9011)
@@ -0,0 +1,392 @@
+/*
+ * @creation 18 d\xE9c. 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.fudaa.piv;
+
+import java.awt.BorderLayout;
+import java.awt.Dimension;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+import javax.swing.BorderFactory;
+import javax.swing.JCheckBox;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JTabbedPane;
+import javax.swing.JTextField;
+
+import org.fudaa.ctulu.CtuluUI;
+import org.fudaa.ctulu.gui.CtuluDialogPanel;
+import org.fudaa.ctulu.gui.CtuluListEditorModel;
+import org.fudaa.ctulu.gui.CtuluListEditorPanel;
+import org.fudaa.fudaa.piv.metier.PivComputeParameters;
+
+import com.memoire.bu.BuLib;
+import com.memoire.bu.BuVerticalLayout;
+
+/**
+ * Un panneau pour filtrer les r\xE9sultats instantan\xE9s utilis\xE9s pour faire le calcul de moyenne.
+ * Les resultats filtr\xE9s et selectionn\xE9s sont sauv\xE9s dans le projet.
+ *
+ * @author mar...@de...
+ * @version $Id$
+ */
+public class PivFilterInstantResultsPanel extends CtuluDialogPanel {
+
+ /** Le mod\xE8le pour la liste des resultats */
+ private CtuluListEditorModel mdResults_;
+ /** La liste des r\xE9sultats dans l'ordre */
+ private CtuluListEditorPanel pnListResults_;
+ private JTextField tfNormalMinLimit_;
+ private JTextField tfNormalMaxLimit_;
+ private JCheckBox cbVelFlt_;
+ private JTextField tfVyMinLimit_;
+ private JTextField tfVyMaxLimit_;
+ private JCheckBox cbCorrelFlt_;
+ private JTextField tfCorrelMinLimit_;
+ private JTextField tfCorrelMaxLimit_;
+
+ /**
+ * Constructeur.
+ * @param _ui Le parent pour la boite de dialogue.
+ */
+ public PivFilterInstantResultsPanel(CtuluUI _ui) {
+
+ JTabbedPane tp=new JTabbedPane();
+
+ // Filtre pour la vitesse
+
+ JPanel pnVelocity=new JPanel();
+ pnVelocity.setBorder(BorderFactory.createEmptyBorder(3, 3, 3, 3));
+ pnVelocity.setLayout(new BuVerticalLayout(3, true, false));
+
+ cbVelFlt_ = new JCheckBox(PivResource.getS("Filtrer les vitesses"));
+ cbVelFlt_.addActionListener(new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ boolean b=cbVelFlt_.isSelected();
+ tfNormalMinLimit_.setEnabled(b);
+ tfNormalMaxLimit_.setEnabled(b);
+ tfVyMinLimit_.setEnabled(b);
+ tfVyMaxLimit_.setEnabled(b);
+ }
+ });
+ pnVelocity.add(cbVelFlt_);
+
+ JPanel pnNormalLimits=new JPanel();
+ pnNormalLimits.setBorder(BorderFactory.createTitledBorder(PivResource.getS("Limites de la norme de vitesse (m/s)")));
+ pnNormalLimits.setLayout(new BuVerticalLayout(3,true,false));
+
+ JPanel pn=new JPanel();
+ pn.setLayout(new BorderLayout(3,3));
+ JLabel lbNormalMinLimit=new JLabel(PivResource.getS("Min:"));
+ pn.add(lbNormalMinLimit, BorderLayout.WEST);
+ tfNormalMinLimit_ = new JTextField();
+ pn.add(tfNormalMinLimit_, BorderLayout.CENTER);
+ pnNormalLimits.add(pn);
+
+ pn=new JPanel();
+ pn.setLayout(new BorderLayout(3,3));
+ JLabel lbNormalMaxLimit=new JLabel(PivResource.getS("Max:"));
+ pn.add(lbNormalMaxLimit, BorderLayout.WEST);
+ tfNormalMaxLimit_ = new JTextField();
+ pn.add(tfNormalMaxLimit_, BorderLayout.CENTER);
+ pnNormalLimits.add(pn);
+ pnVelocity.add(pnNormalLimits);
+
+ JPanel pnVyLimits=new JPanel();
+ pnVyLimits.setBorder(BorderFactory.createTitledBorder(PivResource.getS("Limites de la vitesse v transversale (m/s)")));
+ pnVyLimits.setLayout(new BuVerticalLayout(3,true,false));
+
+ pn=new JPanel();
+ pn.setLayout(new BorderLayout(3,3));
+ JLabel lbVyMinLimit=new JLabel(PivResource.getS("Min:"));
+ pn.add(lbVyMinLimit, BorderLayout.WEST);
+ tfVyMinLimit_ = new JTextField();
+ pn.add(tfVyMinLimit_, BorderLayout.CENTER);
+ pnVyLimits.add(pn);
+
+ pn=new JPanel();
+ pn.setLayout(new BorderLayout(3,3));
+ JLabel lbVyMaxLimit=new JLabel(PivResource.getS("Max:"));
+ pn.add(lbVyMaxLimit, BorderLayout.WEST);
+ tfVyMaxLimit_ = new JTextField();
+ pn.add(tfVyMaxLimit_, BorderLayout.CENTER);
+ pnVyLimits.add(pn);
+ pnVelocity.add(pnVyLimits);
+ tp.addTab(PivResource.getS("Vitesse"), pnVelocity);
+
+ BuLib.giveSameWidth(lbNormalMinLimit, lbNormalMaxLimit, lbVyMinLimit, lbVyMaxLimit);
+
+ // Filtre pour la correlation
+
+ JPanel pnCorrel=new JPanel();
+ pnCorrel.setBorder(BorderFactory.createEmptyBorder(3, 3, 3, 3));
+ pnCorrel.setLayout(new BuVerticalLayout(3, true, false));
+
+ cbCorrelFlt_ = new JCheckBox(PivResource.getS("Filtrer les corr\xE9lations"));
+ cbCorrelFlt_.addActionListener(new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ boolean b=cbCorrelFlt_.isSelected();
+ tfCorrelMinLimit_.setEnabled(b);
+ tfCorrelMaxLimit_.setEnabled(b);
+ }
+ });
+ pnCorrel.add(cbCorrelFlt_);
+
+ JPanel pnCorrelLimits=new JPanel();
+ pnCorrelLimits.setBorder(BorderFactory.createTitledBorder(PivResource.getS("Corr\xE9lation")));
+ pnCorrelLimits.setLayout(new BuVerticalLayout(3,true,false));
+
+ pn=new JPanel();
+ pn.setLayout(new BorderLayout(3,3));
+ JLabel lbCorrelMinLimit=new JLabel(PivResource.getS("Min:"));
+ pn.add(lbCorrelMinLimit, BorderLayout.WEST);
+ tfCorrelMinLimit_ = new JTextField();
+ pn.add(tfCorrelMinLimit_, BorderLayout.CENTER);
+ pnCorrelLimits.add(pn);
+
+ pn=new JPanel();
+ pn.setLayout(new BorderLayout(3,3));
+ JLabel lbCorrelMaxLimit=new JLabel(PivResource.getS("Max:"));
+ pn.add(lbCorrelMaxLimit, BorderLayout.WEST);
+ tfCorrelMaxLimit_ = new JTextField();
+ pn.add(tfCorrelMaxLimit_, BorderLayout.CENTER);
+ pnCorrelLimits.add(pn);
+ pnCorrel.add(pnCorrelLimits);
+ tp.addTab(PivResource.getS("Corr\xE9lation"), pnCorrel);
+
+ BuLib.giveSameWidth(lbCorrelMinLimit, lbCorrelMaxLimit);
+
+ // Moyenne
+
+ JPanel pnAverage=new JPanel();
+ pnAverage.setBorder(BorderFactory.createEmptyBorder(3, 3, 3, 3));
+ pnAverage.setLayout(new BuVerticalLayout(3, true, true));
+
+ // Label r\xE9sultats
+ pnAverage.add(new JLabel(PivResource.getS("Liste des r\xE9sultats instantan\xE9s"),JLabel.LEFT));
+
+ // Liste des r\xE9sultats
+ mdResults_=new CtuluListEditorModel(false) {
+ @Override
+ public boolean isCellEditable(int _rowIndex, int _columnIndex) {
+ return false;
+ }
+ @Override
+ public Object createNewObject() {
+ return null;
+ }
+ };
+
+ pnListResults_ = new CtuluListEditorPanel(mdResults_, false, false, false, false, false);
+ pnAverage.setPreferredSize(new Dimension(300,200));
+ pnAverage.add(pnListResults_);
+ tp.addTab(PivResource.getS("Moyenne"), pnAverage);
+
+ setLayout(new BorderLayout());
+ add(tp,BorderLayout.CENTER);
+ }
+
+ @Override
+ public void setValue(Object _usedResults) {
+ if (!(_usedResults instanceof boolean[]))
+ throw new IllegalArgumentException("bad type parameter");
+ setSelectedResults((boolean[])_usedResults);
+
+ cbVelFlt_.setSelected(false);
+ }
+
+ @Override
+ public boolean[] getValue() {
+ return getSelectedResults();
+ }
+
+ /**
+ * Definit les valeurs pour les filtres
+ * @param _params Les param\xE8tres du calcul, contenant les valeurs de filtres.
+ */
+ public void setFilterValues(PivComputeParameters _params) {
+ if (_params==null) return;
+
+ if (_params.getMinCorrelation()==PivResource.FORTRAN_DOUBLE_MIN) {
+ cbCorrelFlt_.setSelected(false);
+ }
+ else {
+ cbCorrelFlt_.setSelected(true);
+ tfCorrelMinLimit_.setText(""+_params.getMinCorrelation());
+ tfCorrelMaxLimit_.setText(""+_params.getMaxCorrelation());
+ }
+
+ if (_params.getSmin()==PivResource.FORTRAN_DOUBLE_MIN) {
+ cbVelFlt_.setSelected(false);
+ }
+ else {
+ cbVelFlt_.setSelected(true);
+ tfNormalMinLimit_.setText(""+_params.getSmin());
+ tfNormalMaxLimit_.setText(""+_params.getSmax());
+ tfVyMinLimit_.setText(""+_params.getVmin());
+ tfVyMaxLimit_.setText(""+_params.getVmax());
+ }
+ }
+
+ /**
+ * Recupere les valeurs pour les filtres. _params contient d\xE9j\xE0 des valeurs, seules les valeurs pour
+ * les filtres sont initialis\xE9es.
+ * @param _params Les param\xE8tres du calcul.
+ */
+ public void retrieveFilterValues(PivComputeParameters _params) {
+ if (_params==null) return;
+
+ if (cbCorrelFlt_.isSelected()) {
+ _params.setMinCorrelation(Double.parseDouble(tfCorrelMinLimit_.getText()));
+ _params.setMaxCorrelation(Double.parseDouble(tfCorrelMaxLimit_.getText()));
+ }
+ else {
+ _params.setMinCorrelation(PivResource.FORTRAN_DOUBLE_MIN);
+ _params.setMaxCorrelation(PivResource.FORTRAN_DOUBLE_MAX);
+ }
+
+ if (cbVelFlt_.isSelected()) {
+ _params.setSmin(Double.parseDouble(tfNormalMinLimit_.getText()));
+ _params.setSmax(Double.parseDouble(tfNormalMaxLimit_.getText()));
+ _params.setVmin(Double.parseDouble(tfVyMinLimit_.getText()));
+ _params.setVmax(Double.parseDouble(tfVyMaxLimit_.getText()));
+ }
+ else {
+ _params.setSmin(PivResource.FORTRAN_DOUBLE_MIN);
+ _params.setSmax(PivResource.FORTRAN_DOUBLE_MAX);
+ _params.setVmin(PivResource.FORTRAN_DOUBLE_MIN);
+ _params.setVmax(PivResource.FORTRAN_DOUBLE_MAX);
+ }
+ }
+
+
+ /**
+ * D\xE9finit les resultats s\xE9lectionn\xE9s pour la moyenne.
+ * @param _tool L'utilitaire
+ */
+ public void setSelectedResults(boolean[] _usedResults) {
+ if (_usedResults==null) return;
+
+ String[] values=new String[_usedResults.length];
+ for (int i=0; i<_usedResults.length; i++) {
+ values[i]=PivResource.getS("R\xE9sultat : {0}", (i+1));
+ }
+
+ mdResults_.setData(values);
+
+ for (int i=0; i<_usedResults.length; i++) {
+ if (_usedResults[i])
+ pnListResults_.getTable().getSelectionModel().addSelectionInterval(i, i);
+ }
+
+ }
+
+ /**
+ * @return Les r\xE9sultats selectionn\xE9s.
+ */
+ public boolean[] getSelectedResults() {
+ boolean[] idSels=new boolean[mdResults_.getRowCount()];
+ int[] sel=pnListResults_.getTable().getSelectedRows();
+ for (int i : sel) {
+ idSels[i]=true;
+ }
+
+ return idSels;
+ }
+
+ /**
+ * Controle que la valeur du champ de nom donn\xE9 est un r\xE9el.
+ * @param _sval La valeur du champ.
+ * @param _param Le nom du champ.
+ * @return true si la valeur est correcte.
+ */
+ private boolean isReal(String _sval, String _param) {
+ boolean bok=false;
+ try {
+ bok=false;
+ Double.parseDouble(_sval.trim());
+ bok=true;
+ }
+ catch (NumberFormatException _exc) {}
+ if (!bok) {
+ setErrorText(PivResource.getS("{0}: Doit \xEAtre un r\xE9el",_param));
+ return false;
+ }
+ return true;
+ }
+
+ @Override
+ public boolean isDataValid() {
+ boolean bok=
+ !cbVelFlt_.isSelected() || (
+ isReal(tfNormalMinLimit_.getText(),PivResource.getS("Min norme de vitesse")) &&
+ isReal(tfNormalMaxLimit_.getText(),PivResource.getS("Max norme de vitesse")) &&
+ isReal(tfVyMinLimit_.getText(),PivResource.getS("Min vitesse transversale")) &&
+ isReal(tfVyMaxLimit_.getText(),PivResource.getS("Max vitesse transversale")));
+ if (!bok) return false;
+
+ double min;
+ double max;
+
+ if (cbVelFlt_.isSelected()) {
+ min=Double.parseDouble(tfNormalMinLimit_.getText());
+ if (min<=PivResource.FORTRAN_DOUBLE_MIN) {
+ setErrorText(PivResource.getS("{0}: Doit \xEAtre sup\xE9rieur \xE0 {1}",
+ PivResource.getS("Min norme de vitesse"), PivResource.FORTRAN_DOUBLE_MIN));
+ return false;
+ }
+ max=Double.parseDouble(tfNormalMaxLimit_.getText());
+ if (max>=PivResource.FORTRAN_DOUBLE_MAX) {
+ setErrorText(PivResource.getS("{0}: Doit \xEAtre inf\xE9rieur \xE0 {1}",
+ PivResource.getS("Max norme de vitesse"), PivResource.FORTRAN_DOUBLE_MAX));
+ return false;
+ }
+ min=Double.parseDouble(tfVyMinLimit_.getText());
+ if (min<=PivResource.FORTRAN_DOUBLE_MIN) {
+ setErrorText(PivResource.getS("{0}: Doit \xEAtre sup\xE9rieur \xE0 {1}",
+ PivResource.getS("Min vitesse transversale"), PivResource.FORTRAN_DOUBLE_MIN));
+ return false;
+ }
+ max=Double.parseDouble(tfVyMaxLimit_.getText());
+ if (max>=PivResource.FORTRAN_DOUBLE_MAX) {
+ setErrorText(PivResource.getS("{0}: Doit \xEAtre inf\xE9rieur \xE0 {1}",
+ PivResource.getS("Max vitesse transversale"), PivResource.FORTRAN_DOUBLE_MAX));
+ return false;
+ }
+ }
+
+ bok=
+ !cbCorrelFlt_.isSelected() || (
+ isReal(tfCorrelMinLimit_.getText(),PivResource.getS("Min corr\xE9lation")) &&
+ isReal(tfCorrelMaxLimit_.getText(),PivResource.getS("Max corr\xE9lation")));
+ if (!bok) return false;
+
+ if (cbCorrelFlt_.isSelected()) {
+ min=Double.parseDouble(tfCorrelMinLimit_.getText());
+ if (min <= PivResource.FORTRAN_DOUBLE_MIN) {
+ setErrorText(PivResource.getS("{0}: Doit \xEAtre sup\xE9rieur \xE0 {1}",
+ PivResource.getS("Min corr\xE9lation"), PivResource.FORTRAN_DOUBLE_MIN));
+ return false;
+ }
+ max=Double.parseDouble(tfCorrelMaxLimit_.getText());
+ if (max >= PivResource.FORTRAN_DOUBLE_MAX) {
+ setErrorText(PivResource.getS("{0}: Doit \xEAtre inf\xE9rieur \xE0 {1}",
+ PivResource.getS("Max corr\xE9lation"), PivResource.FORTRAN_DOUBLE_MAX));
+ return false;
+ }
+ }
+
+ if (pnListResults_.getTable().getSelectedRowCount()==0) {
+ setErrorText(PivResource.getS("Vous devez s\xE9lectionner 1 r\xE9sultat au moins pour la moyenne"));
+ return false;
+ }
+ return true;
+ }
+}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java 2015-02-06 18:09:42 UTC (rev 9010)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java 2015-02-09 11:29:41 UTC (rev 9011)
@@ -780,11 +780,11 @@
mn.add(sm);
mn.add(new PivComputeLaunchAction(this));
- mn.addSeparator(PivResource.getS("R\xE9sultats"));
+ mn.addSeparator(PivResource.getS("Post-traitement"));
mn.add(new PivComputeAverageAction(this));
mn.add(get2dFrame().getVisuPanel().getShowVelocitiesAction().buildMenuItem(EbliComponentFactory.INSTANCE));
- mn.addSeparator(PivResource.getS("Post-traitement"));
+ mn.addSeparator(PivResource.getS("D\xE9bit"));
mn.add(new PivFlowParamAction(this));
sm=new BuMenu(PivResource.getS("Transect"),"mnGRP");
bt=get2dFrame().getVisuPanel().getNewTransectAction().buildMe...
[truncated message content] |
|
From: <bma...@us...> - 2015-02-12 13:49:54
|
Revision: 9012
http://sourceforge.net/p/fudaa/svn/9012
Author: bmarchan
Date: 2015-02-12 13:49:51 +0000 (Thu, 12 Feb 2015)
Log Message:
-----------
R?\195?\169cup?\195?\169ration des r?\195?\169sultats instantan?\195?\169s filtr?\195?\169s et affichage dans de nouveaux calques
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivOriginalView.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeAverageAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivImportGRPAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivOriginalViewAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivOrthoGRPAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivOrthoParamAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivOriginalImageModel.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivOrthoPointsModel.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivVelResultsModel.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java
Added Paths:
-----------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivInstantFilteredFileFormat.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivInstantFilteredReader.java
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivOriginalView.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivOriginalView.java 2015-02-09 11:29:41 UTC (rev 9011)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivOriginalView.java 2015-02-12 13:49:51 UTC (rev 9012)
@@ -40,8 +40,8 @@
* @author Bertrand Marchand (mar...@de...)
*/
public class PivOriginalView implements PivViewI, PivProjectStateListener {
- /** Le nom de la vue en espace image reconditionn\xE9e */
- public static final String TITLE=PivResource.getS("Espace image reconditionn\xE9e");
+ /** Le nom de la vue en espace image source */
+ public static final String TITLE=PivResource.getS("Espace image source");
/** La d\xE9finition de coordonn\xE9e pour X */
private static final EbliCoordinateDefinition DEF_COOR_I=new EbliCoordinateDefinition("I", new EbliFormatter(NonSI.PIXEL));
@@ -92,7 +92,7 @@
}
/**
- * Construction des calques pour l'espace reconditionn\xE9.
+ * Construction des calques pour l'espace image source.
*/
private void buildLayers() {
layers_.clear();
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java 2015-02-09 11:29:41 UTC (rev 9011)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java 2015-02-12 13:49:51 UTC (rev 9012)
@@ -92,12 +92,16 @@
PivImageRasterLayer cqRealImg_;
/** L'affichage d'un transect */
ZCalqueLigneBriseeEditable cqTransect_;
- /** L'affichage des r\xE9sultats moyenn\xE9s */
+ /** L'affichage des vitesses moyenn\xE9es */
PivVelResultsLayer cqVelResults;
- /** L'affichage des r\xE9sultats instantan\xE9s */
+ /** L'affichage des vitesses instantan\xE9es */
PivVelResultsLayer cqInstantVelResults_;
+ /** L'affichage des vitesses filtr\xE9es instantan\xE9es */
+ PivVelResultsLayer cqInstantVelFltResults_;
/** L'affichage des r\xE9sultats de d\xE9bit */
ZCalqueFleche cqFlowResults;
+ /** L'affichage des r\xE9sultats instantan\xE9s filtr\xE9s */
+ PivResultsLayer cqInstantFltIso_;
/** L'affichage des r\xE9sultats instantan\xE9s */
PivResultsLayer cqInstantIso_;
/** L'affichage des r\xE9sultats moyenn\xE9s */
@@ -110,7 +114,9 @@
PivTransectModel mdlTransect;
PivFlowResultsModel mdlFlowResults;
PivVelResultsModel mdlInstantVelResults;
+ PivVelResultsModel mdlInstantVelFltResults;
PivResultsModel mdlInstantResults;
+ PivResultsModel mdlInstantFltResults;
PivResultsModel mdlAverageResults;
/**
@@ -181,7 +187,7 @@
}
/**
- * Construction des calques pour l'espace reconditionn\xE9.
+ * Construction des calques.
*/
private void buildLayers() {
layers_.clear();
@@ -218,7 +224,7 @@
cqRealImg_.setTitle(PivResource.getS("Image transform\xE9e"));
cqRealImg_.setName("cqRealImg");
- // Layer des vitesses resultantes.
+ // Layer des vitesses moyennes.
cqVelResults = new PivVelResultsLayer();
cqVelResults.setTitle(PivResource.getS("Vit. surf. moy."));
cqVelResults.setLongTitle(PivResource.getS("Vitesses de surface moyenn\xE9es"));
@@ -226,6 +232,7 @@
cqVelResults.setName("cqRealVel");
// Donne la couleur des fl\xE8ches si pas de palette de couleurs.
cqVelResults.setLineModel(0, new TraceLigneModel(TraceLigne.LISSE, 1, Color.RED));
+ cqVelResults.setVisible(false);
cqVelResults.addPropertyChangeListener(new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent evt) {
if ("visible".equals(evt.getPropertyName())) {
@@ -234,7 +241,7 @@
}
});
- // Layer des vitesses instantan\xE9es resultantes.
+ // Layer des vitesses instantan\xE9es non filtr\xE9es.
cqInstantVelResults_ = new PivVelResultsLayer();
cqInstantVelResults_.setTitle(PivResource.getS("Vit. surf. inst."));
cqInstantVelResults_.setLongTitle(PivResource.getS("Vitesses de surface instantan\xE9es"));
@@ -242,14 +249,32 @@
cqInstantVelResults_.setName("cqInstantVel");
// Donne la couleur des fl\xE8ches si pas de palette de couleurs.
cqInstantVelResults_.setLineModel(0, new TraceLigneModel(TraceLigne.LISSE, 1, Color.ORANGE));
- cqInstantVelResults_.addPropertyChangeListener(new PropertyChangeListener() {
- public void propertyChange(PropertyChangeEvent evt) {
- if ("visible".equals(evt.getPropertyName())) {
+ cqInstantVelResults_.setVisible(false);
+// cqInstantVelResults_.addPropertyChangeListener(new PropertyChangeListener() {
+// public void propertyChange(PropertyChangeEvent evt) {
+// if ("visible".equals(evt.getPropertyName())) {
// pnLayers_.getShowVelocitiesAction().setSelected((Boolean)evt.getNewValue());
- }
- }
- });
+// }
+// }
+// });
+ // Layer des vitesses instantan\xE9es filtr\xE9es.
+ cqInstantVelFltResults_ = new PivVelResultsLayer();
+ cqInstantVelFltResults_.setTitle(PivResource.getS("Vit. surf. inst. filtr\xE9es"));
+ cqInstantVelFltResults_.setLongTitle(PivResource.getS("Vitesses de surface instantan\xE9es filtr\xE9es"));
+ cqInstantVelFltResults_.setTitleModifiable(true);
+ cqInstantVelFltResults_.setName("cqInstantVelFlt");
+ // Donne la couleur des fl\xE8ches si pas de palette de couleurs.
+ cqInstantVelFltResults_.setLineModel(0, new TraceLigneModel(TraceLigne.LISSE, 1, Color.GREEN.darker()));
+ cqInstantVelFltResults_.setVisible(false);
+// cqInstantVelFltResults_.addPropertyChangeListener(new PropertyChangeListener() {
+// public void propertyChange(PropertyChangeEvent evt) {
+// if ("visible".equals(evt.getPropertyName())) {
+// pnLayers_.getShowVelocitiesAction().setSelected((Boolean)evt.getNewValue());
+// }
+// }
+// });
+
// Layer des d\xE9bits.
cqFlowResults = new ZCalqueFleche() {
@Override
@@ -282,6 +307,14 @@
cqTransect_.setEditor(pnLayers_.getEditor());
getNewTransectAction().setTransectLayer(cqTransect_);
+ // Layer des iso couleurs instantan\xE9es filtr\xE9es
+ cqInstantFltIso_ = new PivResultsLayer();
+ cqInstantFltIso_.setLineModel(0, new TraceLigneModel(TraceLigne.LISSE, 1, Color.LIGHT_GRAY));
+ cqInstantFltIso_.setTitle(PivResource.getS("R\xE9sultats inst. filtr\xE9s"));
+ cqInstantFltIso_.setName("cqInstantFltResults");
+ cqInstantFltIso_.setDestructible(false);
+ cqInstantFltIso_.setVisible(false);
+
// Layer des iso couleurs instantan\xE9es
cqInstantIso_ = new PivResultsLayer();
cqInstantIso_.setLineModel(0, new TraceLigneModel(TraceLigne.LISSE, 1, Color.LIGHT_GRAY));
@@ -298,12 +331,14 @@
cqAverageIso_.setDestructible(false);
cqAverageIso_.setVisible(false);
+ layers_.add(cqTransect_);
+ layers_.add(cqRealOrthoPoints_);
layers_.add(cqVelResults);
+ layers_.add(cqInstantVelFltResults_);
layers_.add(cqInstantVelResults_);
layers_.add(cqFlowResults);
- layers_.add(cqTransect_);
- layers_.add(cqRealOrthoPoints_);
layers_.add(cqAverageIso_);
+ layers_.add(cqInstantFltIso_);
layers_.add(cqInstantIso_);
layers_.add(cqRealImg_);
}
@@ -326,7 +361,7 @@
cqRealImg_.setModele(mdlRealImage);
if (prj_.getAverageResults()!=null) {
- mdlVelResults=new PivVelResultsModel(new PivResultsI[]{prj_.getAverageResults()});
+ mdlVelResults=new PivVelResultsModel(prj_.getAverageResults());
cqVelResults.setModele(mdlVelResults);
cqVelResults.setVisible(false);
}
@@ -336,6 +371,12 @@
cqInstantVelResults_.setModele(mdlInstantVelResults);
cqInstantVelResults_.setVisible(false);
}
+
+ if (prj_.getInstantFilteredResults()!=null) {
+ mdlInstantVelFltResults=new PivVelResultsModel(prj_.getInstantFilteredResults());
+ cqInstantVelFltResults_.setModele(mdlInstantVelFltResults);
+ cqInstantVelFltResults_.setVisible(false);
+ }
mdlFlowResults=new PivFlowResultsModel();
mdlFlowResults.setProjet(prj_);
@@ -351,6 +392,11 @@
cqInstantIso_.setModele(mdlInstantResults);
}
+ if (prj_.getInstantFilteredResults()!=null) {
+ mdlInstantFltResults=new PivResultsModel(prj_.getInstantFilteredResults(),null);
+ cqInstantFltIso_.setModele(mdlInstantFltResults);
+ }
+
if (prj_.getAverageResults()!=null) {
mdlAverageResults=new PivResultsModel(new PivResultsI[]{prj_.getAverageResults()}, null);
cqAverageIso_.setModele(mdlAverageResults);
@@ -417,14 +463,14 @@
// Le bouton de lock entre images et vitesses instantann\xE9es.
btLock_ = new BuTransparentToggleButton(PivResource.PIV.getIcon("non-lie-horizontal"), PivResource.PIV.getIcon("lie-horizontal"));
btLock_.setBorder(BorderFactory.createEmptyBorder(5, 3, 5, 3));
- btLock_.setToolTipText(PivResource.getS("Lie/d\xE9lie l'image et les vitesses"));
+ btLock_.setToolTipText(PivResource.getS("Lie/d\xE9lie l'image et le r\xE9sultat instantan\xE9"));
btLock_.setEnabled(false);
// La liste d\xE9roulante des r\xE9sultats.
cbVel_ = new BuComboBox();
cbVel_.setPreferredSize(new Dimension(180, cbVel_.getPreferredSize().height));
cbVel_.setMaximumSize(cbVel_.getPreferredSize());
- cbVel_.setToolTipText(PivResource.getS("Affiche les vitesses instantan\xE9es s\xE9lectionn\xE9es"));
+ cbVel_.setToolTipText(PivResource.getS("Affiche le r\xE9sultat instantan\xE9 s\xE9lectionn\xE9"));
cbVel_.setEnabled(false);
cbVel_.addItemListener(new ItemListener() {
@@ -447,14 +493,23 @@
private void setSelectedResult(int _ind) {
if (cqInstantVelResults_!=null && cqInstantVelResults_.modeleDonnees()!=null) {
- ((PivVelResultsModel)cqInstantVelResults_.modeleDonnees()).setSelectedResult(_ind);
+ cqInstantVelResults_.modeleDonnees().setSelectedResult(_ind);
// Pour que le calque soit r\xE9affich\xE9.
cqInstantVelResults_.repaint();
}
+ if (cqInstantVelFltResults_!=null && cqInstantVelFltResults_.modeleDonnees()!=null) {
+ cqInstantVelFltResults_.modeleDonnees().setSelectedResult(_ind);
+ // Pour que le calque soit r\xE9affich\xE9.
+ cqInstantVelFltResults_.repaint();
+ }
if (cqInstantIso_!=null && cqInstantIso_.modeleDonnees()!=null) {
cqInstantIso_.modele().setCurrentTimeIdx(_ind);
cqInstantIso_.repaint();
}
+ if (cqInstantFltIso_!=null && cqInstantFltIso_.modeleDonnees()!=null) {
+ cqInstantFltIso_.modele().setCurrentTimeIdx(_ind);
+ cqInstantFltIso_.repaint();
+ }
}
private void setSelectedImage(int _ind) {
@@ -478,6 +533,12 @@
cqInstantIso_.repaint();
}
}
+ else if (cq==cqInstantFltIso_) {
+ if (cqInstantFltIso_.modele()!=null) {
+ cqInstantFltIso_.modele().setCurrentVar(_var);
+ cqInstantFltIso_.repaint();
+ }
+ }
else if (cq==cqAverageIso_) {
if (cqAverageIso_.modele()!=null) {
cqAverageIso_.modele().setCurrentVar(_var);
@@ -521,7 +582,7 @@
cbImg_.setEnabled(imgs.length > 0);
}
- // La liste des vitesses instantan\xE9es
+ // La liste des r\xE9sultats instantan\xE9s
PivResultsI[] instantRes=prj_.getInstantResults();
if (instantRes != null) {
for (int i = 0; i < instantRes.length; i++) {
@@ -561,6 +622,10 @@
cbVar_.setEnabled(true);
cbVar_.setSelectedItem(cqInstantIso_.modele().getCurrentVar());
}
+ else if (cq==cqInstantFltIso_ && cqInstantFltIso_.modele()!=null) {
+ cbVar_.setEnabled(true);
+ cbVar_.setSelectedItem(cqInstantFltIso_.modele().getCurrentVar());
+ }
else {
cbVar_.setEnabled(false);
}
@@ -609,6 +674,20 @@
majTools();
}
+ else if ("instantFilteredResults".equals(_prop)) {
+ if (_prj.getInstantFilteredResults()!=null) {
+ mdlInstantFltResults=new PivResultsModel(prj_.getInstantFilteredResults(),null);
+ mdlInstantVelFltResults=new PivVelResultsModel(prj_.getInstantFilteredResults());
+ }
+ else {
+ mdlInstantResults=null;
+ mdlInstantVelFltResults=null;
+ }
+ cqInstantFltIso_.setModele(mdlInstantFltResults);
+ cqInstantVelFltResults_.setModele(mdlInstantVelFltResults);
+
+ majTools();
+ }
pnLayers_.getVueCalque().repaint();
}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeAverageAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeAverageAction.java 2015-02-09 11:29:41 UTC (rev 9011)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeAverageAction.java 2015-02-12 13:49:51 UTC (rev 9012)
@@ -83,7 +83,7 @@
CtuluAnalyze ana=new CtuluAnalyze();
// Filtrage
- PivExeLauncher.instance().launchFilterVelocities(ana, impl.getCurrentProject(),this);
+ PivExeLauncher.instance().launchFilterInstantResultats(ana, impl.getCurrentProject(),this);
if (ana.containsErrorOrFatalError()) {
impl.error(ana.getResume());
return;
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivImportGRPAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivImportGRPAction.java 2015-02-09 11:29:41 UTC (rev 9011)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivImportGRPAction.java 2015-02-12 13:49:51 UTC (rev 9012)
@@ -85,6 +85,6 @@
@Override
public String getEnableCondition() {
- return PivResource.getS("Il doit exister au moins une image reconditionn\xE9e");
+ return PivResource.getS("Il doit exister au moins une image source");
}
}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivOriginalViewAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivOriginalViewAction.java 2015-02-09 11:29:41 UTC (rev 9011)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivOriginalViewAction.java 2015-02-12 13:49:51 UTC (rev 9012)
@@ -48,7 +48,7 @@
return false;
}
if (!impl.getCurrentProject().hasSrcImages()) {
- impl.error(PivResource.getS("Erreur"), PivResource.getS("Le projet doit contenir au moins 1 image reconditionn\xE9e"));
+ impl.error(PivResource.getS("Erreur"), PivResource.getS("Le projet doit contenir au moins 1 image source"));
return false;
}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivOrthoGRPAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivOrthoGRPAction.java 2015-02-09 11:29:41 UTC (rev 9011)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivOrthoGRPAction.java 2015-02-12 13:49:51 UTC (rev 9012)
@@ -239,7 +239,7 @@
@Override
public String getEnableCondition() {
- return PivResource.getS("Il doit exister au moins une image reconditionn\xE9e");
+ return PivResource.getS("Il doit exister au moins une image source");
}
/**
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivOrthoParamAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivOrthoParamAction.java 2015-02-09 11:29:41 UTC (rev 9011)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivOrthoParamAction.java 2015-02-12 13:49:51 UTC (rev 9012)
@@ -35,7 +35,7 @@
}
public String getEnableCondition() {
- return PivResource.getS("Il doit exister au moins une image reconditionn\xE9e");
+ return PivResource.getS("Il doit exister au moins une image source");
}
/**
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java 2015-02-09 11:29:41 UTC (rev 9011)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java 2015-02-12 13:49:51 UTC (rev 9012)
@@ -439,7 +439,7 @@
// On renomme le fichier
new File(prjVelRaw,"piv.dat").renameTo(new File(prjVelRaw,"piv"+computeImgNumber(i+1)+".dat"));
- prog=(i+1)*90/(imgOut.length-1);
+ prog=(i+1)*90/(imgOut.length-1)+5;
if (_task!=null)
_task.setProgression(prog);
}
@@ -529,17 +529,15 @@
}
/**
- * Lance le filtrage des vitesses et leur restitution dans l'espace r\xE9el, en tenant compte des resultats
- * instantan\xE9s s\xE9lectionn\xE9s.
+ * Lance le filtrage des r\xE9sultats et leur restitution dans l'espace r\xE9el.
* Le filtrage est fait dans le r\xE9pertoire projet.
*
* @param _ana L'analyse pour la tache ex\xE9cut\xE9e.
* @param _prj Le projet.
* @param _task La tache en cours d'execution.
* @return true : Tout s'est bien d\xE9roul\xE9.
- * @see #launchPiv
*/
- public boolean launchFilterVelocities(CtuluAnalyze _ana, PivProject _prj, CtuluTaskOperationGUI _task) {
+ public boolean launchFilterInstantResultats(CtuluAnalyze _ana, PivProject _prj, CtuluTaskOperationGUI _task) {
File prjRoot=_prj.getRoot();
File prjOutputs=new File(prjRoot,OUTPUT_DIR);
File prjVelFlt=new File(prjRoot,VEL_FILTER_DIR);
@@ -548,16 +546,18 @@
prjVelFlt.mkdir();
for (File f : prjVelFlt.listFiles()) f.delete();
- String desc=PivResource.getS("Filtrage des vitesses...");
+ String desc=PivResource.getS("Filtrage des r\xE9sultats...");
FuLog.trace(desc);
if (_task!=null) {
_task.setDesc(desc);
_task.setProgression(0);
}
+ PivResultsI[] res=null;
+
try {
// Cr\xE9ation du fichier contenant la liste des fichiers piv.dat obtenus par calcul.
- _prj.saveUsedInstantResults();
+ _prj.saveInstantResultsList(true);
// PIV_param.dat
File paramFile=new File(prjOutputs, "PIV_param.dat");
@@ -576,7 +576,7 @@
String outs = FuLib.runProgram(new String[]{exePath+File.separator+EXE.filter + EXE_EXT}, prjRoot);
if (!outs.trim().equals("")) {
- _ana.addError(PivResource.getS("Erreur de filtrage des vitesses:\n")+outs);
+ _ana.addError(PivResource.getS("Erreur de filtrage des r\xE9sultats:\n")+outs);
return false;
}
@@ -588,12 +588,16 @@
_task.setProgression(80);
FuLog.trace(PivResource.getS("Filtrage ok."));
+
+ // Chargement des r\xE9sultats
+ res=_prj.loadFilteredInstantResults(_task);
}
catch (IOException ex) {
_ana.addError(ex.getMessage());
return false;
}
finally {
+ _prj.setInstantFilteredResults(res);
}
return true;
Added: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivInstantFilteredFileFormat.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivInstantFilteredFileFormat.java (rev 0)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivInstantFilteredFileFormat.java 2015-02-12 13:49:51 UTC (rev 9012)
@@ -0,0 +1,49 @@
+package org.fudaa.fudaa.piv.io;
+
+import org.fudaa.ctulu.fileformat.FileFormatUnique;
+import org.fudaa.ctulu.fileformat.FileReadOperationAbstract;
+import org.fudaa.ctulu.fileformat.FileWriteOperationAbstract;
+import org.fudaa.fudaa.piv.PivResource;
+
+/**
+ * La classe d\xE9crivant le format d'un fichier pivxxxx.dat contenant les
+ * r\xE9sultats instantan\xE9es filtr\xE9s en espace r\xE9el.
+ *
+ * @author Bertrand Marchand (mar...@de...)
+ * @version $Id$
+ */
+public class PivInstantFilteredFileFormat extends FileFormatUnique {
+
+ private PivInstantFilteredFileFormat() {
+ super(1);
+ nom_ = PivResource.getS("PIV instant filtered real results");
+ description_ = PivResource.getS("Fichier contenant les r\xE9sultats instantan\xE9s filtr\xE9s r\xE9els");
+ extensions_=new String[]{"dat"};
+ }
+ static final PivInstantFilteredFileFormat INSTANCE = new PivInstantFilteredFileFormat();
+
+ /**
+ * Retourne le singleton pour instancier un reader ou un writer.
+ * @return Le singleton
+ */
+ public static PivInstantFilteredFileFormat getInstance() {
+ return INSTANCE;
+ }
+
+ /**
+ * Cr\xE9ation d'un reader.
+ * @return Le reader
+ */
+ public FileReadOperationAbstract createReader() {
+ return new PivInstantFilteredReader();
+ }
+
+ /**
+ * Cr\xE9ation d'un writer.
+ * @return Le writer
+ */
+ public FileWriteOperationAbstract createWriter() {
+ return null;
+ }
+
+}
Property changes on: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivInstantFilteredFileFormat.java
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivInstantFilteredReader.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivInstantFilteredReader.java (rev 0)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivInstantFilteredReader.java 2015-02-12 13:49:51 UTC (rev 9012)
@@ -0,0 +1,123 @@
+/**
+ * @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.fudaa.piv.io;
+
+import java.io.EOFException;
+import java.io.File;
+import java.io.IOException;
+
+import org.fudaa.ctulu.CtuluActivity;
+import org.fudaa.dodico.fortran.FileOpReadCharSimpleAbstract;
+import org.fudaa.fudaa.piv.PivResource;
+import org.fudaa.fudaa.piv.metier.PivResultsDefault;
+import org.fudaa.fudaa.piv.metier.PivResultsI.TYPE;
+
+/**
+ * Un lecteur pour les fichiers des r\xE9sultats instantan\xE9es filtr\xE9s en espace r\xE9el.
+ *
+ * @author Bertrand Marchand (mar...@de...)
+ * @version $Id$
+ */
+public class PivInstantFilteredReader extends FileOpReadCharSimpleAbstract implements CtuluActivity {
+
+ /** Drapeau d'interruption */
+ boolean bstop_;
+ /** Nb d'octets du fichier a lire pour stat sur pourcentage effectu\xE9 */
+ int nbOctets;
+
+ /**
+ * Le constructeur.
+ */
+ public PivInstantFilteredReader() {
+ }
+
+ /**
+ * Lit les r\xE9sultats de vitesses et les retourne.
+ * @return Les r\xE9sultats
+ */
+ protected PivResultsDefault internalRead() {
+ return readVelocities();
+ }
+
+ protected void processFile(final File _f) {
+ nbOctets = (int) _f.length();
+ }
+
+ /**
+ * Utilise FortranReader ( donc un buffer).
+ *
+ * @return les infos non bloquantes.
+ */
+ private synchronized PivResultsDefault readVelocities() {
+ // TODO Bertrand : A verifier
+ PivResultsDefault res = new PivResultsDefault(new TYPE[]{TYPE.VX,TYPE.VY,TYPE.CORREL,TYPE.NORME,TYPE.OMEGA,TYPE.DIVERG});
+
+ if (super.in_ == null) {
+ analyze_.addErrorFromFile(PivResource.getS("Flux d'entr\xE9e non trouv\xE9"), 0);
+ return null;
+ }
+
+ try {
+ int lu=0;
+ boolean afficheAvance = false;
+ if ((progress_ != null) && (nbOctets > 0)) {
+ afficheAvance = true;
+ progress_.setProgression(0);
+ }
+ int pourcentageEnCours = 0;
+
+ in_.setJumpBlankLine(true);
+
+ // Boucle jusque fin de fichier. Exception EOF si fin.
+ while (true) {
+ in_.readFields();
+
+ double[] vals=new double[res.getResults().length];
+ for (int i=0; i<3/*vals.length*/; i++) {
+ vals[i]=in_.doubleField(i+2);
+ }
+ // Norme
+ vals[3]=Math.sqrt(vals[0]*vals[0]+vals[1]*vals[1]);
+ // Les autres
+ for (int i=4; i<vals.length; i++) {
+ vals[i]=i;
+ }
+ res.addPoint(in_.doubleField(0), in_.doubleField(1), vals);
+
+ lu+=26; // Si le formattage en fortran
+
+ if ((afficheAvance) && ((lu * 100 / nbOctets) >= (pourcentageEnCours + 20))) {
+ pourcentageEnCours += 20;
+ progress_.setProgression(pourcentageEnCours);
+ }
+ }
+ }
+ // Sortie normale
+ catch (final EOFException e) {
+ }
+ catch (final IOException e) {
+ analyze_.addErrorFromFile(PivResource.getS("Une erreur de lecture s'est produite"), in_.getLineNumber());
+ }
+ catch (final NumberFormatException e) {
+ analyze_.addErrorFromFile(PivResource.getS("Une erreur de lecture s'est produite"), in_.getLineNumber());
+ }
+
+ if (progress_ != null) {
+ progress_.setProgression(100);
+ }
+
+ return res;
+ }
+
+ /**
+ * Interruption asynchrone de l'activit\xE9 de lecture.
+ */
+ public void stop() {
+ bstop_ = true;
+ }
+}
Property changes on: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivInstantFilteredReader.java
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivOriginalImageModel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivOriginalImageModel.java 2015-02-09 11:29:41 UTC (rev 9011)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivOriginalImageModel.java 2015-02-12 13:49:51 UTC (rev 9012)
@@ -13,7 +13,7 @@
import org.fudaa.fudaa.piv.metier.PivProject;
/**
- * Un modele pour l'image reconditionn\xE9e.
+ * Un modele pour l'image source.
*
* @author Bertrand Marchand (mar...@de...)
* @version $Id$
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivOrthoPointsModel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivOrthoPointsModel.java 2015-02-09 11:29:41 UTC (rev 9011)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivOrthoPointsModel.java 2015-02-12 13:49:51 UTC (rev 9012)
@@ -22,7 +22,7 @@
/**
* Un modele pour les points d'orthorectification, soit dans l'espace d'image
- * reconditionn\xE9e, soit dans l'espace r\xE9el.
+ * source, soit dans l'espace r\xE9el.
*
* @author Bertrand Marchand (mar...@de...)
* @version $Id$
@@ -68,7 +68,7 @@
/**
* Construction du mod\xE8le.
- * @param _type Le mod\xE8le est d\xE9fini soit dans l'espace d'image reconditionn\xE9e
+ * @param _type Le mod\xE8le est d\xE9fini soit dans l'espace d'image source
* {@linkplain PivVisuPanel#MODE_ORIGINAL_VIEW}, soit dans l'espace r\xE9el
* {@linkplain PivVisuPanel#MODE_REAL_VIEW}.
*/
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivVelResultsModel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivVelResultsModel.java 2015-02-09 11:29:41 UTC (rev 9011)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivVelResultsModel.java 2015-02-12 13:49:51 UTC (rev 9012)
@@ -31,7 +31,7 @@
/**
* Le constructeur.
*/
- public PivVelResultsModel(PivResultsI[] _res) {
+ public PivVelResultsModel(PivResultsI... _res) {
results_=_res;
}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java 2015-02-09 11:29:41 UTC (rev 9011)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java 2015-02-12 13:49:51 UTC (rev 9012)
@@ -45,6 +45,7 @@
import org.fudaa.fudaa.piv.io.PivGridParamFileFormat;
import org.fudaa.fudaa.piv.io.PivHFileFormat;
import org.fudaa.fudaa.piv.io.PivImgRefFileFormat;
+import org.fudaa.fudaa.piv.io.PivInstantFilteredFil...
[truncated message content] |
|
From: <bma...@us...> - 2015-02-16 11:08:46
|
Revision: 9020
http://sourceforge.net/p/fudaa/svn/9020
Author: bmarchan
Date: 2015-02-16 11:08:44 +0000 (Mon, 16 Feb 2015)
Log Message:
-----------
Gestion interactive de la constitution des points de grille
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivTransfView.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeGridDefinitionAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivImportGridAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java 2015-02-13 14:07:57 UTC (rev 9019)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java 2015-02-16 11:08:44 UTC (rev 9020)
@@ -770,7 +770,7 @@
mn.addSeparator(PivResource.getS("Analyse LSPIV"));
mn.add(new PivComputeParamAction(this));
- sm=new BuMenu(PivResource.getS("Grille"),"mnGRP");
+ sm=new BuMenu(PivResource.getS("Points de grille"),"mnGRP");
bt=get2dFrame().getVisuPanel().getComputeGridDefinitionAction().buildMenuItem(EbliComponentFactory.INSTANCE);
bt.setText(PivResource.getS("D\xE9finir..."));
sm.add(bt);
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java 2015-02-13 14:07:57 UTC (rev 9019)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java 2015-02-16 11:08:44 UTC (rev 9020)
@@ -682,7 +682,7 @@
mdlInstantVelFltResults=new PivVelResultsModel(prj_.getInstantFilteredResults());
}
else {
- mdlInstantResults=null;
+ mdlInstantFltResults=null;
mdlInstantVelFltResults=null;
}
cqInstantFltIso_.setModele(mdlInstantFltResults);
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivTransfView.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivTransfView.java 2015-02-13 14:07:57 UTC (rev 9019)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivTransfView.java 2015-02-16 11:08:44 UTC (rev 9020)
@@ -257,7 +257,10 @@
mdlCntGrid.update();
}
else if("computeGrid".equals(_prop)) {
- cqGrille_.setModele(new ZModelePointEditable(prj_.getComputeGrid()));
+ if (prj_.getComputeGrid()==null)
+ cqGrille_.setModele(new ZModelePointEditable());
+ else
+ cqGrille_.setModele(new ZModelePointEditable(prj_.getComputeGrid()));
}
pnLayers_.getVueCalque().repaint();
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeGridDefinitionAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeGridDefinitionAction.java 2015-02-13 14:07:57 UTC (rev 9019)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeGridDefinitionAction.java 2015-02-16 11:08:44 UTC (rev 9020)
@@ -148,7 +148,7 @@
* @param _pn Le panneau des calques.
*/
public PivComputeGridDefinitionAction(PivVisuPanel _pn) {
- super(PivResource.getS("D\xE9finition de la grille..."), null, "DEFINE_GRID");
+ super(PivResource.getS("D\xE9finition des points de grille..."), null, "DEFINE_GRID");
pnCalques_=_pn;
controller_=new EditionController();
setCalqueInteraction(_pn.getEditionLayer());
@@ -170,20 +170,15 @@
public void changeAction() {
if (isSelected())
pnCalques_.setViewMode(PivVisuPanel.MODE_TRANSF_VIEW);
+ pnCalques_.getProject().setComputeCntGrid(null);
- // Modification du contour : On le supprime au pr\xE9alable, et affichage de la palette.
- if (pnCalques_.getProject().getComputeCntGrid()==null ||
+ if (pnCalques_.getProject().getComputeGrid()==null ||
pnCalques_.getCtuluUI().question(
- PivResource.getS("Modification du contour de grille"),
- PivResource.getS("Voulez-vous au pr\xE9alable modifier le contour de grille ?"))) {
- pnCalques_.getProject().setComputeCntGrid(null);
+ PivResource.getS("D\xE9finition des points de grille"),
+ PivResource.getS("Des points de grille existent d\xE9j\xE0.\nVoulez-vous les supprimer avant ajout des nouveaux ?"))) {
+ pnCalques_.getProject().setComputeGrid(null);
+ }
super.changeAction();
- }
- // Pas de modification du contour.
- else {
- setSelected(false);
- showPanelParameters();
- }
}
@@ -234,16 +229,33 @@
*/
public void showPanelParameters() {
final PivCntGrid params=pnCalques_.getProject().getComputeCntGrid();
+ final PivGrid oldGrid=pnCalques_.getProject().getComputeGrid();
PivComputeGridDefinitionPanel pn=new PivComputeGridDefinitionPanel() {
@Override
public void apply() {
retrieveParams(params);
PivGrid grid=PivGrid.computeFromShape(params.getContour(), params.getNbXPoints(), params.getNbYPoints());
- pnCalques_.getProject().setComputeCntGrid(params);
+ grid.merge(oldGrid);
pnCalques_.getProject().setComputeGrid(grid);
+
}
+
+ @Override
+ public boolean cancel() {
+ pnCalques_.getProject().setComputeGrid(oldGrid);
+ pnCalques_.getProject().setComputeCntGrid(null);
+ return super.cancel();
+ }
+
+ @Override
+ public boolean ok() {
+ pnCalques_.getProject().setComputeCntGrid(null);
+ return super.ok();
+ }
+
+
};
pn.setParams(params);
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivImportGridAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivImportGridAction.java 2015-02-13 14:07:57 UTC (rev 9019)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivImportGridAction.java 2015-02-16 11:08:44 UTC (rev 9020)
@@ -36,7 +36,7 @@
* @param _impl L'implementation.
*/
public PivImportGridAction(PivImplementation _impl) {
- super(PivResource.getS("Import d'une grille..."), null, "IMPORT_GRID");
+ super(PivResource.getS("Import des points de grille..."), null, "IMPORT_GRID");
impl=_impl;
setEnabled(false);
@@ -55,9 +55,9 @@
boolean keepPreviousGrid=false;
if (impl.getCurrentProject().getComputeGrid()!=null) {
- keepPreviousGrid=impl.question(
- PivResource.getS("Import d'une grille"),
- PivResource.getS("Une grille existe d\xE9j\xE0.\nVoulez vous ajouter les points de la nouvelle grille \xE0 la pr\xE9c\xE9dente ?"));
+ keepPreviousGrid=!impl.question(
+ PivResource.getS("Import des points de grille"),
+ PivResource.getS("Des points de grille existent d\xE9j\xE0.\nVoulez-vous les supprimer avant import des nouveaux ?"));
}
// Selection du fichier
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java 2015-02-13 14:07:57 UTC (rev 9019)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java 2015-02-16 11:08:44 UTC (rev 9020)
@@ -449,7 +449,6 @@
if (_ana.containsErrorOrFatalError()) {
_prj.setInstantResults(null);
- _prj.setAverageResults(null);
}
}
@@ -931,7 +930,6 @@
}
finally {
_prj.setInstantResults(res);
- _prj.setAverageResults(null);
}
return true;
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java 2015-02-13 14:07:57 UTC (rev 9019)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java 2015-02-16 11:08:44 UTC (rev 9020)
@@ -1388,6 +1388,10 @@
isModified=true;
fireProjectStateChanged("instantResults");
+
+ // Les r\xE9sultats instantan\xE9s ont chang\xE9, les autres r\xE9sultats sont r\xE9initialis\xE9s
+ setInstantFilteredResults(null);
+ setAverageResults(null);
}
/**
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2015-02-16 11:45:48
|
Revision: 9021
http://sourceforge.net/p/fudaa/svn/9021
Author: bmarchan
Date: 2015-02-16 11:45:46 +0000 (Mon, 16 Feb 2015)
Log Message:
-----------
Chgt CtuluAnalyse par CtuluLog
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivOrthoParamPanel.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivOrthoLaunchAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivOrthoVerifyGRPAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivGRPReader.java
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivOrthoParamPanel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivOrthoParamPanel.java 2015-02-16 11:08:44 UTC (rev 9020)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivOrthoParamPanel.java 2015-02-16 11:45:46 UTC (rev 9021)
@@ -1,10 +1,11 @@
package org.fudaa.fudaa.piv;
+import java.awt.Dimension;
import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+import org.fudaa.ctulu.CtuluLog;
import org.fudaa.ctulu.gui.CtuluDialogPanel;
-import java.awt.Dimension;
-import java.awt.event.ActionListener;
-import org.fudaa.ctulu.CtuluAnalyze;
import org.fudaa.fudaa.piv.io.PivExeLauncher;
import org.fudaa.fudaa.piv.metier.PivOrthoParameters;
import org.fudaa.fudaa.piv.metier.PivOrthoPoint;
@@ -189,15 +190,15 @@
impl_.getCurrentProject().setOrthoParameters(params);
- CtuluAnalyze ana=new CtuluAnalyze();
+ CtuluLog ana=new CtuluLog();
ana.setDesc(PivResource.getS("Pr\xE9visualisation des images transform\xE9es"));
PivExeLauncher.instance().launchOrthoPlan(ana, impl_.getCurrentProject(),null);
- if (ana.containsErrorOrFatalError()) {
+ if (ana.containsErrorOrSevereError()) {
impl_.error(ana.getResume());
return;
}
PivExeLauncher.instance().launchTransfImg(ana, impl_.getCurrentProject(),true,null);
- if (ana.containsErrorOrFatalError()) {
+ if (ana.containsErrorOrSevereError()) {
impl_.error(ana.getResume());
return;
}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivOrthoLaunchAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivOrthoLaunchAction.java 2015-02-16 11:08:44 UTC (rev 9020)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivOrthoLaunchAction.java 2015-02-16 11:45:46 UTC (rev 9021)
@@ -8,14 +8,13 @@
package org.fudaa.fudaa.piv.action;
import java.awt.event.ActionEvent;
-import java.io.File;
-import org.fudaa.ctulu.CtuluAnalyze;
+
+import org.fudaa.ctulu.CtuluLog;
import org.fudaa.ctulu.gui.CtuluDialog;
import org.fudaa.ctulu.gui.CtuluTaskOperationGUI;
import org.fudaa.ebli.commun.EbliActionSimple;
import org.fudaa.fudaa.piv.PivExePanel;
import org.fudaa.fudaa.piv.PivImplementation;
-import org.fudaa.fudaa.piv.PivPreferences;
import org.fudaa.fudaa.piv.PivProgressionPanel;
import org.fudaa.fudaa.piv.PivResource;
import org.fudaa.fudaa.piv.io.PivExeLauncher;
@@ -59,15 +58,15 @@
public void act() {
try {
- CtuluAnalyze ana=new CtuluAnalyze();
+ CtuluLog ana=new CtuluLog();
ana.setDesc(getName());
PivExeLauncher.instance().launchOrthoPlan(ana, impl.getCurrentProject(), this);
- if (ana.containsErrorOrFatalError()) {
+ if (ana.containsErrorOrSevereError()) {
impl.error(ana.getResume());
return;
}
PivExeLauncher.instance().launchTransfImg(ana, impl.getCurrentProject(), false, this);
- if (ana.containsErrorOrFatalError()) {
+ if (ana.containsErrorOrSevereError()) {
impl.error(ana.getResume());
return;
}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivOrthoVerifyGRPAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivOrthoVerifyGRPAction.java 2015-02-16 11:08:44 UTC (rev 9020)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivOrthoVerifyGRPAction.java 2015-02-16 11:45:46 UTC (rev 9021)
@@ -8,14 +8,13 @@
package org.fudaa.fudaa.piv.action;
import java.awt.event.ActionEvent;
-import java.io.File;
-import org.fudaa.ctulu.CtuluAnalyze;
+
+import org.fudaa.ctulu.CtuluLog;
import org.fudaa.ctulu.gui.CtuluDialog;
import org.fudaa.ebli.commun.EbliActionSimple;
-import org.fudaa.fudaa.piv.PivOrthoVerifyGRPPanel;
import org.fudaa.fudaa.piv.PivExePanel;
import org.fudaa.fudaa.piv.PivImplementation;
-import org.fudaa.fudaa.piv.PivPreferences;
+import org.fudaa.fudaa.piv.PivOrthoVerifyGRPPanel;
import org.fudaa.fudaa.piv.PivResource;
import org.fudaa.fudaa.piv.PivVisuPanel;
import org.fudaa.fudaa.piv.io.PivExeLauncher;
@@ -59,15 +58,15 @@
}
}
- CtuluAnalyze ana=new CtuluAnalyze();
+ CtuluLog ana=new CtuluLog();
ana.setDesc(PivResource.getS("V\xE9rification des points d'orthorectification"));
PivExeLauncher.instance().launchOrthoPlan(ana, impl.getCurrentProject(),null);
- if (ana.containsErrorOrFatalError()) {
+ if (ana.containsErrorOrSevereError()) {
impl.error(ana.getResume());
return;
}
PivExeLauncher.instance().launchVerifOrtho(ana, impl.getCurrentProject(),null);
- if (ana.containsErrorOrFatalError()) {
+ if (ana.containsErrorOrSevereError()) {
impl.error(ana.getResume());
return;
}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java 2015-02-16 11:08:44 UTC (rev 9020)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java 2015-02-16 11:45:46 UTC (rev 9021)
@@ -12,6 +12,7 @@
import org.fudaa.ctulu.CtuluAnalyze;
import org.fudaa.ctulu.CtuluIOResult;
import org.fudaa.ctulu.CtuluLibFile;
+import org.fudaa.ctulu.CtuluLog;
import org.fudaa.ctulu.fileformat.FileWriteOperationAbstract;
import org.fudaa.ctulu.gui.CtuluTaskOperationGUI;
import org.fudaa.fudaa.piv.PivPreferences;
@@ -185,7 +186,7 @@
* @param _task La tache en cours d'execution.
* @return true : Tout s'est bien d\xE9roul\xE9.
*/
- public boolean launchOrthoPlan(CtuluAnalyze _ana, PivProject _prj, CtuluTaskOperationGUI _task) {
+ public boolean launchOrthoPlan(CtuluLog _ana, PivProject _prj, CtuluTaskOperationGUI _task) {
File prjRoot=_prj.getRoot();
File prjOutputs=new File(prjRoot,OUTPUT_DIR);
@@ -237,7 +238,7 @@
* r\xE9el.
* @return true : Tout s'est bien d\xE9roul\xE9.
*/
- public boolean launchTransfImg(CtuluAnalyze _ana, PivProject _prj, boolean _apercu, CtuluTaskOperationGUI _task) {
+ public boolean launchTransfImg(CtuluLog _ana, PivProject _prj, boolean _apercu, CtuluTaskOperationGUI _task) {
File prjRoot=_prj.getRoot();
File prjImgInp=new File(prjRoot,IMG_PGM_DIR);
File prjImgOut=new File(prjRoot,IMG_TRANSF_DIR);
@@ -466,7 +467,7 @@
* @return true : Tout s'est bien d\xE9roul\xE9.
* @see #launchOrthoPlan
*/
- public boolean launchVerifOrtho(CtuluAnalyze _ana, PivProject _prj, CtuluTaskOperationGUI _task) {
+ public boolean launchVerifOrtho(CtuluLog _ana, PivProject _prj, CtuluTaskOperationGUI _task) {
File prjRoot=_prj.getRoot();
File prjOutputs=new File(prjRoot,OUTPUT_DIR);
@@ -491,7 +492,7 @@
// R\xE9cup\xE9ration des donn\xE9es du projet.
File grpFile = new File(prjOutputs, "GRP_test_ortho.dat");
- CtuluIOResult<PivOrthoPoint[]> ret = new PivGRPReader().read(grpFile, null);
+ CtuluIOResult<PivOrthoPoint[]> ret = new PivGRPReader(true).read(grpFile, null);
PivOrthoPoint[] computePts=ret.getSource();
// On conserve les points d'origine, on ne modifie que les points recalcul\xE9s
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivGRPReader.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivGRPReader.java 2015-02-16 11:08:44 UTC (rev 9020)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivGRPReader.java 2015-02-16 11:45:46 UTC (rev 9021)
@@ -35,6 +35,14 @@
*/
public PivGRPReader() {
}
+
+ /**
+ * Le constructeur, avec le param\xE8etre d\xE9finissant si le format est \xE9tendu ou non.
+ * @param _extendFormat True : Le format est etendu.
+ */
+ public PivGRPReader(boolean _extendFormat) {
+ bextFormat_=_extendFormat;
+ }
/**
* Definit si le fichier est au format etendu.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2015-02-16 13:13:04
|
Revision: 9022
http://sourceforge.net/p/fudaa/svn/9022
Author: bmarchan
Date: 2015-02-16 13:13:02 +0000 (Mon, 16 Feb 2015)
Log Message:
-----------
On rend le calque image invisible au moment de v?\195?\169rifier les points GRP
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivOrthoVerifyGRPPanel.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivVisuPanel.java
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivOrthoVerifyGRPPanel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivOrthoVerifyGRPPanel.java 2015-02-16 11:45:46 UTC (rev 9021)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivOrthoVerifyGRPPanel.java 2015-02-16 13:13:02 UTC (rev 9022)
@@ -25,6 +25,7 @@
public class PivOrthoVerifyGRPPanel extends CtuluDialogPanel {
PivOrthoPoint[] pts_;
PivImplementation impl_;
+ boolean bImgVisible_;
/**
* Une classe pour le modele de la table affichant les valeurs r\xE9elles et
@@ -118,6 +119,11 @@
public PivOrthoVerifyGRPPanel(PivImplementation _impl) {
impl_=_impl;
pts_=_impl.getCurrentProject().getOrthoPoints();
+
+ // On efface le calque image, l'image qu'elle contient n'est pas forcement pertinente.
+ bImgVisible_=impl_.get2dFrame().getVisuPanel().isImageLayerVisible();
+ impl_.get2dFrame().getVisuPanel().setImageLayerVisible(false);
+
customize();
}
@@ -139,6 +145,7 @@
@Override
public void apply() {
impl_.get2dFrame().getVisuPanel().setControlPointsLayerVisible(false);
+ impl_.get2dFrame().getVisuPanel().setImageLayerVisible(bImgVisible_);
}
/**
@@ -148,6 +155,7 @@
@Override
public boolean cancel() {
impl_.get2dFrame().getVisuPanel().setControlPointsLayerVisible(false);
+ impl_.get2dFrame().getVisuPanel().setImageLayerVisible(bImgVisible_);
return super.cancel();
}
}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java 2015-02-16 11:45:46 UTC (rev 9021)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java 2015-02-16 13:13:02 UTC (rev 9022)
@@ -762,6 +762,22 @@
public void setFlowLayerVisible(boolean _b) {
cqFlowResults.setVisible(_b);
}
+
+ /**
+ * Rend visible le calque image.
+ * @param _b True : Le calque est visible.
+ */
+ public void setImageLayerVisible(boolean _b) {
+ cqRealImg_.setVisible(_b);
+ }
+
+ /**
+ * Retourne la visibilit\xE9 du calque image.
+ * @return True : Le calque est visible.
+ */
+ public boolean isImageLayerVisible() {
+ return cqRealImg_.isVisible();
+ }
public ZCalqueLigneBriseeEditable getTransectLayer() {
return cqTransect_;
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivVisuPanel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivVisuPanel.java 2015-02-16 11:45:46 UTC (rev 9021)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivVisuPanel.java 2015-02-16 13:13:02 UTC (rev 9022)
@@ -381,6 +381,22 @@
}
/**
+ * Rend visible le calque image.
+ * @param _b True : Le calque est visible.
+ */
+ public void setImageLayerVisible(boolean _b) {
+ getRealView().setImageLayerVisible(_b);
+ }
+
+ /**
+ * Retourne la visibilit\xE9 du calque image.
+ * @return True : Le calque est visible.
+ */
+ public boolean isImageLayerVisible() {
+ return getRealView().isImageLayerVisible();
+ }
+
+ /**
* Retourne le mode de vue.
* @return Le mode de vue parmi {@link #MODE_ORIGINAL_VIEW},
* {@link #MODE_REAL_VIEW}, {@link #MODE_TRANSF_VIEW}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2015-02-16 13:18:17
|
Revision: 9023
http://sourceforge.net/p/fudaa/svn/9023
Author: bmarchan
Date: 2015-02-16 13:18:14 +0000 (Mon, 16 Feb 2015)
Log Message:
-----------
ReChgt CtuluAnalyse par CtuluLog
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeAverageAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeFlowAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeLaunchAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeAverageAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeAverageAction.java 2015-02-16 13:13:02 UTC (rev 9022)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeAverageAction.java 2015-02-16 13:18:14 UTC (rev 9023)
@@ -9,15 +9,15 @@
import java.awt.event.ActionEvent;
-import org.fudaa.ctulu.CtuluAnalyze;
+import org.fudaa.ctulu.CtuluLog;
import org.fudaa.ctulu.gui.CtuluDialog;
import org.fudaa.ctulu.gui.CtuluTaskOperationGUI;
import org.fudaa.ebli.commun.EbliActionSimple;
import org.fudaa.fudaa.piv.PivExePanel;
+import org.fudaa.fudaa.piv.PivFilterInstantResultsPanel;
import org.fudaa.fudaa.piv.PivImplementation;
import org.fudaa.fudaa.piv.PivProgressionPanel;
import org.fudaa.fudaa.piv.PivResource;
-import org.fudaa.fudaa.piv.PivFilterInstantResultsPanel;
import org.fudaa.fudaa.piv.PivVisuPanel;
import org.fudaa.fudaa.piv.io.PivExeLauncher;
import org.fudaa.fudaa.piv.metier.PivComputeParameters;
@@ -80,18 +80,18 @@
public void act() {
try {
- CtuluAnalyze ana=new CtuluAnalyze();
+ CtuluLog ana=new CtuluLog();
// Filtrage
PivExeLauncher.instance().launchFilterInstantResultats(ana, impl.getCurrentProject(),this);
- if (ana.containsErrorOrFatalError()) {
+ if (ana.containsErrorOrSevereError()) {
impl.error(ana.getResume());
return;
}
// Moyenne
PivExeLauncher.instance().launchAverageResults(ana, impl.getCurrentProject(), this);
- if (ana.containsErrorOrFatalError()) {
+ if (ana.containsErrorOrSevereError()) {
impl.error(ana.getResume());
return;
}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeFlowAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeFlowAction.java 2015-02-16 13:13:02 UTC (rev 9022)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeFlowAction.java 2015-02-16 13:18:14 UTC (rev 9023)
@@ -11,7 +11,7 @@
import javax.swing.SwingUtilities;
-import org.fudaa.ctulu.CtuluAnalyze;
+import org.fudaa.ctulu.CtuluLog;
import org.fudaa.ctulu.gui.CtuluDialog;
import org.fudaa.ctulu.gui.CtuluTaskOperationGUI;
import org.fudaa.ebli.commun.EbliActionSimple;
@@ -72,16 +72,16 @@
@Override
public void act() {
try {
- CtuluAnalyze ana=new CtuluAnalyze();
+ CtuluLog ana=new CtuluLog();
ana.setDesc(this.getName());
PivExeLauncher.instance().launchBathyCompute(ana, impl.getCurrentProject(), this);
- if (ana.containsErrorOrFatalError()) {
+ if (ana.containsErrorOrSevereError()) {
impl.error(ana.getResume());
return;
}
PivExeLauncher.instance().launchQCompute(ana, impl.getCurrentProject(), this);
- if (ana.containsErrorOrFatalError()) {
+ if (ana.containsErrorOrSevereError()) {
impl.error(ana.getResume());
return;
}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeLaunchAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeLaunchAction.java 2015-02-16 13:13:02 UTC (rev 9022)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeLaunchAction.java 2015-02-16 13:18:14 UTC (rev 9023)
@@ -8,17 +8,15 @@
package org.fudaa.fudaa.piv.action;
import java.awt.event.ActionEvent;
-import java.io.File;
import javax.swing.SwingUtilities;
-import org.fudaa.ctulu.CtuluAnalyze;
+import org.fudaa.ctulu.CtuluLog;
import org.fudaa.ctulu.gui.CtuluDialog;
import org.fudaa.ctulu.gui.CtuluTaskOperationGUI;
import org.fudaa.ebli.commun.EbliActionSimple;
import org.fudaa.fudaa.piv.PivExePanel;
import org.fudaa.fudaa.piv.PivImplementation;
-import org.fudaa.fudaa.piv.PivPreferences;
import org.fudaa.fudaa.piv.PivProgressionPanel;
import org.fudaa.fudaa.piv.PivResource;
import org.fudaa.fudaa.piv.PivVisuPanel;
@@ -68,16 +66,16 @@
public void act() {
try {
- CtuluAnalyze ana=new CtuluAnalyze();
+ CtuluLog ana=new CtuluLog();
ana.setDesc(this.getName());
PivExeLauncher.instance().launchPiv(ana, impl.getCurrentProject(), this);
- if (ana.containsErrorOrFatalError()) {
+ if (ana.containsErrorOrSevereError()) {
impl.error(ana.getResume());
return;
}
PivExeLauncher.instance().launchInstantResults(ana, impl.getCurrentProject(), this);
- if (ana.containsErrorOrFatalError()) {
+ if (ana.containsErrorOrSevereError()) {
impl.error(ana.getResume());
return;
}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java 2015-02-16 13:13:02 UTC (rev 9022)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java 2015-02-16 13:18:14 UTC (rev 9023)
@@ -9,11 +9,9 @@
import javax.imageio.ImageIO;
-import org.fudaa.ctulu.CtuluAnalyze;
import org.fudaa.ctulu.CtuluIOResult;
import org.fudaa.ctulu.CtuluLibFile;
import org.fudaa.ctulu.CtuluLog;
-import org.fudaa.ctulu.fileformat.FileWriteOperationAbstract;
import org.fudaa.ctulu.gui.CtuluTaskOperationGUI;
import org.fudaa.fudaa.piv.PivPreferences;
import org.fudaa.fudaa.piv.PivResource;
@@ -351,7 +349,7 @@
* @param _task La tache en cours d'execution.
* @return true : Tout s'est bien d\xE9roul\xE9.
*/
- public boolean launchPiv(CtuluAnalyze _ana, PivProject _prj, CtuluTaskOperationGUI _task) {
+ public boolean launchPiv(CtuluLog _ana, PivProject _prj, CtuluTaskOperationGUI _task) {
File prjRoot=_prj.getRoot();
File prjImgOut=new File(prjRoot,IMG_TRANSF_DIR);
File prjOutputs=new File(prjRoot,OUTPUT_DIR);
@@ -448,7 +446,7 @@
new File(prjImgOut, "image1_transf.pgm").delete();
new File(prjImgOut, "image2_transf.pgm").delete();
- if (_ana.containsErrorOrFatalError()) {
+ if (_ana.containsErrorOrSevereError()) {
_prj.setInstantResults(null);
}
}
@@ -530,7 +528,7 @@
* @param _task La tache en cours d'execution.
* @return true : Tout s'est bien d\xE9roul\xE9.
*/
- public boolean launchFilterInstantResultats(CtuluAnalyze _ana, PivProject _prj, CtuluTaskOperationGUI _task) {
+ public boolean launchFilterInstantResultats(CtuluLog _ana, PivProject _prj, CtuluTaskOperationGUI _task) {
File prjRoot=_prj.getRoot();
File prjOutputs=new File(prjRoot,OUTPUT_DIR);
File prjVelFlt=new File(prjRoot,VEL_FILTER_DIR);
@@ -605,7 +603,7 @@
* @return true : Tout s'est bien d\xE9roul\xE9.
* @see #launchFilterVelocities
*/
- public boolean launchAverageResults(CtuluAnalyze _ana, PivProject _prj, CtuluTaskOperationGUI _task) {
+ public boolean launchAverageResults(CtuluLog _ana, PivProject _prj, CtuluTaskOperationGUI _task) {
File prjRoot=_prj.getRoot();
File prjOutputs=new File(prjRoot,OUTPUT_DIR);
@@ -694,7 +692,7 @@
* @param _task La tache en cours d'execution.
* @return true : Tout s'est bien d\xE9roul\xE9.
*/
- public boolean launchBathyCompute(CtuluAnalyze _ana, PivProject _prj, CtuluTaskOperationGUI _task) {
+ public boolean launchBathyCompute(CtuluLog _ana, PivProject _prj, CtuluTaskOperationGUI _task) {
File prjRoot=_prj.getRoot();
File prjOutputs=new File(prjRoot,OUTPUT_DIR);
@@ -755,7 +753,7 @@
* @param _task La tache en cours d'execution.
* @return true : Tout s'est bien d\xE9roul\xE9.
*/
- public boolean launchQCompute(CtuluAnalyze _ana, PivProject _prj, CtuluTaskOperationGUI _task) {
+ public boolean launchQCompute(CtuluLog _ana, PivProject _prj, CtuluTaskOperationGUI _task) {
File prjRoot=_prj.getRoot();
File prjOutputs=new File(prjRoot,OUTPUT_DIR);
@@ -838,7 +836,7 @@
* @return true : Tout s'est bien d\xE9roul\xE9.
* @see #launchPiv
*/
- public boolean launchInstantResults(CtuluAnalyze _ana, PivProject _prj, CtuluTaskOperationGUI _task) {
+ public boolean launchInstantResults(CtuluLog _ana, PivProject _prj, CtuluTaskOperationGUI _task) {
File prjRoot=_prj.getRoot();
File prjVelReal=new File(prjRoot, VEL_REAL_DIR);
File prjVelScal=new File(prjRoot, VEL_SCAL_DIR);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2015-02-16 14:03:24
|
Revision: 9024
http://sourceforge.net/p/fudaa/svn/9024
Author: bmarchan
Date: 2015-02-16 14:03:12 +0000 (Mon, 16 Feb 2015)
Log Message:
-----------
Nettoyage
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivOriginalView.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivAutoCacheAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivSelectImagesAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivResultsDefault.java
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivOriginalView.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivOriginalView.java 2015-02-16 13:18:14 UTC (rev 9023)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivOriginalView.java 2015-02-16 14:03:12 UTC (rev 9024)
@@ -24,7 +24,6 @@
import org.fudaa.ebli.commun.EbliUIProperties;
import org.fudaa.ebli.trace.TraceIcon;
import org.fudaa.ebli.trace.TraceIconModel;
-import org.fudaa.fudaa.piv.action.PivNewTransectAction;
import org.fudaa.fudaa.piv.action.PivOriginalViewAction;
import org.fudaa.fudaa.piv.action.PivOrthoGRPAction;
import org.fudaa.fudaa.piv.layer.PivImageRasterLayer;
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivAutoCacheAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivAutoCacheAction.java 2015-02-16 13:18:14 UTC (rev 9023)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivAutoCacheAction.java 2015-02-16 14:03:12 UTC (rev 9024)
@@ -7,7 +7,6 @@
*/
package org.fudaa.fudaa.piv.action;
-import org.fudaa.ctulu.CtuluAnalyze;
import org.fudaa.ctulu.gui.CtuluDialog;
import org.fudaa.ctulu.gui.CtuluTaskOperationGUI;
import org.fudaa.ebli.commun.EbliActionChangeState;
@@ -54,8 +53,6 @@
public void act() {
try {
- CtuluAnalyze ana=new CtuluAnalyze();
- ana.setDesc(getName());
impl.getCurrentProject().rebuiltAllCacheImagesIfNeeded(this);
}
finally {
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivSelectImagesAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivSelectImagesAction.java 2015-02-16 13:18:14 UTC (rev 9023)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivSelectImagesAction.java 2015-02-16 14:03:12 UTC (rev 9024)
@@ -10,7 +10,7 @@
import java.awt.event.ActionEvent;
import java.io.File;
-import org.fudaa.ctulu.CtuluAnalyze;
+import org.fudaa.ctulu.CtuluLog;
import org.fudaa.ctulu.gui.CtuluDialog;
import org.fudaa.ctulu.gui.CtuluTaskOperationGUI;
import org.fudaa.ebli.commun.EbliActionSimple;
@@ -81,11 +81,11 @@
@Override
public void act() {
try {
- CtuluAnalyze ana=new CtuluAnalyze();
+ CtuluLog ana=new CtuluLog();
ana.setDesc(getName());
impl.getCurrentProject().setSrcImagesFiles(srcImgFiles, this, ana);
- if (ana.containsErrorOrFatalError()) {
+ if (ana.containsErrorOrSevereError()) {
impl.error(ana.getResume());
return;
}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java 2015-02-16 13:18:14 UTC (rev 9023)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java 2015-02-16 14:03:12 UTC (rev 9024)
@@ -20,10 +20,10 @@
import javax.imageio.ImageReader;
import javax.imageio.stream.ImageInputStream;
-import org.fudaa.ctulu.CtuluAnalyze;
import org.fudaa.ctulu.CtuluIOResult;
import org.fudaa.ctulu.CtuluLibArray;
import org.fudaa.ctulu.CtuluLibFile;
+import org.fudaa.ctulu.CtuluLog;
import org.fudaa.ctulu.ProgressionInterface;
import org.fudaa.ctulu.gui.CtuluTaskOperationGUI;
import org.fudaa.fudaa.piv.PivPreferences;
@@ -576,7 +576,7 @@
*
* @param _files Les images.
*/
- public void setSrcImagesFiles(File[] _files, CtuluTaskOperationGUI _task, CtuluAnalyze _ana) {
+ public void setSrcImagesFiles(File[] _files, CtuluTaskOperationGUI _task, CtuluLog _ana) {
File imgInpDir=new File(rootPath,IMG_PGM_DIR);
imgInpDir.mkdirs();
@@ -628,7 +628,7 @@
* @param _imgOrig Les fichiers d'origine \xE0 reconditionner.
* @return true : Tout s'est bien d\xE9roul\xE9.
*/
- public boolean repack(CtuluAnalyze _ana, CtuluTaskOperationGUI _task, File[] _imgOrig) {
+ public boolean repack(CtuluLog _ana, CtuluTaskOperationGUI _task, File[] _imgOrig) {
File imgInpDir=new File(rootPath,IMG_PGM_DIR);
if (_task!=null)
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivResultsDefault.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivResultsDefault.java 2015-02-16 13:18:14 UTC (rev 9023)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivResultsDefault.java 2015-02-16 14:03:12 UTC (rev 9024)
@@ -1,7 +1,6 @@
package org.fudaa.fudaa.piv.metier;
import gnu.trove.TDoubleArrayList;
-import gnu.trove.TIntArrayList;
import java.util.ArrayList;
import java.util.HashMap;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2015-02-19 14:16:09
|
Revision: 9033
http://sourceforge.net/p/fudaa/svn/9033
Author: bmarchan
Date: 2015-02-19 14:16:02 +0000 (Thu, 19 Feb 2015)
Log Message:
-----------
Fix : Les variables pour les resultats instantan?\195?\169s ou moyen peuvent ?\195?\170tre diff?\195?\169rentes.
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivResultsModel.java
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java 2015-02-18 16:56:23 UTC (rev 9032)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java 2015-02-19 14:16:02 UTC (rev 9033)
@@ -86,6 +86,7 @@
private AbstractButton btAnim_;
private PivProject prj_;
private List<BCalqueAffichage> layers_=new ArrayList<BCalqueAffichage>();
+ private boolean enableEvents2_=true;
ZCalqueMultiPointEditable cqRealOrthoPoints_;
ZCalqueMultiPointEditable cqRealControlPoints_;
@@ -527,6 +528,8 @@
* @param _var La variable
*/
private void setSelectedVar(CtuluVariable _var) {
+ if (!enableEvents2_) return;
+
BCalque cq=pnLayers_.getScene().getCalqueActif();
if (cq==cqInstantIso_) {
@@ -564,10 +567,6 @@
cbVel_.removeAllItems();
cbVel_.setEnabled(false);
- Object itVarSel=cbVar_.getSelectedItem();
- cbVar_.removeAllItems();
- cbVar_.setEnabled(false);
-
btLock_.setEnabled(false);
if (prj_==null) return;
@@ -584,7 +583,7 @@
cbImg_.setEnabled(imgs.length > 0);
}
- // La liste des r\xE9sultats instantan\xE9s
+ // La liste des r\xE9sultats instantan\xE9s/filtr\xE9s
PivResultsI[] instantRes=prj_.getInstantResults();
if (instantRes != null) {
for (int i = 0; i < instantRes.length; i++) {
@@ -598,39 +597,49 @@
btLock_.setEnabled(imgs!=null && instantRes!=null && imgs.length==instantRes.length+1);
- // La liste des variables
- if (instantRes != null) {
- for (CtuluVariable var : instantRes[0].getResults()) {
- cbVar_.addItem(var);
- }
- if (itVarSel!=null)
- cbVar_.setSelectedItem(itVarSel);
-
- cbVar_.setEnabled(cbVar_.getItemCount()>0);
- }
+ majToolsState();
}
/**
- * Met a jour l'\xE9tat des boutons
+ * Met a jour l'\xE9tat des boutons en fonction du calque actif.
*/
private void majToolsState() {
BCalque cq=pnLayers_.getScene().getCalqueActif();
- if (cq==cqAverageIso_ && cqAverageIso_.modele()!=null) {
- cbVar_.setEnabled(true);
- cbVar_.setSelectedItem(cqAverageIso_.modele().getCurrentVar());
+ try {
+ enableEvents2_=false;
+
+ if (cq==cqAverageIso_ && cqAverageIso_.modele()!=null && cqAverageIso_.modele().getVariables().length!=0) {
+ cbVar_.setEnabled(true);
+ cbVar_.removeAllItems();
+ for (CtuluVariable var : cqAverageIso_.modele().getVariables()) {
+ cbVar_.addItem(var);
+ }
+ cbVar_.setSelectedItem(cqAverageIso_.modele().getCurrentVar());
+ }
+ else if (cq==cqInstantIso_ && cqInstantIso_.modele()!=null && cqInstantIso_.modele().getVariables().length!=0) {
+ cbVar_.setEnabled(true);
+ cbVar_.removeAllItems();
+ for (CtuluVariable var : cqInstantIso_.modele().getVariables()) {
+ cbVar_.addItem(var);
+ }
+ cbVar_.setSelectedItem(cqInstantIso_.modele().getCurrentVar());
+ }
+ else if (cq==cqInstantFltIso_ && cqInstantFltIso_.modele()!=null && cqInstantFltIso_.modele().getVariables().length!=0) {
+ cbVar_.setEnabled(true);
+ cbVar_.removeAllItems();
+ for (CtuluVariable var : cqInstantFltIso_.modele().getVariables()) {
+ cbVar_.addItem(var);
+ }
+ cbVar_.setSelectedItem(cqInstantFltIso_.modele().getCurrentVar());
+ }
+ else {
+ cbVar_.setEnabled(false);
+ }
}
- else if (cq==cqInstantIso_ && cqInstantIso_.modele()!=null) {
- cbVar_.setEnabled(true);
- cbVar_.setSelectedItem(cqInstantIso_.modele().getCurrentVar());
+ finally {
+ enableEvents2_=true;
}
- else if (cq==cqInstantFltIso_ && cqInstantFltIso_.modele()!=null) {
- cbVar_.setEnabled(true);
- cbVar_.setSelectedItem(cqInstantFltIso_.modele().getCurrentVar());
- }
- else {
- cbVar_.setEnabled(false);
- }
}
@Override
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivResultsModel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivResultsModel.java 2015-02-18 16:56:23 UTC (rev 9032)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivResultsModel.java 2015-02-19 14:16:02 UTC (rev 9033)
@@ -234,6 +234,15 @@
}
/**
+ * @return Les variables r\xE9sultats.
+ */
+ public CtuluVariable[] getVariables() {
+ if (results==null || results.length==0) return new CtuluVariable[0];
+
+ return results[0].getResults();
+ }
+
+ /**
* @return Le nombre de temps du mod\xE8le
*/
public int getNbTime() {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2015-02-19 15:59:19
|
Revision: 9035
http://sourceforge.net/p/fudaa/svn/9035
Author: bmarchan
Date: 2015-02-19 15:59:11 +0000 (Thu, 19 Feb 2015)
Log Message:
-----------
Corrections diverses
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivImportGRPAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivImportGridAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivImportTransectAction.java
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java 2015-02-19 14:28:38 UTC (rev 9034)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java 2015-02-19 15:59:11 UTC (rev 9035)
@@ -13,7 +13,6 @@
import java.awt.event.ActionEvent;
import java.beans.PropertyVetoException;
import java.io.File;
-import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import java.util.Observable;
@@ -527,7 +526,7 @@
fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
fc.setAcceptAllFileFilterUsed(false);
fc.setDialogTitle(PivResource.getS("Ouverture d'un projet"));
- if (fc.showOpenDialog(this.getFrame()) == JFileChooser.CANCEL_OPTION) {
+ if (fc.showOpenDialog(this.getFrame()) == CtuluFileChooser.CANCEL_OPTION) {
return;
}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java 2015-02-19 14:28:38 UTC (rev 9034)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java 2015-02-19 15:59:11 UTC (rev 9035)
@@ -246,10 +246,10 @@
cqInstantVelResults_ = new PivVelResultsLayer();
cqInstantVelResults_.setTitle(PivResource.getS("Vit. surf. inst. brutes"));
cqInstantVelResults_.setLongTitle(PivResource.getS("Vitesses de surface instantan\xE9es brutes"));
- cqInstantVelResults_.setTitleModifiable(true);
cqInstantVelResults_.setName("cqInstantVel");
// Donne la couleur des fl\xE8ches si pas de palette de couleurs.
cqInstantVelResults_.setLineModel(0, new TraceLigneModel(TraceLigne.LISSE, 1, Color.ORANGE));
+ cqInstantVelResults_.setTitleModifiable(true);
cqInstantVelResults_.setVisible(false);
// cqInstantVelResults_.addPropertyChangeListener(new PropertyChangeListener() {
// public void propertyChange(PropertyChangeEvent evt) {
@@ -263,10 +263,10 @@
cqInstantVelFltResults_ = new PivVelResultsLayer();
cqInstantVelFltResults_.setTitle(PivResource.getS("Vit. surf. inst. filtr\xE9es"));
cqInstantVelFltResults_.setLongTitle(PivResource.getS("Vitesses de surface instantan\xE9es filtr\xE9es"));
- cqInstantVelFltResults_.setTitleModifiable(true);
cqInstantVelFltResults_.setName("cqInstantVelFlt");
// Donne la couleur des fl\xE8ches si pas de palette de couleurs.
cqInstantVelFltResults_.setLineModel(0, new TraceLigneModel(TraceLigne.LISSE, 1, Color.GREEN.darker()));
+ cqInstantVelFltResults_.setTitleModifiable(true);
cqInstantVelFltResults_.setVisible(false);
// cqInstantVelFltResults_.addPropertyChangeListener(new PropertyChangeListener() {
// public void propertyChange(PropertyChangeEvent evt) {
@@ -300,10 +300,12 @@
// Layer des transect
cqTransect_= new ZCalqueLigneBriseeEditable();
cqTransect_.setTitle(PivResource.getS("Transect"));
+ cqTransect_.setLongTitle(PivResource.getS("Transect"));
cqTransect_.setName("cqTransect");
cqTransect_.setFormeEnable(new int[]{DeForme.LIGNE_BRISEE});
cqTransect_.setLineModel(1, new TraceLigneModel(TraceLigne.POINTILLE, 2, Color.ORANGE));
cqTransect_.setIconModel(1, new TraceIconModel(TraceIcon.LOSANGE_PLEIN, 3, Color.ORANGE));
+ cqTransect_.setTitleModifiable(true);
cqTransect_.setDestructible(false);
cqTransect_.setEditor(pnLayers_.getEditor());
getNewTransectAction().setTransectLayer(cqTransect_);
@@ -314,6 +316,7 @@
cqInstantFltIso_.setTitle(PivResource.getS("R\xE9sultats inst. filtr\xE9s"));
cqInstantFltIso_.setLongTitle(PivResource.getS("R\xE9sultats instantan\xE9s filtr\xE9s"));
cqInstantFltIso_.setName("cqInstantFltResults");
+ cqInstantFltIso_.setTitleModifiable(true);
cqInstantFltIso_.setDestructible(false);
cqInstantFltIso_.setVisible(false);
@@ -323,6 +326,7 @@
cqInstantIso_.setTitle(PivResource.getS("R\xE9sultats inst. bruts"));
cqInstantIso_.setLongTitle(PivResource.getS("R\xE9sultats instantan\xE9s bruts"));
cqInstantIso_.setName("cqInstantResults");
+ cqInstantIso_.setTitleModifiable(true);
cqInstantIso_.setDestructible(false);
cqInstantIso_.setVisible(false);
@@ -330,7 +334,9 @@
cqAverageIso_ = new PivResultsLayer();
cqAverageIso_.setLineModel(0, new TraceLigneModel(TraceLigne.LISSE, 1, Color.LIGHT_GRAY));
cqAverageIso_.setTitle(PivResource.getS("R\xE9sultats moyenn\xE9s"));
+ cqAverageIso_.setLongTitle(PivResource.getS("R\xE9sultats moyenn\xE9s"));
cqAverageIso_.setName("cqAveResults");
+ cqAverageIso_.setTitleModifiable(true);
cqAverageIso_.setDestructible(false);
cqAverageIso_.setVisible(false);
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivImportGRPAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivImportGRPAction.java 2015-02-19 14:28:38 UTC (rev 9034)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivImportGRPAction.java 2015-02-19 15:59:11 UTC (rev 9035)
@@ -13,6 +13,7 @@
import javax.swing.JFileChooser;
import org.fudaa.ctulu.CtuluIOResult;
+import org.fudaa.ctulu.gui.CtuluFileChooser;
import org.fudaa.ebli.commun.EbliActionSimple;
import org.fudaa.fudaa.piv.PivImplementation;
import org.fudaa.fudaa.piv.PivResource;
@@ -28,7 +29,7 @@
*/
public class PivImportGRPAction extends EbliActionSimple {
PivImplementation impl;
- JFileChooser fcGRP;
+ CtuluFileChooser fcGRP;
/**
* Constructeur
@@ -54,7 +55,7 @@
// Selection du fichier
if (fcGRP==null)
- fcGRP = new JFileChooser();
+ fcGRP = new CtuluFileChooser(true);
fcGRP.setAcceptAllFileFilterUsed(true);
fcGRP.setFileFilter(PivImplementation.FILE_FLT_GRP);
fcGRP.setMultiSelectionEnabled(false);
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivImportGridAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivImportGridAction.java 2015-02-19 14:28:38 UTC (rev 9034)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivImportGridAction.java 2015-02-19 15:59:11 UTC (rev 9035)
@@ -10,9 +10,8 @@
import java.awt.event.ActionEvent;
import java.io.File;
-import javax.swing.JFileChooser;
-
import org.fudaa.ctulu.CtuluIOResult;
+import org.fudaa.ctulu.gui.CtuluFileChooser;
import org.fudaa.ebli.commun.EbliActionSimple;
import org.fudaa.fudaa.piv.PivImplementation;
import org.fudaa.fudaa.piv.PivResource;
@@ -29,7 +28,7 @@
*/
public class PivImportGridAction extends EbliActionSimple {
PivImplementation impl;
- JFileChooser fcGrid;
+ CtuluFileChooser fcGrid;
/**
* Constructeur
@@ -62,12 +61,12 @@
// Selection du fichier
if (fcGrid==null)
- fcGrid = new JFileChooser();
+ fcGrid = new CtuluFileChooser(true);
fcGrid.setAcceptAllFileFilterUsed(true);
fcGrid.setFileFilter(PivImplementation.FILE_FLT_GRID);
fcGrid.setMultiSelectionEnabled(false);
fcGrid.setDialogTitle(PivResource.getS("S\xE9lection d'un fichier de grille"));
- if (fcGrid.showOpenDialog(impl.getFrame()) == JFileChooser.CANCEL_OPTION) {
+ if (fcGrid.showOpenDialog(impl.getFrame()) == CtuluFileChooser.CANCEL_OPTION) {
return;
}
File gridFile=fcGrid.getSelectedFile();
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivImportTransectAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivImportTransectAction.java 2015-02-19 14:28:38 UTC (rev 9034)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivImportTransectAction.java 2015-02-19 15:59:11 UTC (rev 9035)
@@ -3,9 +3,8 @@
import java.awt.event.ActionEvent;
import java.io.File;
-import javax.swing.JFileChooser;
-
import org.fudaa.ctulu.CtuluIOResult;
+import org.fudaa.ctulu.gui.CtuluFileChooser;
import org.fudaa.ebli.commun.EbliActionSimple;
import org.fudaa.fudaa.piv.PivImplementation;
import org.fudaa.fudaa.piv.PivResource;
@@ -21,7 +20,7 @@
*/
public class PivImportTransectAction extends EbliActionSimple {
PivImplementation impl;
- JFileChooser fcTransect;
+ CtuluFileChooser fcTransect;
/**
* Constructeur
@@ -47,12 +46,12 @@
// Selection du fichier
if (fcTransect==null)
- fcTransect = new JFileChooser();
+ fcTransect = new CtuluFileChooser();
fcTransect.setAcceptAllFileFilterUsed(true);
fcTransect.setFileFilter(PivImplementation.FILE_FLT_BATHY);
fcTransect.setMultiSelectionEnabled(false);
fcTransect.setDialogTitle(PivResource.getS("S\xE9lection d'un fichier transect"));
- if (fcTransect.showOpenDialog(impl.getFrame()) == JFileChooser.CANCEL_OPTION) {
+ if (fcTransect.showOpenDialog(impl.getFrame()) == CtuluFileChooser.CANCEL_OPTION) {
return;
}
File transectFile=fcTransect.getSelectedFile();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2015-02-24 13:42:15
|
Revision: 9047
http://sourceforge.net/p/fudaa/svn/9047
Author: bmarchan
Date: 2015-02-24 13:42:13 +0000 (Tue, 24 Feb 2015)
Log Message:
-----------
Fix : LEs champs sont par defaut d?\195?\169sactiv?\195?\169s dans la fenetre des filtres
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivFilterInstantResultsPanel.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivFilterInstantResultsPanel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivFilterInstantResultsPanel.java 2015-02-24 13:40:55 UTC (rev 9046)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivFilterInstantResultsPanel.java 2015-02-24 13:42:13 UTC (rev 9047)
@@ -9,8 +9,8 @@
import java.awt.BorderLayout;
import java.awt.Dimension;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
import javax.swing.BorderFactory;
import javax.swing.JCheckBox;
@@ -65,9 +65,10 @@
pnVelocity.setLayout(new BuVerticalLayout(3, true, false));
cbVelFlt_ = new JCheckBox(PivResource.getS("Filtrer les vitesses"));
- cbVelFlt_.addActionListener(new ActionListener() {
+ cbVelFlt_.addItemListener(new ItemListener() {
+
@Override
- public void actionPerformed(ActionEvent e) {
+ public void itemStateChanged(ItemEvent e) {
boolean b=cbVelFlt_.isSelected();
tfNormalMinLimit_.setEnabled(b);
tfNormalMaxLimit_.setEnabled(b);
@@ -86,6 +87,7 @@
JLabel lbNormalMinLimit=new JLabel(PivResource.getS("Min:"));
pn.add(lbNormalMinLimit, BorderLayout.WEST);
tfNormalMinLimit_ = new JTextField();
+ tfNormalMinLimit_.setEnabled(false);
pn.add(tfNormalMinLimit_, BorderLayout.CENTER);
pnNormalLimits.add(pn);
@@ -94,6 +96,7 @@
JLabel lbNormalMaxLimit=new JLabel(PivResource.getS("Max:"));
pn.add(lbNormalMaxLimit, BorderLayout.WEST);
tfNormalMaxLimit_ = new JTextField();
+ tfNormalMaxLimit_.setEnabled(false);
pn.add(tfNormalMaxLimit_, BorderLayout.CENTER);
pnNormalLimits.add(pn);
pnVelocity.add(pnNormalLimits);
@@ -107,6 +110,7 @@
JLabel lbVyMinLimit=new JLabel(PivResource.getS("Min:"));
pn.add(lbVyMinLimit, BorderLayout.WEST);
tfVyMinLimit_ = new JTextField();
+ tfVyMinLimit_.setEnabled(false);
pn.add(tfVyMinLimit_, BorderLayout.CENTER);
pnVyLimits.add(pn);
@@ -115,6 +119,7 @@
JLabel lbVyMaxLimit=new JLabel(PivResource.getS("Max:"));
pn.add(lbVyMaxLimit, BorderLayout.WEST);
tfVyMaxLimit_ = new JTextField();
+ tfVyMaxLimit_.setEnabled(false);
pn.add(tfVyMaxLimit_, BorderLayout.CENTER);
pnVyLimits.add(pn);
pnVelocity.add(pnVyLimits);
@@ -129,9 +134,10 @@
pnCorrel.setLayout(new BuVerticalLayout(3, true, false));
cbCorrelFlt_ = new JCheckBox(PivResource.getS("Filtrer les corr\xE9lations"));
- cbCorrelFlt_.addActionListener(new ActionListener() {
+ cbCorrelFlt_.addItemListener(new ItemListener() {
+
@Override
- public void actionPerformed(ActionEvent e) {
+ public void itemStateChanged(ItemEvent e) {
boolean b=cbCorrelFlt_.isSelected();
tfCorrelMinLimit_.setEnabled(b);
tfCorrelMaxLimit_.setEnabled(b);
@@ -148,6 +154,7 @@
JLabel lbCorrelMinLimit=new JLabel(PivResource.getS("Min:"));
pn.add(lbCorrelMinLimit, BorderLayout.WEST);
tfCorrelMinLimit_ = new JTextField();
+ tfCorrelMinLimit_.setEnabled(false);
pn.add(tfCorrelMinLimit_, BorderLayout.CENTER);
pnCorrelLimits.add(pn);
@@ -156,6 +163,7 @@
JLabel lbCorrelMaxLimit=new JLabel(PivResource.getS("Max:"));
pn.add(lbCorrelMaxLimit, BorderLayout.WEST);
tfCorrelMaxLimit_ = new JTextField();
+ tfCorrelMaxLimit_.setEnabled(false);
pn.add(tfCorrelMaxLimit_, BorderLayout.CENTER);
pnCorrelLimits.add(pn);
pnCorrel.add(pnCorrelLimits);
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java 2015-02-24 13:40:55 UTC (rev 9046)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java 2015-02-24 13:42:13 UTC (rev 9047)
@@ -84,7 +84,7 @@
static {
isPIV_.name = "LSPIV";
isPIV_.version = "1.4.1";
- isPIV_.date = "2015-02-19";
+ isPIV_.date = "2015-02-24";
isPIV_.rights = PivResource.getS("Tous droits r\xE9serv\xE9s")+". CETMEF (c)1999-2015";
isPIV_.license = "GPL2";
isPIV_.languages = "en,fr";
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2015-03-09 13:30:53
|
Revision: 9054
http://sourceforge.net/p/fudaa/svn/9054
Author: bmarchan
Date: 2015-03-09 13:30:46 +0000 (Mon, 09 Mar 2015)
Log Message:
-----------
PivUtils
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivResource.java
Added Paths:
-----------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivUtils.java
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivResource.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivResource.java 2015-03-09 13:29:22 UTC (rev 9053)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivResource.java 2015-03-09 13:30:46 UTC (rev 9054)
@@ -21,11 +21,6 @@
*/
public final class PivResource extends FudaaResource {
- /** Valeur min pour un double support\xE9e par FORTRAN */
- public final static double FORTRAN_DOUBLE_MIN=-1.e30;
- /** Valeur max pour un double support\xE9e par FORTRAN */
- public final static double FORTRAN_DOUBLE_MAX=1.e30;
-
/**
* Singleton, utilis\xE9 pour la r\xE9cup\xE9ration des icones propres \xE0 Fudaa-Piv.
*/
Added: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivUtils.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivUtils.java (rev 0)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivUtils.java 2015-03-09 13:30:46 UTC (rev 9054)
@@ -0,0 +1,29 @@
+package org.fudaa.fudaa.piv;
+
+/**
+ * Une classe d'utilitaires et de valeurs utiles.
+ * @author Bertrand Marchand (mar...@de...)
+ * @version $Id$
+ */
+public class PivUtils {
+
+ /** Valeur min pour un double support\xE9e par FORTRAN */
+ public final static double FORTRAN_DOUBLE_MIN=-1.e30;
+ /** Valeur max pour un double support\xE9e par FORTRAN */
+ public final static double FORTRAN_DOUBLE_MAX=1.e30;
+
+ /**
+ * Formatte un num\xE9ro sur 4 caract\xE8res pour un index donn\xE9. Les premiers
+ * caract\xE8res sont combl\xE9s par des 0. Exemple : 0013
+ * @param _i L'index
+ * @return Le num\xE9ro sur 4 caract\xE8res.
+ */
+ public static String formatOn4Chars(int _i) {
+ int pow=3;
+ StringBuffer sb=new StringBuffer();
+ while (_i<Math.pow(10,pow) && pow>0) { pow--; sb.append("0"); }
+ sb.append(_i);
+ return sb.toString();
+ }
+
+}
Property changes on: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivUtils.java
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2015-03-17 16:00:29
|
Revision: 9088
http://sourceforge.net/p/fudaa/svn/9088
Author: bmarchan
Date: 2015-03-17 16:00:27 +0000 (Tue, 17 Mar 2015)
Log Message:
-----------
Corrections diverses
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivUtils.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivImportTransectAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivNewTransectAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProjectPersistence.java
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivUtils.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivUtils.java 2015-03-17 15:02:06 UTC (rev 9087)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivUtils.java 2015-03-17 16:00:27 UTC (rev 9088)
@@ -66,7 +66,7 @@
PivUtils.FILE_FLT_IMAGES=new BuFileFilter(new String[]{"jpg","jpeg","gif","png","pgm","tif","tiff","bmp"},PivResource.getS("Fichiers images"));
PivUtils.FILE_FLT_GRID=new BuFileFilter("dat",PivResource.getS("Fichier grid"));
PivUtils.FILE_FLT_GRP=new BuFileFilter("dat",PivResource.getS("Fichier GRP"));
- PivUtils.FILE_FLT_BATHY=new BuFileFilter("dat",PivResource.getS("Fichier bathy"));
+ PivUtils.FILE_FLT_BATHY=new BuFileFilter(new String[]{"dat",FILE_FLT_TRANS_BTH.getFirstExt()},PivResource.getS("Fichier bathy"));
}
/**
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivImportTransectAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivImportTransectAction.java 2015-03-17 15:02:06 UTC (rev 9087)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivImportTransectAction.java 2015-03-17 16:00:27 UTC (rev 9088)
@@ -62,10 +62,8 @@
impl.error(ret.getAnalyze().getResume());
return;
}
+ impl.getCurrentProject().addTransect(ret.getSource());
- PivTransect trans=ret.getSource();
- impl.getCurrentProject().setTransects(new PivTransect[]{trans});
-
impl.get2dFrame().getVisuPanel().setViewMode(PivVisuPanel.MODE_REAL_VIEW);
}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivNewTransectAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivNewTransectAction.java 2015-03-17 15:02:06 UTC (rev 9087)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivNewTransectAction.java 2015-03-17 16:00:27 UTC (rev 9088)
@@ -131,16 +131,7 @@
transect.setStraight(_pl);
transect.setParams(params);
- PivTransect[] transects = pnCalques_.getProject().getTransects();
- PivTransect[] transnew;
- if (transects!=null)
- transnew=Arrays.copyOf(transects, transects.length+1);
- else
- transnew=new PivTransect[1];
-
- transnew[transnew.length-1]=transect;
-
- pnCalques_.getProject().setTransects(transnew);
+ pnCalques_.getProject().addTransect(transect);
hideWindow();
return true;
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java 2015-03-17 15:02:06 UTC (rev 9087)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java 2015-03-17 16:00:27 UTC (rev 9088)
@@ -841,6 +841,21 @@
}
/**
+ * Ajoute un transect aux transects existants.
+ * @param _trans Le transect \xE0 ajouter.
+ */
+ public void addTransect(PivTransect _trans) {
+ if (transects==null) {
+ transects=new PivTransect[]{_trans};
+ }
+ else {
+ transects=Arrays.copyOf(transects, transects.length+1);
+ transects[transects.length-1]=_trans;
+ }
+ setTransects(transects);
+ }
+
+ /**
* Definit les transects pour le calcul de d\xE9bit.
* @param _trans Les transects. <tt>null</tt> est autoris\xE9.
*/
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProjectPersistence.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProjectPersistence.java 2015-03-17 15:02:06 UTC (rev 9087)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProjectPersistence.java 2015-03-17 16:00:27 UTC (rev 9088)
@@ -573,12 +573,25 @@
*/
public void saveTransects(PivProject prj_, PivTransect[] _trans, ProgressionInterface _prog) {
File dirTransect=new File(prj_.rootPath,PivProject.TRANSECTS_DIR);
- CtuluLibFile.deleteDir(dirTransect);
+ dirTransect.mkdir();
+ // Suppression des fichiers bathy
+ File[] files=dirTransect.listFiles(PivUtils.FILE_FLT_TRANS_BTH);
+ if (files!=null) {
+ for (File file : files) {
+ file.delete();
+ }
+ }
+ // Suppression des fichiers params
+ files=dirTransect.listFiles(PivUtils.FILE_FLT_TRANS_PAR);
+ if (files!=null) {
+ for (File file : files) {
+ file.delete();
+ }
+ }
+
if (_trans==null) return;
- dirTransect.mkdir();
-
for (int i = 0; i < _trans.length; i++) {
File bthFile = new File(dirTransect, "trans" + PivUtils.formatOn4Chars(i + 1) + "."+PivUtils.FILE_FLT_TRANS_BTH.getFirstExt());
new PivBathyWriter().write(_trans[i], bthFile, _prog);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2015-03-19 13:43:41
|
Revision: 9089
http://sourceforge.net/p/fudaa/svn/9089
Author: bmarchan
Date: 2015-03-19 13:43:38 +0000 (Thu, 19 Mar 2015)
Log Message:
-----------
Multi transect correctifs
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivVisuPanel.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivEditAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivNewTransectAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivTransectModel.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java 2015-03-17 16:00:27 UTC (rev 9088)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java 2015-03-19 13:43:38 UTC (rev 9089)
@@ -738,7 +738,7 @@
mn.addSeparator(PivResource.getS("D\xE9bit"));
sm=new BuMenu(PivResource.getS("Transect"),"mnGRP");
bt=get2dFrame().getVisuPanel().getNewTransectAction().buildMenuItem(EbliComponentFactory.INSTANCE);
- bt.setText(PivResource.getS("D\xE9finir..."));
+ bt.setText(PivResource.getS("Nouveau..."));
sm.add(bt);
bt=new PivImportTransectAction((this)).buildMenuItem(EbliComponentFactory.INSTANCE);
bt.setText(PivResource.getS("Importer..."));
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivVisuPanel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivVisuPanel.java 2015-03-17 16:00:27 UTC (rev 9088)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivVisuPanel.java 2015-03-19 13:43:38 UTC (rev 9089)
@@ -21,7 +21,9 @@
import org.fudaa.ebli.animation.EbliAnimationSourceInterface;
import org.fudaa.ebli.calque.BCalqueAffichage;
import org.fudaa.ebli.calque.ZEbliCalquesPanel;
+import org.fudaa.ebli.calque.edition.ZCalqueEditable;
import org.fudaa.ebli.calque.edition.ZCalqueEditionInteraction;
+import org.fudaa.ebli.calque.edition.ZEditorDefault;
import org.fudaa.ebli.commun.EbliActionAbstract;
import org.fudaa.ebli.commun.EbliActionInterface;
import org.fudaa.ebli.commun.EbliActionPaletteAbstract;
@@ -36,6 +38,7 @@
import org.fudaa.fudaa.piv.action.PivOrthoGRPAction;
import org.fudaa.fudaa.piv.action.PivShowFlowAction;
import org.fudaa.fudaa.piv.action.PivShowVelocityAction;
+import org.fudaa.fudaa.piv.layer.PivEditableModel;
import org.fudaa.fudaa.piv.metier.PivProject;
import com.memoire.bu.BuDesktop;
@@ -136,6 +139,30 @@
buildActions();
}
+ @Override
+ protected ZEditorDefault createGisEditor() {
+ ZEditorDefault editor=new ZEditorDefault(this) {
+ @Override
+ public String edit() {
+ String ret=super.edit();
+
+ // Necessaire pour que le modele soit notifi\xE9 que la g\xE9om\xE9trie a \xE9t\xE9 \xE9dit\xE9e.
+ if (getScene().getCalqueActif() instanceof ZCalqueEditable) {
+ ZCalqueEditable cq=(ZCalqueEditable) getScene().getCalqueActif();
+ if (cq.getLayerSelection()!=null && !cq.getLayerSelection().isEmpty()) {
+ if (cq.modeleDonnees() instanceof PivEditableModel) {
+ ((PivEditableModel)cq.modeleDonnees()).geometryChanged(cq.getLayerSelection().getSelectedIndex());
+ }
+ }
+ }
+ return ret;
+ }
+ };
+ return editor;
+ }
+
+
+
public PivOriginalView getOriginalView() {
if (origView_==null) {
origView_=new PivOriginalView(this);
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivEditAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivEditAction.java 2015-03-17 16:00:27 UTC (rev 9088)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivEditAction.java 2015-03-19 13:43:38 UTC (rev 9089)
@@ -36,16 +36,7 @@
*/
@Override
public void actionPerformed(final ActionEvent _e) {
- if (pnCalques_.getScene().getCalqueActif() instanceof ZCalqueEditable) {
- ZCalqueEditable cq=(ZCalqueEditable) pnCalques_.getScene().getCalqueActif();
- if (cq.getLayerSelection()!=null && !cq.getLayerSelection().isEmpty()) {
- cq.editSelected();
-
- if (cq.modeleDonnees() instanceof PivEditableModel) {
- ((PivEditableModel)cq.modeleDonnees()).geometryChanged(cq.getLayerSelection().getSelectedIndex());
- }
- }
- }
+ pnCalques_.getEditor().edit();
}
@Override
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivNewTransectAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivNewTransectAction.java 2015-03-17 16:00:27 UTC (rev 9088)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivNewTransectAction.java 2015-03-19 13:43:38 UTC (rev 9089)
@@ -177,7 +177,7 @@
* @param _pn Le panneau des calques.
*/
public PivNewTransectAction(PivVisuPanel _pn) {
- super(PivResource.getS("D\xE9finition d'un transect..."), null, "CREATE_TRANSECT");
+ super(PivResource.getS("Nouveau transect..."), null, "CREATE_TRANSECT");
pnCalques_=_pn;
controller_=new EditionController();
propListener_=new EditionLayerPropertyListener();
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivTransectModel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivTransectModel.java 2015-03-17 16:00:27 UTC (rev 9088)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivTransectModel.java 2015-03-19 13:43:38 UTC (rev 9089)
@@ -8,13 +8,17 @@
import org.fudaa.ctulu.gis.GISAttribute;
import org.fudaa.ctulu.gis.GISAttributeInterface;
import org.fudaa.ctulu.gis.GISZoneCollectionLigneBrisee;
+import org.fudaa.ebli.calque.ZCalqueAffichageDonneesInterface;
import org.fudaa.ebli.calque.edition.ZEditionAttributesDataI;
import org.fudaa.ebli.calque.edition.ZModeleLigneBriseeEditable;
import org.fudaa.ebli.geometrie.GrPolyligne;
+import org.fudaa.ebli.palette.BPaletteInfo.InfoData;
+import org.fudaa.fudaa.piv.PivResource;
import org.fudaa.fudaa.piv.PivVisuPanel;
-import org.fudaa.fudaa.piv.metier.PivTransectParams;
+import org.fudaa.fudaa.piv.metier.PivFlowResults;
import org.fudaa.fudaa.piv.metier.PivProject;
import org.fudaa.fudaa.piv.metier.PivTransect;
+import org.fudaa.fudaa.piv.metier.PivTransectParams;
import com.vividsolutions.jts.geom.CoordinateSequence;
@@ -179,4 +183,53 @@
prj_.setTransects(trans);
}
+
+ @Override
+ public void fillWithInfo(InfoData _d, ZCalqueAffichageDonneesInterface _layer) {
+// final ZCalqueFleche.StringInfo info = new ZCalqueFleche.StringInfo();
+// info.titleIfOne_ = PivResource.getS("R\xE9sultats: point n\xB0");
+// info.title_ = PivResource.getS("R\xE9sultats");
+ super.fillWithInfo(_d, _layer);
+
+ // Infos de r\xE9sultats de calcul
+
+ if (!_layer.isSelectionEmpty()) {
+ int[] selIds=_layer.getLayerSelection().getSelectedIndex();
+
+ if (selIds.length==1) {
+ _d.setTitle(PivResource.getS("Transect n\xB0 {0}", selIds[0]+1));
+ }
+
+ if (prj_.getFlowResults() != null) {
+ PivFlowResults res=prj_.getFlowResults()[selIds[0]];
+ Double waterElevation=res.getWaterElevation();
+ Double discharge=res.getDischarge();
+ Double wettedArea=res.getWettedArea();
+ Double meanVelocity=res.getMeanVelocity();
+
+ for (int idx : selIds) {
+ res=prj_.getFlowResults()[idx];
+ if (waterElevation != res.getWaterElevation())
+ waterElevation=null;
+ if (discharge != res.getDischarge())
+ discharge=null;
+ if (wettedArea != res.getWettedArea())
+ wettedArea=null;
+ if (meanVelocity != res.getMeanVelocity())
+ meanVelocity=null;
+ }
+
+ if (waterElevation != null)
+ _d.put(PivResource.getS("Niveau d'eau (m)"), "" + waterElevation);
+ if (discharge != null)
+ _d.put(PivResource.getS("D\xE9bit total (m\xB3/s)"), "" + discharge);
+ if (wettedArea != null)
+ _d.put(PivResource.getS("Aire mouill\xE9e (m\xB2)"), "" + wettedArea);
+ if (meanVelocity != null)
+ _d.put(PivResource.getS("Vitesse moyenne sur la section (m/s)"), "" + meanVelocity);
+ }
+ }
+
+// ZCalqueFleche.fillWithInfo(_d, _layer.getLayerSelection(), this, info);
+ }
}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java 2015-03-17 16:00:27 UTC (rev 9088)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java 2015-03-19 13:43:38 UTC (rev 9089)
@@ -845,14 +845,10 @@
* @param _trans Le transect \xE0 ajouter.
*/
public void addTransect(PivTransect _trans) {
- if (transects==null) {
- transects=new PivTransect[]{_trans};
- }
- else {
- transects=Arrays.copyOf(transects, transects.length+1);
- transects[transects.length-1]=_trans;
- }
- setTransects(transects);
+ PivTransect[] trans=Arrays.copyOf(transects, transects.length+1);
+ trans[trans.length-1]=_trans;
+
+ setTransects(trans);
}
/**
@@ -860,6 +856,11 @@
* @param _trans Les transects. <tt>null</tt> est autoris\xE9.
*/
public void setTransects(PivTransect[] _trans) {
+ // On met a null les r\xE9sultats de d\xE9bit en cas de tableau diff\xE9rents,
+ // car le nombre de r\xE9sultats doit \xEAtre identique.
+ if (!Arrays.equals(transects, _trans)) {
+ setFlowResults(null);
+ }
transects=_trans;
isModified=true;
fireProjectStateChanged("transect");
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2015-03-26 22:55:10
|
Revision: 9094
http://sourceforge.net/p/fudaa/svn/9094
Author: bmarchan
Date: 2015-03-26 22:55:08 +0000 (Thu, 26 Mar 2015)
Log Message:
-----------
Lancement par defaut avec le langage choisi ?\195?\160 l'installation
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/Piv.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/Piv.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/Piv.java 2015-03-26 22:46:29 UTC (rev 9093)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/Piv.java 2015-03-26 22:55:08 UTC (rev 9094)
@@ -34,7 +34,8 @@
// Obligatoire pour que la langue soit prise en charge le plus tot possible
// et dans tous les composants standards de Java (FileChooser, ...). Il faut
// le faire avant m\xEAme qu'un composant Swing soit instanci\xE9.
- BuPreferences.BU.applyLanguage("en,fr");
+ String defLang=System.getProperty("piv.lang","fr"); // Langage par d\xE9faut \xE0 l'installation.
+ BuPreferences.BU.applyLanguage("en, fr",BuPreferences.BU.getStringProperty("locale.language",defLang),false);
// try {
// //pour utiliser les icones crystal.
// //a voir si cela convient.
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java 2015-03-26 22:46:29 UTC (rev 9093)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java 2015-03-26 22:55:08 UTC (rev 9094)
@@ -83,13 +83,13 @@
isPIV_.name = "LSPIV";
isPIV_.version = "1.4.2";
isPIV_.date = "2015-02-24";
- isPIV_.rights = PivResource.getS("Tous droits r\xE9serv\xE9s")+". CETMEF (c)1999-2015";
+ isPIV_.rights = PivResource.getS("Tous droits r\xE9serv\xE9s")+". CEREMA (c)1999-2015";
isPIV_.license = "GPL2";
isPIV_.languages = "en,fr";
isPIV_.authors=new String[]{"B.Marchand (mar...@de...)"};
isPIV_.contact="mag...@ed...\nje...@ir...\nal...@ed...";
isPIV_.http="http://forge.irstea.fr/projects/fudaa-lspiv";
- isPIV_.man="guide_Fudaa-lspiv.pdf";
+ isPIV_.man="guide_Fudaa-lspiv_"+BuPreferences.BU.getStringProperty("locale.language", System.getProperty("piv.lang", "fr"))+".pdf";
isPIV_.citation=PivResource.getS("Ichiro Fujita (Prof.), Universit\xE9 de Kob\xE9");
isPIV_.logo = PivResource.PIV.getIcon("iconepiv.gif");
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2015-03-31 14:13:38
|
Revision: 9097
http://sourceforge.net/p/fudaa/svn/9097
Author: bmarchan
Date: 2015-03-31 14:13:30 +0000 (Tue, 31 Mar 2015)
Log Message:
-----------
Am?\195?\169lioration du trac?\195?\169 de particules
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivCreateParticleLinesAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/particles/PivComputeParticlesTaskModel.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/particles/PivParticlesLayer.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/particles/PivParticlesSourceI.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/particles/PivResultSource.java
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java 2015-03-31 10:13:52 UTC (rev 9096)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java 2015-03-31 14:13:30 UTC (rev 9097)
@@ -734,6 +734,7 @@
mn.addSeparator(PivResource.getS("Post-traitement"));
mn.add(new PivComputeAverageAction(this));
mn.add(get2dFrame().getVisuPanel().getShowVelocitiesAction().buildMenuItem(EbliComponentFactory.INSTANCE));
+ mn.add(get2dFrame().getVisuPanel().getRealView().getTraceParticlesAction().buildMenuItem(EbliComponentFactory.INSTANCE));
mn.addSeparator(PivResource.getS("D\xE9bit"));
sm=new BuMenu(PivResource.getS("Transect"),"mnGRP");
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java 2015-03-31 10:13:52 UTC (rev 9096)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java 2015-03-31 14:13:30 UTC (rev 9097)
@@ -90,7 +90,7 @@
private BuComboBox cbVel_;
private EbliAnimationAction actAnim_;
private AbstractButton btAnim_;
- private PivCreateParticleLinesAction actStreamLines_;
+ private PivCreateParticleLinesAction actParticleLines_;
private AbstractButton btStreamLines_;
private PivProject prj_;
private List<BCalqueAffichage> layers_=new ArrayList<BCalqueAffichage>();
@@ -480,9 +480,9 @@
btAnim_=actAnim_.buildToolButton(EbliComponentFactory.INSTANCE);
btAnim_.setEnabled(true);
- actStreamLines_=new PivCreateParticleLinesAction(pnLayers_, (FudaaCommonImplementation)pnLayers_.getCtuluUI(),
+ actParticleLines_=new PivCreateParticleLinesAction(pnLayers_, (FudaaCommonImplementation)pnLayers_.getCtuluUI(),
new PivParticlesLayer[]{cqAveParticles_,cqFltParticles_,cqRawParticles_});
- btStreamLines_=actStreamLines_.buildToolButton(EbliComponentFactory.INSTANCE);
+ btStreamLines_=actParticleLines_.buildToolButton(EbliComponentFactory.INSTANCE);
// La liste des variables possibles
cbVar_=new BuComboBox();
@@ -620,7 +620,7 @@
// Force la mise a jour du composant d'animation
actAnim_.setAnimAdapterInterface(new SequenceAnimationAdapter());
// Les calques peuvent avoir chang\xE9.
- actStreamLines_.setLayers(new PivParticlesLayer[]{cqAveParticles_, cqFltParticles_, cqRawParticles_});
+ actParticleLines_.setLayers(new PivParticlesLayer[]{cqAveParticles_, cqFltParticles_, cqRawParticles_});
Object itImgSel=cbImg_.getSelectedItem();
cbImg_.removeAllItems();
@@ -888,4 +888,12 @@
}
return actParamsTransect_;
}
+
+ /**
+ * Retourne l'action pour la saisie des parametres d'un transect.
+ * @return L'action.
+ */
+ public PivCreateParticleLinesAction getTraceParticlesAction() {
+ return actParticleLines_;
+ }
}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivCreateParticleLinesAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivCreateParticleLinesAction.java 2015-03-31 10:13:52 UTC (rev 9096)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivCreateParticleLinesAction.java 2015-03-31 14:13:30 UTC (rev 9097)
@@ -28,7 +28,7 @@
PivComputeParticlesTaskModel taskTrajectories = null;
public PivCreateParticleLinesAction(final ZEbliCalquesPanel panel, FudaaCommonImplementation impl, PivParticlesLayer[] _layers) {
- super(FSigResource.getS("Calcul des lignes de courants/trajectoires"), FSigResource.FSIG.getIcon("crystal_oscilloscope.png"), "TRAJ");
+ super(FSigResource.getS("Calcul des lignes de courants/trajectoires..."), FSigResource.FSIG.getIcon("crystal_oscilloscope.png"), "TRAJ");
impl_ = impl;
pnCalque_ = panel;
layers_=_layers;
@@ -43,6 +43,10 @@
@Override
public void actionPerformed(final ActionEvent _e) {
+ if (destLayer_.getSource().getGrid()==null) {
+ impl_.error(PivResource.getS("Pas de r\xE9sultats disponibles pour le trac\xE9 de particules"));
+ return;
+ }
taskTrajectories = new PivComputeParticlesTaskModel(pnCalque_,destLayer_);
new FudaaPanelTask(pnCalque_.getCtuluUI(), taskTrajectories).afficheDialog();
}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/particles/PivComputeParticlesTaskModel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/particles/PivComputeParticlesTaskModel.java 2015-03-31 10:13:52 UTC (rev 9096)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/particles/PivComputeParticlesTaskModel.java 2015-03-31 14:13:30 UTC (rev 9097)
@@ -595,15 +595,16 @@
pn.add(new JLabel(PivResource.getS("Mode")));
pn.add(choixMode_);
pn.add(new JLabel(PivResource.getS("Vecteur")));
- ListModel<PivVectorDefinitionI> flecheListModel = destlayer_.getSource().getNewFlecheListModel();
+ ListModel<PivVectorDefinitionI> flecheListModel = destlayer_.getSource().getFlecheListModel();
CtuluComboBoxModelAdapter cb = new CtuluComboBoxModelAdapter(flecheListModel);
cbVitesse_ = new BuComboBox(cb);
cb.setSelectedItem(flecheListModel.getElementAt(0));
pn.add(cbVitesse_);
- pn.add(new JLabel(PivResource.getS("Pas de temps intial")));
+ pn.add(new JLabel(PivResource.getS("Pas de temps initial")));
cbFirstTime_ = new BuComboBox(new CtuluComboBoxModelAdapter(destlayer_.getSource().getTimeListModel()));
- cbFirstTime_.setSelectedIndex(0);
+ if (cbFirstTime_.getItemCount()>0)
+ cbFirstTime_.setSelectedIndex(0);
pn.add(cbFirstTime_);
pn.add(new JLabel(PivResource.getS("Dur\xE9e d'int\xE9gration:")));
pn.add(duree_);
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/particles/PivParticlesLayer.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/particles/PivParticlesLayer.java 2015-03-31 10:13:52 UTC (rev 9096)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/particles/PivParticlesLayer.java 2015-03-31 14:13:30 UTC (rev 9097)
@@ -7,8 +7,10 @@
import java.awt.Graphics2D;
import java.util.ArrayList;
import java.util.HashMap;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import java.util.Map.Entry;
import org.fudaa.ctulu.CtuluAnalyze;
import org.fudaa.ctulu.CtuluAnalyzeGroup;
@@ -33,6 +35,7 @@
import org.fudaa.ebli.geometrie.GrMorphisme;
import org.fudaa.ebli.geometrie.GrPoint;
import org.fudaa.ebli.palette.BPalettePlage;
+import org.fudaa.ebli.palette.BPalettePlageProperties;
import org.fudaa.ebli.palette.PaletteManager;
import org.fudaa.ebli.trace.TraceIcon;
import org.fudaa.ebli.trace.TraceIconModel;
@@ -58,7 +61,7 @@
/**
* Only modified form constructor or from initFrom method.
*/
- GISAttributeInterface attrMark_=PivParticlesGISDataModel.ATT_MARK;
+// GISAttributeInterface attrMark_=PivParticlesGISDataModel.ATT_MARK;
// GISAttributeInterface attrTime_=new GISAttributeDouble("Time", true);
// GISAttributeInterface attrVX_=new GISAttributeDouble("VX", true);
// GISAttributeInterface attrVY_=new GISAttributeDouble("VY", true);
@@ -131,7 +134,7 @@
final GISZoneCollection geomData = modele_.getGeomData();
final int nbAttributes = geomData.getNbAttributes();
for (int i = 0; i < nbAttributes; i++) {
- if (geomData.getAttribute(i) != attrMark_) {
+ if (geomData.getAttribute(i) != PivParticlesGISDataModel.ATT_MARK) {
attList_.add(geomData.getAttribute(i));
// attListModel_.addElement(geomData.getAttribute(i).getLongName());
}
@@ -250,56 +253,104 @@
public void initFrom(final EbliUIProperties _p) {
if (_p != null) {
-// attSelectionModel_.clearSelection();
+ // attSelectionModel_.clearSelection();
super.initFrom(_p);
initPaletteMap();
- FuLog.warning("A modifier: "+new Exception().getStackTrace()[0].toString());
-// if (true) return;
-// if (TrIsoLayerDefault.restorePalette(_p, namePalette_)) {
-// updateLegende();
-// }
-// if (idx >= 0) {
-// attSelectionModel_.setSelectionInterval(idx, idx);
-// }
-// final EfTrajectoireParameters initParam=(EfTrajectoireParameters) _p.get(FSigTrPostTrajectoireLineLayerPersistence.INIT_DATA);
-// if (initParam != null) {
-// this.dataMemory_=initParam;
-// }
-// else {
-// final FSigTrPostTrajectoireLineLayerPersistData data=(FSigTrPostTrajectoireLineLayerPersistData) _p.get(FSigTrPostTrajectoireLineLayerPersistence.COMPUTE_DATA);
-// if (data != null) {
- final CtuluAnalyze log=new CtuluAnalyze();
- final PivParticlesLayerPersistData data=(PivParticlesLayerPersistData) _p.get(PivParticlesLayerPersistData.COMPUTE_DATA);
- if (data!=null) {
- EfTrajectoireParameters restore=data.restore(src_, log);
-// final EfTrajectoireParameters restore=(EfTrajectoireParameters)_p.get(FSigTrPostTrajectoireLineLayerPersistence.COMPUTE_DATA);
- if (!log.isEmpty()) {
- final CtuluAnalyzeGroup gr=new CtuluAnalyzeGroup(null);
- gr.addAnalyzer(log);
- CtuluAnalyzeGUI.showDialog(gr, vue2d_.getCtuluUI(), PivResource.getS("Rechargement des donn\xE9es trajectoires"));
- }
-// if (restore != null && _p.getBoolean(FSigTrPostTrajectoireLineLayerPersistence.RECOMPUTE)) {
- if (restore!=null) restoreData(log, restore);
- this.dataMemory_=restore;
+
+ // if (idx >= 0) {
+ // attSelectionModel_.setSelectionInterval(idx, idx);
+ // }
+ // final EfTrajectoireParameters initParam=(EfTrajectoireParameters)
+ // _p.get(FSigTrPostTrajectoireLineLayerPersistence.INIT_DATA);
+ // if (initParam != null) {
+ // this.dataMemory_=initParam;
+ // }
+ // else {
+ // final FSigTrPostTrajectoireLineLayerPersistData
+ // data=(FSigTrPostTrajectoireLineLayerPersistData)
+ // _p.get(FSigTrPostTrajectoireLineLayerPersistence.COMPUTE_DATA);
+ // if (data != null) {
+ final CtuluAnalyze log=new CtuluAnalyze();
+ final PivParticlesLayerPersistData data=(PivParticlesLayerPersistData) _p.get(PivParticlesLayerPersistData.COMPUTE_DATA);
+ if (data != null) {
+ EfTrajectoireParameters restore=data.restore(src_, log);
+ // final EfTrajectoireParameters
+ // restore=(EfTrajectoireParameters)_p.get(FSigTrPostTrajectoireLineLayerPersistence.COMPUTE_DATA);
+ if (!log.isEmpty()) {
+ final CtuluAnalyzeGroup gr=new CtuluAnalyzeGroup(null);
+ gr.addAnalyzer(log);
+ CtuluAnalyzeGUI.showDialog(gr, vue2d_.getCtuluUI(), PivResource.getS("Rechargement des trac\xE9s de particules"));
}
- else {
- this.dataMemory_=null;
- }
-// }
-// }
+ // if (restore != null &&
+ // _p.getBoolean(FSigTrPostTrajectoireLineLayerPersistence.RECOMPUTE)) {
+ if (restore != null)
+ restoreData(log, restore);
+ this.dataMemory_=restore;
+ }
+ else {
+ this.dataMemory_=null;
+ }
+ // }
+ // }
+ // }
+// final String markId=(String) _p.get("mark.attribute");
+// if (markId != null) {
+// attrMark_=modeleDonnees().getGeomData().getAttributeWithID(markId);
// }
- final String markId=(String) _p.get("mark.attribute");
- if (markId != null) {
- attrMark_=modeleDonnees().getGeomData().getAttributeWithID(markId);
- }
- attSel_ = getAttForName(_p.getString("att.selected"));
+ attSel_=getAttForName(_p.getString("att.selected"));
+
+ if (restorePalettes(_p, namePalette_)) {
+ updateLegende();
+ }
}
}
+ public static boolean restorePalettes(final EbliUIProperties _p, final Map<String, BPalettePlage> _dest) {
+ final String[] names = (String[]) _p.get("post.paletteNames");
+ if (names != null && names.length > 0) {
+ final BPalettePlageProperties[] props = (BPalettePlageProperties[]) _p.get("post.paletteProps");
+ if (_dest.size() > 0) {
+ _dest.clear();
+ }
+ for (int i = 0; i < names.length; i++) {
+ if (props[i] != null && names[i] != null) {
+ BPalettePlage plage = new BPalettePlage(props[i]);
+// initSubTitleLabel(plage);
+ _dest.put(names[i], plage);
+ }
+ }
+ return true;
+ }
+ return false;
+ }
+
+ public static EbliUIProperties savePalettes(final Map<String, BPalettePlage> _nameBPalette, final EbliUIProperties _prop) {
+ if (_prop == null) {
+ return null;
+ }
+ if (_nameBPalette == null || _nameBPalette.size() == 0) {
+ return _prop;
+ }
+ final List<String> paletteNames = new ArrayList<>(_nameBPalette.size());
+ final List<BPalettePlageProperties> palettes = new ArrayList<>(_nameBPalette.size());
+
+ for (final Iterator<Entry<String,BPalettePlage>> it = _nameBPalette.entrySet().iterator(); it.hasNext();) {
+ Entry<String, BPalettePlage> e=it.next();
+ final String key = e.getKey();
+ if (!CtuluLibString.isEmpty(key)) {
+ paletteNames.add(key);
+ palettes.add(((BPalettePlage) e.getValue()).save());
+ }
+ }
+ _prop.put("post.paletteNames", paletteNames.toArray(new String[paletteNames.size()]));
+ _prop.put("post.paletteProps", palettes.toArray(new BPalettePlageProperties[palettes.size()]));
+ return _prop;
+ }
+
private void restoreData(final CtuluAnalyze log, final EfTrajectoireParameters restore) {
log.clear();
final EfTrajectoireActivity ac = new EfTrajectoireActivity(src_.getInterpolator(), null, src_.getTimes());
- final String title = PivResource.getS("Calcul");
+// final String title = PivResource.getS("Calcul");
final List<EfTrajectoireResultBuilder> computeLigneCourant = ac.computeLigneCourant(restore, null, log);
final PivComputeAndDisplayParticlesActivity activity = new PivComputeAndDisplayParticlesActivity(vue2d_,this,null);
activity.reloadLinesIn(PivParticlesLayer.this, restore, computeLigneCourant, log);
@@ -380,7 +431,7 @@
}
// on trace les icones apres pour qu'ils soient dessin\xE9s au-dessus des lignes.
final GISZoneCollection geomData = super.modeleDonnees().getGeomData();
- final int idxMark = geomData.getIndiceOf(attrMark_);
+ final int idxMark = geomData.getIndiceOf(PivParticlesGISDataModel.ATT_MARK);
// final int idxAttSelected = geomData.getIndiceOf(attSel_);
// si idxSelected est positif on utilise une palette
// final int idxSelected = isPaletteCouleurUsed_ && idxAttSelected >= 0 ? geomData.getIndiceOf(attList_.get(idxAttSelected)) : -1;
@@ -453,9 +504,9 @@
// c'est pour que la variable en cours soit enregistr\xE9e
updateLegende(false);
final EbliUIProperties res = super.saveUIProperties();
-// TODO TrIsoLayerDefault.savePalettes(namePalette_, res);
+ savePalettes(namePalette_, res);
res.put("att.selected", getSelectedAttributeName());
- res.put("mark.attribute", attrMark_ == null ? CtuluLibString.EMPTY_STRING : attrMark_.getID());
+// res.put("mark.attribute", attrMark_ == null ? CtuluLibString.EMPTY_STRING : attrMark_.getID());
if (dataMemory_!=null)
res.put(PivParticlesLayerPersistData.COMPUTE_DATA, new PivParticlesLayerPersistData(dataMemory_));
// res.put(FSigTrPostTrajectoireLineLayerPersistence.INIT_DATA, dataMemory_);
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/particles/PivParticlesSourceI.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/particles/PivParticlesSourceI.java 2015-03-31 10:13:52 UTC (rev 9096)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/particles/PivParticlesSourceI.java 2015-03-31 14:13:30 UTC (rev 9097)
@@ -156,7 +156,7 @@
*/
// ListModel getFlecheListModel();
- public ListModel<PivVectorDefinitionI> getNewFlecheListModel();
+ public ListModel<PivVectorDefinitionI> getFlecheListModel();
/**
* @return le maillage de l'objet source
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/particles/PivResultSource.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/particles/PivResultSource.java 2015-03-31 10:13:52 UTC (rev 9096)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/particles/PivResultSource.java 2015-03-31 14:13:30 UTC (rev 9097)
@@ -63,7 +63,7 @@
}
@Override
- public ListModel<PivVectorDefinitionI> getNewFlecheListModel() {
+ public ListModel<PivVectorDefinitionI> getFlecheListModel() {
if (flecheList_==null) {
PivVectorDefinitionI fch;
flecheList_=new DefaultListModel<>();
@@ -125,8 +125,8 @@
@Override
public ListModel<Double> getTimeListModel() {
if (timeList_==null) {
+ timeList_=new DefaultListModel<>();
if (res_ != null) {
- timeList_=new DefaultListModel<>();
for (int i=0; i < res_.getNbTime(); i++) {
timeList_.addElement(getTimeStep(i));
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|