|
From: <de...@us...> - 2012-10-30 16:18:26
|
Revision: 7835
http://fudaa.svn.sourceforge.net/fudaa/?rev=7835&view=rev
Author: deniger
Date: 2012-10-30 16:18:15 +0000 (Tue, 30 Oct 2012)
Log Message:
-----------
am?\195?\169lioration support format serafin dans Fudaa
Modified Paths:
--------------
trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/telemac/TrTelemacSerafinBuilder.java
Modified: trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/telemac/TrTelemacSerafinBuilder.java
===================================================================
--- trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/telemac/TrTelemacSerafinBuilder.java 2012-10-30 16:17:58 UTC (rev 7834)
+++ trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/telemac/TrTelemacSerafinBuilder.java 2012-10-30 16:18:15 UTC (rev 7835)
@@ -41,12 +41,10 @@
* @version $Id: TrTelemacSerafinBuilder.java,v 1.29 2007-05-22 14:20:38 deniger Exp $
*/
public class TrTelemacSerafinBuilder extends TelemacVariableMapper {
- SerafinInterface geoInterface_;
+ SerafinInterface geoInterface_;
Map geoValues_;
-
TrTelemacSerafinHelper helper_;
-
boolean isGridModified_;
/**
@@ -55,9 +53,9 @@
public TrTelemacSerafinBuilder(final TrTelemacSerafinHelper _helper) {
super();
helper_ = _helper;
-
+
}
-
+
private File findFileToSave(final File _init) {
// premier test avec .old
File test = new File(_init.getAbsolutePath() + ".old");
@@ -93,7 +91,7 @@
// si n\xE9cessaire, on calcul la cote
if (saveFile == null) {
new TrTelemacSaveBackupGeometryFile(gFile).afficheModale(getUI().getFrame(),
- TrResource.getS("Sauvegarde de l'ancien fichier de g\xE9om\xE9trie"));
+ TrResource.getS("Sauvegarde de l'ancien fichier de g\xE9om\xE9trie"));
} else {
CtuluLibFile.copyFile(gFile, saveFile);
}
@@ -106,24 +104,24 @@
// activation de la reprise
helper_.getH2DParams().getDicoParams().setValue(helper_.getRepriseBooleanKw(), DicoDataType.Binaire.TRUE_VALUE);
helper_.getH2DParams().activeSi(geoValues_, null);
-
+
helper_.getH2DParams().getSolutionsInit().setFirstTimeStep(timeStepLoaded_, null);
helper_.setRepriseLoaded(true);
-
+
} else {
prop.removeRepriseValues(geoValues_);
isGridModified_ = true;
}
-
+
} else {
getUI().warn(
- helper_.getGridName(),
- TrResource.getS("Le fichier de g\xE9om\xE9trie contient des r\xE9sultats.") + CtuluLibString.LINE_SEP
+ helper_.getGridName(),
+ TrResource.getS("Le fichier de g\xE9om\xE9trie contient des r\xE9sultats.") + CtuluLibString.LINE_SEP
+ TrResource.getS("Ces variables seront supprim\xE9es."));
prop.removeRepriseValues(geoValues_);
isGridModified_ = true;
}
-
+
}
}
if (!reprise) {
@@ -138,23 +136,23 @@
*/
private boolean autoActiveRepMsg(final File _saveFile) {
String msg = TrResource.getS("Le fichier de g\xE9om\xE9trie contient des r\xE9sultats.") + CtuluLibString.ESPACE
- + TrResource.getS("Vous pouvez activer une reprise de calcul.") + CtuluLibString.LINE_SEP
- + TrResource.getS("Si vous acceptez, la reprise sera activ\xE9e et un fichier de reprise sera cr\xE9\xE9\xE9.") + CtuluLibString.LINE_SEP;
+ + TrResource.getS("Vous pouvez activer une reprise de calcul.") + CtuluLibString.LINE_SEP
+ + TrResource.getS("Si vous acceptez, la reprise sera activ\xE9e et un fichier de reprise sera cr\xE9\xE9\xE9.") + CtuluLibString.LINE_SEP;
if (_saveFile == null) {
msg += TrResource.getS("Une copie de votre fichier de g\xE9om\xE9trie sera effectu\xE9e (\xE9tape suivante)");
} else {
msg += TrResource.getS("Une copie de votre fichier de g\xE9om\xE9trie sera effectu\xE9e sous le nom {0}", _saveFile.getName());
}
msg += CtuluLibString.LINE_SEP + TrResource.getS("et il sera remplac\xE9 par un fichier simplifi\xE9.") + CtuluLibString.LINE_SEP
- + CtuluLibString.LINE_SEP
- + TrResource.getS("Si vous refusez, les variables correspondant \xE0 des r\xE9sultats seront supprim\xE9es de votre nouveau projet.");
+ + CtuluLibString.LINE_SEP
+ + TrResource.getS("Si vous refusez, les variables correspondant \xE0 des r\xE9sultats seront supprim\xE9es de votre nouveau projet.");
final CtuluOptionPane p = new CtuluOptionPane(msg, JOptionPane.QUESTION_MESSAGE);
- final String[] opt = new String[] { TrResource.getS("Activer la reprise"), TrResource.getS("Ne pas activer la reprise de calcul") };
+ final String[] opt = new String[]{TrResource.getS("Activer la reprise"), TrResource.getS("Ne pas activer la reprise de calcul")};
p.setOptions(opt);
CtuluOptionPane.showDialog(getUI().getFrame(), TrTelemacSerafinHelper.getRepriseTitle(), p);
return opt[0].equals(p.getValue());
}
-
+
private int getTimeStepToUse(final SerafinInterface _serafinResults) {
int timeStep = _serafinResults.getTimeStepNb() - 1;
if (timeStep > 0) {
@@ -167,9 +165,8 @@
}
return timeStep;
}
-
double timeStepLoaded_;
-
+
private void loadGeoValues() {
if (geoValues_ == null) {
final int timeStep = helper_.getTimeStepToUse(geoInterface_);
@@ -179,9 +176,9 @@
}
/**
- * Methode permettant de charger et de v\xE9rifier un fichier de reprise. Cette methode doit etre appele lorsque
- * l'utilisateur charge tout ces fichiers.
- *
+ * Methode permettant de charger et de v\xE9rifier un fichier de reprise. Cette methode doit etre appele lorsque l'utilisateur charge tout ces
+ * fichiers.
+ *
* @param _prg
* @param _geoValues
* @param _dirBase
@@ -210,9 +207,9 @@
}
// On verifie que la cote et la bathy sont presentes sinon on les calcule.
repRes.isModified_ |= helper_.determineBathyAndHForCI(repriseValues, geoValues_);
-
+
}
-
+
}
if (isReprise && repRes != null) {
helper_.getH2DParams().activeSi(repriseValues, null);
@@ -223,9 +220,8 @@
}
/**
- * Remplie _m avec variable->double[]. Renvoie true si modification dans le fichier de reprise (variables en trop
- * supprim\xE9es ...)
- *
+ * Remplie _m avec variable->double[]. Renvoie true si modification dans le fichier de reprise (variables en trop supprim\xE9es ...)
+ *
* @param _prg
* @param _ui
* @param _grid
@@ -239,8 +235,8 @@
final DicoEntite repriseFile = helper_.getRepriseFileKw();
if (!helper_.isRepriseFileSetAndValid()) {
getUI().error(
- TrTelemacSerafinHelper.getRepriseTitle(),
- DicoResource.getS("La valeur {0} est invalide pour le mot-cl\xE9 {1}", helper_.getH2DParams().getDicoParams().getValue(repriseFile),
+ TrTelemacSerafinHelper.getRepriseTitle(),
+ DicoResource.getS("La valeur {0} est invalide pour le mot-cl\xE9 {1}", helper_.getH2DParams().getDicoParams().getValue(repriseFile),
repriseFile.getNom()));
return null;
}
@@ -250,7 +246,7 @@
}
return helper_.loadRepriseData(_prg, file, _m);
}
-
+
private boolean setMaillageIsOk(final EfGridInterface _grid, long initialDateInMillis, final ProgressionInterface _prg) {
final CtuluAnalyze analyze = new CtuluAnalyze();
analyze.setDesc(H2dResource.getS("Analyse donn\xE9es"));
@@ -260,17 +256,16 @@
helper_.unsetMessage();
return !analyze.containsFatalError();
}
-
+
FudaaCommonImplementation getUI() {
return helper_.getUI();
}
/**
- * Cette methode doit etre appelee lors du chargement d'un projet Telemac. Elle permet de charger le fichier de geo
- * et/ou le fichier de reprise. Les variables requises sont cr\xE9\xE9es ( he, cote d'eau, ...) et si c'est un nouveau
- * projet, on teste le fichier de geo pour savoir s'il contient des var de reprise ou non: si oui, on propose \xE0
- * l'utilisateur d'activer une reprise de calcul. Si refuse, le fichier de geo est simplifi\xE9.
- *
+ * Cette methode doit etre appelee lors du chargement d'un projet Telemac. Elle permet de charger le fichier de geo et/ou le fichier de reprise. Les
+ * variables requises sont cr\xE9\xE9es ( he, cote d'eau, ...) et si c'est un nouveau projet, on teste le fichier de geo pour savoir s'il contient des var
+ * de reprise ou non: si oui, on propose \xE0 l'utilisateur d'activer une reprise de calcul. Si refuse, le fichier de geo est simplifi\xE9.
+ *
* @param _dirBase le repertoire du fichier cas: pour r\xE9cup\xE9rer les fichiers \xE0 partir des chemins relatifs
* @param _ipobo le tableau des indices des points externes dans l'ordre telemac
* @param _prg le receveur de progression
@@ -299,7 +294,7 @@
try {
final CtuluAnalyze logs = new CtuluAnalyze();
if (ipobo == null) {
-
+
grid.computeBord(_prg, logs);
getUI().manageAnalyzeAndIsFatal(logs);
} else {
@@ -307,11 +302,12 @@
}
if (logs.containsFatalError() && ipobo != null) {
logs.changeFatalError(TrLib
- .getString("Les fronti\xE8res ne peuvent pas \xEAtre d\xE9finies.\nIl semble que les conditions limites soient mal sp\xE9cifi\xE9es.")
- + CtuluLibString.LINE_SEP_SIMPLE + TrLib.getString("Il est conseill\xE9 de recr\xE9er un projet \xE0 partir du fichier de g\xE9om\xE9trie."));
+ .getString("Les fronti\xE8res ne peuvent pas \xEAtre d\xE9finies.\nIl semble que les conditions limites soient mal sp\xE9cifi\xE9es.")
+ + CtuluLibString.LINE_SEP_SIMPLE + TrLib.getString("Il est conseill\xE9 de recr\xE9er un projet \xE0 partir du fichier de g\xE9om\xE9trie."));
}
- if (getUI().manageAnalyzeAndIsFatal(logs))
+ if (getUI().manageAnalyzeAndIsFatal(logs)) {
return false;
+ }
} catch (final ArrayIndexOutOfBoundsException e) {
// erreur dans le fichier
getUI().error(TrResource.getS("Recherche des bords"), TrResource.getS("le fichier serafin est corrompu"), false);
@@ -323,6 +319,8 @@
if (!setMaillageIsOk(grid, geoInterface_.getIdate(), _prg)) {
return false;
}
+ helper_.getH2DParams().setXyDoublePrecision(geoInterface_.isXYdoublePrecision());
+
// les variables du fichier de g\xE9om\xE9trie
boolean isReprise = helper_.isRepriseActivated();
if (isReprise) {
@@ -337,7 +335,7 @@
}
return true;
}
-
+
public synchronized boolean loadGeometryAndOptimize(final File _dirBase, final ProgressionInterface _prg) {
final SerafinInterface serafinResults = helper_.readGridFile(_prg);
isGridModified_ = true;
@@ -364,5 +362,4 @@
finishLoadVars(true, _prg);
return true;
}
-
-}
\ No newline at end of file
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|