|
From: <bma...@us...> - 2011-12-16 15:02:18
|
Revision: 6847
http://fudaa.svn.sourceforge.net/fudaa/?rev=6847&view=rev
Author: bmarchan
Date: 2011-12-16 15:02:06 +0000 (Fri, 16 Dec 2011)
Log Message:
-----------
Fix : Tout plein de bugs signal?\195?\169s + ajout d'une action pour cache automatique
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/PivPersistence.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivPreferences.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/PivSelectImagesAction.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
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java
trunk/soft/fudaa-lspiv/src/main/resources/org/fudaa/fudaa/piv/piv_en.fr_txt
Added Paths:
-----------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivAutoCacheAction.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 2011-12-16 00:22:58 UTC (rev 6846)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java 2011-12-16 15:02:06 UTC (rev 6847)
@@ -31,11 +31,13 @@
import org.fudaa.ctulu.gui.CtuluFileChooserTestWritable;
import org.fudaa.ctulu.gui.CtuluLibDialog;
import org.fudaa.ctulu.gui.CtuluTaskOperationGUI;
+import org.fudaa.ctulu.image.CtuluImageExport;
import org.fudaa.ebli.commun.EbliComponentFactory;
import org.fudaa.ebli.impression.EbliMiseEnPagePreferencesPanel;
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.PivAutoCacheAction;
import org.fudaa.fudaa.piv.action.PivComputeAverageAction;
import org.fudaa.fudaa.piv.action.PivComputeFlowAction;
import org.fudaa.fudaa.piv.action.PivComputeLaunchAction;
@@ -85,7 +87,7 @@
isPIV_.license = "GPL2";
isPIV_.languages = "en,fr";
isPIV_.authors=new String[]{"B.Marchand (DeltaCAD)"};
- isPIV_.contact="mag...@ed...\n jer...@ce...\n ale...@ed...";
+ isPIV_.contact="mag...@ed...\n jer...@ir...\n ale...@ed...";
isPIV_.http="http://www.fudaa.fr/lspiv/";
isPIV_.logo = PivResource.PIV.getIcon("iconepiv.gif");
@@ -688,6 +690,8 @@
public void init() {
initStaticLanguageDependant();
+ CtuluImageExport.removeWritableFormats(new String[]{"ps"});
+
super.init();
// Pour forcer l'activation du command listener.
getUndoCmdListener();
@@ -711,6 +715,7 @@
// les menus exporter et importer sont construit dynamiquement
// buildImportMenu();
+ setEnabledForAction("IMPORTER", false);
buildExportMenu();
BuMenu mn=buildPivMenu();
mb.addMenu(mn);
@@ -725,6 +730,7 @@
BuMenu sm;
BuMenu mn=new BuMenu(PivResource.getS("LSPIV"),"mnPROJECT");
mn.add(new PivSelectImagesAction(this));
+ mn.add(new PivAutoCacheAction(this).buildMenuItem(EbliComponentFactory.INSTANCE));
mn.addSeparator(PivResource.getS("Orthorectification"));
sm=new BuMenu(PivResource.getS("Points de r\xE9f\xE9rence"),"mnGRP");
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-16 00:22:58 UTC (rev 6846)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivOriginalView.java 2011-12-16 15:02:06 UTC (rev 6847)
@@ -175,10 +175,10 @@
cbImg_.setEnabled(false);
if (prj_ != null) {
- for (File f : prj_.getSrcImageFiles()) {
+ for (File f : prj_.getReadySrcImageFiles()) {
cbImg_.addItem(f.getName());
}
- cbImg_.setEnabled(prj_.getSrcImageFiles().length > 0);
+ cbImg_.setEnabled(prj_.getReadySrcImageFiles().length > 0);
}
boolean found=false;
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivPersistence.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivPersistence.java 2011-12-16 00:22:58 UTC (rev 6846)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivPersistence.java 2011-12-16 15:02:06 UTC (rev 6847)
@@ -11,6 +11,7 @@
import org.fudaa.ctulu.CtuluLibFile;
import org.fudaa.ctulu.ProgressionInterface;
+import org.fudaa.ctulu.gui.CtuluTaskOperationGUI;
import org.fudaa.ebli.commun.EbliUIProperties;
import org.fudaa.fudaa.commun.save.FudaaSaveLib;
import org.fudaa.fudaa.commun.save.FudaaSaveProject;
@@ -89,7 +90,7 @@
* @param _prog L'interface de progression. Peut etre <tt>null</tt>
* @return True Si le fichier donn\xE9 est bien un fichier projet.
*/
- public boolean load(File _prjFile, ProgressionInterface _prog) {
+ public boolean load(File _prjFile, CtuluTaskOperationGUI _prog) {
if (_prog!=null)
_prog.setDesc(PivResource.getS("Chargement du projet"));
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivPreferences.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivPreferences.java 2011-12-16 00:22:58 UTC (rev 6846)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivPreferences.java 2011-12-16 15:02:06 UTC (rev 6847)
@@ -21,6 +21,8 @@
/** Le path des exes. */
public static final String PIV_EXE_PATH="piv.exe.path";
+ /** La regeneration automatique des cache */
+ public static final String PIV_AUTO_CACHE="piv.auto.cache";
/**
* Singleton.
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-16 00:22:58 UTC (rev 6846)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivRealView.java 2011-12-16 15:02:06 UTC (rev 6847)
@@ -108,12 +108,12 @@
@Override
public int getNbTimeStep() {
- return prj_.getTransfImageFiles().length;
+ return prj_.getReadyTransfImageFiles().length;
}
@Override
public String getTimeStep(int _idx) {
- return prj_.getTransfImageFiles()[_idx].getName();
+ return prj_.getReadyTransfImageFiles()[_idx].getName();
}
@Override
@@ -245,7 +245,7 @@
return "m/s";
}
};
- cqFlowResults.setTitle(PivResource.getS("Vit. vert. moyennes"));
+ cqFlowResults.setTitle(PivResource.getS("Vit. moyennes sur vert."));
cqFlowResults.setTitleModifiable(true);
cqFlowResults.setName("cqRealFlow");
// Donne la couleur des fl\xE8ches si pas de palette de couleurs.
@@ -422,7 +422,7 @@
if (prj_==null) return;
// La liste d\xE9roulante des images
- File[] imgs=prj_.getTransfImageFiles();
+ File[] imgs=prj_.getReadyTransfImageFiles();
if (imgs != null) {
for (int i = 0; i < imgs.length; i++) {
cbImg_.addItem(imgs[i].getName());
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-16 00:22:58 UTC (rev 6846)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivTransfView.java 2011-12-16 15:02:06 UTC (rev 6847)
@@ -220,10 +220,10 @@
cbImg_.setEnabled(false);
if (prj_ != null) {
- for (File f : prj_.getTransfImageFiles()) {
+ for (File f : prj_.getReadyTransfImageFiles()) {
cbImg_.addItem(f.getName());
}
- cbImg_.setEnabled(prj_.getTransfImageFiles().length > 0);
+ cbImg_.setEnabled(prj_.getReadyTransfImageFiles().length > 0);
}
boolean found=false;
Added: 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 (rev 0)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivAutoCacheAction.java 2011-12-16 15:02:06 UTC (rev 6847)
@@ -0,0 +1,84 @@
+/*
+ * @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 org.fudaa.ctulu.CtuluAnalyze;
+import org.fudaa.ctulu.gui.CtuluDialog;
+import org.fudaa.ctulu.gui.CtuluTaskOperationGUI;
+import org.fudaa.ebli.commun.EbliActionChangeState;
+import org.fudaa.fudaa.piv.PivImplementation;
+import org.fudaa.fudaa.piv.PivPreferences;
+import org.fudaa.fudaa.piv.PivProgressionPanel;
+import org.fudaa.fudaa.piv.PivResource;
+
+/**
+ * Definit si le cache doit \xEAtre automatique ou non.
+ *
+ * @author Bertrand Marchand (mar...@de...)
+ * @version $Id$
+ */
+public class PivAutoCacheAction extends EbliActionChangeState {
+ PivImplementation impl;
+ CtuluDialog diProgress_;
+
+ /**
+ * Constructeur
+ * @param _impl L'implementation.
+ */
+ public PivAutoCacheAction(PivImplementation _impl) {
+ super(PivResource.getS("Cache des images automatique"), null, "PIV_AUTO_CACHE");
+
+ impl=_impl;
+ setEnabled(true);
+ setSelected(PivPreferences.PIV.getBooleanProperty(PivPreferences.PIV_AUTO_CACHE,true));
+ }
+
+ @Override
+ public void changeAction() {
+ if (isSelected() && impl.question(
+ PivResource.getS("Cr\xE9ation automatique des images cache"),
+ PivResource.getS("La cr\xE9ation/mise \xE0 jour des caches de toutes les images peut prendre\n plusieurs minutes.")+" "+
+ PivResource.getS("Cette cr\xE9ation sera r\xE9alis\xE9e apr\xE8s chaque op\xE9ration\n de s\xE9lection d'image ou transformation, et d\xE9s maintenant.\n\nSouhaitez vous continuer ?"))) {
+
+ PivPreferences.PIV.putBooleanProperty(PivPreferences.PIV_AUTO_CACHE,true);
+
+ if (impl.getCurrentProject()!=null) {
+
+ // La tache a ex\xE9cuter.
+ CtuluTaskOperationGUI r=new CtuluTaskOperationGUI(impl, PivResource.getS("Cr\xE9ation des caches images")) {
+
+ public void act() {
+ try {
+ CtuluAnalyze ana=new CtuluAnalyze();
+ ana.setDesc(getName());
+ impl.getCurrentProject().rebuiltAllCacheImagesIfNeeded(this);
+ }
+ 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();
+ }
+ }
+ else {
+ PivPreferences.PIV.putBooleanProperty(PivPreferences.PIV_AUTO_CACHE,false);
+ setSelected(false);
+ }
+
+ PivPreferences.PIV.writeIniFile();
+ }
+}
Property changes on: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivAutoCacheAction.java
___________________________________________________________________
Added: svn:keywords
+ Id
Added: svn:eol-style
+ native
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 2011-12-16 00:22:58 UTC (rev 6846)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivSelectImagesAction.java 2011-12-16 15:02:06 UTC (rev 6847)
@@ -87,7 +87,7 @@
try {
CtuluAnalyze ana=new CtuluAnalyze();
ana.setDesc(getName());
- impl.getCurrentProject().setSrcImagesFiles(srcImgFiles, this);
+ impl.getCurrentProject().setSrcImagesFiles(srcImgFiles, this, ana);
if (ana.containsErrorOrFatalError()) {
impl.error(ana.getResume());
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-16 00:22:58 UTC (rev 6846)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivOriginalImageModel.java 2011-12-16 15:02:06 UTC (rev 6847)
@@ -57,7 +57,7 @@
@Override
public void setSelectedImage(int _idx) {
- File[] srcFiles=prj_.getSrcImageFiles();
+ File[] srcFiles=prj_.getReadySrcImageFiles();
// Si l'indice d'image est bien dans les images disponibles
if (_idx!=-1 && srcFiles.length>_idx) {
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-16 00:22:58 UTC (rev 6846)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivRealImageModel.java 2011-12-16 15:02:06 UTC (rev 6847)
@@ -55,7 +55,7 @@
@Override
public void setSelectedImage(int _idx) {
- File[] imgFiles=prj_.getTransfImageFiles();
+ File[] imgFiles=prj_.getReadyTransfImageFiles();
// Si l'indice d'image est bien dans les images disponibles
if (_idx!=-1 && imgFiles.length>_idx && prj_.getOrthoParameters()!=null) {
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-16 00:22:58 UTC (rev 6846)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivTransfImageModel.java 2011-12-16 15:02:06 UTC (rev 6847)
@@ -55,7 +55,7 @@
@Override
public void setSelectedImage(int _idx) {
- File[] imgFiles=prj_.getTransfImageFiles();
+ File[] imgFiles=prj_.getReadyTransfImageFiles();
// Si l'indice d'image est bien dans les images disponibles
if (_idx!=-1 && imgFiles.length>_idx) {
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-16 00:22:58 UTC (rev 6846)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java 2011-12-16 15:02:06 UTC (rev 6847)
@@ -28,6 +28,7 @@
import org.fudaa.ctulu.fileformat.FileReadOperationAbstract;
import org.fudaa.ctulu.fileformat.FileWriteOperationAbstract;
import org.fudaa.ctulu.gui.CtuluTaskOperationGUI;
+import org.fudaa.fudaa.piv.PivPreferences;
import org.fudaa.fudaa.piv.PivResource;
import org.fudaa.fudaa.piv.io.PivAverageVelFileFormat;
import org.fudaa.fudaa.piv.io.PivBathyFileFormat;
@@ -123,8 +124,12 @@
ImageInputStream cacheRealInputStream_;
/** Les images d'origine dans l'ordre, dans */
List<File> srcFiles_=Collections.synchronizedList(new ArrayList<File>());
+ /** Les images d'origine cach\xE9es, dans l'ordre */
+ List<File> readySrcFiles_=new ArrayList<File>();
/** La liste des images transform\xE9es */
List<File> transfFiles_=Collections.synchronizedList(new ArrayList<File>());
+ /** Les images transform\xE9es cach\xE9es, dans l'ordre */
+ List<File> readyTransfFiles_=new ArrayList<File>();
/**
* Cree l'espace temporaire de stockage des fichiers
@@ -207,6 +212,13 @@
}
/**
+ * @return Le chemin des images pretes a etre exploit\xE9es (celle en cache en particulier).
+ */
+ public File[] getReadySrcImageFiles() {
+ return readySrcFiles_.toArray(new File[0]);
+ }
+
+ /**
* @return Le chemins des images transformables uniquement parmis les images sources, dans
* l'ordre utilisateur.
*/
@@ -218,7 +230,23 @@
}
return files.toArray(new File[0]);
}
+
+ /**
+ * Reconstruit les caches si necessaire.
+ * @param _task La progression.
+ * @return false : Si un probl\xE8me s'est produit lors de la production.
+ */
+ public boolean rebuiltAllCacheImagesIfNeeded(CtuluTaskOperationGUI _task) {
+ File imgSrcDir=new File(rootPath,IMG_PGM_DIR);
+ File imgTransfDir=new File(rootPath,IMG_TRANSF_DIR);
+
+ boolean b;
+ b =rebuiltCacheImagesIfNeeded(srcFiles_,readySrcFiles_,imgSrcDir, _task);
+ b&=rebuiltCacheImagesIfNeeded(Arrays.asList(getTransfImageFiles()),readyTransfFiles_,imgTransfDir, _task);
+ return b;
+ }
+
/**
* Controle que les images cache existent pour le r\xE9pertoire des images et
* les cr\xE9e en asynchrone si ce n'est pas le cas.
@@ -227,7 +255,7 @@
* @param _dir Le r\xE9pertoire contenant les fichiers \xE0 mettre en cache.
* @return false : Si un probl\xE8me s'est produit lors de la production.
*/
- public boolean rebuiltCacheImagesIfNeeded(List<File> _files, final List<File> _readyFiles, final File _dir, final ProgressionInterface _prog) {
+ private boolean rebuiltCacheImagesIfNeeded(List<File> _files, final List<File> _readyFiles, final File _dir, final CtuluTaskOperationGUI _prog) {
boolean b=true;
File imgCacheDir=new File(_dir,"cache");
@@ -248,16 +276,24 @@
_prog.setProgression(0);
}
+ // Une seule image cache doit \xEAtre regener\xE9e. S'il en existe deja au moins 1, pas de r\xE9g\xE9n\xE9ration.
+ boolean bonlyOne=!PivPreferences.PIV.getBooleanProperty(PivPreferences.PIV_AUTO_CACHE,true);
+ int nb2Cache=0;
+
for (int i=0; i<_files.size(); i++) {
File cache = getCacheImageFile(_files.get(i));
cacheFiles.add(cache);
if (cache.exists()) {
_readyFiles.add(_files.get(i));
+ // Le cache est diff\xE9rent de l'image : Fichier pgm, donc nb2Cache++
+ if (!cache.getPath().equals(_files.get(i).getPath()))
+ nb2Cache++;
}
- else {
+ else if (!bonlyOne || nb2Cache<1){
file2Cache.add(_files.get(i));
posFile2Cache.add(i);
+ nb2Cache++;
}
}
@@ -266,12 +302,16 @@
@Override
public void run() {
for (int i=0; i<file2Cache.size(); i++) {
- createCacheFromImage(file2Cache.get(i));
if (_prog!=null)
_prog.setProgression(i*100/file2Cache.size());
-
- _readyFiles.add(posFile2Cache.get(i), file2Cache.get(i));
+
+ if (createCacheFromImage(file2Cache.get(i)))
+ _readyFiles.add(posFile2Cache.get(i), file2Cache.get(i));
// fireProjectStateChanged(bsrc ? "pgmImages":"transfImages");
+
+ if (_prog!=null && _prog.isStopRequested()) {
+ break;
+ }
}
// Suppression des images cache inutiles
@@ -469,6 +509,9 @@
try {
// TODO B.M. : La lecture d'un fichier pgm est extremement lente. Voir s'il existe d'autres readers.
BufferedImage buffer=ImageIO.read(_srcFile);
+ if (buffer==null)
+ return false;
+
return ImageIO.write(buffer, "jpeg",getCacheImageFile(_srcFile));
}
catch (IOException _exc) {
@@ -479,7 +522,7 @@
/**
* D\xE9finit que les images transform\xE9es ont chang\xE9 suite au calcul.
*/
- public void setTransfImagesChanged(ProgressionInterface _prog) {
+ public void setTransfImagesChanged(CtuluTaskOperationGUI _prog) {
areTransfImagesChanged=true;
isModified=true;
@@ -498,9 +541,7 @@
}
}
- File[] transfFiles=imgTransfDir.listFiles(FLT_FILES);
- if (transfFiles==null) transfFiles=new File[0];
- rebuiltCacheImagesIfNeeded(Arrays.asList(transfFiles),new ArrayList<File>(),imgTransfDir,_prog);
+ rebuiltCacheImagesIfNeeded(Arrays.asList(getTransfImageFiles()),readyTransfFiles_,imgTransfDir,_prog);
}
/**
@@ -511,7 +552,7 @@
*
* @param _files Les images.
*/
- public void setSrcImagesFiles(File[] _files, CtuluTaskOperationGUI _task) {
+ public void setSrcImagesFiles(File[] _files, CtuluTaskOperationGUI _task, CtuluAnalyze _ana) {
File imgInpDir=new File(rootPath,IMG_PGM_DIR);
imgInpDir.mkdirs();
@@ -541,8 +582,7 @@
}
// Reconditionnement des pgm
- CtuluAnalyze ana=new CtuluAnalyze();
- PivExeLauncher.instance().launchRepackingImg(ana, this, _task, newpgm.toArray(new File[0]));
+ PivExeLauncher.instance().launchRepackingImg(_ana, this, _task, newpgm.toArray(new File[0]));
// Suppression des anciennes images sources
for (File f : imgInpDir.listFiles(FLT_FILES)) {
@@ -550,8 +590,9 @@
f.delete();
}
+ srcFiles_=newFiles;
// Reconstruction des images caches
- rebuiltCacheImagesIfNeeded(newFiles,srcFiles_,imgInpDir,_task);
+ rebuiltCacheImagesIfNeeded(srcFiles_,readySrcFiles_,imgInpDir,_task);
}
/**
@@ -588,6 +629,13 @@
return files;
}
+
+ /**
+ * @return Le chemin des images pretes a etre exploit\xE9es (celle en cache en particulier).
+ */
+ public File[] getReadyTransfImageFiles() {
+ return readyTransfFiles_.toArray(new File[0]);
+ }
/**
* Relache les ressources li\xE9es au projet. Doit \xEAtre appel\xE9 \xE0 la fermeture du
@@ -610,7 +658,7 @@
* @param _prog L'interface de progression. Peut etre <tt>null</tt>
* @return True Si le fichier donn\xE9 est bien un fichier projet.
*/
- public boolean load(File _prjFile, ProgressionInterface _prog) {
+ public boolean load(File _prjFile, CtuluTaskOperationGUI _prog) {
File imgSrcDir=new File(rootPath,IMG_PGM_DIR);
File imgTransfDir=new File(rootPath,IMG_TRANSF_DIR);
@@ -697,8 +745,6 @@
// Chargement des images sources/transform\xE9es et v\xE9rification des caches.
File[] srcFiles=imgSrcDir.listFiles(FLT_FILES);
if (srcFiles==null) srcFiles=new File[0];
- File[] transfFiles=imgTransfDir.listFiles(FLT_FILES);
- if (transfFiles==null) transfFiles=new File[0];
if (paramXml!=null) {
// Affectation du centre de IA/SA.
@@ -714,10 +760,11 @@
}
});
}
+ srcFiles_.clear();
+ srcFiles_.addAll(Arrays.asList(srcFiles));
// Reconstruction des caches.
- rebuiltCacheImagesIfNeeded(Arrays.asList(srcFiles),srcFiles_,imgSrcDir, _prog);
- rebuiltCacheImagesIfNeeded(Arrays.asList(transfFiles),transfFiles_,imgTransfDir, _prog);
+ rebuiltAllCacheImagesIfNeeded(_prog);
FuLog.trace("*** Chargement de "+rootPath+" ***");
if (orthoPoints!=null) {
Modified: trunk/soft/fudaa-lspiv/src/main/resources/org/fudaa/fudaa/piv/piv_en.fr_txt
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/resources/org/fudaa/fudaa/piv/piv_en.fr_txt 2011-12-16 00:22:58 UTC (rev 6846)
+++ trunk/soft/fudaa-lspiv/src/main/resources/org/fudaa/fudaa/piv/piv_en.fr_txt 2011-12-16 15:02:06 UTC (rev 6847)
@@ -10,6 +10,7 @@
Analyse interrompue=Analysis interrupted
Au moins un point extremit\xE9 du transect a un Z inf\xE9rieur au niveau d'eau=At least one edge of the transect is lower than the water level
Aucun point de r\xE9f\xE9rence au sol n'a \xE9t\xE9 d\xE9fini=No ground reference point was defined
+Cache des images automatique=Automatic images cache
Calcul des champs de vitesses instantan\xE9es=Calculation of the instantaneous velocity fields
Calcul des coefficients ok=Calculation of the coefficients ok
Calcul des coefficients=Calculation of the coefficients
@@ -20,13 +21,16 @@
Calcul ok=Calculation ok
Calcul termin\xE9=Calculation is completed
Calculer des valeurs par d\xE9faut=Calculate default values
+Cette cr\xE9ation sera r\xE9alis\xE9e apr\xE8s chaque op\xE9ration\n de s\xE9lection d'image ou transformation, et d\xE9s maintenant.\n\nSouhaitez vous continuer ?=This creation will be performed following each\nimage selection or transformation operations, and now.\n\nDo you want to continue ?
Chargement du projet=Opening project
Coefficient de vitesse=Velocity coefficient
Contour de grille=Grid outline
Contour grille=Grid outline
Corr\xE9lation=Correlation
+Cr\xE9ation automatique des images cache=Images cache automatic creation
Cr\xE9ation des caches images sources=Creating source images caches
Cr\xE9ation des caches images transform\xE9es=Creating transformed images caches
+Cr\xE9ation des caches images=Creating images caches
Dans le projet=In project
Des points existent d\xE9j\xE0. Voulez-vous les remplacer ?=Points already exist. Do you want to replace them?
Des vitesses instantan\xE9es doivent exister=Instantaneous velocities must exist
@@ -99,6 +103,7 @@
Intervalle de temps=Time step
LSPIV=LSPIV
La biblioth\xE8que JAI Image I/O n'est probablement pas install\xE9e.\nElle doit l'\xEAtre dans le r\xE9pertoire des extensions Java.\n\nL'application ne fonctionnera pas correctement=The JAI Image I/O library is probably not installed.\nIt must be installed in the Java extensions directory.\n\nThe application will not work properly
+La cr\xE9ation/mise \xE0 jour des caches de toutes les images peut prendre\n plusieurs minutes=Caches creation/update for all images can take several\nminutes
La r\xE9solution doit \xEAtre un r\xE9el strictement positif=Resolution must be a strictly positive real number
La transformation des images s'est termin\xE9e avec succ\xE8s=Image transformation terminated successfully
Label=Label
@@ -224,6 +229,7 @@
Transformation interrompue=Transformation interrupted
Transformation ok=Transformation ok
Transformer les images=Transform the images
+Un seul fichier projet est autoris\xE9 pour le transfert=Only one project file is authorized during transfer
Un transect doit \xEAtre d\xE9fini et des r\xE9sultats moyenn\xE9s doivent exister=A transect must be specified and averaged results must exist
Un transect existe d\xE9j\xE0. Voulez-vous le remplacer ?=A transect already exists. Do you want to replace it?
Une erreur de lecture s'est produite=An error while reading occurred
@@ -232,9 +238,9 @@
Verification interrompue=Verification interrupted
Vit. instantan\xE9es=Instantaneous vel.
Vit. instantan\xE9es\: point n\xB0=Instantaneous vel.\: point n\xB0
+Vit. moyennes sur vert=Depth-average vel
Vit. surf. instantan\xE9es=Instantaneous surf. vel.
Vit. surf. moyennes=Average surf. vel.
-Vit. vert. moyennes=Average vert. vel.
Vitesse X=X velocity
Vitesse Y=Y velocity
Vitesse moyenne sur la section (m/s)=Section-averaged velocity (m/s)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|