|
From: <bma...@us...> - 2011-09-14 09:01:21
|
Revision: 6429
http://fudaa.svn.sourceforge.net/fudaa/?rev=6429&view=rev
Author: bmarchan
Date: 2011-09-14 09:01:14 +0000 (Wed, 14 Sep 2011)
Log Message:
-----------
Mod : Question filtre relancer calcul scinder en 2 actions (calcul vitesses instantan?\195?\169es + filtre/moyennation vitesses)
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivExeLauncher.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/PivVisuPanel.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeLaunchAction.java
Added Paths:
-----------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeAverageAction.java
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivExeLauncher.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivExeLauncher.java 2011-09-13 15:09:57 UTC (rev 6428)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivExeLauncher.java 2011-09-14 09:01:14 UTC (rev 6429)
@@ -327,7 +327,9 @@
public boolean launchPiv(CtuluAnalyze _ana, PivProject _prj, CtuluTaskOperationGUI _task) {
File prjRoot=_prj.getRoot();
File prjImgOut=new File(prjRoot,IMG_TRANSF_DIR);
+ File prjOutputs=new File(prjRoot,OUTPUT_DIR);
File prjVelRaw=new File(prjRoot,VEL_RAW_DIR);
+ File prjVelFlt=new File(prjRoot,VEL_FILTER_DIR);
File exeImgOut=new File(exePath,IMG_TRANSF_DIR);
File exeOutputs=new File(exePath,OUTPUT_DIR);
@@ -336,6 +338,15 @@
// Nettoyage eventuel du repertoire des r\xE9sultats.
prjVelRaw.mkdir();
for (File f : prjVelRaw.listFiles()) f.delete();
+ // Nettoyage des resultats filtr\xE9s et moyenn\xE9s
+ prjVelFlt.mkdir();
+ for (File f : prjVelFlt.listFiles()) f.delete();
+ String faverage="average_vel.out";
+ // On d\xE9place le fichier vers le repertoire projet
+ File resFile=new File(prjOutputs, faverage);
+ resFile.delete();
+
+ _prj.setVelResults(null);
createExeDirs();
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 2011-09-13 15:09:57 UTC (rev 6428)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java 2011-09-14 09:01:14 UTC (rev 6429)
@@ -33,6 +33,7 @@
import org.fudaa.fudaa.commun.impl.FudaaCommonImplementation;
import org.fudaa.fudaa.commun.impl.FudaaLookPreferencesPanel;
import org.fudaa.fudaa.commun.impl.FudaaStartupExitPreferencesPanel;
+import org.fudaa.fudaa.piv.action.PivComputeAverageAction;
import org.fudaa.fudaa.piv.action.PivComputeLaunchAction;
import org.fudaa.fudaa.piv.action.PivComputeParamAction;
import org.fudaa.fudaa.piv.action.PivImportGRPAction;
@@ -199,7 +200,7 @@
setEnabledForAction("PIV_GRID", bprjOpen && bprjHasTransfImg);
setEnabledForAction("IMPORT_GRID", bprjOpen && bprjHasTransfImg);
setEnabledForAction("PIV_COMPUTE", bprjOpen);
- setEnabledForAction("PIV_COMPUTE", bprjOpen);
+ setEnabledForAction("COMPUTE_AVERAGE", bprjOpen);
setEnabledForAction("RESULTS_SHOW_VELOCITIES", bprjOpen && project.getVelResults()!=null);
refreshTitle();
@@ -647,6 +648,7 @@
mn.add(get2dFrame().getVisuPanel().getComputeGridDefinitionAction());
mn.add(new PivComputeLaunchAction(this));
mn.addSeparator(PivResource.getS("R\xE9sultats"));
+ mn.add(new PivComputeAverageAction(this));
mn.add(get2dFrame().getVisuPanel().getShowVelocitiesAction().buildMenuItem(EbliComponentFactory.INSTANCE));
mn.addSeparator(PivResource.getS("Vue"));
ButtonGroup bg=new ButtonGroup();
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 2011-09-13 15:09:57 UTC (rev 6428)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivVisuPanel.java 2011-09-14 09:01:14 UTC (rev 6429)
@@ -385,7 +385,12 @@
* @param _b True : Le calque est visible.
*/
public void setVelocitiesLayerVisible(boolean _b) {
- cqVelResults.setVisible(_b);
+ if (_b) {
+ if (viewMode_==MODE_REAL_VIEW) {
+ addCalque(cqVelResults, true);
+ }
+ }
+ cqVelResults.setVisible(_b);
}
/**
Added: 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 (rev 0)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeAverageAction.java 2011-09-14 09:01:14 UTC (rev 6429)
@@ -0,0 +1,121 @@
+/*
+ * @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.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;
+
+/**
+ * Une action pour lancer les filtres et moyennation sur les vitesses
+ * instantan\xE9es.
+ *
+ * @author Bertrand Marchand (mar...@de...)
+ * @version $Id$
+ */
+public class PivComputeAverageAction extends EbliActionSimple {
+ PivImplementation impl;
+ CtuluDialog diProgress_;
+
+ /**
+ * Constructeur.
+ * @param _impl L'implementation.
+ */
+ public PivComputeAverageAction(PivImplementation _impl) {
+ super(PivResource.getS("Filtrage/moyennation des vitesses instantan\xE9es"), null, "COMPUTE_AVERAGE");
+
+ impl=_impl;
+ setEnabled(false);
+ }
+
+ /**
+ * Lance l'analyse par PIV, dans un thread s\xE9par\xE9.
+ * @param _e L'evenement pour l'action.
+ */
+ public void actionPerformed(final ActionEvent _e) {
+ if (!isValide()) {
+ return;
+ }
+
+ if (!impl.getLauncher().areExeOK()) {
+ PivExePanel pnExe = new PivExePanel();
+
+ if (!pnExe.afficheModaleOk(impl.getFrame(), PivResource.getS("R\xE9pertoire contenant les executables"))) {
+ return;
+ }
+ else {
+ impl.getLauncher().setExePath(new File(PivPreferences.PIV.getStringProperty(PivPreferences.PIV_EXE_PATH)));
+ }
+ }
+
+ // La tache a ex\xE9cuter.
+ CtuluTaskOperationGUI r=new CtuluTaskOperationGUI(impl, PivResource.getS("Filtrage/moyennation des vitesses instantan\xE9es")) {
+
+ public void act() {
+ try {
+ CtuluAnalyze ana=new CtuluAnalyze();
+
+ // Filtrage
+ impl.getLauncher().launchFilterVelocities(ana, impl.getCurrentProject(),this);
+ if (ana.containsErrorOrFatalError()) {
+ impl.error(ana.getResume());
+ return;
+ }
+
+ // Moyennation
+ impl.getLauncher().launchAverageVelocities(ana, impl.getCurrentProject(), this);
+ if (ana.containsErrorOrFatalError()) {
+ impl.error(ana.getResume());
+ return;
+ }
+ }
+ finally {
+ diProgress_.dispose();
+ }
+
+ impl.message(PivResource.getS("Calcul termin\xE9"), PivResource.getS("Le calcul s'est termin\xE9 avec succ\xE8s"), false);
+ impl.get2dFrame().getVisuPanel().setViewMode(PivVisuPanel.MODE_REAL_VIEW);
+ impl.get2dFrame().getVisuPanel().setVelocitiesLayerVisible(true);
+ }
+ };
+
+ 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() {
+ if (!impl.getCurrentProject().hasRawVelocities()) {
+ impl.error(PivResource.getS("Erreur"), PivResource.getS("Le projet ne contient aucun champ de vitesses instantan\xE9es"));
+ return false;
+ }
+
+ return true;
+ }
+
+ public String getEnableCondition() {
+ return PivResource.getS("Des vitesses instantan\xE9es doivent exister");
+ }
+}
Property changes on: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeAverageAction.java
___________________________________________________________________
Added: svn:keywords
+ Id
Added: svn:eol-style
+ native
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 2011-09-13 15:09:57 UTC (rev 6428)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivComputeLaunchAction.java 2011-09-14 09:01:14 UTC (rev 6429)
@@ -18,7 +18,6 @@
import org.fudaa.fudaa.piv.PivPreferences;
import org.fudaa.fudaa.piv.PivProgressionPanel;
import org.fudaa.fudaa.piv.PivResource;
-import org.fudaa.fudaa.piv.PivVisuPanel;
/**
* Une action pour lancer l'analyse par PIV.
@@ -35,7 +34,7 @@
* @param _impl L'implementation.
*/
public PivComputeLaunchAction(PivImplementation _impl) {
- super(PivResource.getS("Calcul des vitesses, filtres et moyennation"), null, "PIV_COMPUTE");
+ super(PivResource.getS("Calcul des vitesses instantan\xE9es"), null, "PIV_COMPUTE");
impl=_impl;
setEnabled(false);
@@ -61,48 +60,26 @@
}
}
- final boolean bcalcVel=
- impl.getCurrentProject().getVelResults()==null || !impl.getCurrentProject().hasRawVelocities() ||
- !impl.question(
- PivResource.getS("Calcul des vitesses, filtres et moyennation"),
- PivResource.getS("Voulez-vous passer l'\xE9tape d'analyse des images ?\nSi vous r\xE9pondez \"Oui\", seuls les filtres et moyennation\nseront appliqu\xE9s aux vitesses brutes d\xE9j\xE0 calcul\xE9es."));
// La tache a ex\xE9cuter.
- CtuluTaskOperationGUI r=new CtuluTaskOperationGUI(impl, PivResource.getS("Calcul du champ des vitesses")) {
+ CtuluTaskOperationGUI r=new CtuluTaskOperationGUI(impl, PivResource.getS("Calcul des champs de vitesses instantan\xE9es")) {
public void act() {
try {
CtuluAnalyze ana=new CtuluAnalyze();
- if (bcalcVel) {
- ana.setDesc(this.getName());
- impl.getLauncher().launchPiv(ana, impl.getCurrentProject(), this);
- if (ana.containsErrorOrFatalError()) {
- impl.error(ana.getResume());
- return;
- }
- }
-
- // Filtrage
- impl.getLauncher().launchFilterVelocities(ana, impl.getCurrentProject(),this);
+ ana.setDesc(this.getName());
+ impl.getLauncher().launchPiv(ana, impl.getCurrentProject(), this);
if (ana.containsErrorOrFatalError()) {
impl.error(ana.getResume());
return;
}
-
- // Moyennation
- impl.getLauncher().launchAverageVelocities(ana, impl.getCurrentProject(), this);
- if (ana.containsErrorOrFatalError()) {
- impl.error(ana.getResume());
- return;
- }
}
finally {
diProgress_.dispose();
}
impl.message(PivResource.getS("Calcul termin\xE9"), PivResource.getS("Le calcul s'est termin\xE9 avec succ\xE8s"), false);
- impl.get2dFrame().getVisuPanel().setViewMode(PivVisuPanel.MODE_REAL_VIEW);
- impl.get2dFrame().getVisuPanel().setVelocitiesLayerVisible(true);
+ impl.get2dFrame().getVisuPanel().setVelocitiesLayerVisible(false);
}
};
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|