From: <de...@us...> - 2008-11-02 00:42:15
|
Revision: 4148 http://fudaa.svn.sourceforge.net/fudaa/?rev=4148&view=rev Author: deniger Date: 2008-11-02 00:42:09 +0000 (Sun, 02 Nov 2008) Log Message: ----------- Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/CtuluNumberFormat.java branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/CtuluNumberFormatDefault.java branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/ctulu_en.fr_txt branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluDecimalFormatEditPanel.java branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluDialogPanel.java branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/image/CtuluImageExport.java branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/pdf/CtuluPanelPdfViewer.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/dico/DicoEntite.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/EfFilterNone.java branches/Prepro-0.92-SNAPSHOT/dodico/test/org/fudaa/dodico/telemac/TestJSerafin.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/BVueCalque.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZCalqueGrille.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanel.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/commun/EbliActionPaletteAbstract.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/commun/EbliFormatter.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/commun/EbliTableInfoPanel.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeSurfacePainter.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGFille.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGFillePanel.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGFillePanelDialog.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheDuplicator.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/ressource/ebli_en.fr_txt branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliScene.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidgetController.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetControllerCalque.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetFusionCalques.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetControllerGraphe.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetCreatorGraphe.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetGraphe.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/courbe/FudaaGrapheTimeAnimatedVisuPanel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/impl/FudaaCommonImplementation.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/layer/MvNodeLayer.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileFillePanel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileFlowrateVolumeBuilder.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/ressource/fudaa_en.fr_txt branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/sig/layer/FSigGrillePalette.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/sig/layer/FSigLayerGroup.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/sig/layer/FSigVisuPanel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/sig/layer/FSigVisuPanelController.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/TrLauncherDefault.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/common/tr_en.fr_txt branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrIsoLayerDefault.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostCourbeFille.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostCourbeTreeModel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostExprFlecheSupplier.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostFille.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostFlecheContent.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostFlecheContentDefaut.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostFlecheLayer.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostFlecheModel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostMinMaxTableModel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProfileFille.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjectCompPanel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjet.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjetCompTimeStepPanel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostRubarEnvFlecheContent.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostRubarLoader.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostScene.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSource.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceAbstract.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceComparatorBuilder.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceProjected.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceRubar.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceRubarMaxContainer.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceTelemac3D.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostUserVariableSaver.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/actions/TrPostActionCubature.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/actions/TrPostVolumeAction.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/dialogSpec/TrPostDialogBilan.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/dialogSpec/TrPostDialogCubature.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/dialogSpec/TrPostTrajectoireTaskModel.java Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/Thumbs.db branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/copie-image_16.png branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/copie-image_22.png branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluCellTextDecimalRenderer.java branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/image/CtuluImageSelection.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/cubature/ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/cubature/EfBilanHelper.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/cubature/EfComputeVolume.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/cubature/EfComputeVolumeSeuil.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/cubature/EfDataIntegrale.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostTrajectoireComputeAndDisplayActivity.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostTrajectoireGisDataModel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostTrajectoireLineLayer.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostTrajectoireLineLayerPersistence.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/data/ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/data/TrPostDataCreated.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/data/TrPostDataCreatedConstant.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/data/TrPostDataCreatedCstTime.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/data/TrPostDataCreatedCstTimeSaver.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/data/TrPostDataCreatedDefault.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/data/TrPostDataCreatedExpr.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/data/TrPostDataCreatedFroud.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/data/TrPostDataCreatedImport.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/data/TrPostDataCreatedMoins.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/data/TrPostDataCreatedNorm.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/data/TrPostDataCreatedNorme3D.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/data/TrPostDataCreatedPlus.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/data/TrPostDataCreatedRubarBathy.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/data/TrPostDataCreatedRubarVitesse.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/data/TrPostDataCreatedSaver.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/data/TrPostDataCreatedStatistic.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/data/TrPostDataCreatedStatisticSaver.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/data/TrPostDataCreationActions.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/data/TrPostDataCreationFille.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/data/TrPostDataCreationPanel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/data/TrPostDataEditCommonPanel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/data/TrPostDataEditCstPanel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/data/TrPostDataEditExprPanel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/data/TrPostDataEditStatisticPanel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/data/TrPostDataInfoDoc.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/data/TrPostDataListener.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/data/TrPostDataMinMaxGlobalItem.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/data/TrPostDataUserVarModel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/data/TrPostDataVecteur.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/data/TrPostExtremVisitor.java Removed Paths: ------------- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/EfComputeVolume.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/EfComputeVolumeSeuil.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/EfDataIntegrale.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/impl/FudaaImageSelection.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/ressource/copie-image_16.png branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/ressource/copie-image_22.png branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostDataCreated.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostDataCreatedConstant.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostDataCreatedCstTime.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostDataCreatedCstTimeSaver.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostDataCreatedDefault.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostDataCreatedExpr.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostDataCreatedFroud.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostDataCreatedImport.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostDataCreatedMoins.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostDataCreatedNorm.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostDataCreatedNorme3D.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostDataCreatedPlus.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostDataCreatedRubarBathy.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostDataCreatedRubarVitesse.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostDataCreatedSaver.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostDataCreatedStatistic.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostDataCreatedStatisticSaver.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostDataCreationActions.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostDataCreationFille.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostDataCreationPanel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostDataEditCommonPanel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostDataEditCstPanel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostDataEditExprPanel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostDataEditStatisticPanel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostDataInfoDoc.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostDataListener.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostDataMinMaxGlobalItem.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostDataUserVarModel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostDataVecteur.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostExtremVisitor.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrTrajectoireComputeAndDisplayActivity.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrTrajectoireGisDataModel.java Modified: branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/CtuluNumberFormat.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/CtuluNumberFormat.java 2008-10-31 18:14:47 UTC (rev 4147) +++ branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/CtuluNumberFormat.java 2008-11-02 00:42:09 UTC (rev 4148) @@ -9,6 +9,7 @@ import java.text.FieldPosition; import java.text.Format; +import java.text.NumberFormat; import java.text.ParsePosition; import com.memoire.fu.FuLog; @@ -18,6 +19,9 @@ * @version $Id: CtuluNumberFormat.java,v 1.10 2007-05-21 10:28:29 deniger Exp $ */ public abstract class CtuluNumberFormat extends Format implements CtuluNumberFormatI { + + + public void format(final double _d, final StringBuffer _dest) { _dest.append(format(_d)); Modified: branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/CtuluNumberFormatDefault.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/CtuluNumberFormatDefault.java 2008-10-31 18:14:47 UTC (rev 4147) +++ branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/CtuluNumberFormatDefault.java 2008-11-02 00:42:09 UTC (rev 4148) @@ -18,6 +18,13 @@ */ public class CtuluNumberFormatDefault extends CtuluNumberFormat { + public static CtuluNumberFormatDefault DEFAULT_FMT = new CtuluNumberFormatDefault(); + static { + final NumberFormat fmt = CtuluLib.getDecimalFormat(); + fmt.setMaximumFractionDigits(2); + DEFAULT_FMT.setFmt(fmt); + } + /** * @author fred deniger * @version $Id: CtuluNumberFormatDefault.java,v 1.8 2007-05-21 10:28:29 deniger Exp $ Added: branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/Thumbs.db =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/Thumbs.db ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Copied: branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/copie-image_16.png (from rev 3976, branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/ressource/copie-image_16.png) =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/copie-image_16.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: svn:mergeinfo + Copied: branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/copie-image_22.png (from rev 3976, branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/ressource/copie-image_22.png) =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/copie-image_22.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: svn:mergeinfo + Modified: branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/ctulu_en.fr_txt =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/ctulu_en.fr_txt 2008-10-31 18:14:47 UTC (rev 4147) +++ branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/ctulu_en.fr_txt 2008-11-02 00:42:09 UTC (rev 4148) @@ -150,6 +150,7 @@ Le fichier '{0}' existe d\xE9j\xE0 et est prot\xE9g\xE9=The file {0} already exists and it's write protected Le r\xE9pertoire parent '{0}' est prot\xE9g\xE9 en \xE9criture=The parent folder {0} is write protected Choisir un autre fichier=Choose another file +Choisir le format=Chooser the decimal format Exportation annul\xE9e=Export cancelled Export r\xE9ussie=Export succeed Export=Export @@ -270,4 +271,10 @@ Supprimer les \xE9l\xE9ments s\xE9lectionn\xE9s=Delete selected items Erreur fichier inexistant= Error file is missing Erreur lors de la lecture du fichier= Error while reading the file -Chapitres=Chapters \ No newline at end of file +Chapitres=Chapters +Exporter donn\xE9es=Export data +Image enregistr\xE9e=Image saved +Enregistrement dans le presse-papier=Save image in the clipboard +Placer l'image de la fen\xEAtre active dans le presse-papier=Copy the image of the current frame in the clipboard +Copier l'image dans le presse-papier=Copy the image in the clipboard +Cr\xE9er une image \xE0 partir de la fen\xEAtre active=Create an image from the current frama \ No newline at end of file Added: branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluCellTextDecimalRenderer.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluCellTextDecimalRenderer.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluCellTextDecimalRenderer.java 2008-11-02 00:42:09 UTC (rev 4148) @@ -0,0 +1,37 @@ +/** + * Licence GPL + * Copyright Genesis + */ +package org.fudaa.ctulu.gui; + +import org.fudaa.ctulu.CtuluNumberFormatDefault; +import org.fudaa.ctulu.CtuluNumberFormatI; + +/** + * @author deniger + */ +public class CtuluCellTextDecimalRenderer extends CtuluCellTextRenderer { + CtuluNumberFormatI formatter = CtuluNumberFormatDefault.DEFAULT_FMT; + + /** + * @return the formatter + */ + public CtuluNumberFormatI getFormatter() { + return formatter; + } + + /** + * @param _formatter the formatter to set + */ + public void setFormatter(CtuluNumberFormatI _formatter) { + formatter = _formatter; + } + + @Override + protected void setValue(Object _value) { + setHorizontalTextPosition(RIGHT); + setHorizontalAlignment(RIGHT); + if (_value == null) return; + super.setValue(formatter.format(((Number) _value).doubleValue())); + } +} Modified: branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluDecimalFormatEditPanel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluDecimalFormatEditPanel.java 2008-10-31 18:14:47 UTC (rev 4147) +++ branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluDecimalFormatEditPanel.java 2008-11-02 00:42:09 UTC (rev 4148) @@ -45,6 +45,14 @@ */ public class CtuluDecimalFormatEditPanel extends CtuluDialogPanel implements BuBorders { + public static CtuluNumberFormatI chooseNumberFormat(CtuluNumberFormatI _init) { + CtuluDecimalFormatEditPanel pn = new CtuluDecimalFormatEditPanel(_init); + if (pn.afficheModaleOk(CtuluLibSwing.getActiveWindow(), CtuluLib.getS("Choisir le format"))) { + return pn.getCurrentFmt(); } + return _init; + + } + JPanel pnDecimalFormat_; JPanel pnFixedFormat_; @@ -129,9 +137,7 @@ } private JPanel createFixedPanel() { - if (pnFixedFormat_ != null) { - return pnFixedFormat_; - } + if (pnFixedFormat_ != null) { return pnFixedFormat_; } pnFixedFormat_ = new BuPanel(new BuGridLayout(2, 5, 5)); final CtuluValueValidator min = new CtuluValueValidator.IntMin(1); tfNbDigits_ = BuTextField.createIntegerField(); @@ -165,9 +171,7 @@ } private JPanel createDecimalPanel() { - if (pnDecimalFormat_ != null) { - return pnDecimalFormat_; - } + if (pnDecimalFormat_ != null) { return pnDecimalFormat_; } pnDecimalFormat_ = new BuPanel(new BuGridLayout(2, 5, 5)); cbISExp_ = new BuCheckBox(); tfFraction_ = BuTextField.createIntegerField(); Modified: branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluDialogPanel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluDialogPanel.java 2008-10-31 18:14:47 UTC (rev 4147) +++ branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluDialogPanel.java 2008-11-02 00:42:09 UTC (rev 4148) @@ -195,7 +195,7 @@ return r; } - protected BuTextField addStringText() { + public BuTextField addStringText() { return addStringText(this); } Modified: branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/image/CtuluImageExport.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/image/CtuluImageExport.java 2008-10-31 18:14:47 UTC (rev 4147) +++ branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/image/CtuluImageExport.java 2008-11-02 00:42:09 UTC (rev 4148) @@ -7,6 +7,9 @@ */ package org.fudaa.ctulu.image; +import java.awt.Toolkit; +import java.awt.datatransfer.Clipboard; +import java.awt.image.BufferedImage; import java.awt.image.RenderedImage; import java.io.File; import java.io.IOException; @@ -23,7 +26,9 @@ import org.fudaa.ctulu.CtuluLib; import org.fudaa.ctulu.CtuluLibFile; import org.fudaa.ctulu.CtuluPermanentList; +import org.fudaa.ctulu.CtuluTaskDelegate; import org.fudaa.ctulu.CtuluUI; +import org.fudaa.ctulu.ProgressionInterface; /** * @author Fred Deniger @@ -95,4 +100,24 @@ return true; } + public static void exportImageInClipboard(final CtuluImageProducer frame, final CtuluUI _ui) { + final BufferedImage produceImage = frame.produceImage(null); + final CtuluTaskDelegate task = _ui.createTask(CtuluLib.getS("Enregistrement dans le presse-papier")); + task.start(new Runnable() { + + public void run() { + final ProgressionInterface prog = task.getStateReceiver(); + + final Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); + prog.setProgression(10); + final CtuluImageSelection selection = new CtuluImageSelection(produceImage); + prog.setProgression(30); + clipboard.setContents(selection, selection); + prog.setProgression(90); + _ui.message("Image", CtuluLib.getS("Image enregistr\xE9e"), true); + } + + }); + } + } \ No newline at end of file Copied: branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/image/CtuluImageSelection.java (from rev 3976, branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/impl/FudaaImageSelection.java) =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/image/CtuluImageSelection.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/image/CtuluImageSelection.java 2008-11-02 00:42:09 UTC (rev 4148) @@ -0,0 +1,87 @@ +/* + * @creation 6 d\xE9c. 06 + * @modification $Date: 2007-02-07 09:56:20 $ + * @license GNU General Public License 2 + * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail de...@fu... + */ +package org.fudaa.ctulu.image; + +import java.awt.Image; +import java.awt.datatransfer.Clipboard; +import java.awt.datatransfer.ClipboardOwner; +import java.awt.datatransfer.DataFlavor; +import java.awt.datatransfer.Transferable; + +import javax.swing.JComponent; +import javax.swing.TransferHandler; + + +/** + * @author fred deniger + * @version $Id: FudaaImageSelection.java,v 1.3 2007-02-07 09:56:20 deniger Exp $ + */ +public class CtuluImageSelection extends TransferHandler implements Transferable, ClipboardOwner { + + public CtuluImageSelection(final Image _image) { + super(); + image_ = _image; + } + public CtuluImageSelection() { + super(); + } + + public void lostOwnership(final Clipboard _clipboard, final Transferable _contents) {} + + private static final DataFlavor[] FLAVORS = { DataFlavor.imageFlavor }; + + private Image image_; + + public int getSourceActions(final JComponent _c) { + return TransferHandler.COPY; + } + + public boolean canImport(final JComponent _comp, final DataFlavor[] _flavor) { + if (!(_comp instanceof CtuluImageProducer)) { + return false; + } + for (int i = 0, n = _flavor.length; i < n; i++) { + if (_flavor.equals(FLAVORS[0])) { + return true; + } + } + return false; + } + + public Transferable createTransferable(final JComponent _comp) { + // Clear + image_ = null; + + if (_comp instanceof CtuluImageProducer) { + image_ = ((CtuluImageProducer) _comp).produceImage(null); + return this; + } + return null; + } + + public boolean importData(final JComponent _comp, final Transferable _t) { + return false; + } + + // Transferable + public Object getTransferData(final DataFlavor _flavor) { + if (isDataFlavorSupported(_flavor)) { + return image_; + } + return null; + } + + public DataFlavor[] getTransferDataFlavors() { + return FLAVORS; + } + + public boolean isDataFlavorSupported(final DataFlavor _flavor) { + return _flavor.equals(FLAVORS[0]); + } + +} Property changes on: branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/image/CtuluImageSelection.java ___________________________________________________________________ Added: svn:mergeinfo + Modified: branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/pdf/CtuluPanelPdfViewer.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/pdf/CtuluPanelPdfViewer.java 2008-10-31 18:14:47 UTC (rev 4147) +++ branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/pdf/CtuluPanelPdfViewer.java 2008-11-02 00:42:09 UTC (rev 4148) @@ -3,60 +3,47 @@ import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; +import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; -import java.awt.event.WindowAdapter; -import java.awt.event.WindowEvent; import java.awt.geom.Rectangle2D; import java.awt.print.Book; import java.awt.print.PageFormat; import java.awt.print.PrinterException; import java.awt.print.PrinterJob; -import java.awt.Toolkit; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.io.File; -import java.io.FileOutputStream; import java.io.IOException; import java.io.RandomAccessFile; -import java.net.Socket; +import java.lang.reflect.InvocationTargetException; import java.net.URL; import java.nio.ByteBuffer; import java.nio.channels.FileChannel; -import java.util.Date; -import java.util.HashMap; import javax.swing.AbstractAction; import javax.swing.Action; -import javax.swing.BorderFactory; import javax.swing.Box; import javax.swing.ButtonGroup; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JButton; -import javax.swing.JCheckBox; -import javax.swing.JCheckBoxMenuItem; import javax.swing.JDialog; import javax.swing.JFileChooser; -import javax.swing.JFrame; import javax.swing.JMenu; -import javax.swing.JMenuBar; -import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JScrollPane; -import javax.swing.JSplitPane; import javax.swing.JTextField; import javax.swing.JToggleButton; import javax.swing.JToolBar; import javax.swing.JTree; +import javax.swing.SwingUtilities; import javax.swing.event.TreeSelectionEvent; import javax.swing.event.TreeSelectionListener; import javax.swing.filechooser.FileFilter; -import javax.swing.SwingUtilities; -import org.fudaa.ctulu.CtuluResource; import org.fudaa.ctulu.CtuluUI; import com.memoire.bu.BuPanel; @@ -74,7 +61,6 @@ import com.sun.pdfview.ThumbPanel; import com.sun.pdfview.action.GoToAction; import com.sun.pdfview.action.PDFAction; -import java.lang.reflect.InvocationTargetException; /** * Classe qui g\xE9n\xE8re un panel disposant de toutes les fonctionnalit\xE9 du lecteur pdf. * Ce panel s'autosuffie pour la gestion des pdfs Modified: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/dico/DicoEntite.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/dico/DicoEntite.java 2008-10-31 18:14:47 UTC (rev 4147) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/dico/DicoEntite.java 2008-11-02 00:42:09 UTC (rev 4148) @@ -387,6 +387,8 @@ */ public void setTaille(final int _i) { taille_ = _i; + //Nombre magique qui indique qu'un tableau est dynamique +// if(taille_==2) dynamique_=true; } public String toString() { Deleted: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/EfComputeVolume.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/EfComputeVolume.java 2008-10-31 18:14:47 UTC (rev 4147) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/EfComputeVolume.java 2008-11-02 00:42:09 UTC (rev 4148) @@ -1,195 +0,0 @@ -/* - * @creation 1 f\xE9vr. 07 - * @modification $Date: 2007-06-11 13:04:05 $ - * @license GNU General Public License 2 - * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne - * @mail de...@fu... - */ -package org.fudaa.dodico.ef; - -import gnu.trove.TIntArrayList; -import gnu.trove.TIntObjectHashMap; - -import java.io.IOException; - -import com.memoire.fu.FuLog; - -import org.fudaa.ctulu.CtuluActivity; -import org.fudaa.ctulu.CtuluAnalyze; -import org.fudaa.ctulu.CtuluVariable; -import org.fudaa.ctulu.ProgressionInterface; -import org.fudaa.ctulu.ProgressionUpdater; - -import org.fudaa.dodico.commun.DodicoLib; - -/** - * Permet de calculer le volume d'eau sur une s\xE9lection d'\xE9l\xE9ment ou de noeuds. - * - * @author fred deniger - * @version $Id: EfComputeVolume.java,v 1.4 2007-06-11 13:04:05 deniger Exp $ - */ -public abstract class EfComputeVolume implements CtuluActivity { - - public static class ForMeshData extends EfComputeVolume { - - ForMeshData(final EfFilter _filter, final ProgressionInterface _prog, final EfGridData _data, - final CtuluVariable _hVar) { - super(_filter, _prog, _data, _hVar); - } - - double computeVolume(final EfGridInterface _grid, final EfData _h) { - double resi = 0; - for (int ielt = 0; ielt < _grid.getEltNb(); ielt++) { - if (filter_.isActivatedElt(ielt, _grid, false)) { - resi += _grid.getAire(ielt) * _h.getValue(ielt); - } - } - return resi; - } - - } - - public static class ForNodeData extends EfComputeVolume { - - ForNodeData(final EfFilter _filter, final ProgressionInterface _prog, final EfGridData _data, - final CtuluVariable _hVar) { - super(_filter, _prog, _data, _hVar); - } - - double computeVolume(final EfGridInterface _grid, final EfData _h) { - double resi = 0; - for (int ipt = 0; ipt < _grid.getPtsNb(); ipt++) { - // le calcul du volume se fait: - // Volume=(surface des elements adjacents)* hauteur au point /3 - if (filter_.isActivated(ipt)) { - // liste des elements adjacents. - final TIntArrayList list = (TIntArrayList) idxPtAdjMes_.get(ipt); - // la liste est nulle: ne devrait jamais arriv\xE9: un point isol\xE9 que faire ? - // pour l'instant on ignore. - if (list != null) { - // s est la surface des elements adjacents. - double s = 0D; - for (int k = 0; k < list.size(); k++) { - s += _grid.getAire(list.getQuick(k)); - } - // la formule qui tue - resi += s * _h.getValue(ipt) / 3D; - } - } - } - return resi; - } - - public double[] getVolume(final int _nbTimeStep) { - computeNeighborMeshes(); - return super.getVolume(_nbTimeStep); - } - } - - final EfGridData data_; - final EfFilter filter_; - final CtuluVariable h_; - /** - * Stocke indice du noeuds -> list element adjacent. Pour les noeuds s\xE9lecionn\xE9s uniquement - */ - TIntObjectHashMap idxPtAdjMes_; - ProgressionInterface prog_; - - boolean stop_; - - public static EfComputeVolume getVolumeComputer(final EfFilter _filter, final ProgressionInterface _prog, - final EfGridData _data, final CtuluVariable _hVar, final CtuluAnalyze _analyze) { - if (!_data.isDefined(_hVar)) { - _analyze.addFatalError(DodicoLib.getS("La hauteur d'eau n'est pas d\xE9finie")); - return null; - } - if (_data.isElementVar(_hVar)) { - return new ForMeshData(_filter, _prog, _data, _hVar); - } - return new ForNodeData(_filter, _prog, _data, _hVar); - - } - - EfComputeVolume(final EfFilter _filter, final ProgressionInterface _prog, final EfGridData _data, - final CtuluVariable _hVar) { - super(); - prog_ = _prog; - data_ = _data; - h_ = _hVar; - filter_ = _filter == null ? new EfFilterNone() : _filter; - } - - abstract double computeVolume(final EfGridInterface _grid, EfData _h); - - protected void computeNeighborMeshes() { - if (idxPtAdjMes_ != null) { - return; - } - final ProgressionUpdater up = new ProgressionUpdater(prog_); - final EfGridInterface grid = data_.getGrid(); - up.setValue(10, grid.getEltNb()); - up.majProgessionStateOnly(DodicoLib.getS("Recherche des \xE9l\xE9ments voisins")); - idxPtAdjMes_ = new TIntObjectHashMap(grid.getPtsNb()); - for (int i = 0; i < grid.getEltNb(); i++) { - if (stop_) { - idxPtAdjMes_ = null; - return; - } - final EfElement elt = grid.getElement(i); - for (int j = 0; j < elt.getPtNb(); j++) { - final int ptIndex = elt.getPtIndex(j); - // si le noeud est s\xE9lectionne - if (filter_.isActivated(ptIndex)) { - TIntArrayList list = (TIntArrayList) idxPtAdjMes_.get(ptIndex); - // ce noeud n'a pas encore \xE9t\xE9 trait\xE9 - if (list == null) { - list = new TIntArrayList(10); - idxPtAdjMes_.put(ptIndex, list); - } - list.add(i); - - } - } - up.majAvancement(); - } - } - - public double[] getVolume(final int _nbTimeStep) { - final ProgressionUpdater up = new ProgressionUpdater(prog_); - final EfGridInterface grid = data_.getGrid(); - up.setValue(10, _nbTimeStep); - final double[] res = new double[_nbTimeStep]; - up.majProgessionStateOnly(DodicoLib.getS("Calcul du volume")); - for (int i = 0; i < res.length; i++) { - if (stop_) { - return null; - } - EfData h = null; - try { - h = data_.getData(h_, i); - } catch (final IOException _evt) { - FuLog.error(_evt); - - } - if (h == null) { - return null; - } - res[i] = computeVolume(grid, h); - up.majAvancement(); - } - return res; - } - - public ProgressionInterface getProg() { - return prog_; - } - - public void setProg(final ProgressionInterface _prog) { - prog_ = _prog; - } - - public void stop() { - stop_ = true; - } - -} Deleted: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/EfComputeVolumeSeuil.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/EfComputeVolumeSeuil.java 2008-10-31 18:14:47 UTC (rev 4147) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/EfComputeVolumeSeuil.java 2008-11-02 00:42:09 UTC (rev 4148) @@ -1,187 +0,0 @@ -package org.fudaa.dodico.ef; - -import gnu.trove.TIntArrayList; -import gnu.trove.TIntObjectHashMap; - -import java.io.IOException; - -import org.fudaa.ctulu.CtuluActivity; -import org.fudaa.ctulu.CtuluAnalyze; -import org.fudaa.ctulu.CtuluVariable; -import org.fudaa.ctulu.ProgressionInterface; -import org.fudaa.ctulu.ProgressionUpdater; -import org.fudaa.dodico.commun.DodicoLib; - -import com.memoire.fu.FuLog; - -/** - * Calcul du volume par rapport a un seuil et non plus 0. - * - * @author Adrien Hadoux - */ -public abstract class EfComputeVolumeSeuil implements CtuluActivity { - - public static class ForMeshData extends EfComputeVolumeSeuil { - - ForMeshData(final EfFilter _filter, final ProgressionInterface _prog, final EfGridData _data, - final CtuluVariable _hVar, final int timestep, final double seuil) { - super(_filter, _prog, _data, _hVar, timestep, seuil); - } - - EfDataIntegrale computeVolume(final EfGridInterface _grid, final EfData _h) { - EfDataIntegrale resi = new EfDataIntegrale(); - for (int ielt = 0; ielt < _grid.getEltNb(); ielt++) { - if (filter_.isActivatedElt(ielt, _grid, false)) { - - double value = _grid.getAire(ielt) * (_h.getValue(ielt) - seuil_);// Todo je pense que c'est la diff - if (value >= 0) resi.zonePlus_ += value; - else resi.zoneMoins_ -= value; - } - } - return resi; - } - } - - public static class ForNodeData extends EfComputeVolumeSeuil { - - ForNodeData(final EfFilter _filter, final ProgressionInterface _prog, final EfGridData _data, - final CtuluVariable _hVar, final int timestep, final double seuil) { - super(_filter, _prog, _data, _hVar, timestep, seuil); - } - - EfDataIntegrale computeVolume(final EfGridInterface _grid, final EfData _h) { - EfDataIntegrale resi = new EfDataIntegrale(); - for (int ipt = 0; ipt < _grid.getPtsNb(); ipt++) { - // le calcul du volume se fait: - // Volume=(surface des elements adjacents)* hauteur au point /3 - if (filter_.isActivated(ipt)) { - // liste des elements adjacents. - final TIntArrayList list = (TIntArrayList) idxPtAdjMes_.get(ipt); - // la liste est nulle: ne devrait jamais arriv\xE9: un point isol\xE9 que faire ? - // pour l'instant on ignore. - if (list != null) { - // s est la surface des elements adjacents. - double s = 0D; - for (int k = 0; k < list.size(); k++) { - s += _grid.getAire(list.getQuick(k)); - } - double d = s * (_h.getValue(ipt)) / 3D - seuil_;// TODO a verifier - if (d >= 0) resi.zonePlus_ += d; - else resi.zoneMoins_ -= d; - } - } - } - return resi; - } - - public EfDataIntegrale getVolume(int _choosenTimestep) { - computeNeighborMeshes(); - return super.getVolume(_choosenTimestep); - } - } - - final EfGridData data_; - final EfFilter filter_; - final CtuluVariable h_; - protected final int timeStep_; - protected final double seuil_; - - /** - * Stocke indice du noeuds -> list element adjacent. Pour les noeuds s\xE9lecionn\xE9s uniquement - */ - TIntObjectHashMap idxPtAdjMes_; - ProgressionInterface prog_; - - boolean stop_; - - public static EfComputeVolumeSeuil getVolumeComputer(final EfFilter _filter, final ProgressionInterface _prog, - final EfGridData _data, final CtuluVariable _hVar, final int timestep, final double seuil, - final CtuluAnalyze _analyze) { - if (!_data.isDefined(_hVar)) { - _analyze.addFatalError(DodicoLib.getS("La variable n'est pas d\xE9finie")); - return null; - } - if (_data.isElementVar(_hVar)) { return new ForMeshData(_filter, _prog, _data, _hVar, timestep, seuil); } - return new ForNodeData(_filter, _prog, _data, _hVar, timestep, seuil); - - } - - EfComputeVolumeSeuil(final EfFilter _filter, final ProgressionInterface _prog, final EfGridData _data, - final CtuluVariable _hVar, final int timestep, final double seuil) { - super(); - prog_ = _prog; - data_ = _data; - h_ = _hVar; - timeStep_ = timestep; - seuil_ = seuil; - filter_ = _filter == null ? new EfFilterNone() : _filter; - } - - abstract EfDataIntegrale computeVolume(final EfGridInterface _grid, EfData _h); - - protected void computeNeighborMeshes() { - if (idxPtAdjMes_ != null) { return; } - final ProgressionUpdater up = new ProgressionUpdater(prog_); - final EfGridInterface grid = data_.getGrid(); - up.setValue(10, grid.getEltNb()); - up.majProgessionStateOnly(DodicoLib.getS("Recherche des \xE9l\xE9ments voisins")); - idxPtAdjMes_ = new TIntObjectHashMap(grid.getPtsNb()); - for (int i = 0; i < grid.getEltNb(); i++) { - if (stop_) { - idxPtAdjMes_ = null; - return; - } - final EfElement elt = grid.getElement(i); - for (int j = 0; j < elt.getPtNb(); j++) { - final int ptIndex = elt.getPtIndex(j); - // si le noeud est s\xE9lectionne - if (filter_.isActivated(ptIndex)) { - TIntArrayList list = (TIntArrayList) idxPtAdjMes_.get(ptIndex); - // ce noeud n'a pas encore \xE9t\xE9 trait\xE9 - if (list == null) { - list = new TIntArrayList(10); - idxPtAdjMes_.put(ptIndex, list); - } - list.add(i); - - } - } - up.majAvancement(); - } - } - - public EfDataIntegrale getVolume(int choosenTimestep) { - final ProgressionUpdater up = new ProgressionUpdater(prog_); - final EfGridInterface grid = data_.getGrid(); - up.setValue(10, 100); - EfDataIntegrale res; - up.majProgessionStateOnly(DodicoLib.getS("Calcul du volume")); - - if (stop_) { return null; } - EfData h = null; - try { - h = data_.getData(h_, timeStep_); - } catch (final IOException _evt) { - FuLog.error(_evt); - - } - if (h == null) { return null; } - res = computeVolume(grid, h); - up.majAvancement(); - - return res; - } - - public ProgressionInterface getProg() { - return prog_; - } - - public void setProg(final ProgressionInterface _prog) { - prog_ = _prog; - } - - public void stop() { - stop_ = true; - } - -} Deleted: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/EfDataIntegrale.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/EfDataIntegrale.java 2008-10-31 18:14:47 UTC (rev 4147) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/EfDataIntegrale.java 2008-11-02 00:42:09 UTC (rev 4148) @@ -1,213 +0,0 @@ -package org.fudaa.dodico.ef; - -import org.fudaa.dodico.ef.operation.EfLineIntersectionsResultsI; - -/** - * Classe qui gere les bilans ainsi que les cubatures. - * - * @author Adrien Hadoux - * - */ -public class EfDataIntegrale { - - /** - * Valeur pour la zone plus - */ - double zonePlus_ = 0; - - /** - * Valeur int\xE9grale pour la zone moins - */ - double zoneMoins_ = 0; - - - - - public double getZonePlus() { - return zonePlus_; - } - - public double getZoneMoins() { - return zoneMoins_; - } - - /** - * Integration des donnees par la methode des trapezes entre la courbe - * representee par les x et y et la droite d\xE9finie par la fonction affine de - * coeff a et d'ordonn\xE9\xE9e a l origine b y=a*x+b - * - * @param lx - * @param ly - * @return - */ - public static EfDataIntegrale integrerMethodeTrapeze(double[] lx, double[] ly, double a, double b) { - - EfDataIntegrale data = new EfDataIntegrale(); - - for (int i = 0; i < Math.min(lx.length, ly.length)-1; i++) { - double x = lx[i]; - double x2= lx[i+1]; - double y = ly[i]; - double y2= ly[i+1]; - - double ySeuil1=a*x+b; - double ySeuil2=a*x2+b; - if (y > ySeuil1 && y2 > ySeuil2) { - // courbe au dessus de la ligne - data.zonePlus_ += calculAireTrapeze(x, y, x2, y2, ySeuil1, ySeuil2); - - } else if (y < ySeuil1 && y2 < ySeuil2) { - // courbe en dessous de la ligne - data.zoneMoins_ += calculAireTrapeze(x, y, x2, y2, ySeuil1, ySeuil2); - - } else { - // cas particulier : intersection, on calcule l'intersection entre les - // points - // cas particulier : intersection, on calcule l'intersection entre les - // points - double yIntersect = 0; - double xIntersect = 0; - // on prend la droite form\xE9e par les 2 points et on calcule son - // intersection avec la droite affine - if (x2 - x != 0) { - // droite non parrallele a l axe des abscisses - double coefDirecteur = (y2 - y) / (x2 - x); - double ordoOrigine = y2 - coefDirecteur * x2; - - // intersection de droites avec le seuil - - - if(coefDirecteur - a!=0){ - //droie non paralleles - xIntersect = (ordoOrigine-b) / (coefDirecteur-a); - yIntersect=coefDirecteur*xIntersect+ordoOrigine; - } - else - { - // droite parrallele confondue au seuil, on ne fais rien... - } - - } else { - // x2=x droite d equation x=Cste - - xIntersect = x; - yIntersect = a*x+b; - } - - //maintenant que l on a le point d'intersection, on test si on ajoute en positif ou negatif - if (y >= ySeuil1 && y2 <= ySeuil2) { - data.zonePlus_ += calculAireTrapeze(x, y, xIntersect, yIntersect, ySeuil1, ySeuil2); - data.zoneMoins_ += calculAireTrapeze(xIntersect, yIntersect, x2, y2, ySeuil1, ySeuil2); - - } else { - data.zoneMoins_ += calculAireTrapeze(x, y, xIntersect, yIntersect, ySeuil1, ySeuil2); - data.zonePlus_ += calculAireTrapeze(xIntersect, yIntersect, x2, y2, ySeuil1, ySeuil2); - } - - } - - - } - - - return data; - } - - - - /** - * Calcule l'aire du trapeze en utilisant un objet - * EfLineIntersectionsResultsI. EfLineIntersectionsResultsI fonctionne de la - * maniere suivante: getNbIntersect():donne le nombre de points - * getDistFromDeb(i) donne le Xi: distance entre le debut et le point - * getIntersect(i) getValueBadInterpolation(EfData _d) donne le y associ\xE9 au x - */ - public static EfDataIntegrale integrerMethodeTrapeze(EfLineIntersectionsResultsI interfaceResults, EfData crbdata, - double seuil) { - - EfDataIntegrale data = new EfDataIntegrale(); - - for (int i = 0; i < interfaceResults.getNbIntersect() - 1; i++) { - double x = interfaceResults.getDistFromDeb(i); - double x2 = interfaceResults.getDistFromDeb(i + 1); - double y = interfaceResults.getIntersect(i).getValueBadInterpolation(crbdata); - double y2 = interfaceResults.getIntersect(i + 1).getValueBadInterpolation(crbdata); - - - if (y >= seuil && y2 >= seuil) { - // courbe au dessus de la ligne - data.zonePlus_ += calculAireTrapeze(x, y, x2, y2, seuil, seuil); - } else if (y <= seuil && y2 <= seuil) { - // courbe en dessous de la ligne - data.zoneMoins_ += calculAireTrapeze(x, y, x2, y2, seuil, seuil); - } else { - // cas particulier : intersection, on calcule l'intersection entre les - // points - final double yIntersect = seuil; - double xIntersect = 0; - // on prend la droite form\xE9e par les 2 points et on calcule son - // intersection avec la droite affine - if (x2 - x != 0) { - // droite non parrallele a l axe des ordonn\xE9e ! - double coefDirecteur = (y2 - y) / (x2 - x); - double ordoOrigine = y2 - coefDirecteur * x2; - - // intersection de droites avec le seuil -// yIntersect = seuil; - - - if(coefDirecteur!=0) - //droie non parallele au seuil - xIntersect = (yIntersect - ordoOrigine) / coefDirecteur; - else - { - // droite parrallele confondue au seuil, on ne fais rien... - } - - } else { - // x2=x droite perpendiculaire au seuil, le point d'intersection est - // donc (x,seuil) - xIntersect = x; -// yIntersect = seuil; - } - - //maintenant que l on a le point d'intersection, on test si on ajoute en positif ou negatif - if (y >= seuil && y2 <= seuil) { - data.zonePlus_ += calculAireTrapeze(x, y, xIntersect, yIntersect, seuil, seuil); - data.zoneMoins_ += calculAireTrapeze(xIntersect, yIntersect, x2, y2, seuil, seuil); - - } else { - data.zoneMoins_ += calculAireTrapeze(x, y, xIntersect, yIntersect, seuil, seuil); - data.zonePlus_ += calculAireTrapeze(xIntersect, yIntersect, x2, y2, seuil, seuil); - } - - } - - } - - return data; - } - - - /** - * calcul de l'aire du trapeze form\xE9 par les 4 points (x,y) (x2,y2) (x,y3) - * (x2,y4) - */ - public static double calculAireTrapeze(double x, double y, double x2, double y2, double y3, double y4) { - // 1: calcul de la hauteur - double h = Math.abs(x2 - x); - // 2 base 1: coordonnees cartesiennes entre le point x,y et x,y3 - double base1 = Math.abs(y3 - y); - // 3 base 2: coordonnees cartesiennes entre le point x2,y2 et x2,y4 - double base2 = Math.abs(y4 - y2); - // 4 calcul de l'aire - return h * (base1 + base2) / 2; -} - - - public double getResultat() { - return zonePlus_ - zoneMoins_; - } - - -} Modified: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/EfFilterNone.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/EfFilterNone.java 2008-10-31 18:14:47 UTC (rev 4147) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/EfFilterNone.java 2008-11-02 00:42:09 UTC (rev 4148) @@ -8,6 +8,8 @@ package org.fudaa.dodico.ef; /** + * Un filtre vide: tous les elements/ noeuds sont selectionnes. + * * @author fred deniger * @version $Id: EfFilterNone.java,v 1.2 2007-05-04 13:45:58 deniger Exp $ */ Added: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/cubature/EfBilanHelper.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/cubature/EfBilanHelper.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/cubature/EfBilanHelper.java 2008-11-02 00:42:09 UTC (rev 4148) @@ -0,0 +1,175 @@ +/** + * Licence GPL + * Copyright Genesis + */ +package org.fudaa.dodico.ef.cubature; + +import org.fudaa.dodico.ef.EfData; +import org.fudaa.dodico.ef.operation.EfLineIntersectionsResultsI; + +/** + * @author deniger + */ +public class EfBilanHelper { + + /** + * Integration des donnees par la methode des trapezes entre la courbe representee par les x et y et la droite d\xE9finie + * par la fonction affine de coeff a et d'ordonn\xE9\xE9e a l origine b y=a*x+b + * + * @param lx + * @param ly + * @return + */ + public static EfDataIntegrale integrerMethodeTrapeze(double[] lx, double[] ly, double a, double b) { + + EfDataIntegrale data = new EfDataIntegrale(); + + for (int i = 0; i < Math.min(lx.length, ly.length) - 1; i++) { + double x = lx[i]; + double x2 = lx[i + 1]; + double y = ly[i]; + double y2 = ly[i + 1]; + + double ySeuil1 = a * x + b; + double ySeuil2 = a * x2 + b; + if (y > ySeuil1 && y2 > ySeuil2) { + // courbe au dessus de la ligne + data.addZonePlus(calculAireTrapeze(x, y, x2, y2, ySeuil1, ySeuil2)); + + } else if (y < ySeuil1 && y2 < ySeuil2) { + // courbe en dessous de la ligne + data.addZoneMoins(calculAireTrapeze(x, y, x2, y2, ySeuil1, ySeuil2)); + + } else { + // cas particulier : intersection, on calcule l'intersection entre les + // points + // cas particulier : intersection, on calcule l'intersection entre les + // points + double yIntersect = 0; + double xIntersect = 0; + // on prend la droite form\xE9e par les 2 points et on calcule son + // intersection avec la droite affine + if (x2 - x != 0) { + // droite non parrallele a l axe des abscisses + double coefDirecteur = (y2 - y) / (x2 - x); + double ordoOrigine = y2 - coefDirecteur * x2; + + // intersection de droites avec le seuil + + if (coefDirecteur - a != 0) { + // droie non paralleles + xIntersect = (ordoOrigine - b) / (coefDirecteur - a); + yIntersect = coefDirecteur * xIntersect + ordoOrigine; + } else { + // droite parrallele confondue au seuil, on ne fais rien... + } + + } else { + // x2=x droite d equation x=Cste + + xIntersect = x; + yIntersect = a * x + b; + } + + // maintenant que l on a le point d'intersection, on test si on ajoute en positif ou negatif + if (y >= ySeuil1 && y2 <= ySeuil2) { + data.addZonePlus(calculAireTrapeze(x, y, xIntersect, yIntersect, ySeuil1, ySeuil2)); + data.addZoneMoins(calculAireTrapeze(xIntersect, yIntersect, x2, y2, ySeuil1, ySeuil2)); + + } else { + data.addZoneMoins(calculAireTrapeze(x, y, xIntersect, yIntersect, ySeuil1, ySeuil2)); + data.addZonePlus(calculAireTrapeze(xIntersect, yIntersect, x2, y2, ySeuil1, ySeuil2)); + } + + } + + } + + return data; + } + + /** + * Calcule l'aire du trapeze en utilisant un objet EfLineIntersectionsResultsI. EfLineIntersectionsResultsI fonctionne + * de la maniere suivante: getNbIntersect():donne le nombre de points getDistFromDeb(i) donne le Xi: distance entre le + * debut et le point getIntersect(i) getValueBadInterpolation(EfData _d) donne le y associ\xE9 au x + */ + public static EfDataIntegrale integrerMethodeTrapeze(EfLineIntersectionsResultsI _interfaceResults, EfData _crbdata, + double seuil) { + + EfDataIntegrale data = new EfDataIntegrale(); + + for (int i = 0; i < _interfaceResults.getNbIntersect() - 1; i++) { + // on ne traite pas ce cas, + if (_interfaceResults.isSegmentOut(i)) continue; + double x = _interfaceResults.getDistFromDeb(i); + double x2 = _interfaceResults.getDistFromDeb(i + 1); + double y = _interfaceResults.getIntersect(i).getValueBadInterpolation(_crbdata); + double y2 = _interfaceResults.getIntersect(i + 1).getValueBadInterpolation(_crbdata); + + if (y >= seuil && y2 >= seuil) { + // courbe au dessus de la ligne + data.addZonePlus(calculAireTrapeze(x, y, x2, y2, seuil, seuil)); + } else if (y <= seuil && y2 <= seuil) { + // courbe en dessous de la ligne + data.addZoneMoins(calculAireTrapeze(x, y, x2, y2, seuil, seuil)); + } else { + // cas particulier : intersection, on calcule l'intersection entre les + // points + final double yIntersect = seuil; + double xIntersect = 0; + // on prend la droite form\xE9e par les 2 points et on calcule son + // intersection avec la droite affine + if (x2 - x != 0) { + // droite non parrallele a l axe des ordonn\xE9e ! + double coefDirecteur = (y2 - y) / (x2 - x); + double ordoOrigine = y2 - coefDirecteur * x2; + + // intersection de droites avec le seuil + // yIntersect = seuil; + + if (coefDirecteur != 0) + // droie non parallele au seuil + xIntersect = (yIntersect - ordoOrigine) / coefDirecteur; + else { + // droite parrallele confondue au seuil, on ne fais rien... + } + + } else { + // x2=x droite perpendiculaire au seuil, le point d'intersection est + // donc (x,seuil) + xIntersect = x; + // yIntersect = seuil; + } + + // maintenant que l on a le point d'intersection, on test si on ajoute en positif ou negatif + if (y >= seuil && y2 <= seuil) { + data.addZonePlus(calculAireTrapeze(x, y, xIntersect, yIntersect, seuil, seuil)); + data.addZoneMoins(calculAireTrapeze(xIntersect, yIntersect, x2, y2, seuil, seuil)); + + } else { + data.addZoneMoins(calculAireTrapeze(x, y, xIntersect, yIntersect, seuil, seuil)); + data.addZonePlus(calculAireTrapeze(xIntersect, yIntersect, x2, y2, seuil, seuil)); + } + + } + + } + + return data; + } + + /** + * calcul de l'aire du trapeze form\xE9 par les 4 points (x,y) (x2,y2) (x,y3) (x2,y4) + */ + public static double calculAireTrapeze(double x, double y, double x2, double y2, double y3, double y4) { + // 1: calcul de la hauteur + double h = Math.abs(x2 - x); + // 2 base 1: coordonnees cartesiennes entre le point x,y et x,y3 + double base1 = Math.abs(y3 - y); + // 3 base 2: coordonnees cartesiennes entre le point x2,y2 et x2,y4 + double base2 = Math.abs(y4 - y2); + // 4 calcul de l'aire + return h * (base1 + base2) / 2; + } + +} Copied: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/cubature/EfComputeVolume.java (from rev 4018, branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/EfComputeVolume.java) =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/cubature/EfComputeVolume.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/cubature/EfComputeVolume.java 2008-11-02 00:42:09 UTC (rev 4148) @@ -0,0 +1,201 @@ +/* + * @creation 1 f\xE9vr. 07 + * @modification $Date: 2007-06-11 13:04:05 $ + * @license GNU General Public License 2 + * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail de...@fu... + */ +package org.fudaa.dodico.ef.cubature; + +import gnu.trove.TIntArrayList; +import gnu... [truncated message content] |