You can subscribe to this list here.
| 2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(46) |
Jul
(37) |
Aug
(154) |
Sep
(140) |
Oct
(132) |
Nov
(104) |
Dec
(67) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2009 |
Jan
(113) |
Feb
(73) |
Mar
(102) |
Apr
(106) |
May
(114) |
Jun
(67) |
Jul
(116) |
Aug
(48) |
Sep
(108) |
Oct
(296) |
Nov
(56) |
Dec
(53) |
| 2010 |
Jan
(95) |
Feb
(31) |
Mar
(40) |
Apr
(12) |
May
(10) |
Jun
(27) |
Jul
(19) |
Aug
(81) |
Sep
(48) |
Oct
(45) |
Nov
(40) |
Dec
(7) |
| 2011 |
Jan
(16) |
Feb
(32) |
Mar
(55) |
Apr
(38) |
May
(24) |
Jun
(37) |
Jul
(12) |
Aug
(16) |
Sep
(97) |
Oct
(90) |
Nov
(101) |
Dec
(89) |
| 2012 |
Jan
(18) |
Feb
(2) |
Mar
(54) |
Apr
(69) |
May
(97) |
Jun
(131) |
Jul
(70) |
Aug
(48) |
Sep
(48) |
Oct
(119) |
Nov
(194) |
Dec
(60) |
| 2013 |
Jan
(73) |
Feb
(35) |
Mar
(42) |
Apr
(28) |
May
(7) |
Jun
(17) |
Jul
(27) |
Aug
(10) |
Sep
(38) |
Oct
(12) |
Nov
(4) |
Dec
(16) |
| 2014 |
Jan
(33) |
Feb
(37) |
Mar
(19) |
Apr
(3) |
May
(47) |
Jun
(26) |
Jul
(22) |
Aug
|
Sep
(10) |
Oct
(30) |
Nov
(24) |
Dec
(19) |
| 2015 |
Jan
(13) |
Feb
(16) |
Mar
(36) |
Apr
(19) |
May
(5) |
Jun
(5) |
Jul
(3) |
Aug
(11) |
Sep
(22) |
Oct
(7) |
Nov
(14) |
Dec
|
| 2016 |
Jan
|
Feb
(26) |
Mar
(13) |
Apr
(61) |
May
|
Jun
|
Jul
(4) |
Aug
|
Sep
|
Oct
(27) |
Nov
(14) |
Dec
(21) |
| 2017 |
Jan
(30) |
Feb
(4) |
Mar
(3) |
Apr
(5) |
May
(69) |
Jun
(29) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <de...@us...> - 2017-01-11 16:07:28
|
Revision: 9512
http://sourceforge.net/p/fudaa/svn/9512
Author: deniger
Date: 2017-01-11 16:07:25 +0000 (Wed, 11 Jan 2017)
Log Message:
-----------
CRUE-728: le dialogue n'?\195?\169tait pas ouverte dans le bon mode.
Modified Paths:
--------------
trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/helper/DialogHelper.java
Modified: trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/helper/DialogHelper.java
===================================================================
--- trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/helper/DialogHelper.java 2017-01-11 14:03:56 UTC (rev 9511)
+++ trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/helper/DialogHelper.java 2017-01-11 16:07:25 UTC (rev 9512)
@@ -106,6 +106,22 @@
}
/**
+ * Création d'un JDialog à partir d'un panel contenant un component
+ *
+ * @param cpn le component qui sera le body de la fenêtre
+ * @param dialogName nom de la fenêtre
+ * @param dialogTitle titre de la fenêtre
+ * @param createLayout true s'il faut créer un layout de redimensionnement, false sinon. A mettre a true, si le cpn n'est pas un JPanel.
+ * @param versionForPersistence utilise pour versionner les préférences et prendre en charge les modifications des contenus.
+ * @return la JDialog construite, avec ses taille et position chargées si elles ont été précédemment mémorisées
+ */
+ public static JDialog createOKCancelDialog(final Component cpn, final String dialogName, final String dialogTitle, boolean createLayout,
+ String versionForPersistence) {
+ return createDialog(cpn, null, dialogName, dialogTitle, DialogDescriptor.OK_CANCEL_OPTION, DialogDescriptor.OK_OPTION, createLayout, null,
+ versionForPersistence);
+ }
+
+ /**
* Création d'un JDialog à partir d'un panel contenant une JXTable
*
* @param cpn le component qui sera le body de la fenêtre
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2017-01-11 14:03:58
|
Revision: 9511
http://sourceforge.net/p/fudaa/svn/9511
Author: deniger
Date: 2017-01-11 14:03:56 +0000 (Wed, 11 Jan 2017)
Log Message:
-----------
CRUE-728: le dialogue n'?\195?\169tait pas ouverte dans le bon mode.
Modified Paths:
--------------
trunk/soft/fudaa-crue/pom.xml
Modified: trunk/soft/fudaa-crue/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/pom.xml 2017-01-11 13:46:15 UTC (rev 9510)
+++ trunk/soft/fudaa-crue/pom.xml 2017-01-11 14:03:56 UTC (rev 9511)
@@ -423,6 +423,14 @@
</reportSet>
</reportSets>
</plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>javancss-maven-plugin</artifactId>
+ <version>2.1</version>
+ </plugin>
+
+
</plugins>
</reporting>
</project>
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2017-01-11 13:46:17
|
Revision: 9510
http://sourceforge.net/p/fudaa/svn/9510
Author: deniger
Date: 2017-01-11 13:46:15 +0000 (Wed, 11 Jan 2017)
Log Message:
-----------
CRUE-728: le dialogue n'?\195?\169tait pas ouverte dans le bon mode.
Modified Paths:
--------------
trunk/soft/fudaa-crue/ui-otfa/src/main/java/org/fudaa/fudaa/crue/otfa/property/RapportPropertyEditorSupport.java
Modified: trunk/soft/fudaa-crue/ui-otfa/src/main/java/org/fudaa/fudaa/crue/otfa/property/RapportPropertyEditorSupport.java
===================================================================
--- trunk/soft/fudaa-crue/ui-otfa/src/main/java/org/fudaa/fudaa/crue/otfa/property/RapportPropertyEditorSupport.java 2017-01-11 13:05:36 UTC (rev 9509)
+++ trunk/soft/fudaa-crue/ui-otfa/src/main/java/org/fudaa/fudaa/crue/otfa/property/RapportPropertyEditorSupport.java 2017-01-11 13:46:15 UTC (rev 9510)
@@ -6,8 +6,10 @@
import org.fudaa.dodico.crue.projet.otfa.OtfaCampagneItem;
import org.fudaa.dodico.crue.projet.otfa.OtfaCampagneLine;
import org.fudaa.fudaa.crue.common.helper.DialogHelper;
+import org.fudaa.fudaa.crue.otfa.perspective.PerspectiveServiceOtfa;
import org.openide.explorer.propertysheet.ExPropertyEditor;
import org.openide.explorer.propertysheet.PropertyEnv;
+import org.openide.util.Lookup;
import org.openide.util.NbBundle;
/**
@@ -21,6 +23,8 @@
private final OtfaCampagneLine campagneligne;
private PropertyEnv env;
+ PerspectiveServiceOtfa perspectiveServiceOtfa = Lookup.getDefault().lookup(PerspectiveServiceOtfa.class);
+
public RapportPropertyEditorSupport(OtfaCampagne campagne, OtfaCampagneLine ligne, OtfaCampagneItem item) {
this.campagne = campagne;
this.campagneligne = ligne;
@@ -46,9 +50,14 @@
@Override
public Component getCustomEditor() {
- // encapsulation dans un JDialog pour pouvoir gérer la persistence
- return DialogHelper.createCloseDialog(new RapportCustomEditor(this, env).getComponent(), this.getClass().getName(), NbBundle.getMessage(
- RapportPropertyEditorSupport.class, "rapportsDisplayerTitle"), false, DialogHelper.NO_VERSION_FOR_PERSISTENCE);
+ if (perspectiveServiceOtfa.isInEditMode()) {
+ return DialogHelper.createOKCancelDialog(new RapportCustomEditor(this, env).getComponent(), this.getClass().getName(), NbBundle.getMessage(
+ RapportPropertyEditorSupport.class, "rapportsDisplayerTitle"), false, env, DialogHelper.NO_VERSION_FOR_PERSISTENCE);
+ } else {
+ // encapsulation dans un JDialog pour pouvoir gérer la persistence
+ return DialogHelper.createCloseDialog(new RapportCustomEditor(this, env).getComponent(), this.getClass().getName(), NbBundle.getMessage(
+ RapportPropertyEditorSupport.class, "rapportsDisplayerTitle"), false, DialogHelper.NO_VERSION_FOR_PERSISTENCE);
+ }
}
@Override
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2017-01-11 13:05:39
|
Revision: 9509
http://sourceforge.net/p/fudaa/svn/9509
Author: deniger
Date: 2017-01-11 13:05:36 +0000 (Wed, 11 Jan 2017)
Log Message:
-----------
https://fudaa-project.atlassian.net/browse/CRUE-683
Modified Paths:
--------------
trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/services/ModellingSaveScenarioCallable.java
Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/services/ModellingSaveScenarioCallable.java
===================================================================
--- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/services/ModellingSaveScenarioCallable.java 2017-01-11 11:35:15 UTC (rev 9508)
+++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/services/ModellingSaveScenarioCallable.java 2017-01-11 13:05:36 UTC (rev 9509)
@@ -112,6 +112,11 @@
final CtuluLog uiOcalLog = res.createNewLog("loader.writeUiOcal");
final EMHProjet projet = modellingScenarioServiceImpl.getSelectedProjet();
final File uiOcalFile = projet.getInfos().getUiOCALFile(managerScenarioLoaded);
+ //on créé le dossier parent s'il n'existe pas.
+ File parentDir = uiOcalFile.getParentFile();
+ if (parentDir != null && !parentDir.exists()) {
+ parentDir.mkdirs();
+ }
String error = CtuluLibFile.canWrite(uiOcalFile);
if (error != null) {
uiOcalLog.addSevereError(error);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2017-01-11 09:18:13
|
Revision: 9507
http://sourceforge.net/p/fudaa/svn/9507
Author: deniger
Date: 2017-01-11 09:18:11 +0000 (Wed, 11 Jan 2017)
Log Message:
-----------
correction sur le parcours de listes
Modified Paths:
--------------
trunk/soft/fudaa-crue/pom.xml
Modified: trunk/soft/fudaa-crue/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/pom.xml 2017-01-10 16:13:53 UTC (rev 9506)
+++ trunk/soft/fudaa-crue/pom.xml 2017-01-11 09:18:11 UTC (rev 9507)
@@ -400,6 +400,7 @@
<version>2.9</version>
<configuration>
<!-- Default configuration for all reports -->
+ <stylesheetfile>http://docs.oracle.com/javase/7/docs/api/stylesheet.css</stylesheetfile>
</configuration>
<reportSets>
<reportSet>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2017-01-10 16:13:56
|
Revision: 9506
http://sourceforge.net/p/fudaa/svn/9506
Author: bmarchan
Date: 2017-01-10 16:13:53 +0000 (Tue, 10 Jan 2017)
Log Message:
-----------
LSPIV : Diff?\195?\169rents correctifs sur rapport de jaugeage
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/PivFlowInfoPanel.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivExportGaugingReportAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivComputeParameters.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 2017-01-10 16:12:51 UTC (rev 9505)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivFilterInstantResultsPanel.java 2017-01-10 16:13:53 UTC (rev 9506)
@@ -205,8 +205,7 @@
public void setFilterValues(PivComputeParameters _params) {
if (_params==null) return;
- if (_params.getMinCorrelation()==PivUtils.FORTRAN_DOUBLE_MIN &&
- _params.getMaxCorrelation()==PivUtils.FORTRAN_DOUBLE_MAX) {
+ if (!_params.isCorrelationFiltered()) {
cbCorrelFlt_.setSelected(false);
tfCorrelMinLimit_.setText("0.");
tfCorrelMaxLimit_.setText("1.");
@@ -217,13 +216,7 @@
tfCorrelMaxLimit_.setText(""+_params.getMaxCorrelation());
}
- if (_params.getSmin()==PivUtils.FORTRAN_DOUBLE_MIN &&
- _params.getSmax()==PivUtils.FORTRAN_DOUBLE_MAX &&
- _params.getVxmin()==PivUtils.FORTRAN_DOUBLE_MIN &&
- _params.getVxmax()==PivUtils.FORTRAN_DOUBLE_MAX &&
- _params.getVymin()==PivUtils.FORTRAN_DOUBLE_MIN &&
- _params.getVymax()==PivUtils.FORTRAN_DOUBLE_MAX
- ) {
+ if (!_params.isVelocityFiltered()) {
cbVelFlt_.setSelected(false);
tfNormalMinLimit_.setText("0.");
tfNormalMaxLimit_.setText(""+_params.getSmax());
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivFlowInfoPanel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivFlowInfoPanel.java 2017-01-10 16:12:51 UTC (rev 9505)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivFlowInfoPanel.java 2017-01-10 16:13:53 UTC (rev 9506)
@@ -58,21 +58,21 @@
case 0:
return PivResource.getS("N\xB0");
case 1:
- return PivResource.getS("D\xE9bit total (m\xB3/s)");
+ return PivResource.getS("<html>D\xE9bit total (m\xB3/s)</html>");
case 2:
- return PivResource.getS("Ecart (%)");
+ return PivResource.getS("<html>Ecart (%)</html>");
case 3:
- return PivResource.getS("Aire mouill\xE9e (m\xB2)");
+ return PivResource.getS("<html>Aire mouill\xE9e (m\xB2)</html>");
case 4:
- return PivResource.getS("Ecart (%)");
+ return PivResource.getS("<html>Ecart (%)</html>");
case 5:
- return PivResource.getS("Vit. moy. (m/s)");
+ return PivResource.getS("<html>Vit. moy. (m/s)</html>");
case 6:
- return PivResource.getS("Ecart (%)");
+ return PivResource.getS("<html>Ecart (%)</html>");
case 7:
- return PivResource.getS("D\xE9bit mesur\xE9 (m\xB3/s)");
+ return PivResource.getS("<html>D\xE9bit mesur\xE9 (m\xB3/s)</html>");
case 8:
- return PivResource.getS("Ecart (%)");
+ return PivResource.getS("<html>D\xE9bit mesur\xE9 / D\xE9bit total (%)</html>");
}
}
@@ -109,8 +109,8 @@
case 7:
return rowIndex==res_.length? meanMeasuredDisch_:res_[rowIndex].getValue(-1,ResultType.MEASURED_DISCHARGE);
case 8:
- val=rowIndex==res_.length? meanMeasuredDisch_:res_[rowIndex].getValue(-1,ResultType.MEASURED_DISCHARGE);
- return (val-meanMeasuredDisch_)/meanMeasuredDisch_*100;
+ val=rowIndex==res_.length? meanMeasuredDisch_/meanDisch_:res_[rowIndex].getValue(-1,ResultType.MEASURED_DISCHARGE)/res_[rowIndex].getDischarge();
+ return val*100;
}
}
@@ -164,7 +164,11 @@
tbResults.getColumnModel().getColumn(2).setMaxWidth(70);
tbResults.getColumnModel().getColumn(4).setMaxWidth(70);
tbResults.getColumnModel().getColumn(6).setMaxWidth(70);
- tbResults.getColumnModel().getColumn(8).setMaxWidth(70);
+ // Customization pour avoir le titre sur 2 lignes.
+ tbResults.getTableHeader().setPreferredSize(
+ new Dimension(tbResults.getColumnModel().getTotalColumnWidth(), 40));
+ ((JLabel)tbResults.getTableHeader().getDefaultRenderer()).setVerticalAlignment(JLabel.TOP);
+
JScrollPane spResults=new JScrollPane();
spResults.getViewport().add(tbResults);
spResults.setPreferredSize(new Dimension(850,200));
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivExportGaugingReportAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivExportGaugingReportAction.java 2017-01-10 16:12:51 UTC (rev 9505)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivExportGaugingReportAction.java 2017-01-10 16:13:53 UTC (rev 9506)
@@ -155,6 +155,9 @@
}
try {
+ // Nettoie les valeurs \xE0 chaque changement du nom de projet.
+ if (isProjectFileModified())
+ userVars.clear();
computeNeededDatas();
HashMap<String, AbstractCellData> systemDatas=defineSystemVariables();
@@ -343,7 +346,7 @@
}
// Changement de projet => On change le nom du rapport
- if (!impl.getSavedProjectFile().equals(projectFile_)) {
+ if (isProjectFileModified()) {
projectFile_=impl.getSavedProjectFile();
String fsave=projectFile_.getName();
@@ -400,7 +403,8 @@
final HashMap<String,Object> imgOptions = new HashMap<>();
imgOptions.put(CtuluLibImage.PARAMS_FILL_BACKGROUND_BOOLEAN, Boolean.FALSE);
- final DecimalFormat fmtStd = CtuluLib.getDecimalFormat(3);
+ final DecimalFormat fmt3Digit = CtuluLib.getDecimalFormat(3);
+ final DecimalFormat fmt1Digit = CtuluLib.getDecimalFormat(1);
final DecimalFormat fmtEcart = CtuluLib.getNoEffectDecimalFormat();
fmtEcart.setMaximumFractionDigits(1);
fmtEcart.setMinimumFractionDigits(1);
@@ -409,29 +413,48 @@
fmtExp.setMaximumFractionDigits(3);
fmtExp.setMinimumFractionDigits(2);
- systemVars_.put("__COEF_VITESSE",new AbstractScalarCellData() {
+ systemVars_.put("__COEF_VITESSE_MAX", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
- // On prend le coef de vitesse du premier transect, s'il existe
- return (transects==null || transects.length==0) ? null:format(fmtStd,transects[0].getParams().getSurfaceCoef(),null);
+ if (transects==null || transects.length==0)
+ return null;
+
+ double val=Double.NEGATIVE_INFINITY;
+ for (PivTransect trans : transects) {
+ val=Math.max(val, trans.getParams().getSurfaceCoef());
+ }
+ return format(fmt3Digit,val,null);
}
});
+ systemVars_.put("__COEF_VITESSE_MIN", new AbstractScalarCellData() {
+ @Override
+ public String getValue(int _row, int _col) {
+ if (transects==null || transects.length==0)
+ return null;
+
+ double val=Double.POSITIVE_INFINITY;
+ for (PivTransect trans : transects) {
+ val=Math.min(val, trans.getParams().getSurfaceCoef());
+ }
+ return format(fmt3Digit,val,null);
+ }
+ });
systemVars_.put("__CORREL_MAX",new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
- return pivParams==null ? null:""+format(fmtStd,pivParams.getMaxCorrelation(),null);
+ return pivParams==null || !pivParams.isCorrelationFiltered() ? null:""+format(fmt3Digit,pivParams.getMaxCorrelation(),null);
}
});
systemVars_.put("__CORREL_MIN",new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
- return pivParams==null ? null:""+format(fmtStd,pivParams.getMinCorrelation(),null);
+ return pivParams==null || !pivParams.isCorrelationFiltered() ? null:""+format(fmt3Digit,pivParams.getMinCorrelation(),null);
}
});
systemVars_.put("__DEBIT_MOYEN",new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
- return meanDisch==null ? null:format(fmtStd,meanDisch,"m\xB3/s");
+ return meanDisch==null ? null:format(fmt3Digit,meanDisch,"m\xB3/s");
}
});
systemVars_.put("__ERREUR_MAX",new AbstractScalarCellData() {
@@ -444,19 +467,19 @@
for (PivOrthoPoint pt : orthoPoints) {
maxi=Math.max(maxi, pt.getError());
}
- return format(fmtStd,maxi,"m");
+ return format(fmt3Digit,maxi,"m");
}
});
systemVars_.put("__HAUTEUR",new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
- return orthoParams==null ? null:format(fmtStd,orthoParams.getWaterElevation(),"m");
+ return orthoParams==null ? null:format(fmt3Digit,orthoParams.getWaterElevation(),"m");
}
});
systemVars_.put("__IA_M",new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
- return (pivParams==null || orthoParams==null) ? null:format(fmtStd,pivParams.getIASize()*orthoParams.getResolution(),"m");
+ return (pivParams==null || orthoParams==null) ? null:format(fmt3Digit,pivParams.getIASize()*orthoParams.getResolution(),"m");
}
});
systemVars_.put("__IA_PIX",new AbstractScalarCellData() {
@@ -468,7 +491,7 @@
systemVars_.put("__INTERTEMPS",new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
- return pivParams==null ? null:format(fmtStd,pivParams.getTimeInterval(),"s");
+ return pivParams==null ? null:format(fmt3Digit,pivParams.getTimeInterval(),"s");
}
});
systemVars_.put("__NOM_PROJET",new AbstractScalarCellData() {
@@ -489,6 +512,12 @@
return ""+impl.getCurrentProject().getSrcImageFiles().length;
}
});
+ systemVars_.put("__NOMBRE_IMAGES_SECONDE", new AbstractScalarCellData() {
+ @Override
+ public String getValue(int _row, int _col) {
+ return pivParams==null ? null:format(fmt3Digit,1./pivParams.getTimeInterval(),null);
+ }
+ });
systemVars_.put("__NOMBRE_TRANSECTS", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
@@ -498,40 +527,77 @@
systemVars_.put("__NORME_MAX", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
- return pivParams==null ? null:format(fmtStd,pivParams.getSmax(),"m/s");
+ return pivParams==null || !pivParams.isVelocityFiltered() ? null:format(fmt3Digit,pivParams.getSmax(),"m/s");
}
});
systemVars_.put("__NORME_MIN", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
- return pivParams==null ? null:format(fmtStd,pivParams.getSmin(),"m/s");
+ return pivParams==null || !pivParams.isVelocityFiltered() ? null:format(fmt3Digit,pivParams.getSmin(),"m/s");
}
});
- systemVars_.put("__PAS_INTERPOLATION", new AbstractScalarCellData() {
+ systemVars_.put("__PAS_INTERPOLATION_MAX", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
- // On prend le pas du premier transect, s'il existe
- return (transects==null || transects.length==0) ? null:format(fmtStd,transects[0].getParams().getInterpolationStep(),"m");
+ if (transects==null || transects.length==0)
+ return null;
+
+ double val=Double.NEGATIVE_INFINITY;
+ for (PivTransect trans : transects) {
+ val=Math.max(val, trans.getParams().getInterpolationStep());
+ }
+ return format(fmt3Digit,val,"m");
}
});
+ systemVars_.put("__PAS_INTERPOLATION_MIN", new AbstractScalarCellData() {
+ @Override
+ public String getValue(int _row, int _col) {
+ if (transects==null || transects.length==0)
+ return null;
+
+ double val=Double.POSITIVE_INFINITY;
+ for (PivTransect trans : transects) {
+ val=Math.min(val, trans.getParams().getInterpolationStep());
+ }
+ return format(fmt3Digit,val,"m");
+ }
+ });
systemVars_.put("__RATIO_DEBIT_MESURE", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
- return meanMeasuredDisch==null ? null:meanMeasuredDisch/meanDisch*100+" %";
+ return meanMeasuredDisch==null ? null:format(fmt1Digit,meanMeasuredDisch/meanDisch*100, "%");
}
});
- systemVars_.put("__RAYON_RECHERCHE", new AbstractScalarCellData() {
+ systemVars_.put("__RAYON_RECHERCHE_MAX", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
- // On prend le rayon du premier transect, s'il existe
- return (transects==null || transects.length==0) ? null:format(fmtStd,transects[0].getParams().getRadius(),"m");
+ if (transects==null || transects.length==0)
+ return null;
+
+ double val=Double.NEGATIVE_INFINITY;
+ for (PivTransect trans : transects) {
+ val=Math.max(val, trans.getParams().getRadius());
+ }
+ return format(fmt3Digit,val,"m");
}
});
+ systemVars_.put("__RAYON_RECHERCHE_MIN", new AbstractScalarCellData() {
+ @Override
+ public String getValue(int _row, int _col) {
+ if (transects==null || transects.length==0)
+ return null;
+
+ double val=Double.POSITIVE_INFINITY;
+ for (PivTransect trans : transects) {
+ val=Math.min(val, trans.getParams().getRadius());
+ }
+ return format(fmt3Digit,val,"m");
+ }
+ });
systemVars_.put("__RESOLUTION", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
- // On prend le rayon du premier transect, s'il existe
- return orthoParams==null ? null:format(fmtStd,orthoParams.getResolution(),"m/pix");
+ return orthoParams==null ? null:format(fmt3Digit,orthoParams.getResolution(),"m/pix");
}
});
systemVars_.put("__TB_RESULTATS_DEBIT", new AbstractCellData() {
@@ -540,39 +606,43 @@
if (flowResults==null || flowResults.length==0)
return null;
+ // Une ligne blanche entre les r\xE9sultats et la moyenne
+ if (rowIndex==flowResults.length)
+ return "";
+
Double val;
switch (_col) {
default:
case 0:
- return rowIndex==flowResults.length? PivResource.getS("Moyenne"):""+(rowIndex+1);
+ return rowIndex==flowResults.length+1? PivResource.getS("Moyenne"):""+(rowIndex+1);
case 1:
- val=rowIndex==flowResults.length? meanDisch:flowResults[rowIndex].getDischarge();
- return format(fmtStd, val,null);
+ val=rowIndex==flowResults.length+1? meanDisch:flowResults[rowIndex].getDischarge();
+ return format(fmt3Digit, val,null);
case 2:
- val=rowIndex==flowResults.length? meanDisch:flowResults[rowIndex].getDischarge();
+ val=rowIndex==flowResults.length+1? meanDisch:flowResults[rowIndex].getDischarge();
val = (val-meanDisch)/meanDisch*100;
return format(fmtEcart, val,null);
case 3:
- val = rowIndex==flowResults.length? meanArea:flowResults[rowIndex].getWettedArea();
- return format(fmtStd, val,null);
+ val = rowIndex==flowResults.length+1? meanArea:flowResults[rowIndex].getWettedArea();
+ return format(fmt3Digit, val,null);
case 4:
- val=rowIndex==flowResults.length? meanArea:flowResults[rowIndex].getWettedArea();
+ val=rowIndex==flowResults.length+1? meanArea:flowResults[rowIndex].getWettedArea();
val = (val-meanArea)/meanArea*100;
return format(fmtEcart, val,null);
case 5:
- val = rowIndex==flowResults.length? meanMeanV:flowResults[rowIndex].getMeanVelocity();
- return format(fmtStd, val,null);
+ val = rowIndex==flowResults.length+1? meanMeanV:flowResults[rowIndex].getMeanVelocity();
+ return format(fmt3Digit, val,null);
case 6:
- val=rowIndex==flowResults.length? meanMeanV:flowResults[rowIndex].getMeanVelocity();
+ val=rowIndex==flowResults.length+1? meanMeanV:flowResults[rowIndex].getMeanVelocity();
val = (val-meanMeanV)/meanMeanV*100;
return format(fmtEcart, val,null);
case 7:
- val = rowIndex==flowResults.length? meanMeasuredDisch:flowResults[rowIndex].getValue(-1,ResultType.MEASURED_DISCHARGE);
- return format(fmtStd, val,null);
+ val = rowIndex==flowResults.length+1? meanMeasuredDisch:flowResults[rowIndex].getValue(-1,ResultType.MEASURED_DISCHARGE);
+ return format(fmt3Digit, val,null);
case 8:
- val=rowIndex==flowResults.length? meanMeasuredDisch:flowResults[rowIndex].getValue(-1,ResultType.MEASURED_DISCHARGE);
- val = (val-meanMeasuredDisch)/meanMeasuredDisch*100;
+ val=rowIndex==flowResults.length+1? meanMeasuredDisch/meanDisch:flowResults[rowIndex].getValue(-1,ResultType.MEASURED_DISCHARGE)/flowResults[rowIndex].getDischarge();
+ val*=100;
return format(fmtEcart, val,null);
}
}
@@ -584,7 +654,7 @@
@Override
public int getNbRows() {
- return transects==null ? 0 : transects.length+1;
+ return transects==null ? 0 : transects.length+2;
}
});
systemVars_.put("__SIM_MS", new AbstractScalarCellData() {
@@ -599,7 +669,7 @@
val = orthoParams.getResolution()*pivParams.getSim()/pivParams.getTimeInterval();
}
- return format(fmtStd, val,"m/s");
+ return format(fmt3Digit, val,"m/s");
}
return null;
}
@@ -622,7 +692,7 @@
val = orthoParams.getResolution()*pivParams.getSip()/pivParams.getTimeInterval();
}
- return format(fmtStd, val,"m/s");
+ return format(fmt3Digit, val,"m/s");
}
return null;
}
@@ -645,7 +715,7 @@
val = orthoParams.getResolution()*pivParams.getSjm()/pivParams.getTimeInterval();
}
- return format(fmtStd, val,"m/s");
+ return format(fmt3Digit, val,"m/s");
}
return null;
}
@@ -668,7 +738,7 @@
val = orthoParams.getResolution()*pivParams.getSjp()/pivParams.getTimeInterval();
}
- return format(fmtStd, val,"m/s");
+ return format(fmt3Digit, val,"m/s");
}
return null;
}
@@ -731,49 +801,49 @@
systemVars_.put("__VX_MAX", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
- return pivParams==null ? null:format(fmtStd, pivParams.getVxmax(), "m/s");
+ return pivParams==null || !pivParams.isVelocityFiltered() ? null:format(fmt3Digit, pivParams.getVxmax(), "m/s");
}
});
systemVars_.put("__VX_MIN", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
- return pivParams==null ? null:format(fmtStd, pivParams.getVxmin(), "m/s");
+ return pivParams==null || !pivParams.isVelocityFiltered() ? null:format(fmt3Digit, pivParams.getVxmin(), "m/s");
}
});
systemVars_.put("__VY_MAX", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
- return pivParams==null ? null:format(fmtStd, pivParams.getVymax(),"m/s");
+ return pivParams==null || !pivParams.isVelocityFiltered() ? null:format(fmt3Digit, pivParams.getVymax(),"m/s");
}
});
systemVars_.put("__VY_MIN", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
- return pivParams==null ? null:format(fmtStd, pivParams.getVymin(),"m/s");
+ return pivParams==null || !pivParams.isVelocityFiltered() ? null:format(fmt3Digit, pivParams.getVymin(),"m/s");
}
});
systemVars_.put("__X_MAX", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
- return orthoParams==null ? null:format(fmtStd, orthoParams.getXmax(),"m");
+ return orthoParams==null ? null:format(fmt3Digit, orthoParams.getXmax(),"m");
}
});
systemVars_.put("__X_MIN", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
- return orthoParams==null ? null:format(fmtStd, orthoParams.getXmin(),"m");
+ return orthoParams==null ? null:format(fmt3Digit, orthoParams.getXmin(),"m");
}
});
systemVars_.put("__Y_MAX", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
- return orthoParams==null ? null:format(fmtStd, orthoParams.getYmax(),"m");
+ return orthoParams==null ? null:format(fmt3Digit, orthoParams.getYmax(),"m");
}
});
systemVars_.put("__Y_MIN", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
- return orthoParams==null ? null:format(fmtStd, orthoParams.getYmin(),"m");
+ return orthoParams==null ? null:format(fmt3Digit, orthoParams.getYmin(),"m");
}
});
@@ -806,6 +876,13 @@
}
return ret;
}
+
+ /**
+ * @return True si le nom du projet a \xE9t\xE9 modifi\xE9.
+ */
+ private boolean isProjectFileModified() {
+ return !impl.getSavedProjectFile().equals(projectFile_);
+ }
/**
* @return true Si toutes les donn\xE9es sont pr\xE9sentes pour un lancement.
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivComputeParameters.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivComputeParameters.java 2017-01-10 16:12:51 UTC (rev 9505)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivComputeParameters.java 2017-01-10 16:13:53 UTC (rev 9506)
@@ -254,4 +254,24 @@
public GrPoint getIACenterPosition() {
return ptCenter;
}
+
+ /**
+ * @return True si les vitesses sont filtr\xE9es
+ */
+ public boolean isVelocityFiltered() {
+ return smin != PivUtils.FORTRAN_DOUBLE_MIN ||
+ smax != PivUtils.FORTRAN_DOUBLE_MAX ||
+ vxmin != PivUtils.FORTRAN_DOUBLE_MIN ||
+ vxmax != PivUtils.FORTRAN_DOUBLE_MAX ||
+ vymin != PivUtils.FORTRAN_DOUBLE_MIN ||
+ vymax != PivUtils.FORTRAN_DOUBLE_MAX;
+ }
+
+ /**
+ * @return True si la correlation est filtr\xE9e
+ */
+ public boolean isCorrelationFiltered() {
+ return minCorrelation != PivUtils.FORTRAN_DOUBLE_MIN ||
+ maxCorrelation != PivUtils.FORTRAN_DOUBLE_MAX;
+ }
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2017-01-10 16:12:53
|
Revision: 9505
http://sourceforge.net/p/fudaa/svn/9505
Author: bmarchan
Date: 2017-01-10 16:12:51 +0000 (Tue, 10 Jan 2017)
Log Message:
-----------
LSPIV : Rapport de jaugeage en anglais
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/distrib/src/dist/templates/template_gauging_en.xlsx
trunk/soft/fudaa-lspiv/distrib/src/dist/templates/template_gauging_fr.xlsx
Modified: trunk/soft/fudaa-lspiv/distrib/src/dist/templates/template_gauging_en.xlsx
===================================================================
(Binary files differ)
Modified: trunk/soft/fudaa-lspiv/distrib/src/dist/templates/template_gauging_fr.xlsx
===================================================================
(Binary files differ)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2017-01-10 10:28:50
|
Revision: 9504
http://sourceforge.net/p/fudaa/svn/9504
Author: bmarchan
Date: 2017-01-10 10:28:48 +0000 (Tue, 10 Jan 2017)
Log Message:
-----------
Nom par defaut de rapport de jaugeage
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/action/PivExportGaugingReportAction.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 2017-01-09 19:45:47 UTC (rev 9503)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java 2017-01-10 10:28:48 UTC (rev 9504)
@@ -155,6 +155,17 @@
public File getCurrentProjectFile() {
return prjFile;
}
+
+ /**
+ * @return Le nom par default pour la sauvegarde. Si le nom courant est null, renvoie un nom par defaut.
+ */
+ public File getSavedProjectFile() {
+ if (getCurrentProjectFile()==null)
+ return new File("fudaa-lspiv.lspiv.zip");
+ else {
+ return getCurrentProjectFile();
+ }
+ }
/**
* Appel\xE9e quand le projet courant est modifi\xE9.
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivExportGaugingReportAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivExportGaugingReportAction.java 2017-01-09 19:45:47 UTC (rev 9503)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivExportGaugingReportAction.java 2017-01-10 10:28:48 UTC (rev 9504)
@@ -12,6 +12,7 @@
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
+import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.DecimalFormat;
@@ -38,6 +39,7 @@
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.fudaa.ctulu.CtuluLib;
+import org.fudaa.ctulu.CtuluLibFile;
import org.fudaa.ctulu.CtuluLibImage;
import org.fudaa.ctulu.CtuluLog;
import org.fudaa.ctulu.gui.CtuluFileChooser;
@@ -56,6 +58,7 @@
import org.fudaa.fudaa.piv.metier.PivGlobalFlowResults;
import org.fudaa.fudaa.piv.metier.PivOrthoParameters;
import org.fudaa.fudaa.piv.metier.PivOrthoPoint;
+import org.fudaa.fudaa.piv.metier.PivProject;
import org.fudaa.fudaa.piv.metier.PivResultsI.ResultType;
import org.fudaa.fudaa.piv.metier.PivTransect;
@@ -127,6 +130,8 @@
CtuluFileChooser fcReport_;
/** Les variables users (inconnues du systeme) du modele Excel. */
HashMap<String,UserCellData> userVars=new HashMap<>();
+ /** Le nom fichier projet pour changer le nom du rapport. */
+ File projectFile_;
/**
* Constructeur.
@@ -314,25 +319,45 @@
sheet.enableLocking();
}
- if (fcReport_ == null) {
- fcReport_=new CtuluFileChooser(true);
- fcReport_.setTester(new CtuluFileChooserTestWritable(impl));
- fcReport_.setAcceptAllFileFilterUsed(true);
- fcReport_.setFileFilter(PivUtils.FILE_FLT_XLSX);
- fcReport_.setMultiSelectionEnabled(false);
- fcReport_.setDialogTitle(PivResource.getS("Ficher Excel d'export"));
- }
- if (fcReport_.showSaveDialog(impl.getFrame()) == JFileChooser.CANCEL_OPTION) {
- return;
- }
-
- wb.write(new FileOutputStream(fcReport_.getSelectedFile()));
+ saveReport(wb);
}
catch (Exception e) {
e.printStackTrace();
}
}
+
+ /**
+ * Sauve le rapport sur le fichier selectionn\xE9.
+ * @param wb
+ * @throws IOException
+ */
+ protected void saveReport(Workbook wb) throws IOException {
+
+ if (fcReport_ == null) {
+ fcReport_=new CtuluFileChooser(true);
+ fcReport_.setTester(new CtuluFileChooserTestWritable(impl));
+ fcReport_.setAcceptAllFileFilterUsed(true);
+ fcReport_.setFileFilter(PivUtils.FILE_FLT_XLSX);
+ fcReport_.setMultiSelectionEnabled(false);
+ fcReport_.setDialogTitle(PivResource.getS("Ficher Excel d'export"));
+ }
+ // Changement de projet => On change le nom du rapport
+ if (!impl.getSavedProjectFile().equals(projectFile_)) {
+ projectFile_=impl.getSavedProjectFile();
+
+ String fsave=projectFile_.getName();
+ fsave=fsave.substring(0, fsave.indexOf(PivUtils.FILE_FLT_PROJ.getFirstExt()) - 1);
+ fcReport_.setSelectedFile(new File(fsave + "_" + PivResource.getS("rapport") + ".xlsx"));
+ }
+
+ if (fcReport_.showSaveDialog(impl.getFrame()) == JFileChooser.CANCEL_OPTION) {
+ return;
+ }
+
+ wb.write(new FileOutputStream(fcReport_.getSelectedFile()));
+ }
+
/**
* Calcule les donn\xE9es non stock\xE9es dans le projet, necessaires \xE0 la r\xE9alisation du template.
*/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2017-01-09 19:45:49
|
Revision: 9503
http://sourceforge.net/p/fudaa/svn/9503
Author: bmarchan
Date: 2017-01-09 19:45:47 +0000 (Mon, 09 Jan 2017)
Log Message:
-----------
Custom panneau de liste
Modified Paths:
--------------
trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluListEditorPanel.java
Modified: trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluListEditorPanel.java
===================================================================
--- trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluListEditorPanel.java 2017-01-09 19:45:02 UTC (rev 9502)
+++ trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluListEditorPanel.java 2017-01-09 19:45:47 UTC (rev 9503)
@@ -122,43 +122,43 @@
buildMonterButton();
}
if (action) {
- final BuPanel pnBt = new BuPanel();
- pnBt.setName("pnBt");
- pnBt.setLayout(new BuVerticalLayout(5, true, false));
+ pnBt_=new BuPanel();
+ pnBt_.setName("pnBt");
+ pnBt_.setLayout(new BuVerticalLayout(5, true, false));
boolean sep = false;
if (btAjouter_ != null) {
sep = true;
- addBtAdd(pnBt);
+ addBtAdd(pnBt_);
}
if (btInserer_ != null) {
sep = true;
- pnBt.add(btInserer_);
+ pnBt_.add(btInserer_);
}
if (btSupprimer_ != null) {
sep = true;
- pnBt.add(btSupprimer_);
+ pnBt_.add(btSupprimer_);
}
if (btCopy_ != null) {
sep = true;
- pnBt.add(btCopy_);
+ pnBt_.add(btCopy_);
}
if (btMonter_ != null) {
sep = true;
- pnBt.add(btMonter_);
+ pnBt_.add(btMonter_);
}
if (btDescendre_ != null) {
sep = true;
- pnBt.add(btDescendre_);
+ pnBt_.add(btDescendre_);
}
if (btModifier_ != null) {
if (sep) {
- pnBt.add(new BuSeparator());
+ pnBt_.add(new BuSeparator());
}
- pnBt.add(btModifier_);
+ pnBt_.add(btModifier_);
}
table_.addMouseListener(this);
updateActionsState();
- add(pnBt, BuBorderLayout.EAST);
+ add(pnBt_, BuBorderLayout.EAST);
}
}
@@ -167,6 +167,14 @@
_pn.add(btAjouter_);
}
}
+
+ /**
+ * Pour ajouter un bouton au panneau liste.
+ * @param _bt Le bouton.
+ */
+ public void addButton(AbstractButton _bt) {
+ pnBt_.add(_bt);
+ }
public void initCellRendererEditor() {
final TableColumnModel colModel = table_.getColumnModel();
@@ -271,6 +279,8 @@
JButton btDescendre_;
+ protected BuPanel pnBt_;
+
protected void buildMonterButton() {
btMonter_ = buildButton(CtuluResource.CTULU.getIcon("monter"), CtuluLib.getS("Monter"), "MONTER", CtuluLib
.getS("Monter l'objet s\xE9lecionn\xE9"), 0);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2017-01-09 19:45:04
|
Revision: 9502
http://sourceforge.net/p/fudaa/svn/9502
Author: bmarchan
Date: 2017-01-09 19:45:02 +0000 (Mon, 09 Jan 2017)
Log Message:
-----------
Ajout de status de sortie sur les methodes runProgram()
Modified Paths:
--------------
trunk/framework/ctulu-fu/src/main/java/com/memoire/fu/FuLib.java
Modified: trunk/framework/ctulu-fu/src/main/java/com/memoire/fu/FuLib.java
===================================================================
--- trunk/framework/ctulu-fu/src/main/java/com/memoire/fu/FuLib.java 2017-01-09 19:44:22 UTC (rev 9501)
+++ trunk/framework/ctulu-fu/src/main/java/com/memoire/fu/FuLib.java 2017-01-09 19:45:02 UTC (rev 9502)
@@ -56,6 +56,9 @@
private static final boolean DEBUG = Fu.DEBUG && true;
private static final boolean TRACE = Fu.TRACE && true;
+ /** Le statut d'exit de la derniere execution d'un processus externe */
+ public static int lastRunStatus = 0;
+
public static final String DEFAULT_ENCODING = getSystemProperty("file.encoding");
public static void sleep(long _delay) {
@@ -1080,7 +1083,7 @@
thread.setPriority(Math.max(Thread.MIN_PRIORITY, Thread.currentThread().getPriority() - 1));
thread.start();
try {
- proc.waitFor();
+ lastRunStatus=proc.waitFor();
} catch (InterruptedException ex) {}
exited[0] = true;
try {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2017-01-09 19:44:25
|
Revision: 9501
http://sourceforge.net/p/fudaa/svn/9501
Author: bmarchan
Date: 2017-01-09 19:44:22 +0000 (Mon, 09 Jan 2017)
Log Message:
-----------
Corrections compilation
Modified Paths:
--------------
trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/trace/BConfigureTraceBox.java
Modified: trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/trace/BConfigureTraceBox.java
===================================================================
--- trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/trace/BConfigureTraceBox.java 2017-01-09 17:22:31 UTC (rev 9500)
+++ trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/trace/BConfigureTraceBox.java 2017-01-09 19:44:22 UTC (rev 9501)
@@ -80,7 +80,7 @@
m.pack();
m.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
SwingUtilities.invokeLater( new Runnable() {
- @Override public void run() {
+ public void run() {
m.setVisible(true);
}
});
@@ -230,7 +230,7 @@
m.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
SwingUtilities.invokeLater(
new Runnable() {
- @Override public void run() {
+ public void run() {
m.setVisible(true);
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2017-01-09 17:22:34
|
Revision: 9500
http://sourceforge.net/p/fudaa/svn/9500
Author: bmarchan
Date: 2017-01-09 17:22:31 +0000 (Mon, 09 Jan 2017)
Log Message:
-----------
LSPIV : Import vid?\195?\169o par ffmpeg
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/PivManageOriginalFilesPanel.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivTransectParamPanel.java
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/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/PivProjectPersistence.java
Added Paths:
-----------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImportVideoParamPanel.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 2017-01-09 11:12:07 UTC (rev 9499)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivComputeParamPanel.java 2017-01-09 17:22:31 UTC (rev 9500)
@@ -357,111 +357,6 @@
_params.setTimeInterval(Double.parseDouble(tfTemps.getText().trim()));
}
- /**
- * Controle que la valeur du champ de nom donn\xE9 est un entier positif.
- * @param _sval La valeur du champ.
- * @param _param Le nom du champ.
- * @return true si la valeur est correcte.
- */
- private boolean isPositiveInteger(String _sval, String _param) {
- boolean bok=false;
- try {
- bok=false;
- int val=Integer.parseInt(_sval.trim());
- bok=val>=0;
- }
- catch (NumberFormatException _exc) {}
- if (!bok) {
- setErrorText(PivResource.getS("{0}: Doit \xEAtre un entier >= 0",_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.
- * @return true si la valeur est correcte.
- */
- private boolean isPositiveReal(String _sval, String _param) {
- boolean bok=false;
- try {
- bok=false;
- double val=Double.parseDouble(_sval.trim());
- bok=val>=0;
- }
- catch (NumberFormatException _exc) {}
- if (!bok) {
- setErrorText(PivResource.getS("{0}: Doit \xEAtre un r\xE9el >= 0",_param));
- return false;
- }
- return true;
- }
-
- /**
- * Controle que la valeur du champ de nom donn\xE9 est un entier positif.
- * @param _sval La valeur du champ.
- * @param _param Le nom du champ.
- * @return true si la valeur est correcte.
- */
- private boolean isStrictPositiveInteger(String _sval, String _param) {
- boolean bok=false;
- try {
- bok=false;
- int val=Integer.parseInt(_sval.trim());
- bok=val>0;
- }
- catch (NumberFormatException _exc) {}
- if (!bok) {
- setErrorText(PivResource.getS("{0}: Doit \xEAtre un entier > 0",_param));
- return false;
- }
- return true;
- }
-
- /**
- * Controle que la valeur du champ de nom donn\xE9 est un entier .
- * @param _sval La valeur du champ.
- * @param _param Le nom du champ.
- * @return true si la valeur est correcte.
- */
- private boolean isInteger(String _sval, String _param) {
- boolean bok=false;
- try {
- bok=false;
- Integer.parseInt(_sval.trim());
- bok=true;
- }
- catch (NumberFormatException _exc) {}
- if (!bok) {
- setErrorText(PivResource.getS("{0}: Doit \xEAtre un entier",_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.
- * @return true si la valeur est correcte.
- */
- private boolean isStrictPositiveReal(String _sval, String _param) {
- boolean bok=false;
- try {
- bok=false;
- double val=Double.parseDouble(_sval.trim());
- bok=val>0;
- }
- catch (NumberFormatException _exc) {}
- if (!bok) {
- setErrorText(PivResource.getS("{0}: Doit \xEAtre un r\xE9el > 0",_param));
- return false;
- }
- return true;
- }
-
@Override
public boolean isDataValid() {
boolean bposx=!tfPosX.getText().trim().isEmpty();
@@ -473,20 +368,20 @@
}
boolean bok=
- isStrictPositiveReal(tfNbImgSec.getText(),PivResource.getS("Nombre d'images par secondes")) &&
- isStrictPositiveReal(tfTemps.getText(),PivResource.getS("Intervalle de temps")) &&
- isStrictPositiveReal(tfIASize.getText(),PivResource.getS("Taille de l'aire")+" (m)") &&
- isStrictPositiveInteger(tfIASizePix.getText(),PivResource.getS("Taille de l'aire")+" (pix)") &&
- (!bposx || isInteger(tfPosX.getText(), PivResource.getS("Position J"))) &&
- (!bposy || isInteger(tfPosY.getText(), PivResource.getS("Position I"))) &&
- isPositiveReal(tfSim.getText(),PivResource.getS("Sim")+" (m/s)") &&
- isPositiveReal(tfSip.getText(),PivResource.getS("Sip")+" (m/s)") &&
- isPositiveReal(tfSjm.getText(),PivResource.getS("Sjm")+" (m/s)") &&
- isPositiveReal(tfSjp.getText(),PivResource.getS("Sjp")+" (m/s)") &&
- isPositiveInteger(tfSimPix.getText(),PivResource.getS("Sim")+" (pix)") &&
- isPositiveInteger(tfSipPix.getText(),PivResource.getS("Sip")+" (pix)") &&
- isPositiveInteger(tfSjmPix.getText(),PivResource.getS("Sjm")+" (pix)") &&
- isPositiveInteger(tfSjpPix.getText(),PivResource.getS("Sjp")+" (pix)")
+ PivUtils.isStrictPositiveReal(this,tfNbImgSec.getText(),PivResource.getS("Nombre d'images par secondes")) &&
+ PivUtils.isStrictPositiveReal(this,tfTemps.getText(),PivResource.getS("Intervalle de temps")) &&
+ PivUtils.isStrictPositiveReal(this,tfIASize.getText(),PivResource.getS("Taille de l'aire")+" (m)") &&
+ PivUtils.isStrictPositiveInteger(this,tfIASizePix.getText(),PivResource.getS("Taille de l'aire")+" (pix)") &&
+ (!bposx || PivUtils.isInteger(this,tfPosX.getText(), PivResource.getS("Position J"))) &&
+ (!bposy || PivUtils.isInteger(this,tfPosY.getText(), PivResource.getS("Position I"))) &&
+ PivUtils.isPositiveReal(this,tfSim.getText(),PivResource.getS("Sim")+" (m/s)") &&
+ PivUtils.isPositiveReal(this,tfSip.getText(),PivResource.getS("Sip")+" (m/s)") &&
+ PivUtils.isPositiveReal(this,tfSjm.getText(),PivResource.getS("Sjm")+" (m/s)") &&
+ PivUtils.isPositiveReal(this,tfSjp.getText(),PivResource.getS("Sjp")+" (m/s)") &&
+ PivUtils.isPositiveInteger(this,tfSimPix.getText(),PivResource.getS("Sim")+" (pix)") &&
+ PivUtils.isPositiveInteger(this,tfSipPix.getText(),PivResource.getS("Sip")+" (pix)") &&
+ PivUtils.isPositiveInteger(this,tfSjmPix.getText(),PivResource.getS("Sjm")+" (pix)") &&
+ PivUtils.isPositiveInteger(this,tfSjpPix.getText(),PivResource.getS("Sjp")+" (pix)")
;
if (!bok) return false;
Added: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImportVideoParamPanel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImportVideoParamPanel.java (rev 0)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImportVideoParamPanel.java 2017-01-09 17:22:31 UTC (rev 9500)
@@ -0,0 +1,141 @@
+/*
+ * @creation 8 sept. 06
+ * @modification $Date: 2009-06-03 15:10:45 +0200 (mer., 03 juin 2009) $
+ * @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;
+
+import java.io.File;
+
+import javax.swing.BorderFactory;
+import javax.swing.JCheckBox;
+import javax.swing.JFileChooser;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JTextField;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
+
+import org.fudaa.ctulu.gui.CtuluDialogPanel;
+import org.fudaa.ctulu.gui.CtuluFileChooserPanel;
+
+import com.memoire.bu.BuGridLayout;
+import com.memoire.bu.BuVerticalLayout;
+
+
+/**
+ * Un panneau pour l'affichage des param\xE8tres dimport vid\xE9o.
+ * @author Bertrand Marchand (mar...@de...)
+ * @version $Id$
+ */
+public class PivImportVideoParamPanel extends CtuluDialogPanel {
+
+ /** Le file chooser de la vid\xE9o. */
+ private CtuluFileChooserPanel fcVideo_;
+ private JTextField tfNbImgs_;
+ private JTextField tfBeginning_;
+ private JTextField tfEnding_;
+ private JCheckBox cbBeginning_;
+ private JCheckBox cbEnding_;
+
+ public PivImportVideoParamPanel() {
+
+ setBorder(BorderFactory.createEmptyBorder(5, 5, 15, 5));
+ setLayout(new BuVerticalLayout(10));
+
+ fcVideo_=new CtuluFileChooserPanel(PivResource.getS("Fichier vid\xE9o"));
+ fcVideo_.setFileSelectMode(JFileChooser.FILES_ONLY);
+ fcVideo_.setWriteMode(false);
+ JPanel pnDirExport=CtuluFileChooserPanel.buildPanel(fcVideo_, PivResource.getS("Fichier vid\xE9o:"));
+
+ tfNbImgs_=new JTextField();
+ tfBeginning_=new JTextField();
+ tfBeginning_.setEnabled(false);
+ tfEnding_=new JTextField();
+ tfEnding_.setEnabled(false);
+
+ cbBeginning_=new JCheckBox(PivResource.getS("Instant de d\xE9but")+" (s):");
+ cbBeginning_.addChangeListener(new ChangeListener() {
+
+ @Override
+ public void stateChanged(ChangeEvent e) {
+ tfBeginning_.setEnabled(cbBeginning_.isSelected());
+ }
+ });
+ cbEnding_=new JCheckBox(PivResource.getS("Instant de fin")+" (s):");
+ cbEnding_.addChangeListener(new ChangeListener() {
+
+ @Override
+ public void stateChanged(ChangeEvent e) {
+ tfEnding_.setEnabled(cbEnding_.isSelected());
+ }
+ });
+
+ JPanel pnSampling = new JPanel();
+ pnSampling.setBorder(BorderFactory.createTitledBorder(PivResource.getS("Echantillonage")));
+ pnSampling.setLayout(new BuGridLayout(2, 5, 5, true, false));
+
+ pnSampling.add(new JLabel(PivResource.getS("Nombre d'images par secondes:")));
+ pnSampling.add(tfNbImgs_);
+ pnSampling.add(cbBeginning_);
+ pnSampling.add(tfBeginning_);
+ pnSampling.add(cbEnding_);
+ pnSampling.add(tfEnding_);
+
+ add(pnDirExport);
+ add(pnSampling);
+ }
+
+ @Override
+ public boolean isDataValid() {
+ File fv=fcVideo_.getFile();
+ if (fv == null || !fv.exists()) {
+ setErrorText(PivResource.getS("Un fichier vid\xE9o doit \xEAtre s\xE9lectionn\xE9 et exister"));
+ return false;
+ }
+ if (!PivUtils.isStrictPositiveInteger(this, tfNbImgs_.getText(),PivResource.getS("Nombre d'images par secondes"))) {
+ return false;
+ }
+ if (cbBeginning_.isSelected() && !PivUtils.isPositiveReal(this, tfBeginning_.getText(),PivResource.getS("Instant de d\xE9but"))) {
+ return false;
+ }
+ if (cbEnding_.isSelected() && !PivUtils.isPositiveReal(this, tfEnding_.getText(),PivResource.getS("Instant de fin"))) {
+ return false;
+ }
+ if (cbBeginning_.isSelected() && cbEnding_.isSelected() && Double.parseDouble(tfEnding_.getText())<Double.parseDouble(tfBeginning_.getText())) {
+ setErrorText(PivResource.getS("La valeur de fin doit \xEAtre sup\xE9rieure ou \xE9gale \xE0 la valeur de d\xE9but"));
+ return false;
+ }
+
+ return true;
+ }
+
+ public File getVideoFile() {
+ return fcVideo_.getFile();
+ }
+
+ public int getNbImages() {
+ return Integer.parseInt(tfNbImgs_.getText());
+ }
+
+ public Double getBeginTime() {
+ if (cbBeginning_.isSelected()) {
+ return Double.parseDouble(tfBeginning_.getText());
+ }
+ return null;
+ }
+
+ public Double getEndTime() {
+ if (cbEnding_.isSelected()) {
+ return Double.parseDouble(tfEnding_.getText());
+ }
+ return null;
+ }
+
+ @Override
+ public void apply() {
+ }
+
+}
\ No newline at end of file
Property changes on: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImportVideoParamPanel.java
___________________________________________________________________
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/PivManageOriginalFilesPanel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivManageOriginalFilesPanel.java 2017-01-09 11:12:07 UTC (rev 9499)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivManageOriginalFilesPanel.java 2017-01-09 17:22:31 UTC (rev 9500)
@@ -7,19 +7,29 @@
*/
package org.fudaa.fudaa.piv;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
import java.io.File;
+import java.io.IOException;
import javax.swing.JFileChooser;
import javax.swing.JLabel;
-import org.fudaa.ctulu.CtuluUI;
+import org.fudaa.ctulu.CtuluLibFile;
+import org.fudaa.ctulu.CtuluLog;
import org.fudaa.ctulu.gui.CtuluCellTextRenderer;
+import org.fudaa.ctulu.gui.CtuluDialog;
import org.fudaa.ctulu.gui.CtuluDialogPanel;
import org.fudaa.ctulu.gui.CtuluFileChooser;
import org.fudaa.ctulu.gui.CtuluListEditorModel;
import org.fudaa.ctulu.gui.CtuluListEditorPanel;
+import org.fudaa.ctulu.gui.CtuluTaskOperationGUI;
+import org.fudaa.fudaa.piv.io.PivExeLauncher;
+import org.fudaa.fudaa.piv.metier.PivProject;
+import com.memoire.bu.BuButton;
import com.memoire.bu.BuVerticalLayout;
+import com.memoire.fu.FuLog;
/**
* Un panneau pour gerer les images d'origine, qu'elles soient pgm ou autres.
@@ -29,21 +39,24 @@
*/
public class PivManageOriginalFilesPanel extends CtuluDialogPanel {
- private CtuluUI ui_;
+ private PivImplementation impl_;
/** Le repertoire racine du projet */
private File prjRoot_;
/** Le mod\xE8le pour la liste des images */
private CtuluListEditorModel mdFiles_;
-
+ /** Le panneau d'import video */
+ private PivImportVideoParamPanel pnImport_;
+ private CtuluDialog diProgress_;
+
/**
* Constructeur.
- * @param _ui Le parent pour la boite de dialogue.
+ * @param _impl Le parent pour la boite de dialogue.
*/
- public PivManageOriginalFilesPanel(CtuluUI _ui) {
- ui_=_ui;
+ public PivManageOriginalFilesPanel(PivImplementation _impl) {
+ impl_=_impl;
setLayout(new BuVerticalLayout(5, true, true));
- setHelpText(PivResource.getS("Les images pgm seront utilis\xE9es pour le calcul dans l'ordre ou elles sont d\xE9finies.\nUtilisez Monter/Descendre pour modifier cet ordre."));
+ setHelpText(PivResource.getS("Les images seront utilis\xE9es pour le calcul dans l'ordre ou elles sont d\xE9finies.\nUtilisez Monter/Descendre pour modifier cet ordre."));
// Label images
add(new JLabel(PivResource.getS("Liste des images"),JLabel.LEFT));
@@ -69,7 +82,7 @@
fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
fc.setAcceptAllFileFilterUsed(false);
fc.setDialogTitle(PivResource.getS("Ouverture d'un projet"));
- if (fc.showOpenDialog(ui_.getParentComponent()) == JFileChooser.CANCEL_OPTION) {
+ if (fc.showOpenDialog(impl_.getParentComponent()) == JFileChooser.CANCEL_OPTION) {
return;
}
@@ -80,7 +93,79 @@
}
};
+
+ BuButton btImport=new BuButton(PivResource.PIV.getIcon("video"), PivResource.getS("Importer..."));
+ btImport.setToolTipText(PivResource.getS("Importer les images depuis une vid\xE9o"));
+ btImport.addActionListener(new ActionListener() {
+
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ if (pnImport_==null) {
+ pnImport_=new PivImportVideoParamPanel();
+ }
+
+ if (pnImport_.afficheModale(PivManageOriginalFilesPanel.this, PivResource.getS("Import des images"))==0) {
+
+ if (!PivExeLauncher.instance().areExeOK()) {
+ PivExePanel pnExe = new PivExePanel();
+
+ if (!pnExe.afficheModaleOk(impl_.getFrame(), PivResource.getS("R\xE9pertoire contenant les executables"))) {
+ return;
+ }
+ }
+
+ // La tache a ex\xE9cuter.
+ CtuluTaskOperationGUI r=new CtuluTaskOperationGUI(impl_, PivResource.getS("Echantillonnage")) {
+
+ public void act() {
+
+ try {
+ CtuluLog ana=new CtuluLog();
+ ana.setDesc(getName());
+
+ // Les images sont cr\xE9\xE9es dans un repertoire temporaire, pour ne
+ // pas \xE9craser les images existantes avant validation.
+ File tmpOutDir=CtuluLibFile.createTempDir();
+
+ PivExeLauncher.instance().computeSampling(ana, impl_.getCurrentProject(), pnImport_.getVideoFile(), tmpOutDir, pnImport_.getNbImages(), pnImport_.getBeginTime(),
+ pnImport_.getEndTime(), this);
+ if (ana.containsErrorOrSevereError()) {
+ impl_.error(ana.getResume());
+ return;
+ }
+
+ File[] fimgs=tmpOutDir.listFiles(PivProject.FLT_FILES);
+ if (fimgs == null) {
+ fimgs=new File[0];
+ }
+
+ mdFiles_.setData(fimgs);
+ }
+ catch (IOException _exc) {
+ _exc.printStackTrace();
+ }
+ finally {
+ diProgress_.dispose();
+ }
+
+ impl_.message(PivResource.getS("L'\xE9chantillonnage s'est termin\xE9e avec succ\xE8s"));
+ }
+ };
+
+ PivProgressionPanel pnProgress_=new PivProgressionPanel(r);
+ diProgress_=pnProgress_.createDialog(PivManageOriginalFilesPanel.this);
+ diProgress_.setOption(CtuluDialog.ZERO_OPTION);
+ diProgress_.setDefaultCloseOperation(CtuluDialog.DO_NOTHING_ON_CLOSE);
+ diProgress_.setTitle(r.getName());
+
+ r.start();
+ diProgress_.afficheDialogModal();
+ }
+ }
+ });
+ pnFiles.addButton(btImport);
+
pnFiles.setValueListCellRenderer(new CtuluCellTextRenderer() {
@Override
public void setValue(Object _file) {
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivTransectParamPanel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivTransectParamPanel.java 2017-01-09 11:12:07 UTC (rev 9499)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivTransectParamPanel.java 2017-01-09 17:22:31 UTC (rev 9500)
@@ -115,118 +115,13 @@
}
}
- /**
- * Controle que la valeur du champ de nom donn\xE9 est un entier positif.
- * @param _sval La valeur du champ.
- * @param _param Le nom du champ.
- * @return true si la valeur est correcte.
- */
- protected boolean isPositiveInteger(String _sval, String _param) {
- boolean bok=false;
- try {
- bok=false;
- int val=Integer.parseInt(_sval.trim());
- bok=val>=0;
- }
- catch (NumberFormatException _exc) {}
- if (!bok) {
- setErrorText(PivResource.getS("{0}: Doit \xEAtre un entier >= 0",_param));
- return false;
- }
- return true;
- }
-
- /**
- * Controle que la valeur du champ de nom donn\xE9 est un entier positif.
- * @param _sval La valeur du champ.
- * @param _param Le nom du champ.
- * @return true si la valeur est correcte.
- */
- protected boolean isStrictPositiveInteger(String _sval, String _param) {
- boolean bok=false;
- try {
- bok=false;
- int val=Integer.parseInt(_sval.trim());
- bok=val>0;
- }
- catch (NumberFormatException _exc) {}
- if (!bok) {
- setErrorText(PivResource.getS("{0}: Doit \xEAtre un entier > 0",_param));
- return false;
- }
- return true;
- }
-
- /**
- * Controle que la valeur du champ de nom donn\xE9 est un entier .
- * @param _sval La valeur du champ.
- * @param _param Le nom du champ.
- * @return true si la valeur est correcte.
- */
- protected boolean isInteger(String _sval, String _param) {
- boolean bok=false;
- try {
- bok=false;
- Integer.parseInt(_sval.trim());
- bok=true;
- }
- catch (NumberFormatException _exc) {}
- if (!bok) {
- setErrorText(PivResource.getS("{0}: Doit \xEAtre un entier",_param));
- return false;
- }
- return true;
- }
-
- /**
- * 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.
- */
- protected 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.
- * @return true si la valeur est correcte.
- */
- private boolean isStrictPositiveReal(String _sval, String _param) {
- boolean bok=false;
- try {
- bok=false;
- double val=Double.parseDouble(_sval.trim());
- bok=val>0;
- }
- catch (NumberFormatException _exc) {}
- if (!bok) {
- setErrorText(PivResource.getS("{0}: Doit \xEAtre un r\xE9el > 0",_param));
- return false;
- }
- return true;
- }
-
@Override
public boolean isDataValid() {
setErrorText("");
boolean bok=
- tfCoef.getText().trim().isEmpty() || isStrictPositiveReal(tfCoef.getText(),PivResource.getS("Coefficient de vitesse")) &&
- tfDmax.getText().trim().isEmpty() || isStrictPositiveReal(tfDmax.getText(),PivResource.getS("Rayon de recherche des vitesses")) &&
- tfInterpolationStep.getText().trim().isEmpty() || isStrictPositiveReal(tfInterpolationStep.getText(),PivResource.getS("Distance d'extrapolation"));
+ tfCoef.getText().trim().isEmpty() || PivUtils.isStrictPositiveReal(this,tfCoef.getText(),PivResource.getS("Coefficient de vitesse")) &&
+ tfDmax.getText().trim().isEmpty() || PivUtils.isStrictPositiveReal(this,tfDmax.getText(),PivResource.getS("Rayon de recherche des vitesses")) &&
+ tfInterpolationStep.getText().trim().isEmpty() || PivUtils.isStrictPositiveReal(this,tfInterpolationStep.getText(),PivResource.getS("Distance d'extrapolation"));
return bok;
}
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 2017-01-09 11:12:07 UTC (rev 9499)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivUtils.java 2017-01-09 17:22:31 UTC (rev 9500)
@@ -1,7 +1,11 @@
package org.fudaa.fudaa.piv;
import java.awt.Color;
+import java.io.IOException;
+import java.io.LineNumberReader;
+import java.io.StringReader;
+import org.fudaa.ctulu.gui.CtuluDialogPanel;
import org.fudaa.ebli.trace.TraceLigne;
import org.fudaa.ebli.trace.TraceLigneModel;
@@ -108,4 +112,154 @@
sb.append(_i);
return sb.toString();
}
+
+ /**
+ * Controle que la valeur du champ de nom donn\xE9 est un entier positif.
+ * @param _sval La valeur du champ.
+ * @param _param Le nom du champ.
+ * @return true si la valeur est correcte.
+ */
+ public static boolean isPositiveInteger(CtuluDialogPanel _pn, String _sval, String _param) {
+ boolean bok=false;
+ try {
+ bok=false;
+ int val=Integer.parseInt(_sval.trim());
+ bok=val>=0;
+ }
+ catch (NumberFormatException _exc) {}
+ if (!bok) {
+ _pn.setErrorText(PivResource.getS("{0}: Doit \xEAtre un entier >= 0",_param));
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Controle que la valeur du champ de nom donn\xE9 est un entier positif.
+ * @param _sval La valeur du champ.
+ * @param _param Le nom du champ.
+ * @return true si la valeur est correcte.
+ */
+ public static boolean isStrictPositiveInteger(CtuluDialogPanel _pn, String _sval, String _param) {
+ boolean bok=false;
+ try {
+ bok=false;
+ int val=Integer.parseInt(_sval.trim());
+ bok=val>0;
+ }
+ catch (NumberFormatException _exc) {}
+ if (!bok) {
+ _pn.setErrorText(PivResource.getS("{0}: Doit \xEAtre un entier > 0",_param));
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Controle que la valeur du champ de nom donn\xE9 est un entier .
+ * @param _sval La valeur du champ.
+ * @param _param Le nom du champ.
+ * @return true si la valeur est correcte.
+ */
+ public static boolean isInteger(CtuluDialogPanel _pn, String _sval, String _param) {
+ boolean bok=false;
+ try {
+ bok=false;
+ Integer.parseInt(_sval.trim());
+ bok=true;
+ }
+ catch (NumberFormatException _exc) {}
+ if (!bok) {
+ _pn.setErrorText(PivResource.getS("{0}: Doit \xEAtre un entier",_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.
+ * @return true si la valeur est correcte.
+ */
+ public static boolean isPositiveReal(CtuluDialogPanel _pn, String _sval, String _param) {
+ boolean bok=false;
+ try {
+ bok=false;
+ double val=Double.parseDouble(_sval.trim());
+ bok=val>=0;
+ }
+ catch (NumberFormatException _exc) {}
+ if (!bok) {
+ _pn.setErrorText(PivResource.getS("{0}: Doit \xEAtre un r\xE9el >= 0",_param));
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * 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.
+ */
+ public static boolean isReal(CtuluDialogPanel _pn, String _sval, String _param) {
+ boolean bok=false;
+ try {
+ bok=false;
+ Double.parseDouble(_sval.trim());
+ bok=true;
+ }
+ catch (NumberFormatException _exc) {}
+ if (!bok) {
+ _pn.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.
+ * @return true si la valeur est correcte.
+ */
+ public static boolean isStrictPositiveReal(CtuluDialogPanel _pn, String _sval, String _param) {
+ boolean bok=false;
+ try {
+ bok=false;
+ double val=Double.parseDouble(_sval.trim());
+ bok=val>0;
+ }
+ catch (NumberFormatException _exc) {}
+ if (!bok) {
+ _pn.setErrorText(PivResource.getS("{0}: Doit \xEAtre un r\xE9el > 0",_param));
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Limite un texte avec retours charriots \xE0 une largeur maxi. Les caract\xE8res au del\xE0 sont remplac\xE9s par ...
+ * @param _mess Le message
+ * @param _maxWidth La largeur maxi (en nombre de caract\xE8res)
+ * @return
+ */
+ public static String trunkErrorMessage(String _mess, int _maxWidth) {
+ StringBuffer ret=new StringBuffer();
+
+ String[] lines=_mess.split("\r\n|\r|\n");
+ for (String line : lines) {
+ if (line.length()>_maxWidth) {
+ ret.append(line.substring(0, _maxWidth)).append("...");
+ }
+ else {
+ ret.append(line);
+ }
+
+ ret.append("\n");
+ }
+
+ return ret.toString();
+ }
}
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 2017-01-09 11:12:07 UTC (rev 9499)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivSelectImagesAction.java 2017-01-09 17:22:31 UTC (rev 9500)
@@ -38,7 +38,7 @@
* @param _impl L'implementation.
*/
public PivSelectImagesAction(PivImplementation _impl) {
- super(PivResource.getS("S\xE9lection des images sources..."), null, "SELECT_IMAGES");
+ super(PivResource.getS("Gestion des images sources..."), null, "SELECT_IMAGES");
impl=_impl;
setEnabled(false);
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 2017-01-09 11:12:07 UTC (rev 9499)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivExeLauncher.java 2017-01-09 17:22:31 UTC (rev 9500)
@@ -50,7 +50,8 @@
Q_compute,
vel_transf,
vel_scal,
- moy_scal
+ moy_scal,
+ ffmpeg
}
/** Les scripts pouvant etre lanc\xE9s */
@@ -170,6 +171,74 @@
}
/**
+ * Lance le calcul d'echantillonnage d'images depuis un fichier vid\xE9o.
+ *
+ * @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 #launchOrthoPlan
+ */
+ public boolean computeSampling(CtuluLog _ana, PivProject _prj, File _fvideo, File _tmpOutDir, int _nbImgs, Double _tdeb, Double _tfin, CtuluTaskOperationGUI _task) {
+ File prjRoot=_prj.getRoot();
+// File prjImgInp=new File(prjRoot,IMG_PGM_DIR);
+//
+// // Nettoyage eventuel du repertoire des images sources.
+// prjImgInp.mkdir();
+// for (File f : prjImgInp.listFiles()) f.delete();
+
+ String desc=PivResource.getS("Lancement de l'echantillonnage...");
+ FuLog.trace(desc);
+ if (_task!=null) {
+ _task.setDesc(desc);
+ _task.setProgression(5);
+ }
+
+ try {
+ ArrayList<String> cmdArray=new ArrayList<>();
+ cmdArray.add(exePath+File.separator+EXE.ffmpeg + EXE_EXT);
+ cmdArray.add("-i");
+ cmdArray.add(_fvideo.getAbsolutePath());
+ cmdArray.add("-r");
+ cmdArray.add(""+_nbImgs);
+ if (_tdeb!=null) {
+ cmdArray.add("-ss");
+ cmdArray.add(""+_tdeb);
+ }
+ if (_tfin!=null) {
+ cmdArray.add("-to");
+ cmdArray.add(""+_tfin);
+ }
+ cmdArray.add(new File(_tmpOutDir,"image%4d.png").getAbsolutePath());
+
+ String outs = FuLib.runProgram(cmdArray.toArray(new String[0]), prjRoot);
+ if (FuLib.lastRunStatus!=0) {
+ String text=PivUtils.trunkErrorMessage(outs.toString(),132);
+ _ana.addError(PivResource.getS("Erreur dans l'\xE9chantillonnage:\n")+text);
+ return false;
+ }
+
+ if (_task!=null && _task.isStopRequested()) {
+ _ana.addError(PivResource.getS("Echantillonnage interrompu"));
+ return false;
+ }
+
+ FuLog.trace(PivResource.getS("Echantillonnage ok."));
+ }
+ catch (IOException ex) {
+ _ana.addError(ex.getMessage());
+ return false;
+ }
+
+
+ if (_task!=null)
+ _task.setProgression(90);
+
+
+ return true;
+ }
+
+ /**
* Lance le calcul des coefficients d'orthorectification.
* @param _ana L'analyse pour la tache ex\xE9cut\xE9e.
* @param _prj Le projet.
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 2017-01-09 11:12:07 UTC (rev 9499)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProjectPersistence.java 2017-01-09 17:22:31 UTC (rev 9500)
@@ -8,6 +8,7 @@
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collections;
import java.util.Comparator;
import java.util.List;
@@ -124,6 +125,9 @@
// Et ceux utilis\xE9s pour le calcul de moyenne
prj_.usedInstantResults=loadInstantResultsList(_prog);
+ // Les images
+ prj_.srcFiles_=loadSrcImages(_prog);
+
// Les param\xE8tres globaux
loadGlobalData(_prog);
@@ -433,8 +437,6 @@
* @return Les param\xE8tres globaux.
*/
public void loadGlobalData(ProgressionInterface _prog) {
- File imgSrcDir=new File(prj_.rootPath,PivProject.IMG_PGM_DIR);
-
File globalFile = new File(prj_.getOutputDir(), "global.xml");
CtuluIOResult<PivGlobalXmlParam> ret = new PivGlobalXmlReader().read(globalFile, _prog);
if (ret.getAnalyze().containsSevereError()) {
@@ -447,10 +449,8 @@
prj_.computeParams.setIACenterPosition(paramXml.iaCenter);
// Tri des images suivant leur ordre sauvegard\xE9.
- File[] srcFiles=imgSrcDir.listFiles(PivProject.FLT_FILES);
- if (srcFiles==null) srcFiles=new File[0];
final List<String> names = Arrays.asList(paramXml.srcImages);
- Arrays.sort(srcFiles, new Comparator<File>() {
+ Collections.sort(prj_.srcFiles_, new Comparator<File>() {
@Override
public int compare(File o1, File o2) {
return names.indexOf(o1.getName()) - names.indexOf(o2.getName());
@@ -460,9 +460,14 @@
// Affectation des param\xE8tres de transformation.
PivTransformationParameters params=new PivTransformationParameters(paramXml.tx, paramXml.ty, paramXml.tz, paramXml.rz, paramXml.xcenter, paramXml.ycenter);
prj_.setTransformationParameters(params);
+ }
- prj_.srcFiles_.clear();
- prj_.srcFiles_.addAll(Arrays.asList(srcFiles));
+ public List<File> loadSrcImages(ProgressionInterface _prog) {
+ File imgSrcDir=new File(prj_.rootPath,PivProject.IMG_PGM_DIR);
+ File[] srcFiles=imgSrcDir.listFiles(PivProject.FLT_FILES);
+ if (srcFiles==null) srcFiles=new File[0];
+
+ return Arrays.asList(srcFiles);
}
/**
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2017-01-09 11:12:09
|
Revision: 9499
http://sourceforge.net/p/fudaa/svn/9499
Author: bmarchan
Date: 2017-01-09 11:12:07 +0000 (Mon, 09 Jan 2017)
Log Message:
-----------
Transparence dans l'image splash screen
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/src/main/resources/org/fudaa/fudaa/piv/banniere.jpg
Modified: trunk/soft/fudaa-lspiv/src/main/resources/org/fudaa/fudaa/piv/banniere.jpg
===================================================================
(Binary files differ)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2017-01-02 16:55:37
|
Revision: 9498
http://sourceforge.net/p/fudaa/svn/9498
Author: bmarchan
Date: 2017-01-02 16:55:35 +0000 (Mon, 02 Jan 2017)
Log Message:
-----------
Fudaa-LSPIV : Detection des mises a jour depuis le site de IRSTEA.
Modified Paths:
--------------
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/PivImplementation.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java 2017-01-02 14:43:57 UTC (rev 9497)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java 2017-01-02 16:55:35 UTC (rev 9498)
@@ -106,7 +106,7 @@
isPIV_.http="http://forge.irstea.fr/projects/fudaa-lspiv";
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_.update=System.getProperty("piv.update", "http://www.deltacad.fr/downloads");
+ isPIV_.update=System.getProperty("piv.update", "https://forge.irstea.fr/projects/fudaa-lspiv/files");
isPIV_.logo = PivResource.PIV.getIcon("iconepiv.gif");
isPIV_.banner = PivResource.PIV.getIcon("banniere.jpg");
@@ -276,7 +276,7 @@
showHelp();
} else if ("MAJ".equals(action)) {
if (!checkForUpdate(false)) {
- message(PivResource.getS("Information"),PivResource.getS("La version de Fudaa-LSPIV est \xE0 jour"),false);
+ message(PivResource.getS("Information"),PivResource.getS("Site des mise \xE0 jour : {0}\nLa version de Fudaa-LSPIV est \xE0 jour.",isPIV_.update),false);
}
}
else if (action.startsWith("REOUVRIR")) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2017-01-02 14:44:00
|
Revision: 9497
http://sourceforge.net/p/fudaa/svn/9497
Author: bmarchan
Date: 2017-01-02 14:43:57 +0000 (Mon, 02 Jan 2017)
Log Message:
-----------
Fudaa-LSPIV : Detection de mises ?\195?\160 jour
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/PivUpdatePanel.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 2017-01-02 14:42:28 UTC (rev 9496)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java 2017-01-02 14:43:57 UTC (rev 9497)
@@ -16,6 +16,9 @@
import java.beans.PropertyVetoException;
import java.io.File;
import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.LineNumberReader;
+import java.net.URL;
import java.util.Iterator;
import java.util.List;
import java.util.Observable;
@@ -78,6 +81,7 @@
import com.memoire.bu.BuRegistry;
import com.memoire.bu.BuResource;
import com.memoire.bu.BuUserPreferencesPanel;
+import com.memoire.fu.FuLib;
import com.memoire.fu.FuLog;
/**
@@ -92,9 +96,9 @@
protected static BuInformationsSoftware isPIV_ = new BuInformationsSoftware();
static {
isPIV_.name = "LSPIV";
- isPIV_.version = "1.5.0";
+ isPIV_.version = "1.5.1";
isPIV_.date = "2016-12-20";
- isPIV_.rights = PivResource.getS("Tous droits r\xE9serv\xE9s")+". CEREMA (c)1999-2016";
+ isPIV_.rights = PivResource.getS("Tous droits r\xE9serv\xE9s")+". CEREMA (c)1999-2017";
isPIV_.license = "GPL2";
isPIV_.languages = "en,fr";
isPIV_.authors=new String[]{"B.Marchand (mar...@de...)"};
@@ -102,6 +106,7 @@
isPIV_.http="http://forge.irstea.fr/projects/fudaa-lspiv";
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_.update=System.getProperty("piv.update", "http://www.deltacad.fr/downloads");
isPIV_.logo = PivResource.PIV.getIcon("iconepiv.gif");
isPIV_.banner = PivResource.PIV.getIcon("banniere.jpg");
@@ -269,6 +274,10 @@
create();
} else if ("AIDE_INDEX".equals(action)) {
showHelp();
+ } else if ("MAJ".equals(action)) {
+ if (!checkForUpdate(false)) {
+ message(PivResource.getS("Information"),PivResource.getS("La version de Fudaa-LSPIV est \xE0 jour"),false);
+ }
}
else if (action.startsWith("REOUVRIR")) {
FuLog.trace(action.substring(9,action.length()-1));
@@ -706,6 +715,8 @@
setEnabledForAction("IMPORTER", true);
setEnabledForAction("EXPORTER", true);
+ setEnabledForAction("MAJ", true);
+
BuMenuRecentFiles mr= (BuMenuRecentFiles)mb.getMenu("REOUVRIR");
if (mr != null) {
mr.setPreferences(PivPreferences.PIV);
@@ -939,6 +950,42 @@
PivResource.getS("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."));
}
}
+
+ /**
+ * Controle l'existence d'une mise a jour sur l'URL de mise a jour et affiche un dialogue pour t\xE9l\xE9charger si c'est le cas.
+ * @param _showHideButton True : Le bouton "Ne plus afficher" est affich\xE9 dans le dialogue.
+ * @return True : Une mise a jour existe.
+ */
+ public boolean checkForUpdate(boolean _showHideButton) {
+ try {
+ URL urlFlag=new URL(isPIV_.update+"/fudaa-lspiv-lastversion.txt");
+ if (FuLib.existsURL(urlFlag)) {
+ LineNumberReader is=null;
+ try {
+ is=new LineNumberReader(new InputStreamReader(urlFlag.openStream()));
+ String lastversion;
+ while ((lastversion=is.readLine()) != null && lastversion.trim().startsWith("#")) {
+ }
+
+ if (lastversion.compareTo(isPIV_.version)>0) {
+ URL urlJar = new URL(isPIV_.update+"/fudaa-lspiv-"+lastversion+"-setup.jar");
+ new PivUpdatePanel(lastversion, urlJar, _showHideButton).afficheModale(this.getFrame(),PivResource.getS("Mise \xE0 jour disponible"));
+ return true;
+ }
+ }
+ finally {
+ if (is!=null) {
+ is.close();
+ }
+ }
+ }
+ }
+ catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ return false;
+ }
/**
* D\xE9marre l'application.
@@ -949,6 +996,10 @@
super.addFrameListLeft();
controlJAILibrary();
+
+ if (PivPreferences.PIV.getBooleanProperty(FudaaStartupExitPreferencesPanel.PREF_CHECK_NEW_VERSION, true)) {
+ checkForUpdate(true);
+ }
}
}
Added: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivUpdatePanel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivUpdatePanel.java (rev 0)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivUpdatePanel.java 2017-01-02 14:43:57 UTC (rev 9497)
@@ -0,0 +1,82 @@
+/*
+ * @creation 8 sept. 06
+ * @modification $Date: 2009-06-03 15:10:45 +0200 (mer., 03 juin 2009) $
+ * @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;
+
+import java.awt.Cursor;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.net.URL;
+
+import javax.swing.BorderFactory;
+import javax.swing.JCheckBox;
+import javax.swing.JLabel;
+
+import org.fudaa.ctulu.gui.CtuluDialogPanel;
+import org.fudaa.fudaa.commun.FudaaBrowserControl;
+import org.fudaa.fudaa.commun.impl.FudaaStartupExitPreferencesPanel;
+import org.jdesktop.swingx.VerticalLayout;
+
+
+/**
+ * Un panneau pour l'affichage de la version a telecharger.
+ * @author Bertrand Marchand (mar...@de...)
+ * @version $Id: PivFlowInfoPanel.java 9491 2016-12-20 14:46:54Z bmarchan $
+ */
+public class PivUpdatePanel extends CtuluDialogPanel {
+
+ private JCheckBox cbHidden_;
+
+ public PivUpdatePanel(String _version, final URL _url, boolean _showHideButton) {
+ setLayout(new VerticalLayout(10));
+ setBorder(BorderFactory.createEmptyBorder(5, 5, 15, 5));
+
+ final JLabel lbLink=new JLabel(PivResource.getS("<html><a href=\"{0}\">T\xE9l\xE9chargez la version {1} de Fudaa-LSPIV</a></html>", _url.toString(), _version));
+ lbLink.addMouseListener(new MouseAdapter() {
+ public void mouseEntered(MouseEvent me) {
+ lbLink.setCursor(new Cursor(Cursor.HAND_CURSOR));
+ }
+
+ public void mouseExited(MouseEvent me) {
+ lbLink.setCursor(Cursor.getDefaultCursor());
+ }
+
+ public void mouseClicked(MouseEvent me) {
+ try {
+ FudaaBrowserControl.displayURL(_url);
+ }
+ catch (Exception e) {
+ System.out.println(e);
+ }
+ }
+ });
+
+
+ add(new JLabel(PivResource.getS("<html>Une mise \xE0 jour de Fudaa-LSPIV est disponible.<br>Cliquez sur le lien ci-dessous pour la t\xE9l\xE9charger.</html>")));
+ add(lbLink);
+
+ if (_showHideButton) {
+ cbHidden_=new JCheckBox(PivResource.getS("Ne plus afficher ce dialogue"));
+ add(cbHidden_);
+ }
+ }
+
+ @Override
+ public boolean isDataValid() {
+ return true;
+ }
+
+ @Override
+ public void apply() {
+ super.apply();
+
+ if (cbHidden_ != null)
+ PivPreferences.PIV.putBooleanProperty(FudaaStartupExitPreferencesPanel.PREF_CHECK_NEW_VERSION, !cbHidden_.isSelected());
+ }
+
+
+}
\ No newline at end of file
Property changes on: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivUpdatePanel.java
___________________________________________________________________
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...> - 2017-01-02 14:42:30
|
Revision: 9496
http://sourceforge.net/p/fudaa/svn/9496
Author: bmarchan
Date: 2017-01-02 14:42:28 +0000 (Mon, 02 Jan 2017)
Log Message:
-----------
Ajout d'une methode pour tester qu'une URL est accessible.
Modified Paths:
--------------
trunk/framework/ctulu-fu/src/main/java/com/memoire/fu/FuLib.java
trunk/framework/fudaa-common/src/main/java/org/fudaa/fudaa/commun/impl/FudaaStartupExitPreferencesPanel.java
Modified: trunk/framework/ctulu-fu/src/main/java/com/memoire/fu/FuLib.java
===================================================================
--- trunk/framework/ctulu-fu/src/main/java/com/memoire/fu/FuLib.java 2016-12-30 14:55:02 UTC (rev 9495)
+++ trunk/framework/ctulu-fu/src/main/java/com/memoire/fu/FuLib.java 2017-01-02 14:42:28 UTC (rev 9496)
@@ -14,11 +14,25 @@
import java.beans.BeanInfo;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
-import java.io.*;
+import java.io.BufferedInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.EOFException;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.PrintWriter;
+import java.io.Reader;
+import java.io.StreamTokenizer;
+import java.io.StringReader;
+import java.io.UnsupportedEncodingException;
+import java.io.Writer;
import java.lang.reflect.AccessibleObject;
import java.lang.reflect.Field;
import java.lang.reflect.Member;
import java.lang.reflect.Method;
+import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLDecoder;
@@ -1907,4 +1921,23 @@
* System.exit(0); } BuPreferences.BU.put("memory",""+m); }
*/
+ /**
+ * Controls that a resource exists on WWW.
+ *
+ * @param _url The url to be found.
+ * @return True : The file exists and is accessible.
+ */
+ public static boolean existsURL(URL _url) {
+ try {
+ HttpURLConnection.setFollowRedirects(false);
+ HttpURLConnection con=(HttpURLConnection) _url.openConnection();
+ con.setRequestMethod("HEAD");
+ // note : you may also need
+ // con.setInstanceFollowRedirects(false);
+ return (con.getResponseCode() == HttpURLConnection.HTTP_OK);
+ }
+ catch (Exception e) {
+ return false;
+ }
+ }
}
Modified: trunk/framework/fudaa-common/src/main/java/org/fudaa/fudaa/commun/impl/FudaaStartupExitPreferencesPanel.java
===================================================================
--- trunk/framework/fudaa-common/src/main/java/org/fudaa/fudaa/commun/impl/FudaaStartupExitPreferencesPanel.java 2016-12-30 14:55:02 UTC (rev 9495)
+++ trunk/framework/fudaa-common/src/main/java/org/fudaa/fudaa/commun/impl/FudaaStartupExitPreferencesPanel.java 2017-01-02 14:42:28 UTC (rev 9496)
@@ -25,9 +25,11 @@
*/
public class FudaaStartupExitPreferencesPanel extends BuAbstractPreferencesPanel implements ActionListener {
+ public static final String PREF_CHECK_NEW_VERSION = "check.update";
+
private final String splash_ = "splashscreen.visible";
private final String exit_ = "confirm.exit";
- private final String update_ = "check.update";
+
final BuCheckBox cbExit_;
final BuCheckBox cbSplash_;
final BuCheckBox cbUpdate_;
@@ -75,7 +77,7 @@
BuPreferences.BU.putBooleanProperty(exit_, cbExit_.isSelected());
BuPreferences.BU.putBooleanProperty(splash_, cbSplash_.isSelected());
if (cbUpdate_ != null) {
- BuPreferences.BU.putBooleanProperty(update_, cbUpdate_.isSelected());
+ BuPreferences.BU.putBooleanProperty(PREF_CHECK_NEW_VERSION, cbUpdate_.isSelected());
}
setDirty(false);
}
@@ -85,7 +87,7 @@
cbExit_.setSelected(BuPreferences.BU.getBooleanProperty(exit_, true));
cbSplash_.setSelected(BuPreferences.BU.getBooleanProperty(splash_, true));
if (cbUpdate_ != null) {
- cbUpdate_.setSelected(BuPreferences.BU.getBooleanProperty(update_, true));
+ cbUpdate_.setSelected(BuPreferences.BU.getBooleanProperty(PREF_CHECK_NEW_VERSION, true));
}
setDirty(false);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2016-12-30 14:47:19
|
Revision: 9494
http://sourceforge.net/p/fudaa/svn/9494
Author: bmarchan
Date: 2016-12-30 14:47:16 +0000 (Fri, 30 Dec 2016)
Log Message:
-----------
LSPIV Fix : Pb avec l'acc?\195?\168s a au sch?\195?\169ma Search Area dans la fenetre des params computer.
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivComputeParamPanel.java
Added Paths:
-----------
trunk/soft/fudaa-lspiv/src/main/resources/org/fudaa/fudaa/piv/schema_sa.png
Removed Paths:
-------------
trunk/soft/fudaa-lspiv/src/main/resources/org/fudaa/fudaa/piv/schemaSA.png
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 2016-12-30 14:45:20 UTC (rev 9493)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivComputeParamPanel.java 2016-12-30 14:47:16 UTC (rev 9494)
@@ -183,7 +183,7 @@
lbLock6.setIcon(PivResource.PIV.getIcon("lie-horizontal"));
lbLock6.setPreferredSize(lockprefsize);
- lbSchema.setIcon(PivResource.PIV.getIcon("schemaSA.png"));
+ lbSchema.setIcon(PivResource.PIV.getIcon("schema_sa.png"));
actDefineAreaCenter_=pnLayers_.getTransfView().getDefineAreaCenterAction();
actDefineAreaCenter_.setEditionController(ctrl_);
Deleted: trunk/soft/fudaa-lspiv/src/main/resources/org/fudaa/fudaa/piv/schemaSA.png
===================================================================
(Binary files differ)
Added: trunk/soft/fudaa-lspiv/src/main/resources/org/fudaa/fudaa/piv/schema_sa.png
===================================================================
(Binary files differ)
Index: trunk/soft/fudaa-lspiv/src/main/resources/org/fudaa/fudaa/piv/schema_sa.png
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/resources/org/fudaa/fudaa/piv/schema_sa.png 2016-12-30 14:45:20 UTC (rev 9493)
+++ trunk/soft/fudaa-lspiv/src/main/resources/org/fudaa/fudaa/piv/schema_sa.png 2016-12-30 14:47:16 UTC (rev 9494)
Property changes on: trunk/soft/fudaa-lspiv/src/main/resources/org/fudaa/fudaa/piv/schema_sa.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ 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...> - 2016-12-30 14:45:23
|
Revision: 9493
http://sourceforge.net/p/fudaa/svn/9493
Author: bmarchan
Date: 2016-12-30 14:45:20 +0000 (Fri, 30 Dec 2016)
Log Message:
-----------
Passage LSPIV en 1.5-SNAPSHOT
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/pom.xml
Modified: trunk/soft/fudaa-lspiv/pom.xml
===================================================================
--- trunk/soft/fudaa-lspiv/pom.xml 2016-12-29 17:30:29 UTC (rev 9492)
+++ trunk/soft/fudaa-lspiv/pom.xml 2016-12-30 14:45:20 UTC (rev 9493)
@@ -16,7 +16,7 @@
</parent>
<groupId>org.fudaa.soft.fudaa-lspiv</groupId>
<artifactId>fudaa-lspiv</artifactId>
- <version>1.4-SNAPSHOT</version>
+ <version>1.5-SNAPSHOT</version>
<name>Fudaa-Lspiv</name>
<dependencyManagement>
<dependencies>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2016-12-29 17:30:31
|
Revision: 9492
http://sourceforge.net/p/fudaa/svn/9492
Author: bmarchan
Date: 2016-12-29 17:30:29 +0000 (Thu, 29 Dec 2016)
Log Message:
-----------
Fix LSPIV : Utilisation API 1.8 au lieu de 1.7
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivExportGaugingReportFillValuesPanel.java
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivExportGaugingReportFillValuesPanel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivExportGaugingReportFillValuesPanel.java 2016-12-20 14:46:54 UTC (rev 9491)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivExportGaugingReportFillValuesPanel.java 2016-12-29 17:30:29 UTC (rev 9492)
@@ -11,6 +11,7 @@
import java.awt.Dimension;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Set;
@@ -101,16 +102,26 @@
*/
public PivExportGaugingReportFillValuesPanel(CtuluUI _ui, Collection<PivExportGaugingReportAction.UserCellData> _userVars, Set<String> _systemVars) {
ArrayList<PivExportGaugingReportAction.UserCellData> userVars=new ArrayList<>(_userVars);
- userVars.sort(new Comparator<PivExportGaugingReportAction.UserCellData>() {
-
+ Collections.sort(userVars,new Comparator<PivExportGaugingReportAction.UserCellData>() {
@Override
public int compare(PivExportGaugingReportAction.UserCellData c1, PivExportGaugingReportAction.UserCellData c2) {
- return c1.name.compareTo(c2.name);
+ if (c1.description == null && c2.description == null) {
+ return 0;
+ }
+ else if (c1.description == null) {
+ return -1;
+ }
+ else if (c2.description == null) {
+ return 1;
+ }
+ else {
+ return c1.description.compareTo(c2.description);
+ }
}
});
ArrayList<String> systemVars=new ArrayList<>(_systemVars);
- systemVars.sort(null);
+ Collections.sort(systemVars);
StringBuilder sb=new StringBuilder();
sb.append(PivResource.getS("Les champs de la table sont les zones nomm\xE9es inconnues du syst\xE8me,\nissues du mod\xE8le Excel de rapport. Les zones nomm\xE9es connues sont :\n\n"));
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2016-12-20 14:46:56
|
Revision: 9491
http://sourceforge.net/p/fudaa/svn/9491
Author: bmarchan
Date: 2016-12-20 14:46:54 +0000 (Tue, 20 Dec 2016)
Log Message:
-----------
Fix translation
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/PivFilterInstantResultsPanel.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivFlowInfoPanel.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/PivExportGaugingReportAction.java
trunk/soft/fudaa-lspiv/src/main/resources/org/fudaa/fudaa/piv/piv_en.fr_txt
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 2016-12-20 13:52:46 UTC (rev 9490)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivComputeParamPanel.java 2016-12-20 14:46:54 UTC (rev 9491)
@@ -161,8 +161,8 @@
lbTemps.setText(PivResource.getS("Intervalle de temps")+" (s):");
pnIASize.setBorder(javax.swing.BorderFactory.createTitledBorder(PivResource.getS("Aire d'interrogation")));
- lbIASize.setText(PivResource.getS("Taille de l'aire"+" (m):"));
- lbIASizePix.setText(PivResource.getS("Taille de l'aire"+" (pix):"));
+ lbIASize.setText(PivResource.getS("Taille de l'aire")+" (m):");
+ lbIASizePix.setText(PivResource.getS("Taille de l'aire")+" (pix):");
lbPosition.setText(PivResource.getS("Position du centre"));
btPosition.setText(PivResource.getS("Position..."));
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 2016-12-20 13:52:46 UTC (rev 9490)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivFilterInstantResultsPanel.java 2016-12-20 14:46:54 UTC (rev 9491)
@@ -124,7 +124,7 @@
pnVelocity.add(pnVxLimits);
JPanel pnVyLimits=new JPanel();
- pnVyLimits.setBorder(BorderFactory.createTitledBorder(PivResource.getS("Limites de la componsante Vy (m/s)")));
+ pnVyLimits.setBorder(BorderFactory.createTitledBorder(PivResource.getS("Limites de la composante Vy (m/s)")));
pnVyLimits.setLayout(new BuVerticalLayout(3,true,false));
pn=new JPanel();
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivFlowInfoPanel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivFlowInfoPanel.java 2016-12-20 13:52:46 UTC (rev 9490)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivFlowInfoPanel.java 2016-12-20 14:46:54 UTC (rev 9491)
@@ -70,7 +70,7 @@
case 6:
return PivResource.getS("Ecart (%)");
case 7:
- return PivResource.getS("D\xE9bit mesur\xE9 (m/s)");
+ return PivResource.getS("D\xE9bit mesur\xE9 (m\xB3/s)");
case 8:
return PivResource.getS("Ecart (%)");
}
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 2016-12-20 13:52:46 UTC (rev 9490)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java 2016-12-20 14:46:54 UTC (rev 9491)
@@ -93,7 +93,7 @@
static {
isPIV_.name = "LSPIV";
isPIV_.version = "1.5.0";
- isPIV_.date = "2016-10-13";
+ isPIV_.date = "2016-12-20";
isPIV_.rights = PivResource.getS("Tous droits r\xE9serv\xE9s")+". CEREMA (c)1999-2016";
isPIV_.license = "GPL2";
isPIV_.languages = "en,fr";
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivExportGaugingReportAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivExportGaugingReportAction.java 2016-12-20 13:52:46 UTC (rev 9490)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivExportGaugingReportAction.java 2016-12-20 14:46:54 UTC (rev 9491)
@@ -196,7 +196,7 @@
if (!userVars.isEmpty()) {
PivExportGaugingReportFillValuesPanel diValues=new PivExportGaugingReportFillValuesPanel(impl, userVars.values(), systemDatas.keySet());
- if (diValues.afficheModale(impl.getFrame(), PivResource.getS("A renseigner")) == JOptionPane.CANCEL_OPTION)
+ if (diValues.afficheModale(impl.getFrame(), PivResource.getS("Champs \xE0 renseigner")) == JOptionPane.CANCEL_OPTION)
return;
}
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 2016-12-20 13:52:46 UTC (rev 9490)
+++ trunk/soft/fudaa-lspiv/src/main/resources/org/fudaa/fudaa/piv/piv_en.fr_txt 2016-12-20 14:46:54 UTC (rev 9491)
@@ -8,8 +8,8 @@
Affiche le r\xE9sultat instantan\xE9 s\xE9lectionn\xE9=Show selected instantaneous result
Affiche les r\xE9sultats pour la variable s\xE9lectionn\xE9e=Show results for selected variable
Afficher les r\xE9sultats du calcul=Show calculation results
-Aire d'interrogation (pix)=Interrogation area (pix)
-Aire de recherche (pix)=Searching area (pix)
+Aire d'interrogation=Interrogation area
+Aire de recherche=Search area
Aire mouill\xE9e (m\xB2)=Wetted area (m\xB2)
Analyse LSPIV=LSPIV analysis
Analyse des images ok=Image analysis ok
@@ -45,6 +45,8 @@
Calque {0} cr\xE9\xE9={0} layer created
Calque {0} mis \xE0 jour={0} layer updated
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 ?
+Champ=Field
+Champs \xE0 renseigner=Fields to fill
Changement de rep\xE8re=Reference switch
Chargement du projet=Opening project
Choisir 2 points diff\xE9rents=Please choose 2 different points
@@ -69,9 +71,11 @@
Des points de grille existent d\xE9j\xE0.\nVoulez-vous les supprimer avant import des nouveaux ?=Grid points already exist.\nDo you want to remove them before importing new ones ?
Des points existent d\xE9j\xE0.\nVoulez-vous les supprimer avant ajout des nouveaux ?=Points already exist.\nDo you want to remove them before importing new ones ?
Des r\xE9sultats instantan\xE9s doivent exister=Instantaneous results must exist
+Des r\xE9sultats instantan\xE9s filtr\xE9s doivent exister=Filtered instantaneous results must exist
Distance d'extrapolation=Extrapolation range
Dur\xE9e d'int\xE9gration=Integration duration
-D\xE9bit total (m\xB3/s)=Total discharge (m\xB3/s)
+D\xE9bit mesur\xE9 (m\xB3/s)=Measur.disch.(m\xB3/s)
+D\xE9bit total (m\xB3/s)=Total disch. (m\xB3/s)
D\xE9bit=Discharge
D\xE9finir=Define
D\xE9finition des points de grille=Definition of grid points
@@ -93,24 +97,31 @@
Erreur de transformation des vitesses instantan\xE9es\:\n=Error while instantaneous velocities transformation\:\n
Erreur de v\xE9rification de l'orthorectification\:\n=Error while checking orthorectification\:\n
Erreur lors de la sauvegarde du fichier projet.\nIl ne sera pas sauvegard\xE9=Error while saving the project file.\nIt will not be saved
+Erreur mod\xE8le=Template error
Erreur=Error
Espace image source=Source image space
Espace image transform\xE9e=Transformed image space
Espace r\xE9el=Real space
Export des images sources=Export of source images
Export des images transform\xE9es=Export of transformed images
+Exporter le rapport de jaugeage=Export gauging report
Exporter les images sources=Export source images
Exporter les images transform\xE9es=Export transformed images
+Ficher Excel d'export=Export Excel file
+Fichier Excel=Excel file
Fichier GRP=GRP file
Fichier bathy=Bathymetry file
Fichier grid=Grid file
+Fichier manquant=Missing file
+Fichier params calcul=Params calculation file
+Fichier params transformation=Params transf. file
Fichier projet=Project file
Fichiers images en niveaux de gris=Gray-scale image files
Fichiers images=Images files
+Filtrage des r\xE9sultats instantan\xE9s=Instantaneous results filtering
Filtrage des r\xE9sultats=Results filtering
Filtrage interrompu=Filtering interrupted
Filtrage ok=Filtering ok
-Filtrage/moyenne des r\xE9sultats instantan\xE9s=Filtering/averaging of instantaneous results
Filtrer les corr\xE9lations=Filter correlations
Filtrer les vitesses=Filter velocities
Fin de saisie=Input finished
@@ -131,13 +142,14 @@
Image ortho=Ortho image
Image transform\xE9e=Transformed image
Import d'un transect=Import of a transect
+Import des param\xE8tres d'orthorectification=Import of orthorectification parameters
+Import des param\xE8tres de calcul=Import of calculation parameters
Import des points de grille=Import of grid points
Import des points de r\xE9f\xE9rence=Import of the reference points
Importer=Import
Impossible d'ouvrir le fichier {0}.\nPas d'application ou fichier introuvable=Unable to open file {0}.\nNo application or file not found
Indiquer le nom du calque \xE0 cr\xE9er=Enter the name of the layer to create
Interruption en cours. Merci de patienter=Interruption in progress. Please wait
-Intervalle de temps (s)=Time step (s)
Intervalle de temps=Time step
Isolignes / Isosurfaces=Isolines / Isosurfaces
LSPIV=LSPIV
@@ -155,7 +167,9 @@
Le chemin donn\xE9 n'est pas un r\xE9pertoire ou n'existe pas=The specified path is not a directory or does not exist
Le contour de grille doit comporter 4 sommets=The grid outline must comprise 4 vertices
Le delta du marqueur doit \xEAtre renseign\xE9=The delta of the marker must be entered
+Le fichier h.dat correspondant est manquant.\nLe niveau d'eau ne sera pas initialis\xE9=The corresponding h.dat file is missing.\nThe water level will not be initialized
Le fichier ne semble pas \xEAtre un projet Fudaa-LSPIV.\nCauses possibles\:\n- Le fichier n'est pas dans un format ZIP\n- Il ne contient pas le r\xE9pertoire '{0}'=The file seems not to be a Fudaa-LSPIV project.\nPotential causes\:\n- The file is not in a ZIP format\n- The file does not contain the '{0}' directory
+Le mod\xE8le {0} n'existe pas={0} template file does not exist
Le niveau d'eau doit \xEAtre un r\xE9el=The water level must be a real number
Le nombre de points de r\xE9f\xE9rence doit \xEAtre au minimum de 4=The minimum number of GRP is 4
Le nombre de points doit \xEAtre sup\xE9rieur \xE0 1=The number of points must be greater than 1
@@ -166,11 +180,13 @@
Le projet doit contenir au moins 2 images transform\xE9es=The project must contain at least 2 transformed images
Le projet doit \xEAtre cr\xE9\xE9=The project must be created
Le projet ne contient aucune image source=The project does not contain any source image
-Le projet ne contient aucune valeur de r\xE9sultats instantan\xE9s=The project does not contain any instantaneous value results
+Le projet ne contient aucune valeur de r\xE9sultats instantan\xE9s filtr\xE9s=The project does not contain any filtered instantaneous results value
+Le projet ne contient aucune valeur de r\xE9sultats instantan\xE9s=The project does not contain any instantaneous results value
Le projet ne contient pas de r\xE9sultats moyenn\xE9s=The project does not contain averaged results
Le r\xE9pertoire de destination n'est pas d\xE9fini ou est inaccessible=The destination directory is not defined or is inaccessible
Le r\xE9pertoire des ex\xE9cutables n'a pas encore \xE9t\xE9 pr\xE9cis\xE9 ou n'est pas valide=The executable file directory has not been specified yet or is not valid
Le segment n'est pas d\xE9fini=Segment is not defined
+Les champs de la table sont les zones nomm\xE9es inconnues du syst\xE8me,\nissues du mod\xE8le Excel de rapport. Les zones nomm\xE9es connues sont \:\n\n=The fields in the table are system unknown named areas,\ncoming from the Excel report template. Known named areas are \:\n\n
Les executables suivants manquent dans le r\xE9pertoire donn\xE9\:\n=The following executable files are missing in the specified directory\:\n
Les extremit\xE9s du segment sont confondues. Une seule trajectoire sera calcul\xE9e.\nVoulez-vous continuer ?=Segment extremities are identical. Only one path will be calculated.\nDo you want to continue ?
Les images doivent exister=Images must exist
@@ -178,6 +194,7 @@
Les images s\xE9lectionn\xE9es=Selected images
Les param\xE8tres d'orthorectification n'ont pas \xE9t\xE9 donn\xE9s=The orthorectification parameters were not specified
Les param\xE8tres de calcul n'ont pas \xE9t\xE9 donn\xE9s=The calculation parameters were not specified
+Les param\xE8tres de filtres seront aussi import\xE9s.\nVoulez-vous continuer ?=Filtered parameters will also be imported.\nDo you want to continue ?
Les param\xE8tres doivent \xEAtre renseign\xE9s et les images transform\xE9es doivent exister=The parameters must be specified and the transformed images must exist
Les param\xE8tres et points de r\xE9f\xE9rence doivent \xEAtre renseign\xE9s=The parameters and the reference points must be specified
Les param\xE8tres ne peuvent \xEAtre saisis\nque dans le rep\xE8re de calcul=Parameters can only be entered\nin the computation reference
@@ -189,27 +206,32 @@
Lie/d\xE9lie l'image et le r\xE9sultat instantan\xE9=Bind/unbind image and instantaneous result
Ligne=Line
Lignes de courant=Stream lines
+Limites de la composante Vx (m/s)=Vx component magnitude thresholds (m/s)
+Limites de la composante Vy (m/s)=Vy component magnitude thresholds (m/s)
Limites de la norme de vitesse (m/s)=Velocity magnitude thresholds (m/s)
-Limites de la vitesse v transversale (m/s)=Transverse velocity magnitude thresholds (m/s)
Liste des images=Images list
Liste des r\xE9sultats instantan\xE9s=Instantaneous results list
Liste des transects=Transects list
Marqueur=Mark
Marqueurs=Marks
+Max Vx=Max Vx
+Max Vy=Max Vy
Max corr\xE9lation=Max correlation
Max norme de vitesse=Max velocity magnitude
-Max vitesse transversale=Max transverse velocity
Max=Max
+Min Vx=Min Vx
+Min Vy=Min Vy
Min corr\xE9lation=Min correlation
Min norme de vitesse=Min velocity magnitude
-Min vitesse transversale=Min transverse velocity
Min=Min
Mode=Mode
Modification des points de r\xE9f\xE9rence=Modification of the reference points
Modification des transects initiaux=Modification of the initial transects
Modification du transect=Modification of the transect
+Moyenne des r\xE9sultats instantan\xE9s filtr\xE9s=Filtered instantaneous results average
Moyenne=Average
Niveau d'eau (m)=Water level (m)
+Nombre d'images par secondes=Number of images per second
Nombre de points de r\xE9f\xE9rence < 6, tous les points doivent avoir un Z identique=Number of reference points < 6, all points must have the same Z
Nombre de points sur les segments 1-2/3-4=Number of points in segments 1-2/3-4
Nombre de points sur les segments 2-3/4-1=Number of points in segments 2-3/4-1
@@ -295,6 +317,8 @@
Stop=Stop
S\xE9lection d'un fichier GRP=Selection of the GRP file
S\xE9lection d'un fichier de grille=Selection of the grid file
+S\xE9lection d'un fichier de parametres de calcul=Selection of the calculation parameters file
+S\xE9lection d'un fichier de parametres de transformation=Selection of the transformation parameters file
S\xE9lection d'un fichier transect=Selection of the transect file
S\xE9lection des images sources=Selection of the source images
S\xE9lectionner au moins un transect=Select at least one transect
@@ -302,8 +326,8 @@
S\xE9lectionner une g\xE9om\xE9trie=Select a geometry
S\xE9lectionnez les images que vous souhaitez exporter, puis le format d'export=Select the images you want to export, then the export format
S\xE9lectionnez un calque particule=Please select a particle layer
+Taille de l'aire (pix)\: Doit \xEAtre un entier positif et pair=Area size (pix)\: Must be a positive and even integer
Taille de l'aire=Area size
-Taille de l'aire\: Doit \xEAtre un entier positif et pair=Area size\: Must be an even positive integer
Temps=Time
Terminer la saisie des points et valider=End input of the points and validate
Tous droits r\xE9serv\xE9s=All rights reserved
@@ -332,6 +356,7 @@
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
Une erreur de lecture s'est produite=An error while reading occurred
+Valeur=Value
Vecteur=Vector
Verification des points de r\xE9f\xE9rence=Verification of the reference points
Verification interrompue=Verification interrupted
@@ -388,4 +413,5 @@
{0}\: Doit \xEAtre un entier >\= 0={0}\: Must be an integer >\= 0
{0}\: Doit \xEAtre un entier={0}\: Must be an integer
{0}\: Doit \xEAtre un r\xE9el > 0={0}\: Must be a real number > 0
+{0}\: Doit \xEAtre un r\xE9el >\= 0={0}\: Must be a real number >\= 0
{0}\: Doit \xEAtre un r\xE9el={0}\: Must be a real number
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2016-12-20 13:52:49
|
Revision: 9490
http://sourceforge.net/p/fudaa/svn/9490
Author: bmarchan
Date: 2016-12-20 13:52:46 +0000 (Tue, 20 Dec 2016)
Log Message:
-----------
Correction traduction
Modified Paths:
--------------
trunk/framework/ctulu-common/src/main/resources/org/fudaa/ctulu/ctulu_en.fr_txt
Modified: trunk/framework/ctulu-common/src/main/resources/org/fudaa/ctulu/ctulu_en.fr_txt
===================================================================
--- trunk/framework/ctulu-common/src/main/resources/org/fudaa/ctulu/ctulu_en.fr_txt 2016-12-20 13:36:13 UTC (rev 9489)
+++ trunk/framework/ctulu-common/src/main/resources/org/fudaa/ctulu/ctulu_en.fr_txt 2016-12-20 13:52:46 UTC (rev 9490)
@@ -157,7 +157,7 @@
Le champ est vide=The field is empty
Le document n'est pas accessible=The document can not be accessed
Le document ne peut pas \xEAtre affich\xE9=The document can not be displayed
-Le fichier '{0}' existe d\xE9j\xE0 et est prot\xE9g\xE9=The file {0} already exists and it's write protected
+Le fichier '{0}' existe d\xE9j\xE0 et est prot\xE9g\xE9 ou utilis\xE9 par un autre processus=The file '{0}' already exists and is write protected or used by another process
Le fichier DAT ne contient pas de donn\xE9es concernant une image Raster=The DAT file does not contain image informations
Le fichier choisi est un dossier=The selected file is a folder
Le fichier n'est pas accessible en \xE9criture=The file can't be written
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2016-12-20 13:36:15
|
Revision: 9489
http://sourceforge.net/p/fudaa/svn/9489
Author: bmarchan
Date: 2016-12-20 13:36:13 +0000 (Tue, 20 Dec 2016)
Log Message:
-----------
Ebli common => Java 1.7
Modified Paths:
--------------
trunk/framework/ebli-common/pom.xml
Modified: trunk/framework/ebli-common/pom.xml
===================================================================
--- trunk/framework/ebli-common/pom.xml 2016-12-20 13:19:20 UTC (rev 9488)
+++ trunk/framework/ebli-common/pom.xml 2016-12-20 13:36:13 UTC (rev 9489)
@@ -9,26 +9,6 @@
<groupId>org.fudaa.framework.ebli</groupId>
<artifactId>ebli-common</artifactId>
<name>ebli-common</name>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>1.5</source>
- <target>1.5</target>
- <encoding>${project.build.sourceEncoding}</encoding>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
- <configuration>
- <encoding>${project.build.sourceEncoding}</encoding>
- </configuration>
- </plugin>
- </plugins>
- </build>
<dependencies>
<dependency>
<groupId>${ctuluGroupId}</groupId>
@@ -56,7 +36,4 @@
<scope>test</scope>
</dependency>
</dependencies>
- <properties>
- <project.build.sourceEncoding>ISO-8859-1</project.build.sourceEncoding>
- </properties>
</project>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2016-12-20 13:19:23
|
Revision: 9488
http://sourceforge.net/p/fudaa/svn/9488
Author: bmarchan
Date: 2016-12-20 13:19:20 +0000 (Tue, 20 Dec 2016)
Log Message:
-----------
Export rapport jaugeage : Fromattage des double + protection du document final.
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/distrib/src/dist/templates/template_gauging_fr.xlsx
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivExportGaugingReportFillValuesPanel.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivExportGaugingReportAction.java
Modified: trunk/soft/fudaa-lspiv/distrib/src/dist/templates/template_gauging_fr.xlsx
===================================================================
(Binary files differ)
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivExportGaugingReportFillValuesPanel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivExportGaugingReportFillValuesPanel.java 2016-12-20 13:17:54 UTC (rev 9487)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivExportGaugingReportFillValuesPanel.java 2016-12-20 13:19:20 UTC (rev 9488)
@@ -121,6 +121,8 @@
mdValues_=new ValuesTableModel(userVars);
tbValues_=new JTable(mdValues_);
+ // Pour conserver la valeur saisie, m\xEAme lorsqu'on clique sur le bouton Ok
+ tbValues_.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE);
JScrollPane sp=new JScrollPane(tbValues_);
JPanel pnValues=new JPanel();
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivExportGaugingReportAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivExportGaugingReportAction.java 2016-12-20 13:17:54 UTC (rev 9487)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivExportGaugingReportAction.java 2016-12-20 13:19:20 UTC (rev 9488)
@@ -14,12 +14,16 @@
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
+import java.text.DecimalFormat;
import java.util.HashMap;
+import java.util.Locale;
import javax.imageio.ImageIO;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
+import org.apache.commons.codec.DecoderException;
+import org.apache.commons.codec.binary.Hex;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.ClientAnchor;
import org.apache.poi.ss.usermodel.CreationHelper;
@@ -31,10 +35,13 @@
import org.apache.poi.ss.util.AreaReference;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.ss.util.CellReference;
+import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.fudaa.ctulu.CtuluLib;
import org.fudaa.ctulu.CtuluLibImage;
import org.fudaa.ctulu.CtuluLog;
import org.fudaa.ctulu.gui.CtuluFileChooser;
+import org.fudaa.ctulu.gui.CtuluFileChooserTestWritable;
import org.fudaa.ebli.commun.EbliActionSimple;
import org.fudaa.fudaa.piv.PivExportGaugingReportFillValuesPanel;
import org.fudaa.fudaa.piv.PivImplementation;
@@ -271,7 +278,7 @@
Cell c=r.getCell(currentCol);
if (c != null) {
Object val=cellWrapper.getValue(irow, icol);
- c.setCellValue(val == null ? "-" : val.toString());
+ c.setCellValue(val == null ? "-" : val.toString().trim());
}
CellRangeAddress cra=rc2CellAdress.get(currentRow + "_" + currentCol);
if (cra == null) {
@@ -292,14 +299,29 @@
}
}
- // Ecriture du fichier final
+ // Lock et ecriture du fichier final
- if (fcReport_ == null)
+ for (int i=0; i<wb.getNumberOfSheets(); i++) {
+ XSSFSheet sheet = (XSSFSheet)wb.getSheetAt(i);
+ sheet.protectSheet("__LSPIV__");
+ sheet.lockDeleteColumns();
+ sheet.lockDeleteRows();
+ sheet.lockFormatCells();
+ sheet.lockFormatColumns();
+ sheet.lockFormatRows();
+ sheet.lockInsertColumns();
+ sheet.lockInsertRows();
+ sheet.enableLocking();
+ }
+
+ if (fcReport_ == null) {
fcReport_=new CtuluFileChooser(true);
- fcReport_.setAcceptAllFileFilterUsed(true);
- fcReport_.setFileFilter(PivUtils.FILE_FLT_XLSX);
- fcReport_.setMultiSelectionEnabled(false);
- fcReport_.setDialogTitle(PivResource.getS("Ficher Excel d'export"));
+ fcReport_.setTester(new CtuluFileChooserTestWritable(impl));
+ fcReport_.setAcceptAllFileFilterUsed(true);
+ fcReport_.setFileFilter(PivUtils.FILE_FLT_XLSX);
+ fcReport_.setMultiSelectionEnabled(false);
+ fcReport_.setDialogTitle(PivResource.getS("Ficher Excel d'export"));
+ }
if (fcReport_.showSaveDialog(impl.getFrame()) == JFileChooser.CANCEL_OPTION) {
return;
}
@@ -333,7 +355,7 @@
}
/**
- * Definit les varaibles connues du systeme.
+ * Definit les variables connues du systeme.
*/
public HashMap<String, AbstractCellData> defineSystemVariables() {
HashMap<String, AbstractCellData> systemVars_=new HashMap<>();
@@ -348,33 +370,43 @@
final Double meanDisch=globRes.getAverageScalarResult(ResultType.FULL_DISCHARGE);
final Double meanArea=globRes.getAverageScalarResult(ResultType.WETTED_AREA);
final Double meanMeanV=globRes.getAverageScalarResult(ResultType.MEAN_VELOCITY);
+ final Double meanMeasuredDisch=globRes.getAverageScalarResult(ResultType.MEASURED_DISCHARGE);
final HashMap<String,Object> imgOptions = new HashMap<>();
imgOptions.put(CtuluLibImage.PARAMS_FILL_BACKGROUND_BOOLEAN, Boolean.FALSE);
+ final DecimalFormat fmtStd = CtuluLib.getDecimalFormat(3);
+ final DecimalFormat fmtEcart = CtuluLib.getNoEffectDecimalFormat();
+ fmtEcart.setMaximumFractionDigits(1);
+ fmtEcart.setMinimumFractionDigits(1);
+ fmtEcart.setPositivePrefix("+");
+ final DecimalFormat fmtExp=new DecimalFormat("#");
+ fmtExp.setMaximumFractionDigits(3);
+ fmtExp.setMinimumFractionDigits(2);
+
systemVars_.put("__COEF_VITESSE",new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
// On prend le coef de vitesse du premier transect, s'il existe
- return (transects==null || transects.length==0) ? null:""+transects[0].getParams().getSurfaceCoef();
+ return (transects==null || transects.length==0) ? null:format(fmtStd,transects[0].getParams().getSurfaceCoef(),null);
}
});
systemVars_.put("__CORREL_MAX",new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
- return pivParams==null ? null:""+pivParams.getMaxCorrelation();
+ return pivParams==null ? null:""+format(fmtStd,pivParams.getMaxCorrelation(),null);
}
});
systemVars_.put("__CORREL_MIN",new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
- return pivParams==null ? null:""+pivParams.getMinCorrelation();
+ return pivParams==null ? null:""+format(fmtStd,pivParams.getMinCorrelation(),null);
}
});
systemVars_.put("__DEBIT_MOYEN",new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
- return meanDisch==null ? null:meanDisch+" m\xB3/s";
+ return meanDisch==null ? null:format(fmtStd,meanDisch,"m\xB3/s");
}
});
systemVars_.put("__ERREUR_MAX",new AbstractScalarCellData() {
@@ -387,19 +419,19 @@
for (PivOrthoPoint pt : orthoPoints) {
maxi=Math.max(maxi, pt.getError());
}
- return maxi+" m";
+ return format(fmtStd,maxi,"m");
}
});
systemVars_.put("__HAUTEUR",new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
- return orthoParams==null ? null:orthoParams.getWaterElevation()+" m";
+ return orthoParams==null ? null:format(fmtStd,orthoParams.getWaterElevation(),"m");
}
});
systemVars_.put("__IA_M",new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
- return (pivParams==null || orthoParams==null) ? null:(pivParams.getIASize()*orthoParams.getResolution())+" m";
+ return (pivParams==null || orthoParams==null) ? null:format(fmtStd,pivParams.getIASize()*orthoParams.getResolution(),"m");
}
});
systemVars_.put("__IA_PIX",new AbstractScalarCellData() {
@@ -411,7 +443,7 @@
systemVars_.put("__INTERTEMPS",new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
- return pivParams==null ? null:pivParams.getTimeInterval()+" s";
+ return pivParams==null ? null:format(fmtStd,pivParams.getTimeInterval(),"s");
}
});
systemVars_.put("__NOM_PROJET",new AbstractScalarCellData() {
@@ -441,76 +473,93 @@
systemVars_.put("__NORME_MAX", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
- return pivParams==null ? null:pivParams.getSmax()+" m/s";
+ return pivParams==null ? null:format(fmtStd,pivParams.getSmax(),"m/s");
}
});
systemVars_.put("__NORME_MIN", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
- return pivParams==null ? null:pivParams.getSmin()+" m/s";
+ return pivParams==null ? null:format(fmtStd,pivParams.getSmin(),"m/s");
}
});
systemVars_.put("__PAS_INTERPOLATION", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
// On prend le pas du premier transect, s'il existe
- return (transects==null || transects.length==0) ? null:transects[0].getParams().getInterpolationStep()+" m";
+ return (transects==null || transects.length==0) ? null:format(fmtStd,transects[0].getParams().getInterpolationStep(),"m");
}
});
+ systemVars_.put("__RATIO_DEBIT_MESURE", new AbstractScalarCellData() {
+ @Override
+ public String getValue(int _row, int _col) {
+ return meanMeasuredDisch==null ? null:meanMeasuredDisch/meanDisch*100+" %";
+ }
+ });
systemVars_.put("__RAYON_RECHERCHE", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
// On prend le rayon du premier transect, s'il existe
- return (transects==null || transects.length==0) ? null:transects[0].getParams().getRadius()+" m";
+ return (transects==null || transects.length==0) ? null:format(fmtStd,transects[0].getParams().getRadius(),"m");
}
});
systemVars_.put("__RESOLUTION", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
// On prend le rayon du premier transect, s'il existe
- return orthoParams==null ? null:orthoParams.getResolution()+" m/pix";
+ return orthoParams==null ? null:format(fmtStd,orthoParams.getResolution(),"m/pix");
}
});
- systemVars_.put("__RESULTATS", new AbstractCellData() {
+ systemVars_.put("__TB_RESULTATS_DEBIT", new AbstractCellData() {
@Override
- public String getValue(int _row, int _col) {
- if (flowResults==null)
+ public String getValue(int rowIndex, int _col) {
+ if (flowResults==null || flowResults.length==0)
return null;
+ Double val;
+
switch (_col) {
+ default:
case 0:
- default:
- // Num\xE9ro de transect
- return _row+1+"";
+ return rowIndex==flowResults.length? PivResource.getS("Moyenne"):""+(rowIndex+1);
case 1:
- // D\xE9bit total
- return flowResults[_row].getDischarge()+"";
+ val=rowIndex==flowResults.length? meanDisch:flowResults[rowIndex].getDischarge();
+ return format(fmtStd, val,null);
case 2:
- // Ecart debit % moyenne
- return ((flowResults[_row].getDischarge()-meanDisch)/meanDisch*100)+"";
+ val=rowIndex==flowResults.length? meanDisch:flowResults[rowIndex].getDischarge();
+ val = (val-meanDisch)/meanDisch*100;
+ return format(fmtEcart, val,null);
case 3:
- // Aire mouill\xE9e
- return flowResults[_row].getWettedArea()+"";
+ val = rowIndex==flowResults.length? meanArea:flowResults[rowIndex].getWettedArea();
+ return format(fmtStd, val,null);
case 4:
- // Ecart aire mouill\xE9e % moyenne
- return ((flowResults[_row].getWettedArea()-meanArea)/meanArea*100)+"";
+ val=rowIndex==flowResults.length? meanArea:flowResults[rowIndex].getWettedArea();
+ val = (val-meanArea)/meanArea*100;
+ return format(fmtEcart, val,null);
case 5:
- // Vitese moyenne
- return flowResults[_row].getMeanVelocity()+"";
+ val = rowIndex==flowResults.length? meanMeanV:flowResults[rowIndex].getMeanVelocity();
+ return format(fmtStd, val,null);
case 6:
- // Ecart vitesse moyenne % moyenne
- return ((flowResults[_row].getMeanVelocity()-meanMeanV)/meanMeanV*100)+"";
+ val=rowIndex==flowResults.length? meanMeanV:flowResults[rowIndex].getMeanVelocity();
+ val = (val-meanMeanV)/meanMeanV*100;
+ return format(fmtEcart, val,null);
+ case 7:
+ val = rowIndex==flowResults.length? meanMeasuredDisch:flowResults[rowIndex].getValue(-1,ResultType.MEASURED_DISCHARGE);
+ return format(fmtStd, val,null);
+ case 8:
+ val=rowIndex==flowResults.length? meanMeasuredDisch:flowResults[rowIndex].getValue(-1,ResultType.MEASURED_DISCHARGE);
+ val = (val-meanMeasuredDisch)/meanMeasuredDisch*100;
+ return format(fmtEcart, val,null);
}
}
@Override
public int getNbCols() {
- return 7;
+ return 9;
}
@Override
public int getNbRows() {
- return transects==null ? 0 : transects.length;
+ return transects==null ? 0 : transects.length+1;
}
});
systemVars_.put("__SIM_MS", new AbstractScalarCellData() {
@@ -525,7 +574,7 @@
val = orthoParams.getResolution()*pivParams.getSim()/pivParams.getTimeInterval();
}
- return val+" m/s";
+ return format(fmtStd, val,"m/s");
}
return null;
}
@@ -548,7 +597,7 @@
val = orthoParams.getResolution()*pivParams.getSip()/pivParams.getTimeInterval();
}
- return val+" m/s";
+ return format(fmtStd, val,"m/s");
}
return null;
}
@@ -571,7 +620,7 @@
val = orthoParams.getResolution()*pivParams.getSjm()/pivParams.getTimeInterval();
}
- return val+" m/s";
+ return format(fmtStd, val,"m/s");
}
return null;
}
@@ -594,7 +643,7 @@
val = orthoParams.getResolution()*pivParams.getSjp()/pivParams.getTimeInterval();
}
- return val+" m/s";
+ return format(fmtStd, val,"m/s");
}
return null;
}
@@ -657,49 +706,49 @@
systemVars_.put("__VX_MAX", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
- return pivParams==null ? null:pivParams.getVxmax()+" m/s";
+ return pivParams==null ? null:format(fmtStd, pivParams.getVxmax(), "m/s");
}
});
systemVars_.put("__VX_MIN", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
- return pivParams==null ? null:pivParams.getVxmin()+" m/s";
+ return pivParams==null ? null:format(fmtStd, pivParams.getVxmin(), "m/s");
}
});
systemVars_.put("__VY_MAX", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
- return pivParams==null ? null:pivParams.getVymax()+" m/s";
+ return pivParams==null ? null:format(fmtStd, pivParams.getVymax(),"m/s");
}
});
systemVars_.put("__VY_MIN", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
- return pivParams==null ? null:pivParams.getVymin()+" m/s";
+ return pivParams==null ? null:format(fmtStd, pivParams.getVymin(),"m/s");
}
});
systemVars_.put("__X_MAX", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
- return orthoParams==null ? null:orthoParams.getXmax()+" m";
+ return orthoParams==null ? null:format(fmtStd, orthoParams.getXmax(),"m");
}
});
systemVars_.put("__X_MIN", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
- return orthoParams==null ? null:orthoParams.getXmin()+" m";
+ return orthoParams==null ? null:format(fmtStd, orthoParams.getXmin(),"m");
}
});
systemVars_.put("__Y_MAX", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
- return orthoParams==null ? null:orthoParams.getYmax()+" m";
+ return orthoParams==null ? null:format(fmtStd, orthoParams.getYmax(),"m");
}
});
systemVars_.put("__Y_MIN", new AbstractScalarCellData() {
@Override
public String getValue(int _row, int _col) {
- return orthoParams==null ? null:orthoParams.getYmin()+" m";
+ return orthoParams==null ? null:format(fmtStd, orthoParams.getYmin(),"m");
}
});
@@ -707,6 +756,33 @@
}
/**
+ * Formatte le champs double en entr\xE9e
+ * @param _fmt Le format
+ * @param _val La valeur a formatter.
+ * @param _unit L'unit\xE9, ou null si aucune
+ * @return Si la valeur vaux Double.NaN, retourne NaN.
+ */
+ private String format(DecimalFormat _fmt, Double _val, String _unit) {
+ String ret;
+ if (_val.isNaN()) {
+ ret=_val.toString();
+ }
+ else {
+ ret=_fmt.format(_val);
+ }
+
+ // C'est pas terrible, mais on passe en notation scientifique pour les grands nombres.
+ if (ret.length()>10) {
+ ret=String.format(Locale.US, "%10.3E", _val);
+ }
+
+ if (_unit!=null) {
+ ret+=" "+_unit;
+ }
+ return ret;
+ }
+
+ /**
* @return true Si toutes les donn\xE9es sont pr\xE9sentes pour un lancement.
*/
public boolean isValide() {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2016-12-20 13:17:56
|
Revision: 9487
http://sourceforge.net/p/fudaa/svn/9487
Author: bmarchan
Date: 2016-12-20 13:17:54 +0000 (Tue, 20 Dec 2016)
Log Message:
-----------
Fix CtuluLibFile.canWrite(File) : La methode controle que le fichier a ecrire n'est pas utilis?\195?\169 par un autre processus
Modified Paths:
--------------
trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluLibFile.java
Modified: trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluLibFile.java
===================================================================
--- trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluLibFile.java 2016-12-19 10:11:49 UTC (rev 9486)
+++ trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluLibFile.java 2016-12-20 13:17:54 UTC (rev 9487)
@@ -11,9 +11,6 @@
*/
package org.fudaa.ctulu;
-import com.memoire.fu.Fu;
-import com.memoire.fu.FuLib;
-import com.memoire.fu.FuLog;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
@@ -33,8 +30,6 @@
import java.io.UnsupportedEncodingException;
import java.io.Writer;
import java.net.URI;
-import java.net.URISyntaxException;
-import java.net.URL;
import java.nio.channels.FileChannel;
import java.nio.charset.Charset;
import java.util.ArrayList;
@@ -49,6 +44,10 @@
import java.util.zip.ZipFile;
import java.util.zip.ZipOutputStream;
+import com.memoire.fu.Fu;
+import com.memoire.fu.FuLib;
+import com.memoire.fu.FuLog;
+
/**
* Classe utilitaire pour les fichiers.
*
@@ -1250,8 +1249,11 @@
}
if (_f.exists()) {
- if (!_f.canWrite()) {
- return CtuluLib.getS("Le fichier '{0}' existe d\xE9j\xE0 et est prot\xE9g\xE9", _f.getName());
+ if (!_f.canWrite() ||
+ // BM : Le fichier peut \xEAtre ouvert par un autre processus qui ne le partage pas (Excel par exemple).
+ // File.renameTo() detecte ca.
+ (FuLib.isWindows() && !_f.renameTo(_f))) {
+ return CtuluLib.getS("Le fichier '{0}' existe d\xE9j\xE0 et est prot\xE9g\xE9 ou utilis\xE9 par un autre processus", _f.getName());
}
// le fichier n'existe pas
} else if (_f.getParentFile() == null) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2016-12-19 10:11:52
|
Revision: 9486
http://sourceforge.net/p/fudaa/svn/9486
Author: bmarchan
Date: 2016-12-19 10:11:49 +0000 (Mon, 19 Dec 2016)
Log Message:
-----------
Lecture et affichage du champ "D?\195?\169bit mesur?\195?\169" dans les r?\195?\169sultats du calcul de d?\195?\169bit
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivFlowInfoPanel.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivExportGaugingReportAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivDischargeReader.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/PivFlowResults.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivResultsI.java
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivFlowInfoPanel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivFlowInfoPanel.java 2016-12-16 16:04:05 UTC (rev 9485)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivFlowInfoPanel.java 2016-12-19 10:11:49 UTC (rev 9486)
@@ -37,6 +37,7 @@
private double meanDisch_;
private double meanArea_;
private double meanMeanV_;
+ private double meanMeasuredDisch_;
/**
* Une classe pour le modele de la table affichant les r\xE9sultats.
@@ -48,7 +49,7 @@
}
public int getColumnCount() {
- return 7;
+ return 9;
}
public String getColumnName(int columnIndex) {
@@ -68,6 +69,10 @@
return PivResource.getS("Vit. moy. (m/s)");
case 6:
return PivResource.getS("Ecart (%)");
+ case 7:
+ return PivResource.getS("D\xE9bit mesur\xE9 (m/s)");
+ case 8:
+ return PivResource.getS("Ecart (%)");
}
}
@@ -101,6 +106,11 @@
case 6:
val=rowIndex==res_.length? meanMeanV_:res_[rowIndex].getMeanVelocity();
return (val-meanMeanV_)/meanMeanV_*100;
+ case 7:
+ return rowIndex==res_.length? meanMeasuredDisch_:res_[rowIndex].getValue(-1,ResultType.MEASURED_DISCHARGE);
+ case 8:
+ val=rowIndex==res_.length? meanMeasuredDisch_:res_[rowIndex].getValue(-1,ResultType.MEASURED_DISCHARGE);
+ return (val-meanMeasuredDisch_)/meanMeasuredDisch_*100;
}
}
@@ -129,7 +139,10 @@
super.getTableCellRendererComponent(table,value,isSelected,hasFocus,row,column);
if (value instanceof Double) {
- if (column==2 || column==4 || column==6)
+ if (((Double) value).isNaN()) {
+ this.setText(value.toString());
+ }
+ else if (column==2 || column==4 || column==6 || column==8)
this.setText(fmtEcart.format((Double)value));
else
this.setText(fmt.format((Double)value));
@@ -147,9 +160,14 @@
JTable tbResults=new JTable();
tbResults.setModel(new DischargeTableModel());
tbResults.setDefaultRenderer(Double.class,new DischargeCellRenderer());
+ tbResults.getColumnModel().getColumn(0).setMaxWidth(60);
+ tbResults.getColumnModel().getColumn(2).setMaxWidth(70);
+ tbResults.getColumnModel().getColumn(4).setMaxWidth(70);
+ tbResults.getColumnModel().getColumn(6).setMaxWidth(70);
+ tbResults.getColumnModel().getColumn(8).setMaxWidth(70);
JScrollPane spResults=new JScrollPane();
spResults.getViewport().add(tbResults);
- spResults.setPreferredSize(new Dimension(700,200));
+ spResults.setPreferredSize(new Dimension(850,200));
add(new JLabel(PivResource.getS("Liste des transects")),BorderLayout.NORTH);
add(spResults, BorderLayout.CENTER);
@@ -159,9 +177,10 @@
protected void computeMoyennes() {
PivGlobalFlowResults globRes=new PivGlobalFlowResults(res_);
- meanDisch_=globRes.getAverageScalarResult(ResultType.DISCHARGE);
+ meanDisch_=globRes.getAverageScalarResult(ResultType.FULL_DISCHARGE);
meanArea_=globRes.getAverageScalarResult(ResultType.WETTED_AREA);
meanMeanV_=globRes.getAverageScalarResult(ResultType.MEAN_VELOCITY);
+ meanMeasuredDisch_=globRes.getAverageScalarResult(ResultType.MEASURED_DISCHARGE);
}
@Override
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivExportGaugingReportAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivExportGaugingReportAction.java 2016-12-16 16:04:05 UTC (rev 9485)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivExportGaugingReportAction.java 2016-12-19 10:11:49 UTC (rev 9486)
@@ -345,7 +345,7 @@
final PivOrthoParameters orthoParams = impl.getCurrentProject().getOrthoParameters();
final PivGlobalFlowResults globRes = new PivGlobalFlowResults(flowResults);
- final Double meanDisch=globRes.getAverageScalarResult(ResultType.DISCHARGE);
+ final Double meanDisch=globRes.getAverageScalarResult(ResultType.FULL_DISCHARGE);
final Double meanArea=globRes.getAverageScalarResult(ResultType.WETTED_AREA);
final Double meanMeanV=globRes.getAverageScalarResult(ResultType.MEAN_VELOCITY);
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivDischargeReader.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivDischargeReader.java 2016-12-16 16:04:05 UTC (rev 9485)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/io/PivDischargeReader.java 2016-12-19 10:11:49 UTC (rev 9486)
@@ -17,6 +17,7 @@
import org.fudaa.dodico.fortran.FileCharSimpleReaderAbstract;
import org.fudaa.fudaa.piv.PivResource;
import org.fudaa.fudaa.piv.metier.PivFlowResults;
+import org.fudaa.fudaa.piv.metier.PivResultsI.ResultType;
/**
* Un lecteur pour les fichiers des r\xE9sultats de calcul de d\xE9bit.
@@ -80,6 +81,7 @@
// 1ere ligne
in_.readFields();
+ // Le niveau d'eau
res.setWaterElevation(in_.doubleField(0));
// Debit
res.setDischarge(in_.doubleField(1));
@@ -87,6 +89,10 @@
res.setWettedArea(in_.doubleField(2));
// Vitesse moyenne
res.setMeanVelocity(in_.doubleField(3));
+ // D\xE9bit mesur\xE9 (Fudaa-LSPIV > 1.5.0)
+ if (in_.getNumberOfFields()>4) {
+ res.setValue(0, ResultType.MEASURED_DISCHARGE, in_.doubleField(4));
+ }
// Boucle jusque fin de fichier. Exception EOF si fin.
while (true) {
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 2016-12-16 16:04:05 UTC (rev 9485)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivTransectModel.java 2016-12-19 10:11:49 UTC (rev 9486)
@@ -19,6 +19,7 @@
import org.fudaa.fudaa.piv.PivVisuPanel;
import org.fudaa.fudaa.piv.metier.PivFlowResults;
import org.fudaa.fudaa.piv.metier.PivProject;
+import org.fudaa.fudaa.piv.metier.PivResultsI.ResultType;
import org.fudaa.fudaa.piv.metier.PivTransect;
import org.fudaa.fudaa.piv.metier.PivTransectParams;
@@ -252,6 +253,7 @@
Double discharge=res.getDischarge();
Double wettedArea=res.getWettedArea();
Double meanVelocity=res.getMeanVelocity();
+ Double measuredDischarge=res.getValue(-1,ResultType.MEASURED_DISCHARGE);
for (int idx : selIds) {
res=prj_.getFlowResults()[idx];
@@ -263,6 +265,8 @@
wettedArea=null;
if (meanVelocity != res.getMeanVelocity())
meanVelocity=null;
+ if (measuredDischarge != res.getValue(-1,ResultType.MEASURED_DISCHARGE))
+ measuredDischarge=null;
}
if (waterElevation != null)
@@ -273,6 +277,8 @@
_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);
+ if (measuredDischarge != null)
+ _d.put(PivResource.getS("D\xE9bit mesur\xE9 (m\xB3/s)"), "" + measuredDischarge);
}
}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivFlowResults.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivFlowResults.java 2016-12-16 16:04:05 UTC (rev 9485)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivFlowResults.java 2016-12-19 10:11:49 UTC (rev 9486)
@@ -19,6 +19,8 @@
protected double meanVelocity;
/** Le niveau d'eau */
protected double waterElevation;
+ /** Le d\xE9bit mesur\xE9. Peut \xEAtre NaN si la mesure n'est pas calcul\xE9e (Fudaa-LSPIV < 1.5.0). */
+ protected double measuredDischarge = Double.NaN;
/** Les coordonn\xE9es X des points */
protected double[] x;
/** Les coordonn\xE9es Y des points */
@@ -162,7 +164,7 @@
@Override
public ResultType[] getResults() {
- return new ResultType[]{ResultType.VX,ResultType.VY,ResultType.DISCHARGE, ResultType.WETTED_AREA, ResultType.MEAN_VELOCITY, ResultType.WATER_ELEVATION};
+ return new ResultType[]{ResultType.VX,ResultType.VY,ResultType.FULL_DISCHARGE, ResultType.WETTED_AREA, ResultType.MEAN_VELOCITY, ResultType.WATER_ELEVATION, ResultType.MEASURED_DISCHARGE};
}
@Override
@@ -176,7 +178,7 @@
return getVx(_ind);
else if (ResultType.VY.equals(_tpRes))
return getVy(_ind);
- else if (ResultType.DISCHARGE.equals(_tpRes))
+ else if (ResultType.FULL_DISCHARGE.equals(_tpRes))
return discharge;
else if (ResultType.WETTED_AREA.equals(_tpRes))
return wettedArea;
@@ -184,6 +186,8 @@
return meanVelocity;
else if (ResultType.WATER_ELEVATION.equals(_tpRes))
return waterElevation;
+ else if (ResultType.MEASURED_DISCHARGE.equals(_tpRes))
+ return measuredDischarge;
else
return -1;
}
@@ -194,7 +198,7 @@
return vy;
else if (ResultType.VY.equals(_tpRes))
return vy;
- else if (ResultType.DISCHARGE.equals(_tpRes))
+ else if (ResultType.FULL_DISCHARGE.equals(_tpRes))
return new double[]{discharge};
else if (ResultType.WETTED_AREA.equals(_tpRes))
return new double[]{wettedArea};
@@ -202,6 +206,8 @@
return new double[]{meanVelocity};
else if (ResultType.WATER_ELEVATION.equals(_tpRes))
return new double[]{waterElevation};
+ else if (ResultType.MEASURED_DISCHARGE.equals(_tpRes))
+ return new double[]{measuredDischarge};
else
return null;
}
@@ -211,14 +217,14 @@
if (!hasResult(_tpRes))
return;
- if (_ind>=vx.length)
+ if (_tpRes.isVector() && _ind>=vx.length)
return;
if (ResultType.VX.equals(_tpRes))
vx[_ind] = _val;
else if (ResultType.VY.equals(_tpRes))
vy[_ind] = _val;
- else if (ResultType.DISCHARGE.equals(_tpRes))
+ else if (ResultType.FULL_DISCHARGE.equals(_tpRes))
discharge = _val;
else if (ResultType.WETTED_AREA.equals(_tpRes))
wettedArea = _val;
@@ -226,5 +232,7 @@
meanVelocity = _val;
else if (ResultType.WATER_ELEVATION.equals(_tpRes))
waterElevation = _val;
+ else if (ResultType.MEASURED_DISCHARGE.equals(_tpRes))
+ measuredDischarge = _val;
}
}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivResultsI.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivResultsI.java 2016-12-16 16:04:05 UTC (rev 9485)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivResultsI.java 2016-12-19 10:11:49 UTC (rev 9486)
@@ -22,7 +22,10 @@
CORREL(true),
OMEGA(true),
DIVERG(true),
- DISCHARGE(false),
+ /** D\xE9bit total */
+ FULL_DISCHARGE(false),
+ /** D\xE9bit mesur\xE9 */
+ MEASURED_DISCHARGE(false),
WETTED_AREA(false),
MEAN_VELOCITY(false),
WATER_ELEVATION(false);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|