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. |