You can subscribe to this list here.
| 2003 |
Jan
|
Feb
(89) |
Mar
(219) |
Apr
(82) |
May
(33) |
Jun
(11) |
Jul
(129) |
Aug
(357) |
Sep
(34) |
Oct
(37) |
Nov
(42) |
Dec
(182) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2004 |
Jan
(59) |
Feb
(74) |
Mar
(196) |
Apr
(205) |
May
(109) |
Jun
(268) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <de...@us...> - 2003-02-21 14:57:37
|
Update of /cvsroot/fudaa/fudaa_devel/dodico/idl/general In directory sc8-pr-cvs1:/tmp/cvs-serv21005/dodico/idl/general Removed Files: evenement.idl utilitaire.idl objet.idl geometrie.idl CosNaming.idl association.idl mathematiques.idl simulation.idl collection.idl calcul.idl usine.idl.cpy planification.idl base.idl probabilite.idl Log Message: Erreurs lors du changement binaire ascii --- evenement.idl DELETED --- --- utilitaire.idl DELETED --- --- objet.idl DELETED --- --- geometrie.idl DELETED --- --- CosNaming.idl DELETED --- --- association.idl DELETED --- --- mathematiques.idl DELETED --- --- simulation.idl DELETED --- --- collection.idl DELETED --- --- calcul.idl DELETED --- --- usine.idl.cpy DELETED --- --- planification.idl DELETED --- --- base.idl DELETED --- --- probabilite.idl DELETED --- |
|
From: <de...@us...> - 2003-02-21 14:52:39
|
Update of /cvsroot/fudaa/fudaa_devel/dodico/idl/general In directory sc8-pr-cvs1:/tmp/cvs-serv18401/dodico/idl/general Added Files: evenement.idl utilitaire.idl objet.idl geometrie.idl CosNaming.idl association.idl mathematiques.idl simulation.idl collection.idl calcul.idl usine.idl.cpy planification.idl base.idl probabilite.idl Log Message: Erreurs lors du changement binaire ascii |
|
From: <de...@us...> - 2003-02-21 14:49:24
|
Update of /cvsroot/fudaa/fudaa_devel/dodico/idl/general In directory sc8-pr-cvs1:/tmp/cvs-serv16993/dodico/idl/general Removed Files: evenement.idl utilitaire.idl objet.idl geometrie.idl CosNaming.idl association.idl mathematiques.idl simulation.idl collection.idl calcul.idl usine.idl.cpy planification.idl base.idl probabilite.idl Log Message: Erreurs lors du changement binaire ascii --- evenement.idl DELETED --- --- utilitaire.idl DELETED --- --- objet.idl DELETED --- --- geometrie.idl DELETED --- --- CosNaming.idl DELETED --- --- association.idl DELETED --- --- mathematiques.idl DELETED --- --- simulation.idl DELETED --- --- collection.idl DELETED --- --- calcul.idl DELETED --- --- usine.idl.cpy DELETED --- --- planification.idl DELETED --- --- base.idl DELETED --- --- probabilite.idl DELETED --- |
|
From: <de...@us...> - 2003-02-21 14:41:43
|
Update of /cvsroot/fudaa/fudaa_devel/dodico/idl/code In directory sc8-pr-cvs1:/tmp/cvs-serv13247/dodico/idl/code Modified Files: curvi.idl Log Message: Changement des format CVS binaire en ASCII Index: curvi.idl =================================================================== RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/code/curvi.idl,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 |
|
From: <de...@us...> - 2003-02-21 14:30:49
|
Update of /cvsroot/fudaa/fudaa_devel/dodico/idl/metier
In directory sc8-pr-cvs1:/tmp/cvs-serv7723/dodico/idl/metier
Modified Files:
sedimentologie.idl houle.idl transport.idl hydraulique.idl
representation.idl courant.idl mesure.idl navigation.idl
interpolateur.idl hydraulique1d.idl ef.idl
Log Message:
*** keyword substitution change ***
Index: sedimentologie.idl
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/metier/sedimentologie.idl,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
Index: houle.idl
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/metier/houle.idl,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
Index: transport.idl
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/metier/transport.idl,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
Index: hydraulique.idl
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/metier/hydraulique.idl,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
Index: representation.idl
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/metier/representation.idl,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
Index: courant.idl
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/metier/courant.idl,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
Index: mesure.idl
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/metier/mesure.idl,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
Index: navigation.idl
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/metier/navigation.idl,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** navigation.idl 29 Jan 2003 12:14:38 -0000 1.1
--- navigation.idl 21 Feb 2003 14:30:38 -0000 1.2
***************
*** 1,866 ****
! /*
! * @file navigation.idl
! * @creation 2001-02-12
! * @modification $Date$
! * @license GNU General Public License 2
! * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne
! * @mail de...@fu...
! */
!
! #ifndef _NAVIGATION_IDL
[...1703 lines suppressed...]
! //nécessaire pour l'animation
! attribute booleen finCalcul;
! attribute booleen structureDisponible;
! attribute entier deltat;
! attribute booleen demandeCalculUnDeltaT;
! attribute booleen calculUnDeltaTFait;
! attribute booleen arretCalculServeur;
! void calcule(in entier deltat, in IEtudeNavigationFluviale etude);
! ::sinavi::SResuInter getResuInter();
! //nécessaire pour l'exploitation des résultats
! ::sinavi::VSResultatsGares getResultatsGares();
! ::sinavi::VSResultatsEcluses getResultatsEcluses();
! //::sinavi::VSResultatsBiefs getResultatsBiefs();
!
! };
!
! };
!
!
! #endif
Index: interpolateur.idl
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/metier/interpolateur.idl,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
Index: hydraulique1d.idl
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/metier/hydraulique1d.idl,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** hydraulique1d.idl 29 Jan 2003 12:14:38 -0000 1.1
--- hydraulique1d.idl 21 Feb 2003 14:30:38 -0000 1.2
***************
*** 1,1008 ****
! /*
! * @file hydraulique1d.idl
! * @creation 2000-05-17
! * @modification $Date$
! * @license GNU General Public License 2
! * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne
! * @mail de...@fu...
! */
!
! #ifndef _HYDRAULIQUE1D_IDL
[...1987 lines suppressed...]
! attribute IParametresReprise resultatReprise;
! attribute binaire listingDamocles;
! attribute binaire messagesEcran;
!
! attribute binaire resultatsRubens;
! attribute IResultatsTemporelSpatial resultatsTemporelSpatial;
! };
!
! //************************************************************************/
! //* CALCUL */
! //************************************************************************/
!
! interface ICalculHydraulique1d : iservice //::calcul::ICalculMetier
! {
! attribute calcul::ICalcul calculCode;
! attribute IEtude1d etude;
! };
! };
!
! #endif
Index: ef.idl
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/metier/ef.idl,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
|
|
From: <de...@us...> - 2003-02-21 14:29:42
|
Update of /cvsroot/fudaa/fudaa_devel/dodico/idl/general In directory sc8-pr-cvs1:/tmp/cvs-serv7289/dodico/idl/general Modified Files: evenement.idl utilitaire.idl objet.idl geometrie.idl CosNaming.idl association.idl mathematiques.idl simulation.idl collection.idl calcul.idl usine.idl.cpy planification.idl base.idl probabilite.idl Log Message: *** keyword substitution change *** Index: evenement.idl =================================================================== RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/general/evenement.idl,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Index: utilitaire.idl =================================================================== RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/general/utilitaire.idl,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Index: objet.idl =================================================================== RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/general/objet.idl,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Index: geometrie.idl =================================================================== RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/general/geometrie.idl,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Index: CosNaming.idl =================================================================== RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/general/CosNaming.idl,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Index: association.idl =================================================================== RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/general/association.idl,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Index: mathematiques.idl =================================================================== RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/general/mathematiques.idl,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Index: simulation.idl =================================================================== RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/general/simulation.idl,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Index: collection.idl =================================================================== RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/general/collection.idl,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Index: calcul.idl =================================================================== RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/general/calcul.idl,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Index: usine.idl.cpy =================================================================== RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/general/usine.idl.cpy,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Index: planification.idl =================================================================== RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/general/planification.idl,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Index: base.idl =================================================================== RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/general/base.idl,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Index: probabilite.idl =================================================================== RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/general/probabilite.idl,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 |
Update of /cvsroot/fudaa/fudaa_devel/dodico/idl/code
In directory sc8-pr-cvs1:/tmp/cvs-serv6822/dodico/idl/code
Modified Files:
diapre.idl hiswa.idl curvi.idl vag.idl olb.idl reflux.idl
simboat.idl sisyphe.idl taucomac.idl cubature.idl mascaret.idl
reflux3d.idl seuil.idl dimduc.idl sipor.idl lido.idl oscar.idl
sinavi.idl refonde.idl navmer.idl dunes.idl
Log Message:
*** keyword substitution change ***
Index: diapre.idl
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/code/diapre.idl,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
Index: hiswa.idl
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/code/hiswa.idl,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
Index: curvi.idl
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/code/curvi.idl,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
Index: vag.idl
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/code/vag.idl,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
Index: olb.idl
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/code/olb.idl,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
Index: reflux.idl
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/code/reflux.idl,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
Index: simboat.idl
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/code/simboat.idl,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
Index: sisyphe.idl
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/code/sisyphe.idl,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
Index: taucomac.idl
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/code/taucomac.idl,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
Index: cubature.idl
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/code/cubature.idl,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
Index: mascaret.idl
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/code/mascaret.idl,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
Index: reflux3d.idl
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/code/reflux3d.idl,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
Index: seuil.idl
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/code/seuil.idl,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
Index: dimduc.idl
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/code/dimduc.idl,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
Index: sipor.idl
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/code/sipor.idl,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
Index: lido.idl
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/code/lido.idl,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
Index: oscar.idl
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/code/oscar.idl,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** oscar.idl 30 Jan 2003 09:47:12 -0000 1.2
--- oscar.idl 21 Feb 2003 14:28:53 -0000 1.3
***************
*** 1,395 ****
! /*
! * @file oscar.idl
! * @creation 2002-09-30
! * @modification $Date$
! * @license GNU General Public License 2
! * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne
! * @author Olivier Hoareau <oho...@et...>
! * @mail de...@fu...
! */
!
! #ifndef _OSCAR_IDL
! #define _OSCAR_IDL
!
! #include "general/calcul.idl"
!
! /**
! * @version $Revision$ $Date$ by $Author$
! * @author Olivier Hoareau
! */
! module oscar
! {
!
! /**
! * cette constante est utilisée lorsqu'un double n'a pas
! * de valeur (pas de valeur saisie par l'utilisateur) cette
! * valeur particulière ne doit donc pas être prise par un
! * double quelconque mais comme la valeur équivalente à
! * 'l'information n'a pas de valeur' (null autrement dit)
! * ATTENTION : suivant le JDK utilisé, la valeur,
! * Double.MIN_VALUE, n'est pas forcément la même, faites
! * donc attention si vous modifiez cette valeur à ne pas
! * dépasser la précision du JDK IBM ou du JDK Sun
! */
! const reel VALEUR_NULLE= 4.9E-323;
!
! /**
! * Structure de données génériques utilisées
! * par plusieurs des structures résultats
! */
! struct SPointCoteValeur
! {
! /**
! * cote du point en mètres.
! */
! reel cote;
! /**
! * valeur du point (pression,...).
! */
! reel valeur;
! };
!
! /**
! * Tableau de points (génériques).
! */
! typedef sequence<SPointCoteValeur> VSPointCoteValeur;
!
! /** structure commentaires */
! struct SCommentairesOscar
! {
! /** commentaires de 40 caracteres */
! chaine titre;
! };
!
! /** structure couche de sol */
! struct SCoucheSol
! {
! /** épaisseur de la couche */
! reel epaisseur;
!
! /** poids volumique humide */
! reel poidsVolumiqueHumide;
!
! /** poids volumique sature ou dejauge */
! reel poidsVolumique;
!
! /** coefficient de poussée ou de butée */
! reel coefficient;
!
! /** terme de cohésion drainée ou non drainée */
! reel cohesion;
!
! /** angle de frottement drainée ou non drainée */
! reel angleFrottement;
!
! };
!
! /** structure liste de couche de sol */
! typedef sequence<SCoucheSol> VSCoucheSol;
!
! /** structure sol */
! struct SSol
! {
! /** nombre de couches en poussée */
! entier nombreCouchesPoussee;
!
! /** tableau des couches en poussée */
! VSCoucheSol couchesPoussee;
!
! /** nombre de couches en butée */
! entier nombreCouchesButee;
!
! /** tableau des couches en butée */
! VSCoucheSol couchesButee;
!
! };
!
! /**
! * Eau.
! */
! struct SEau
! {
! /** faut-il prendre en compte une nappe d'eau côté poussée ? */
! booleen presenceNappeEauCotePoussee;
! /** faut-il prendre en compte une nappe d'eau côté butée ? */
! booleen presenceNappeEauCoteButee;
!
! /**
! * S: Statique ou D: Dynamique.
! */
! chaine typeCalculEau;
!
! /**
! * quand S.
! */
! reel coteNappeEauCotePoussee;
! reel coteNappeEauCoteButee;
! };
!
! /**
! * Surcharges.
! */
! struct SSurcharge
! {
! /**
! * combinaison de L:linéique, B:uniforme en bande et S:uniforme semi-infinie
! */
! chaine typeSurcharge;
!
! /**
! * quand L.
! */
! reel valeurSurchargeLineique;
!
! /**
! * quand B.
! */
! reel valeurSurchargeUniformeEnBande;
!
! /**
! * quand S.
! */
! reel valeurSurchargeUniformeSemiInfinie;
! };
!
! /**
! * Parametres generaux.
! */
! struct SParametresGeneraux
! {
! /**
! * L: Long terme ou C: Court terme.
! */
! chaine choixCalculSol;
! reel coteTerrePleinPoussee;
! reel coteTerrePleinButee;
! chaine projet;
! };
!
! /**
! * Contrainte.
! */
! struct SContrainte
! {
! reel cote;
! reel valeur;
! };
! typedef sequence<SContrainte> VSContrainte;
!
! /**
! * Effort en tête de rideau
! */
! struct SEffortEnTeteDeRideau
! {
! reel valeurForceEnTete;
! reel valeurMomentEnTete;
! };
!
! /**
! * Fichier diagramme.
! */
! struct SFichierDiagramme
! {
! chaine fichier;
! VSPointCoteValeur pointsCotePression;
! };
! typedef sequence<SFichierDiagramme> VSFichierDiagramme;
!
! /**
! * Efforts.
! */
! struct SEffort
! {
! entier nombreContraintesVerticales;
! VSContrainte contraintesVerticales;
! entier nombreContraintesHorizontales;
! VSContrainte contraintesHorizontales;
! VSFichierDiagramme fichiersDeDiagramme;
! SEffortEnTeteDeRideau effortEnTeteDeRideau;
! };
!
! /**
! * Ouvrages.
! */
! struct SOuvrage
! {
! /**
! * O:oui ou N:non
! */
! chaine presenceNappeTirants;
!
! /**
! * quand O.
! */
! reel coteNappeTirants;
! reel pourcentageEncastrementNappe;
!
! reel moduleYoungAcier;
! reel limiteElastiqueAcier;
! reel inertiePalplanches;
! reel demieHauteur;
!
! reel espaceEntreDeuxTirants;
! reel sectionTirants;
! reel limiteElastiqueAcierTirants;
! };
!
! /**
! * Parametres.
! */
! struct SParametresOscar
! {
! chaine nomFichierEntree;
! SCommentairesOscar commentairesOscar;
! SSol sol;
! SEau eau;
! SSurcharge surcharge;
! SEffort effort;
! SOuvrage ouvrage;
! SParametresGeneraux parametresGeneraux;
! };
!
! /**
! * structure de données utilisées pour les
! * résultats du prédimensionnement du
! * rideau.
! */
! struct SResultatsPredimensionnement
! {
! /**
! * Cote de pression nulle en mètres.
! */
! reel cotePressionNull;
! /**
! * Point de butée simple en mètres.
! */
! reel pointButeeSimple;
! /**
! * Pied (20% de contre butée) en mètres.
! */
! reel pied20Pourcent;
! /**
! * Pied (contre-butée calculée) en mètres.
! */
! reel piedContreButee;
! /**
! * structure de données contenant
! * les infos sur le moment maximum
! * telles que cote et valeur.
! */
! SPointCoteValeur momentMaximum;
! /**
! * structure de données contenant
! * les infos sur le moment minimum
! * telles que cote et valeur.
! */
! SPointCoteValeur momentMinimum;
! /**
! * valeur de l'encastrement demandé en
! * pourcentage.
! */
! reel encastrement;
! /**
! * réaction d'ancrage
! */
! reel reactionAncrage;
! /**
! * niveau d'ancrage
! */
! reel niveauAncrage;
! };
!
! /**
! * structure de données utilisées pour les
! * résultats du diagramme des pressions.
! */
! struct SResultatsPressions
! {
! /**
! * tableau de couples cote - pression.
! */
! VSPointCoteValeur pointsCotePression;
! };
!
! /**
! * structure de données utilisées pour les
! * résultats de la déformée.
! */
! struct SResultatsDeformees
! {
! /**
! * tableau de couples cote - déformée.
! */
! VSPointCoteValeur pointsCoteDeformee;
! };
!
! /**
! * structure de données utilisées pour les
! * résultats des efforts tranchants.
! */
! struct SResultatsEffortsTranchants
! {
! /**
! * tableau de couples cote - effort.
! */
! VSPointCoteValeur pointsCoteEffort;
! };
!
! /**
! * structure de données utilisées pour les
! * résultats des moments fléchissants.
! */
! struct SResultatsMomentsFlechissants
! {
! /**
! * tableau de couples cote - moment.
! */
! VSPointCoteValeur pointsCoteMoment;
! };
!
! typedef sequence<chaine> Vchaine;
!
! /**
! * structure de données utilisées pour les
! * messages d'erreurs renvoyés par Xplan.
! */
! struct SResultatsErreursXplan
! {
! /**
! * tableau de messages (chaines de caractères).
! */
! Vchaine messages;
! };
!
! /**
! * structure principal utilisées pour les
! * résultats.
! */
! struct SResultatsOscar
! {
! SResultatsPredimensionnement predimensionnement;
! SResultatsPressions pressions;
! SResultatsDeformees deformees;
! SResultatsEffortsTranchants efforts;
! SResultatsMomentsFlechissants moments;
! SResultatsErreursXplan erreurs;
! };
!
! // INTERFACES
!
! interface IParametresOscar : ::calcul::IParametres
! {
! attribute SParametresOscar parametresOscar;
! };
!
! interface ICalculOscar : ::calcul::ICalcul
! {
! };
!
! interface IResultatsOscar : ::calcul::IResultats
! {
! attribute SResultatsOscar resultatsOscar;
! };
! };
!
! #endif
--- 1,395 ----
! /*
! * @file oscar.idl
! * @creation 2002-09-30
! * @modification $Date$
! * @license GNU General Public License 2
! * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne
! * @author Olivier Hoareau <oho...@et...>
! * @mail de...@fu...
! */
!
! #ifndef _OSCAR_IDL
! #define _OSCAR_IDL
!
! #include "general/calcul.idl"
!
! /**
! * @version $Revision$ $Date$ by $Author$
! * @author Olivier Hoareau
! */
! module oscar
! {
!
! /**
! * cette constante est utilisée lorsqu'un double n'a pas
! * de valeur (pas de valeur saisie par l'utilisateur) cette
! * valeur particulière ne doit donc pas être prise par un
! * double quelconque mais comme la valeur équivalente à
! * 'l'information n'a pas de valeur' (null autrement dit)
! * ATTENTION : suivant le JDK utilisé, la valeur,
! * Double.MIN_VALUE, n'est pas forcément la même, faites
! * donc attention si vous modifiez cette valeur à ne pas
! * dépasser la précision du JDK IBM ou du JDK Sun
! */
! const reel VALEUR_NULLE= 4.9E-323;
!
! /**
! * Structure de données génériques utilisées
! * par plusieurs des structures résultats
! */
! struct SPointCoteValeur
! {
! /**
! * cote du point en mètres.
! */
! reel cote;
! /**
! * valeur du point (pression,...).
! */
! reel valeur;
! };
!
! /**
! * Tableau de points (génériques).
! */
! typedef sequence<SPointCoteValeur> VSPointCoteValeur;
!
! /** structure commentaires */
! struct SCommentairesOscar
! {
! /** commentaires de 40 caracteres */
! chaine titre;
! };
!
! /** structure couche de sol */
! struct SCoucheSol
! {
! /** épaisseur de la couche */
! reel epaisseur;
!
! /** poids volumique humide */
! reel poidsVolumiqueHumide;
!
! /** poids volumique sature ou dejauge */
! reel poidsVolumique;
!
! /** coefficient de poussée ou de butée */
! reel coefficient;
!
! /** terme de cohésion drainée ou non drainée */
! reel cohesion;
!
! /** angle de frottement drainée ou non drainée */
! reel angleFrottement;
!
! };
!
! /** structure liste de couche de sol */
! typedef sequence<SCoucheSol> VSCoucheSol;
!
! /** structure sol */
! struct SSol
! {
! /** nombre de couches en poussée */
! entier nombreCouchesPoussee;
!
! /** tableau des couches en poussée */
! VSCoucheSol couchesPoussee;
!
! /** nombre de couches en butée */
! entier nombreCouchesButee;
!
! /** tableau des couches en butée */
! VSCoucheSol couchesButee;
!
! };
!
! /**
! * Eau.
! */
! struct SEau
! {
! /** faut-il prendre en compte une nappe d'eau côté poussée ? */
! booleen presenceNappeEauCotePoussee;
! /** faut-il prendre en compte une nappe d'eau côté butée ? */
! booleen presenceNappeEauCoteButee;
!
! /**
! * S: Statique ou D: Dynamique.
! */
! chaine typeCalculEau;
!
! /**
! * quand S.
! */
! reel coteNappeEauCotePoussee;
! reel coteNappeEauCoteButee;
! };
!
! /**
! * Surcharges.
! */
! struct SSurcharge
! {
! /**
! * combinaison de L:linéique, B:uniforme en bande et S:uniforme semi-infinie
! */
! chaine typeSurcharge;
!
! /**
! * quand L.
! */
! reel valeurSurchargeLineique;
!
! /**
! * quand B.
! */
! reel valeurSurchargeUniformeEnBande;
!
! /**
! * quand S.
! */
! reel valeurSurchargeUniformeSemiInfinie;
! };
!
! /**
! * Parametres generaux.
! */
! struct SParametresGeneraux
! {
! /**
! * L: Long terme ou C: Court terme.
! */
! chaine choixCalculSol;
! reel coteTerrePleinPoussee;
! reel coteTerrePleinButee;
! chaine projet;
! };
!
! /**
! * Contrainte.
! */
! struct SContrainte
! {
! reel cote;
! reel valeur;
! };
! typedef sequence<SContrainte> VSContrainte;
!
! /**
! * Effort en tête de rideau
! */
! struct SEffortEnTeteDeRideau
! {
! reel valeurForceEnTete;
! reel valeurMomentEnTete;
! };
!
! /**
! * Fichier diagramme.
! */
! struct SFichierDiagramme
! {
! chaine fichier;
! VSPointCoteValeur pointsCotePression;
! };
! typedef sequence<SFichierDiagramme> VSFichierDiagramme;
!
! /**
! * Efforts.
! */
! struct SEffort
! {
! entier nombreContraintesVerticales;
! VSContrainte contraintesVerticales;
! entier nombreContraintesHorizontales;
! VSContrainte contraintesHorizontales;
! VSFichierDiagramme fichiersDeDiagramme;
! SEffortEnTeteDeRideau effortEnTeteDeRideau;
! };
!
! /**
! * Ouvrages.
! */
! struct SOuvrage
! {
! /**
! * O:oui ou N:non
! */
! chaine presenceNappeTirants;
!
! /**
! * quand O.
! */
! reel coteNappeTirants;
! reel pourcentageEncastrementNappe;
!
! reel moduleYoungAcier;
! reel limiteElastiqueAcier;
! reel inertiePalplanches;
! reel demieHauteur;
!
! reel espaceEntreDeuxTirants;
! reel sectionTirants;
! reel limiteElastiqueAcierTirants;
! };
!
! /**
! * Parametres.
! */
! struct SParametresOscar
! {
! chaine nomFichierEntree;
! SCommentairesOscar commentairesOscar;
! SSol sol;
! SEau eau;
! SSurcharge surcharge;
! SEffort effort;
! SOuvrage ouvrage;
! SParametresGeneraux parametresGeneraux;
! };
!
! /**
! * structure de données utilisées pour les
! * résultats du prédimensionnement du
! * rideau.
! */
! struct SResultatsPredimensionnement
! {
! /**
! * Cote de pression nulle en mètres.
! */
! reel cotePressionNull;
! /**
! * Point de butée simple en mètres.
! */
! reel pointButeeSimple;
! /**
! * Pied (20% de contre butée) en mètres.
! */
! reel pied20Pourcent;
! /**
! * Pied (contre-butée calculée) en mètres.
! */
! reel piedContreButee;
! /**
! * structure de données contenant
! * les infos sur le moment maximum
! * telles que cote et valeur.
! */
! SPointCoteValeur momentMaximum;
! /**
! * structure de données contenant
! * les infos sur le moment minimum
! * telles que cote et valeur.
! */
! SPointCoteValeur momentMinimum;
! /**
! * valeur de l'encastrement demandé en
! * pourcentage.
! */
! reel encastrement;
! /**
! * réaction d'ancrage
! */
! reel reactionAncrage;
! /**
! * niveau d'ancrage
! */
! reel niveauAncrage;
! };
!
! /**
! * structure de données utilisées pour les
! * résultats du diagramme des pressions.
! */
! struct SResultatsPressions
! {
! /**
! * tableau de couples cote - pression.
! */
! VSPointCoteValeur pointsCotePression;
! };
!
! /**
! * structure de données utilisées pour les
! * résultats de la déformée.
! */
! struct SResultatsDeformees
! {
! /**
! * tableau de couples cote - déformée.
! */
! VSPointCoteValeur pointsCoteDeformee;
! };
!
! /**
! * structure de données utilisées pour les
! * résultats des efforts tranchants.
! */
! struct SResultatsEffortsTranchants
! {
! /**
! * tableau de couples cote - effort.
! */
! VSPointCoteValeur pointsCoteEffort;
! };
!
! /**
! * structure de données utilisées pour les
! * résultats des moments fléchissants.
! */
! struct SResultatsMomentsFlechissants
! {
! /**
! * tableau de couples cote - moment.
! */
! VSPointCoteValeur pointsCoteMoment;
! };
!
! typedef sequence<chaine> Vchaine;
!
! /**
! * structure de données utilisées pour les
! * messages d'erreurs renvoyés par Xplan.
! */
! struct SResultatsErreursXplan
! {
! /**
! * tableau de messages (chaines de caractères).
! */
! Vchaine messages;
! };
!
! /**
! * structure principal utilisées pour les
! * résultats.
! */
! struct SResultatsOscar
! {
! SResultatsPredimensionnement predimensionnement;
! SResultatsPressions pressions;
! SResultatsDeformees deformees;
! SResultatsEffortsTranchants efforts;
! SResultatsMomentsFlechissants moments;
! SResultatsErreursXplan erreurs;
! };
!
! // INTERFACES
!
! interface IParametresOscar : ::calcul::IParametres
! {
! attribute SParametresOscar parametresOscar;
! };
!
! interface ICalculOscar : ::calcul::ICalcul
! {
! };
!
! interface IResultatsOscar : ::calcul::IResultats
! {
! attribute SResultatsOscar resultatsOscar;
! };
! };
!
! #endif
Index: sinavi.idl
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/code/sinavi.idl,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
Index: refonde.idl
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/code/refonde.idl,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
Index: navmer.idl
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/code/navmer.idl,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
Index: dunes.idl
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/code/dunes.idl,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
|
|
From: <de...@us...> - 2003-02-21 14:27:20
|
Update of /cvsroot/fudaa/fudaa_devel/dodico/idl/code In directory sc8-pr-cvs1:/tmp/cvs-serv6180/dodico/idl/code Modified Files: ducalbe.idl Log Message: *** keyword substitution change *** Index: ducalbe.idl =================================================================== RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/code/ducalbe.idl,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 |
|
From: <de...@us...> - 2003-02-21 14:12:39
|
Update of /cvsroot/fudaa/fudaa_devel/dodico/idl/code
In directory sc8-pr-cvs1:/tmp/cvs-serv31858/dodico/idl/code
Modified Files:
reflux.idl
Log Message:
Changement des format CVS binaire en ASCII
Index: reflux.idl
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/idl/code/reflux.idl,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** reflux.idl 29 Jan 2003 12:14:22 -0000 1.1
--- reflux.idl 21 Feb 2003 14:12:35 -0000 1.2
***************
*** 1,244 ****
! /*
! * @file reflux.idl
! * @creation 1998-04-01
! * @modification $Date$
! * @license GNU General Public License 2
! * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne
! * @mail de...@fu...
! */
!
! #ifndef _REFLUX_IDL
! #define _REFLUX_IDL
!
!
! #include "general/calcul.idl"
!
! /**
! * @version $Revision$ $Date$ by $Author$
! * @author Jean-Michel Tanguy , Bertrand Marchand
! */
! module reflux {
!
! // //
! //======= Parametres REFLUX ================================================//
! // //
!
! //=== Structure coordonnees
!
! struct SParametresRefluxCoordonnees {
! reel x;
! reel y;
! reel z;
! };
! typedef sequence<SParametresRefluxCoordonnees> VSParametresRefluxCoordonnees;
!
! //=== Structure condition limite
!
! struct SParametresRefluxConditionLimite {
! ventier code; // [3]
! vreel valeur; // [3]
! ventier noeudSupports;
! };
! typedef sequence<SParametresRefluxConditionLimite> VSParametresRefluxConditionLimite;
!
! //=== Structure propriete nodale
!
! struct SParametresRefluxProprieteNodale {
! ventier code; // [variable]
! vreel valeur; // [variable]
! };
! typedef sequence<SParametresRefluxProprieteNodale> VSParametresRefluxProprieteNodale;
!
! //=== Structure connectivite
!
! struct SParametresRefluxConnectivite {
! ventier numeroNoeud;
! };
! typedef sequence<SParametresRefluxConnectivite> VSParametresRefluxConnectivite;
!
! //=== Structure groupe de proprietes elementaires
!
! struct SParametresRefluxGroupePE
! {
! vreel valeur; // [3]
! };
! typedef sequence<SParametresRefluxGroupePE> VSParametresRefluxGroupePE;
!
! //=== Structure groupe de pas de temps
!
! struct SParametresRefluxGroupePT {
! entier nombrePasDeTemps;
! reel valeurPasDeTemps;
! entier schemaResolution;
! reel coefficientSchema;
! entier frequenceImpression;
! entier methodeResolution;
! reel relaxation;
! reel precisionNR;
! reel precisionBCD;
! entier nombreMaxIterations;
! vreel coefficientContribution;
! };
! typedef sequence<SParametresRefluxGroupePT> VSParametresRefluxGroupePT;
!
! //=== Structure bloc TRAN (pour la sédimentologie)
!
! struct SParametresRefluxTRAN {
! entier sousType; // 0: SEDIMENT_CHARRI, 1: SEDIMENT_SUSPEN
! vreel proprietes;
! entier iFormule;
! entier casHydro; // 0: Champ constant, 1: Crue, 2: Marée
! reel dureeCalculHydro;
! reel periodeMaree;
! entier nbValPHY; // Nombre de valeurs sur le fichier .phy
! reel t0surHydro; // t0 sédimentologie % t0 hydro
! vreel xcoefsMaree; // x de la courbe des coefficients de marée
! vreel ycoefsMaree; // y de la courbe des coefficients de marée
! };
!
! //=== Structure fichier INP (reunissant toutes les sous structures)
!
! struct SParametresRefluxINP {
! vbooleen impression;
! entier typeProbleme; // 0: Courantologie, 1: Courantologie+lmg, 2: Sédimentologie
! VSParametresRefluxCoordonnees coordonnees;
! ventier nombresDLN;
! VSParametresRefluxConditionLimite conditionsLimites;
! VSParametresRefluxProprieteNodale proprietesNodales;
! entier nombreMaxiNoeudsElement;
! VSParametresRefluxConnectivite connectivites;
! ventier typesElement;
! ventier numeroGroupePE;
! VSParametresRefluxGroupePE groupesPE;
! reel t0;
! VSParametresRefluxGroupePT groupesPT;
! SParametresRefluxTRAN blocTRAN;
! booleen bSollicitationsReparties;
! booleen bCLTransitoires;
! booleen bPNTransitoires;
! boolean bVent;
! boolean bCntRadiations;
! boolean bTransport;
! // booleen bPETransitoires;
! };
!
! //=== Structure ligne fichier transitoire
!
! struct SParametresRefluxLigneTransitoire {
! reel valeurPasDeTemps;
! vreel valeursDegresLibertes;
! };
! typedef sequence<SParametresRefluxLigneTransitoire> VSParametresRefluxLigneTransitoire;
!
! //=== Structure fichier CL (conditions limites non stationnaires)
!
! struct SParametresRefluxCL {
! VSParametresRefluxLigneTransitoire pasDeTemps;
! };
!
! //=== Structure fichier PN (proprietes nodales non stationnaires)
!
! struct SParametresRefluxPN {
! VSParametresRefluxLigneTransitoire pasDeTemps;
! };
!
! //=== Structure fichier SI (solutions initiales)
!
! struct SParametresRefluxSI {
! vreel valeurs;
! };
!
! //=== Fichier PHY
!
! struct SParametresRefluxLignePHY {
! vreel valeurs; // qx,qy,hs,htHoule,periodeHoule,rugo,ndErodable
! };
! typedef sequence<SParametresRefluxLignePHY> VSParametresRefluxLignePHY;
!
! struct SParametresRefluxEtapePHY {
! reel instant;
! VSParametresRefluxLignePHY bloc45; // Pour marée 45, marée, crue ou constant.
! VSParametresRefluxLignePHY bloc90; // Pour marée 90 en cas d'interpolation (null si pas de marée 90).
! };
! typedef sequence<SParametresRefluxEtapePHY> VSParametresRefluxEtapePHY;
!
! struct SParametresRefluxPHY {
! VSParametresRefluxEtapePHY etapes;
! };
!
! interface IResultatsReflux;
!
! //=== Interface parametres Reflux
!
! interface IParametresReflux : ::calcul::IParametres {
! chaine getRacine(); // La racine des fichiers du projet
! rien setRacine(in chaine rac, in IResultatsReflux r);
! // attribute chaine fichier;
! attribute SParametresRefluxINP parametresINP;
! attribute SParametresRefluxSI parametresSI;
! attribute SParametresRefluxCL parametresCL;
! attribute SParametresRefluxPN parametresPN;
! attribute SParametresRefluxPHY parametresPHY; // Pour la sédimentologie
! };
!
! // //
! //======= Resultats REFLUX =================================================//
! // //
!
! //=== Structure ligne (valeurs pour un noeud donne)
!
! struct SResultatsLigneReflux {
! entier numeroNoeud;
! vreel valeurs; // [7]
! };
! typedef sequence<SResultatsLigneReflux> VSResultatsLigneReflux;
!
! //=== Structure etape (valeurs pour tous les noeuds d'un pas de temps donne)
!
! struct SResultatsEtapeReflux {
! reel instant;
! VSResultatsLigneReflux lignes;
! };
! typedef sequence<SResultatsEtapeReflux> VSResultatsEtapeReflux;
!
! //=== Structure Resultats (valeurs pour tous les noeuds pour tous les pas de temps)
!
! struct SResultatsReflux {
! VSResultatsEtapeReflux etapes;
! };
! typedef sequence<SResultatsReflux> VSResultatsReflux;
!
!
! //=== Interface Resultats
!
! interface IResultatsReflux : ::calcul::IResultats {
! rien clear();
! SResultatsReflux resultatsReflux();
! SResultatsEtapeReflux resultatsEtapeReflux(in temps t);
! SResultatsLigneReflux resultatsLigneReflux(in temps t, in entier n);
!
! rien initIterator();
! booleen hasIteratorNextStep();
! SResultatsEtapeReflux nextIteratorStep();
! booleen isIteratorFilled();
!
! rien parametres(in IParametresReflux p); // Public pour des raison d'implémentation. Ne doit pas être utilisé
! rien startReader(); // Public pour des raison d'implémentation. Ne doit pas être utilisé
! rien stopReader(); // Public pour des raison d'implémentation. Ne doit pas être utilisé
! };
! typedef sequence<IResultatsReflux> VIResultatsReflux;
!
!
! // //
! //======= Calcul REFLUX ====================================================//
! // //
!
! interface ICalculReflux : ::calcul::ICalcul {
! rien clear(in ::objet::IConnexion c); // Nettoie les valeurs de résultats ou autres avant calcul.
! booleen estOperationnel();
! booleen estOK ();
! chaine traceExecution ();
! };
! };
!
! #endif
--- 1,244 ----
! /**
! * @file reflux.idl
! * @creation 1998-04-01
! * @modification $Date$
! * @license GNU General Public License 2
! * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne
! * @mail de...@fu...
! */
!
! #ifndef _REFLUX_IDL
! #define _REFLUX_IDL
!
!
! #include "general/calcul.idl"
!
! /**
! * @version $Revision$ $Date$ by $Author$
! * @author Jean-Michel Tanguy , Bertrand Marchand
! */
! module reflux {
!
! // //
! //======= Parametres REFLUX ================================================//
! // //
!
! //=== Structure coordonnees
!
! struct SParametresRefluxCoordonnees {
! reel x;
! reel y;
! reel z;
! };
! typedef sequence<SParametresRefluxCoordonnees> VSParametresRefluxCoordonnees;
!
! //=== Structure condition limite
!
! struct SParametresRefluxConditionLimite {
! ventier code; // [3]
! vreel valeur; // [3]
! ventier noeudSupports;
! };
! typedef sequence<SParametresRefluxConditionLimite> VSParametresRefluxConditionLimite;
!
! //=== Structure propriete nodale
!
! struct SParametresRefluxProprieteNodale {
! ventier code; // [variable]
! vreel valeur; // [variable]
! };
! typedef sequence<SParametresRefluxProprieteNodale> VSParametresRefluxProprieteNodale;
!
! //=== Structure connectivite
!
! struct SParametresRefluxConnectivite {
! ventier numeroNoeud;
! };
! typedef sequence<SParametresRefluxConnectivite> VSParametresRefluxConnectivite;
!
! //=== Structure groupe de proprietes elementaires
!
! struct SParametresRefluxGroupePE
! {
! vreel valeur; // [3]
! };
! typedef sequence<SParametresRefluxGroupePE> VSParametresRefluxGroupePE;
!
! //=== Structure groupe de pas de temps
!
! struct SParametresRefluxGroupePT {
! entier nombrePasDeTemps;
! reel valeurPasDeTemps;
! entier schemaResolution;
! reel coefficientSchema;
! entier frequenceImpression;
! entier methodeResolution;
! reel relaxation;
! reel precisionNR;
! reel precisionBCD;
! entier nombreMaxIterations;
! vreel coefficientContribution;
! };
! typedef sequence<SParametresRefluxGroupePT> VSParametresRefluxGroupePT;
!
! //=== Structure bloc TRAN (pour la sédimentologie)
!
! struct SParametresRefluxTRAN {
! entier sousType; // 0: SEDIMENT_CHARRI, 1: SEDIMENT_SUSPEN
! vreel proprietes;
! entier iFormule;
! entier casHydro; // 0: Champ constant, 1: Crue, 2: Marée
! reel dureeCalculHydro;
! reel periodeMaree;
! entier nbValPHY; // Nombre de valeurs sur le fichier .phy
! reel t0surHydro; // t0 sédimentologie % t0 hydro
! vreel xcoefsMaree; // x de la courbe des coefficients de marée
! vreel ycoefsMaree; // y de la courbe des coefficients de marée
! };
!
! //=== Structure fichier INP (reunissant toutes les sous structures)
!
! struct SParametresRefluxINP {
! vbooleen impression;
! entier typeProbleme; // 0: Courantologie, 1: Courantologie+lmg, 2: Sédimentologie
! VSParametresRefluxCoordonnees coordonnees;
! ventier nombresDLN;
! VSParametresRefluxConditionLimite conditionsLimites;
! VSParametresRefluxProprieteNodale proprietesNodales;
! entier nombreMaxiNoeudsElement;
! VSParametresRefluxConnectivite connectivites;
! ventier typesElement;
! ventier numeroGroupePE;
! VSParametresRefluxGroupePE groupesPE;
! reel t0;
! VSParametresRefluxGroupePT groupesPT;
! SParametresRefluxTRAN blocTRAN;
! booleen bSollicitationsReparties;
! booleen bCLTransitoires;
! booleen bPNTransitoires;
! boolean bVent;
! boolean bCntRadiations;
! boolean bTransport;
! // booleen bPETransitoires;
! };
!
! //=== Structure ligne fichier transitoire
!
! struct SParametresRefluxLigneTransitoire {
! reel valeurPasDeTemps;
! vreel valeursDegresLibertes;
! };
! typedef sequence<SParametresRefluxLigneTransitoire> VSParametresRefluxLigneTransitoire;
!
! //=== Structure fichier CL (conditions limites non stationnaires)
!
! struct SParametresRefluxCL {
! VSParametresRefluxLigneTransitoire pasDeTemps;
! };
!
! //=== Structure fichier PN (proprietes nodales non stationnaires)
!
! struct SParametresRefluxPN {
! VSParametresRefluxLigneTransitoire pasDeTemps;
! };
!
! //=== Structure fichier SI (solutions initiales)
!
! struct SParametresRefluxSI {
! vreel valeurs;
! };
!
! //=== Fichier PHY
!
! struct SParametresRefluxLignePHY {
! vreel valeurs; // qx,qy,hs,htHoule,periodeHoule,rugo,ndErodable
! };
! typedef sequence<SParametresRefluxLignePHY> VSParametresRefluxLignePHY;
!
! struct SParametresRefluxEtapePHY {
! reel instant;
! VSParametresRefluxLignePHY bloc45; // Pour marée 45, marée, crue ou constant.
! VSParametresRefluxLignePHY bloc90; // Pour marée 90 en cas d'interpolation (null si pas de marée 90).
! };
! typedef sequence<SParametresRefluxEtapePHY> VSParametresRefluxEtapePHY;
!
! struct SParametresRefluxPHY {
! VSParametresRefluxEtapePHY etapes;
! };
!
! interface IResultatsReflux;
!
! //=== Interface parametres Reflux
!
! interface IParametresReflux : ::calcul::IParametres {
! chaine getRacine(); // La racine des fichiers du projet
! rien setRacine(in chaine rac, in IResultatsReflux r);
! // attribute chaine fichier;
! attribute SParametresRefluxINP parametresINP;
! attribute SParametresRefluxSI parametresSI;
! attribute SParametresRefluxCL parametresCL;
! attribute SParametresRefluxPN parametresPN;
! attribute SParametresRefluxPHY parametresPHY; // Pour la sédimentologie
! };
!
! // //
! //======= Resultats REFLUX =================================================//
! // //
!
! //=== Structure ligne (valeurs pour un noeud donne)
!
! struct SResultatsLigneReflux {
! entier numeroNoeud;
! vreel valeurs; // [7]
! };
! typedef sequence<SResultatsLigneReflux> VSResultatsLigneReflux;
!
! //=== Structure etape (valeurs pour tous les noeuds d'un pas de temps donne)
!
! struct SResultatsEtapeReflux {
! reel instant;
! VSResultatsLigneReflux lignes;
! };
! typedef sequence<SResultatsEtapeReflux> VSResultatsEtapeReflux;
!
! //=== Structure Resultats (valeurs pour tous les noeuds pour tous les pas de temps)
!
! struct SResultatsReflux {
! VSResultatsEtapeReflux etapes;
! };
! typedef sequence<SResultatsReflux> VSResultatsReflux;
!
!
! //=== Interface Resultats
!
! interface IResultatsReflux : ::calcul::IResultats {
! rien clear();
! SResultatsReflux resultatsReflux();
! SResultatsEtapeReflux resultatsEtapeReflux(in temps t);
! SResultatsLigneReflux resultatsLigneReflux(in temps t, in entier n);
!
! rien initIterator();
! booleen hasIteratorNextStep();
! SResultatsEtapeReflux nextIteratorStep();
! booleen isIteratorFilled();
!
! rien parametres(in IParametresReflux p); // Public pour des raison d'implémentation. Ne doit pas être utilisé
! rien startReader(); // Public pour des raison d'implémentation. Ne doit pas être utilisé
! rien stopReader(); // Public pour des raison d'implémentation. Ne doit pas être utilisé
! };
! typedef sequence<IResultatsReflux> VIResultatsReflux;
!
!
! // //
! //======= Calcul REFLUX ====================================================//
! // //
!
! interface ICalculReflux : ::calcul::ICalcul {
! rien clear(in ::objet::IConnexion c); // Nettoie les valeurs de résultats ou autres avant calcul.
! booleen estOperationnel();
! booleen estOK ();
! chaine traceExecution ();
! };
! };
!
! #endif
|
|
From: <de...@us...> - 2003-02-21 14:09:10
|
Update of /cvsroot/fudaa/fudaa_devel/dodico In directory sc8-pr-cvs1:/tmp/cvs-serv30301/dodico Modified Files: .cvsignore Added Files: build.sh Log Message: Maj du cvsignore pour eviter les .project,etc .... generes par eclispe Ajoute de build.sh pour lancer ant --- NEW FILE: build.sh --- #!/bin/sh ant -buildfile build.xml $* Index: .cvsignore =================================================================== RCS file: /cvsroot/fudaa/fudaa_devel/dodico/.cvsignore,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** .cvsignore 4 Feb 2003 17:30:11 -0000 1.3 --- .cvsignore 21 Feb 2003 14:09:05 -0000 1.4 *************** *** 13,15 **** purge uncvs ! --- 13,18 ---- purge uncvs ! genere_uml.sh ! .uml ! .project ! .classpath |
|
From: <bma...@us...> - 2003-02-20 14:30:03
|
Update of /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/reflux
In directory sc8-pr-cvs1:/tmp/cvs-serv28954/src/org/fudaa/fudaa/reflux
Modified Files:
RefluxImplementation.java PRFilleCalques.java
Log Message:
Mise en place de la préférence OUTILS_SPECIFIQUES_EN_COLONNE
Index: RefluxImplementation.java
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/reflux/RefluxImplementation.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** RefluxImplementation.java 6 Feb 2003 09:36:11 -0000 1.2
--- RefluxImplementation.java 20 Feb 2003 14:29:58 -0000 1.3
***************
*** 20,23 ****
--- 20,24 ----
import org.fudaa.ebli.calque.*;
import org.fudaa.ebli.calque.dessin.*;
+ import org.fudaa.ebli.commun.EbliCalquesPreferencesPanel;
import org.fudaa.ebli.geometrie.*;
***************
*** 875,880 ****
if(preferences_==null) {
preferences_=new BuPreferencesFrame();
- preferences_.addTab(new BuDesktopPreferencesPanel(this));
preferences_.addTab(new BuLookPreferencesPanel(this));
preferences_.addTab(new PRPnPreferences(this));
}
--- 876,882 ----
if(preferences_==null) {
preferences_=new BuPreferencesFrame();
preferences_.addTab(new BuLookPreferencesPanel(this));
+ preferences_.addTab(new BuDesktopPreferencesPanel(this));
+ preferences_.addTab(new EbliCalquesPreferencesPanel(this));
preferences_.addTab(new PRPnPreferences(this));
}
Index: PRFilleCalques.java
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/reflux/PRFilleCalques.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** PRFilleCalques.java 30 Jan 2003 17:29:51 -0000 1.2
--- PRFilleCalques.java 20 Feb 2003 14:29:58 -0000 1.3
***************
*** 117,121 ****
this.setIconifiable(true);
this.setMaximizable(true);
- setToolsInSpecificBar(true);
setBoutonsStandardVisible(false);
this.getContentPane().add(getVueCalque());
--- 117,120 ----
|
Update of /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/refonde
In directory sc8-pr-cvs1:/tmp/cvs-serv28954/src/org/fudaa/fudaa/refonde
Modified Files:
RefondeImplementation.java RefondeFillePost.java
RefondeFilleMiseEnPage.java RefondeFilleCalques.java
Log Message:
Mise en place de la préférence OUTILS_SPECIFIQUES_EN_COLONNE
Index: RefondeImplementation.java
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/refonde/RefondeImplementation.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** RefondeImplementation.java 19 Feb 2003 09:38:42 -0000 1.2
--- RefondeImplementation.java 20 Feb 2003 14:29:58 -0000 1.3
***************
*** 24,27 ****
--- 24,28 ----
import org.fudaa.ebli.volume.VolumePreferencesPanel;
import org.fudaa.ebli.dialog.BFileChooser;
+ import org.fudaa.ebli.commun.EbliCalquesPreferencesPanel;
import org.fudaa.ebli.repere.*;
***************
*** 1615,1618 ****
--- 1616,1620 ----
preferences_.addTab(new BuLookPreferencesPanel (this));
preferences_.addTab(new BuDesktopPreferencesPanel (this));
+ preferences_.addTab(new EbliCalquesPreferencesPanel(this));
preferences_.addTab(new BuBrowserPreferencesPanel (this));
if (!(getApp() instanceof BuApplet))
Index: RefondeFillePost.java
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/refonde/RefondeFillePost.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** RefondeFillePost.java 30 Jan 2003 13:09:43 -0000 1.1
--- RefondeFillePost.java 20 Feb 2003 14:29:58 -0000 1.2
***************
*** 123,126 ****
--- 123,127 ----
setFrameIcon(RefondeResource.REFONDE.getIcon("post"));
setBoutonRepereVisible(false);
+ setBoutonsStandardVisible(false);
setSelectionVisible(false);
setClosable(true);
***************
*** 236,242 ****
/**
! * Outils spécifiques de la fenêtre.
*/
public JComponent[] getSpecificTools() {
// La valeur de DesktopPane n'est validée qu'une fois la fenêtre ajoutée
--- 237,244 ----
/**
! * Retourne les outils spécifiques
*/
public JComponent[] getSpecificTools() {
+ JComponent[] cpssuper=super.getSpecificTools();
// La valeur de DesktopPane n'est validée qu'une fois la fenêtre ajoutée
***************
*** 247,255 ****
try {
for (int i=0; i<btTools_.length; i++)
! ((BuPopupButton)btTools_[i]).setDesktop((BuDesktop)getDesktopPane());
}
catch( ClassCastException e ) {}
! return btTools_;
}
--- 249,262 ----
try {
for (int i=0; i<btTools_.length; i++)
! if (btTools_[i]!=null)
! ((BuPopupButton)btTools_[i]).setDesktop((BuDesktop)getDesktopPane());
}
catch( ClassCastException e ) {}
! JComponent[] cps=new JComponent[cpssuper.length+btTools_.length];
! System.arraycopy(cpssuper,0,cps,0,cpssuper.length);
! System.arraycopy(btTools_,0,cps,cpssuper.length,btTools_.length);
!
! return cps;
}
Index: RefondeFilleMiseEnPage.java
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/refonde/RefondeFilleMiseEnPage.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** RefondeFilleMiseEnPage.java 30 Jan 2003 13:09:44 -0000 1.1
--- RefondeFilleMiseEnPage.java 20 Feb 2003 14:29:58 -0000 1.2
***************
*** 204,207 ****
--- 204,208 ----
setFrameIcon(BuResource.BU.getIcon("PREVISUALISER"));
setBoutonRepereVisible(false);
+ setBoutonsStandardVisible(false);
setSelectionVisible(true);
}
***************
*** 333,336 ****
--- 334,338 ----
*/
public JComponent[] getSpecificTools() {
+ JComponent[] cpssuper=super.getSpecificTools();
// La valeur de DesktopPane n'est validée qu'une fois la fenêtre ajoutée
***************
*** 345,357 ****
catch( ClassCastException e ) {}
! JComponent[] r=new JComponent[btTools_.length+3];
! System.arraycopy(btTools_,0,r,0,btTools_.length);
! r[r.length-1]=btRetailler_;
! r[r.length-2]=btDeplacer_;
! r[r.length-3]=btForme_;
((BuPopupButton)btForme_).setDesktop((BuDesktop)getDesktopPane());
! return r;
}
--- 347,362 ----
catch( ClassCastException e ) {}
! JComponent[] cps=new JComponent[cpssuper.length+btTools_.length+3];
! System.arraycopy(cpssuper,0,cps,0,cpssuper.length);
! System.arraycopy(btTools_,0,cps,cpssuper.length,btTools_.length);
!
! // Traitement spécial de ces boutons pour ne pas interferer avec updateTools()
! cps[cps.length-1]=btRetailler_;
! cps[cps.length-2]=btDeplacer_;
! cps[cps.length-3]=btForme_;
((BuPopupButton)btForme_).setDesktop((BuDesktop)getDesktopPane());
! return cps;
}
Index: RefondeFilleCalques.java
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/refonde/RefondeFilleCalques.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** RefondeFilleCalques.java 19 Feb 2003 09:23:31 -0000 1.2
--- RefondeFilleCalques.java 20 Feb 2003 14:29:58 -0000 1.3
***************
*** 164,167 ****
--- 164,168 ----
buildTools();
associeBoutonCalqueInteraction(cqFormeI,btCreePoreux_);
+ associeBoutonCalqueInteraction(cqContoursI,btSel2Pts_);
_ac.refresh();
***************
*** 170,181 ****
setBoutonRepereVisible(false);
setBoutonsStandardVisible(false);
-
- // Bouton supplémentaire de sélection de contours par 2 points
- btSel2Pts_=
- new BuToggleButton(RefondeResource.REFONDE.getIcon("select-contours.gif"));
- btSel2Pts_.setToolTipText("Sélection des frontières par 2 points");
- btSel2Pts_.setEnabled(false);
- addBouton(btSel2Pts_);
- associeBoutonCalqueInteraction(cqContoursI,btSel2Pts_);
}
--- 171,174 ----
***************
*** 230,233 ****
--- 223,234 ----
private void buildTools() {
Vector vcps=new Vector();
+
+ // Bouton supplémentaire de sélection de contours par 2 points
+ btSel2Pts_=
+ new BuToggleButton(RefondeResource.REFONDE.getIcon("select-contours.gif"));
+ btSel2Pts_.setToolTipText("Sélection des frontières par 2 points");
+ btSel2Pts_.setEnabled(false);
+ vcps.add(btSel2Pts_);
+ // addBouton(btSel2Pts_);
// Separator
|
|
From: <bma...@us...> - 2003-02-20 14:29:05
|
Update of /cvsroot/fudaa/fudaa_devel/ebli/src/org/fudaa/ebli/calque
In directory sc8-pr-cvs1:/tmp/cvs-serv28353/src/org/fudaa/ebli/calque
Modified Files:
EbliFilleCalques.java
Log Message:
Prise en compte de la préférence
Index: EbliFilleCalques.java
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/ebli/src/org/fudaa/ebli/calque/EbliFilleCalques.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** EbliFilleCalques.java 18 Feb 2003 16:22:06 -0000 1.3
--- EbliFilleCalques.java 20 Feb 2003 14:28:59 -0000 1.4
***************
*** 52,55 ****
--- 52,56 ----
import org.fudaa.ebli.repere.RepereEvent;
import org.fudaa.ebli.ressource.EbliResource;
+ import org.fudaa.ebli.commun.EbliPreferences;
import com.memoire.bu.BuBorderLayout;
***************
*** 229,233 ****
pnBoutons_.setBorder(new EmptyBorder(2,2,2,2));
! setToolsInSpecificBar(false);
JComponent content_=(JComponent)getContentPane();
--- 230,234 ----
pnBoutons_.setBorder(new EmptyBorder(2,2,2,2));
! setToolsInSpecificBar(!EbliPreferences.OUTILS_CALQUES_EN_COLONNE);
JComponent content_=(JComponent)getContentPane();
|
|
From: <bma...@us...> - 2003-02-20 14:28:25
|
Update of /cvsroot/fudaa/fudaa_devel/ebli/src/org/fudaa/ebli/commun
In directory sc8-pr-cvs1:/tmp/cvs-serv28011/src/org/fudaa/ebli/commun
Modified Files:
EbliPreferences.java
Log Message:
Ajout de la propriété OUTILS_CALQUES_EN_COLONNE
Index: EbliPreferences.java
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/ebli/src/org/fudaa/ebli/commun/EbliPreferences.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** EbliPreferences.java 30 Jan 2003 11:54:29 -0000 1.1
--- EbliPreferences.java 20 Feb 2003 14:28:17 -0000 1.2
***************
*** 20,23 ****
--- 20,24 ----
{
public final static EbliPreferences EBLI=new EbliPreferences();
+ public final static boolean OUTILS_CALQUES_EN_COLONNE="in_column".equals(EbliPreferences.EBLI.getStringProperty("internalframe.tools.position"));
public static final class DIALOG
|
|
From: <bma...@us...> - 2003-02-20 14:27:55
|
Update of /cvsroot/fudaa/fudaa_devel/ebli/src/org/fudaa/ebli/commun
In directory sc8-pr-cvs1:/tmp/cvs-serv27552/src/org/fudaa/ebli/commun
Added Files:
EbliCalquesPreferencesPanel.java
Log Message:
Un panneau de préférences pour les fenetres internes avec calques
--- NEW FILE: EbliCalquesPreferencesPanel.java ---
/*
* @file EbliCalquesPreferencesPanel.java
* @creation 2001-10-02
* @modification $Date: 2003/02/20 14:27:29 $
* @license GNU General Public License 2
* @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne
* @mail de...@fu...
*/
package org.fudaa.ebli.commun;
import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
import com.memoire.bu.*;
import org.fudaa.ebli.ressource.EbliResource;
/**
* Gere les preferences concernant les calques et les fenetres de calques
*
* @version $Id: EbliCalquesPreferencesPanel.java,v 1.1 2003/02/20 14:27:29 bmarchan Exp $
* @author Bertrand Marchand
*/
public class EbliCalquesPreferencesPanel extends BuAbstractPreferencesPanel
{
private static final String IN_COLUMN="in_column";
private static final String IN_BAR="in_bar";
private static final String POSITION_OUTILS_PREF="internalframe.tools.position";
/** Les preferences concernees. */
private static EbliPreferences options_=EbliPreferences.EBLI;
/** Le checkbox pour les outils en colonne */
private JCheckBox cbOutilsPref_;
/**
* instancie tous les elements et les ajoute a ce panel.
*/
public EbliCalquesPreferencesPanel(BuCommonInterface _appli)
{
super();
setBorder(new EmptyBorder(5,5,5,5));
setLayout(new BorderLayout());
JPanel pn=new JPanel();
pn.setLayout(new BuGridLayout(1,5,5));
pn.setBorder(new CompoundBorder(
new TitledBorder("Fenêtres de calques"),new EmptyBorder(5,5,5,5)));
cbOutilsPref_=new JCheckBox("Outils spécifiques en colonne");
pn.add(cbOutilsPref_);
add(pn,BorderLayout.CENTER);
updateComponents();
}
/**
* Mise a jour des composant à partir des info du fichier.
*/
private void updateComponents() {
boolean inCol=IN_COLUMN.equals(options_.getStringProperty(POSITION_OUTILS_PREF));
cbOutilsPref_.setSelected(inCol);
}
/**
* Remplit la table a partir des valeurs des combobox.
*/
private void fillTable()
{
// Position des outils
options_.putStringProperty(POSITION_OUTILS_PREF,cbOutilsPref_.isSelected()? IN_COLUMN:IN_BAR);
}
/**
* le titre des preferences.
*/
public String getTitle()
{
return EbliResource.EBLI.getString("Calques");
}
/**
* @return true
*/
public boolean isPreferencesValidable()
{
return true;
}
/**
* @return false
*/
public boolean isPreferencesApplyable()
{
return false;
}
/**
* @return true
*/
public boolean isPreferencesCancelable()
{
return true;
}
/**
* Enregistrement des modifications apportees dans ce panel.
*/
public void validatePreferences()
{
fillTable();
options_.writeIniFile();
}
/**
* Annuler les modifications (relit les preferences).
*/
public void cancelPreferences()
{
options_.readIniFile();
updateComponents();
}
}
|
|
From: <bma...@us...> - 2003-02-19 09:38:46
|
Update of /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/refonde
In directory sc8-pr-cvs1:/tmp/cvs-serv6212/src/org/fudaa/fudaa/refonde
Modified Files:
RefondeImplementation.java
Log Message:
- Changement du numéro de version
- Diverses modifications mineures
Index: RefondeImplementation.java
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/refonde/RefondeImplementation.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** RefondeImplementation.java 30 Jan 2003 13:09:45 -0000 1.1
--- RefondeImplementation.java 19 Feb 2003 09:38:42 -0000 1.2
***************
*** 64,70 ****
static {
isRefonde_.name ="Refonde";
! isRefonde_.version ="5.13a";
! isRefonde_.date ="03-Juin-2002";
! isRefonde_.rights ="1998-2000 GHN & CETMEF\n2000-2002 DeltaCAD & CETMEF";
isRefonde_.contact ="mar...@de...";
isRefonde_.license ="GPL2";
--- 64,70 ----
static {
isRefonde_.name ="Refonde";
! isRefonde_.version ="5.14a";
! isRefonde_.date ="19-Fév-2003";
! isRefonde_.rights ="1998-2000 GHN & CETMEF\n2000-2003 DeltaCAD & CETMEF";
isRefonde_.contact ="mar...@de...";
isRefonde_.license ="GPL2";
***************
*** 651,655 ****
fnCalques_.initialise(projet);
addInternalFrame(fnCalques_);
! fnCalques_.zoomEtendu();
statusBar.setProgression(100);
setTitle(projet.getFichierProjet().getPath());
--- 651,655 ----
fnCalques_.initialise(projet);
addInternalFrame(fnCalques_);
! fnCalques_.restaurer();
statusBar.setProgression(100);
setTitle(projet.getFichierProjet().getPath());
***************
*** 807,811 ****
fnCalques_.initialise(projet);
addInternalFrame(fnCalques_);
! fnCalques_.zoomEtendu();
statusBar.setProgression(100);
setTitle(projet.getFichierProjet().getPath());
--- 807,811 ----
fnCalques_.initialise(projet);
addInternalFrame(fnCalques_);
! fnCalques_.restaurer();
statusBar.setProgression(100);
setTitle(projet.getFichierProjet().getPath());
***************
*** 1211,1216 ****
// tpGp=doma.getGroupeProprietes().getType();
}
! fnCalques_.clAngles.initialise(projet);
! fnCalques_.clAnglesTrans.initialise(projet);
fnCalques_.getVueCalque().repaint();
}
--- 1211,1216 ----
// tpGp=doma.getGroupeProprietes().getType();
}
! fnCalques_.cqAngles.initialise(projet);
! fnCalques_.cqAnglesTrans.initialise(projet);
fnCalques_.getVueCalque().repaint();
}
***************
*** 1318,1322 ****
projet.setResultats(null); // Suppression des résultats
! fnCalques_.clMaillage.initialise(projet);
fnCalques_.getVueCalque().repaint();
fnInfo_.update(projet);
--- 1318,1322 ----
projet.setResultats(null); // Suppression des résultats
! fnCalques_.cqMaillage.initialise(projet);
fnCalques_.getVueCalque().repaint();
fnInfo_.update(projet);
***************
*** 1377,1381 ****
doma.setMaillage(null);
projet.setResultats(null); // Suppression des résultats
! fnCalques_.clMaillage.initialise(projet);
fnCalques_.getVueCalque().repaint();
fnInfo_.update(projet);
--- 1377,1381 ----
doma.setMaillage(null);
projet.setResultats(null); // Suppression des résultats
! fnCalques_.cqMaillage.initialise(projet);
fnCalques_.getVueCalque().repaint();
fnInfo_.update(projet);
***************
*** 1404,1408 ****
}
finally {
! fnCalques_.clAngles.initialise(projet);
fnCalques_.getVueCalque().repaint();
}
--- 1404,1408 ----
}
finally {
! fnCalques_.cqAngles.initialise(projet);
fnCalques_.getVueCalque().repaint();
}
***************
*** 1413,1418 ****
*/
private void cmdNouvelAngle() {
! fnCalques_.setLockEvents(fnCalques_.clSaisieAngle);
! fnCalques_.clSaisieAngle.initialise(projet);
}
--- 1413,1418 ----
*/
private void cmdNouvelAngle() {
! fnCalques_.setLockEvents(fnCalques_.cqSaisieAngle);
! fnCalques_.cqSaisieAngle.initialise(projet);
}
***************
*** 1425,1430 ****
public void actionPerformed(ActionEvent _evt) {
if (_evt.getSource()==di.CANCEL_BUTTON) return;
! fnCalques_.clAngles.initialise(projet);
! fnCalques_.clAnglesTrans.initialise(projet);
fnCalques_.getVueCalque().repaint();
}
--- 1425,1430 ----
public void actionPerformed(ActionEvent _evt) {
if (_evt.getSource()==di.CANCEL_BUTTON) return;
! fnCalques_.cqAngles.initialise(projet);
! fnCalques_.cqAnglesTrans.initialise(projet);
fnCalques_.getVueCalque().repaint();
}
***************
*** 1629,1633 ****
*/
private void cmdVoirNumNoeuds(boolean _visible) {
! fnCalques_.clMaillage.setNumerosNoeudsVisibles(_visible);
fnCalques_.getVueCalque().repaint();
}
--- 1629,1633 ----
*/
private void cmdVoirNumNoeuds(boolean _visible) {
! fnCalques_.cqMaillage.setNumerosNoeudsVisibles(_visible);
fnCalques_.getVueCalque().repaint();
}
***************
*** 1637,1641 ****
*/
private void cmdVoirNumElements(boolean _visible) {
! fnCalques_.clMaillage.setNumerosElementsVisibles(_visible);
fnCalques_.getVueCalque().repaint();
}
--- 1637,1641 ----
*/
private void cmdVoirNumElements(boolean _visible) {
! fnCalques_.cqMaillage.setNumerosElementsVisibles(_visible);
fnCalques_.getVueCalque().repaint();
}
***************
*** 1903,1908 ****
projet.getModeleCalcul().calculAngles(projet);
projet.getModeleCalcul().creerAngles(digue);
! fnCalques_.clAngles.initialise(projet);
! fnCalques_.clAnglesTrans.initialise(projet);
fnCalques_.getVueCalque().repaint();
}
--- 1903,1908 ----
projet.getModeleCalcul().calculAngles(projet);
projet.getModeleCalcul().creerAngles(digue);
! fnCalques_.cqAngles.initialise(projet);
! fnCalques_.cqAnglesTrans.initialise(projet);
fnCalques_.getVueCalque().repaint();
}
***************
*** 1947,1953 ****
projet.setModeleProprietes(RefondeModeleProprietes.defaut(projet));
projet.getModeleCalcul().calculAngles(projet);
! fnCalques_.clAngles.initialise(projet);
! fnCalques_.clAnglesTrans.initialise(projet);
! fnCalques_.clMaillage.initialise(projet);
fnCalques_.getVueCalque().repaint();
}
--- 1947,1953 ----
projet.setModeleProprietes(RefondeModeleProprietes.defaut(projet));
projet.getModeleCalcul().calculAngles(projet);
! fnCalques_.cqAngles.initialise(projet);
! fnCalques_.cqAnglesTrans.initialise(projet);
! fnCalques_.cqMaillage.initialise(projet);
fnCalques_.getVueCalque().repaint();
}
***************
*** 2211,2217 ****
di=new RefondeDialogPanneau(getFrame(),pn,"Recentrer la vue") {
! public void actionApply() {
int num=((RefondePnRecentrerNoeud)getPanneauPrincipal()).getNumeroNoeud();
! if (num==-1) return;
// Recherche du noeud.
--- 2211,2217 ----
di=new RefondeDialogPanneau(getFrame(),pn,"Recentrer la vue") {
! public boolean actionApply() {
int num=((RefondePnRecentrerNoeud)getPanneauPrincipal()).getNumeroNoeud();
! if (num==-1) return true;
// Recherche du noeud.
***************
*** 2231,2235 ****
new BuDialogWarning(RefondeImplementation.this,isRefonde_,
"Le projet ne contient aucun noeud de numéro "+num).activate();
! return;
}
--- 2231,2235 ----
new BuDialogWarning(RefondeImplementation.this,isRefonde_,
"Le projet ne contient aucun noeud de numéro "+num).activate();
! return true;
}
***************
*** 2241,2244 ****
--- 2241,2246 ----
btC.ajuste(new GrPoint(ptC.x+(bt.e.x-bt.o.x)/2,ptC.y+(bt.e.y-bt.o.y)/2,0));
fnCalques_.getVueCalque().changeRepere(this,btC,0);
+
+ return true;
}
};
***************
*** 2256,2262 ****
di=new RefondeDialogPanneau(getFrame(),pn,"Recentrer la vue") {
! public void actionApply() {
int num=((RefondePnRecentrerElement)getPanneauPrincipal()).getNumeroElement();
! if (num==-1) return;
// Recherche de l'element.
--- 2258,2264 ----
di=new RefondeDialogPanneau(getFrame(),pn,"Recentrer la vue") {
! public boolean actionApply() {
int num=((RefondePnRecentrerElement)getPanneauPrincipal()).getNumeroElement();
! if (num==-1) return true;
// Recherche de l'element.
***************
*** 2276,2280 ****
new BuDialogWarning(RefondeImplementation.this,isRefonde_,
"Le projet ne contient aucun élément de numéro "+num).activate();
! return;
}
--- 2278,2282 ----
new BuDialogWarning(RefondeImplementation.this,isRefonde_,
"Le projet ne contient aucun élément de numéro "+num).activate();
! return true;
}
***************
*** 2286,2289 ****
--- 2288,2293 ----
btC.ajuste(new GrPoint(ptC.x+(bt.e.x-bt.o.x)/2,ptC.y+(bt.e.y-bt.o.y)/2,0));
fnCalques_.getVueCalque().changeRepere(this,btC,0);
+
+ return true;
}
};
***************
*** 2301,2305 ****
for (int i=0; i<domas.length; i++)
! if (domas[i].getContours()[0].contains(_poly)) return domas[i];
return null;
--- 2305,2309 ----
for (int i=0; i<domas.length; i++)
! if (domas[i].getContours()[0].hasChild(_poly)) return domas[i];
return null;
***************
*** 2489,2492 ****
--- 2493,2501 ----
r.addMenuItem("Créer un domaine digue","CREERDIGUE",null,false);
r.addMenuItem("Supprimer un domaine digue","SUPPRIMERDIGUE",null,false);
+ // r.addSeparator("Domaines poreux");
+ // r.addMenuItem("Créer un domaine poreux","CREERPOREUX",RefondeResource.REFONDE.getIcon("creerporeux"),false);
+ // r.addMenuItem("Supprimer le domaine poreux","SUPPRIMERPOREUX",RefondeResource.REFONDE.getIcon("supporeux"),false);
+ // r.addMenuItem("Propriétés du domaine poreux","MODIFIERPOREUX",RefondeResource.REFONDE.getIcon("proprietesporeux"),false);
+ // r.addMenuItem("Déplacer le point du plan","DEPLACERPOINT",RefondeResource.REFONDE.getIcon("deplacerpoint"),false);
return r;
}
|
|
From: <bma...@us...> - 2003-02-19 09:23:35
|
Update of /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/refonde
In directory sc8-pr-cvs1:/tmp/cvs-serv2650/src/org/fudaa/fudaa/refonde
Modified Files:
RefondeFilleCalques.java
Log Message:
- Ajout des calques de représentation des domaines poreux (domaines + points de plan).
- Ajout des boutons de gestion des domaines poreux (création, suppression, modification) et des méthodes correspondantes.
Index: RefondeFilleCalques.java
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/refonde/RefondeFilleCalques.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** RefondeFilleCalques.java 30 Jan 2003 13:09:46 -0000 1.1
--- RefondeFilleCalques.java 19 Feb 2003 09:23:31 -0000 1.2
***************
*** 12,15 ****
--- 12,16 ----
import org.fudaa.fudaa.commun.*;
import org.fudaa.ebli.calque.*;
+ import org.fudaa.ebli.calque.dessin.*;
import org.fudaa.ebli.geometrie.*;
import com.memoire.bu.*;
***************
*** 31,40 ****
*/
public class RefondeFilleCalques extends EbliFilleCalques {
! public RefondeCalqueContour clContours;
! public RefondeCalqueMaillage clMaillage;
! public RefondeCalqueAngle clAngles;
! public RefondeCalqueAngleTransmission clAnglesTrans;
! public RefondeCalqueAngleInteraction clSaisieAngle;
! public RefondeCalqueContourInteraction clContoursI;
private BuCommonInterface app_;
--- 32,60 ----
*/
public class RefondeFilleCalques extends EbliFilleCalques {
! public RefondeCalqueContour cqContours;
! public RefondeCalqueMaillage cqMaillage;
! public RefondeCalqueAngle cqAngles;
! public RefondeCalqueAngleTransmission cqAnglesTrans;
! public RefondeCalqueAngleInteraction cqSaisieAngle;
! public RefondeCalqueContourInteraction cqContoursI;
! /** Création interactive de formes - Domaines poreux */
! public BCalqueFormeInteraction cqFormeI;
! /** Affichage des domaines poreux */
! public BCalquePolygone cqDomainePoreux;
! /** Affichage des points des domaines poreux */
! public BCalquePoint cqDomainePoreuxPts;
!
! /** Tools spécifiques de la fenêtre. */
! private JComponent[] btTools_;
! /** Tool création de domaine poreux */
! private BuToggleButton btCreePoreux_;
! /** Tool suppression de domaine poreux */
! private BuButton btSupPoreux_;
! /** Tool modification de domaine poreux */
! private BuButton btModPoreux_;
! /** Tool modification du point d'un plan de domaine poreux */
! private BuButton btModPoint_;
! /** Actions spécifiques actives de la fenetre */
! // private Vector enabledActions_=new Vector();
private BuCommonInterface app_;
***************
*** 44,47 ****
--- 64,68 ----
private BGroupeCalque gcMai_;
private BuToggleButton btSel2Pts_;
+ private RefondeProjet prj_;
// private JMenu mnVoir_;
***************
*** 71,111 ****
gr2Bd_=new Hashtable();
! clContours=new RefondeCalqueContour();
! clContours.setGr2Bd(gr2Bd_);
! clContours.setTitle("Contours");
! clContours.setName("cqCONTOURS");
! cqRoot.add(clContours);
! clMaillage=new RefondeCalqueMaillage();
! clMaillage.setName("Maillage");
! cqRoot.add(clMaillage);
! clAngles=new RefondeCalqueAngle();
! // clAngles.setGr2Bd(gr2Bd_);
! clAngles.setName("Angles d'incidence");
! cqRoot.add(clAngles);
! clAnglesTrans=new RefondeCalqueAngleTransmission();
! clAnglesTrans.setName("Angles de transmission");
! cqRoot.add(clAnglesTrans);
! clSaisieAngle=new RefondeCalqueAngleInteraction(clAngles,_vc,_ac);
! clSaisieAngle.setName("Nouvel angle");
! clSaisieAngle.setGele(true);
! cqRoot.add(clSaisieAngle);
! clContoursI=new RefondeCalqueContourInteraction();
! clContoursI.setTitle("Sélection 2 pts");
! clContoursI.setName("cqSEL2PTS");
! clContoursI.setGele(true);
! cqRoot.getCalqueParNom("cqADMIN").add(clContoursI);
! clContoursI.addSelectionListener(this);
! clContoursI.addSelectionListener(
(BCalqueSelection)cqRoot.getCalqueParNom("cqSELECTIONAFFICHAGE"));
_ac.refresh();
getVueCalque().setBackground(Color.white);
setBoutonRepereVisible(false);
// Bouton supplémentaire de sélection de contours par 2 points
--- 92,173 ----
gr2Bd_=new Hashtable();
! // Domaines poreux
! cqDomainePoreux=new BCalquePolygone();
! cqDomainePoreux.setForeground(new Color(255,0,0,75));
! cqDomainePoreux.setBackground(cqDomainePoreux.getForeground());
! cqDomainePoreux.setTypeSurface(TraceSurface.UNIFORME);
! cqDomainePoreux.setTitle("Domaines poreux");
! cqDomainePoreux.setName("cqPOREUX");
! cqRoot.add(cqDomainePoreux);
! // Symboles de direction des domaines poreux (sous calque domaine poreux)
! // cqDomainePoreuxDir=new BCalqueSymbole();
! // cqDomainePoreuxDir.setForeground(cqDomainePoreux.getForeground());
! // cqDomainePoreuxDir.setTitle("Directions");
! // cqDomainePoreuxDir.setName("cqDIRPOREUX");
! // cqDomainePoreux.add(cqDomainePoreuxDir);
! // Points de plan du domaine poreux
! cqDomainePoreuxPts=new BCalquePoint();
! cqDomainePoreuxPts.setTypePoint(TracePoint.DISQUE);
! cqDomainePoreuxPts.setForeground(Color.red.darker());
! cqDomainePoreuxPts.setTitle("Points des plans");
! cqDomainePoreuxPts.setName("cqPTSPOREUX");
! cqRoot.add(cqDomainePoreuxPts);
! cqContours=new RefondeCalqueContour();
! cqContours.setGr2Bd(gr2Bd_);
! cqContours.setTitle("Contours");
! cqContours.setName("cqCONTOURS");
! cqRoot.add(cqContours);
! cqMaillage=new RefondeCalqueMaillage();
! cqMaillage.setName("Maillage");
! cqRoot.add(cqMaillage);
! cqAngles=new RefondeCalqueAngle();
! // cqAngles.setGr2Bd(gr2Bd_);
! cqAngles.setName("Angles d'incidence");
! cqRoot.add(cqAngles);
!
! cqAnglesTrans=new RefondeCalqueAngleTransmission();
! cqAnglesTrans.setName("Angles de transmission");
! cqRoot.add(cqAnglesTrans);
!
! cqSaisieAngle=new RefondeCalqueAngleInteraction(cqAngles,_vc,_ac);
! cqSaisieAngle.setName("Nouvel angle");
! cqSaisieAngle.setGele(true);
! cqRoot.getCalqueParNom("cqADMIN").add(cqSaisieAngle);
!
! cqContoursI=new RefondeCalqueContourInteraction();
! cqContoursI.setTitle("Sélection 2 pts");
! cqContoursI.setName("cqSEL2PTS");
! cqContoursI.setGele(true);
! cqRoot.getCalqueParNom("cqADMIN").add(cqContoursI);
! cqContoursI.addSelectionListener(this);
! cqContoursI.addSelectionListener(
(BCalqueSelection)cqRoot.getCalqueParNom("cqSELECTIONAFFICHAGE"));
+ // Saisie d'un domaine poreux
+ cqFormeI=new BCalqueFormeInteraction(cqDomainePoreux);
+ cqFormeI.setTitle("Saisie de formes");
+ cqFormeI.setName("cqFORME");
+ cqFormeI.setGele(true);
+ cqFormeI.setTypeForme(DeForme.RECTANGLE);
+ cqFormeI.addFormeEventListener(new FormeEventListener() {
+ public void formeSaisie(FormeEvent _evt) {
+ cqFormeI_formeSaisie(_evt);
+ }
+ });
+ cqRoot.getCalqueParNom("cqADMIN").add(cqFormeI);
+
+ buildTools();
+ associeBoutonCalqueInteraction(cqFormeI,btCreePoreux_);
+
_ac.refresh();
getVueCalque().setBackground(Color.white);
setBoutonRepereVisible(false);
+ setBoutonsStandardVisible(false);
// Bouton supplémentaire de sélection de contours par 2 points
***************
*** 115,129 ****
btSel2Pts_.setEnabled(false);
addBouton(btSel2Pts_);
! associeBoutonCalqueInteraction(clContoursI,btSel2Pts_);
!
! // Création des menus spécifiques
!
! // Menu voir
! // mnVoir_=buildMenuVoir();
! // mnVoir_.setIcon(null);
! // mnVoir_.addActionListener(this);
}
public String[] getEnabledActions() {
return super.getEnabledActions();
}
--- 177,185 ----
btSel2Pts_.setEnabled(false);
addBouton(btSel2Pts_);
! associeBoutonCalqueInteraction(cqContoursI,btSel2Pts_);
}
public String[] getEnabledActions() {
+ // return (String[])enabledActions_.toArray(new String[0]);
return super.getEnabledActions();
}
***************
*** 144,149 ****
// }
public JComponent[] getSpecificTools() {
! return new JComponent[0];
}
--- 200,275 ----
// }
+ /**
+ * Retourne les outils spécifiques
+ */
public JComponent[] getSpecificTools() {
! JComponent[] cpssuper=super.getSpecificTools();
!
! // La valeur de DesktopPane n'est validée qu'une fois la fenêtre ajoutée
! // au desktop. En théorie, il faudrait faire le traitement ci dessous
! // une fois la fenêtre ajoutée. En pratique, on le fait dans la méthode
! // getSpecificTools() appelée chaque fois que la fenêtre est rendue active.
! // B.M. 20.08.2001
! try {
! for (int i=0; i<btTools_.length; i++)
! if (btTools_[i]!=null)
! ((BuPopupButton)btTools_[i]).setDesktop((BuDesktop)getDesktopPane());
! }
! catch( ClassCastException e ) {}
!
! JComponent[] cps=new JComponent[cpssuper.length+btTools_.length];
! System.arraycopy(cpssuper,0,cps,0,cpssuper.length);
! System.arraycopy(btTools_,0,cps,cpssuper.length,btTools_.length);
!
! return cps;
! }
!
! /**
! * Création de la barre d'outils avec les outils de tous les calques.
! */
! private void buildTools() {
! Vector vcps=new Vector();
!
! // Separator
! vcps.add(null);
!
! // Bouton de création de domaine poreux
! btCreePoreux_=new BuToggleButton(RefondeResource.REFONDE.getIcon("creerporeux"));
! btCreePoreux_.setToolTipText("Création d'un domaine poreux");
! btCreePoreux_.setActionCommand("CREERPOREUX");
! // enabledActions_.add("CREERPOREUX");
! btCreePoreux_.addActionListener(this);
! vcps.add(btCreePoreux_);
!
! // Bouton de suppression du domaine poreux
! btSupPoreux_=new BuButton(RefondeResource.REFONDE.getIcon("supporeux"));
! btSupPoreux_.setToolTipText("Suppression du domaine poreux");
! btSupPoreux_.setActionCommand("SUPPRIMERPOREUX");
! // enabledActions_.add("SUPPRIMERPOREUX");
! btSupPoreux_.addActionListener(this);
! btSupPoreux_.setEnabled(false);
! vcps.add(btSupPoreux_);
!
! // Bouton de modification du domaine poreux
! btModPoreux_=new BuButton(RefondeResource.REFONDE.getIcon("proprietesporeux"));
! btModPoreux_.setToolTipText("Propriétés du domaine poreux");
! btModPoreux_.setActionCommand("MODIFIERPOREUX");
! // enabledActions_.add("MODIFIERPOREUX");
! btModPoreux_.addActionListener(this);
! btModPoreux_.setEnabled(false);
! vcps.add(btModPoreux_);
!
! // Bouton de modification du point d'un plan de domaine poreux
! btModPoint_=new BuButton(RefondeResource.REFONDE.getIcon("deplacerpoint"));
! btModPoint_.setToolTipText("Déplacement du point de plan d'un domaine poreux");
! btModPoint_.setActionCommand("DEPLACERPOINT");
! // enabledActions_.add("DEPLACERPOINT");
! btModPoint_.addActionListener(this);
! btModPoint_.setEnabled(false);
! vcps.add(btModPoint_);
!
! btTools_=(JComponent[])vcps.toArray(new JComponent[0]);
!
! // for (int i=0; i<btTools_.length; i++) if (btTools_[i]!=null) btTools_[i].setEnabled(true);
}
***************
*** 162,170 ****
// Cas particulier des angles d'incidence/transmission
! if (_evt.getSource()==clAngles || _evt.getSource()==clAnglesTrans) {
for (int i=0; i<grSelects_.nombre(); i++)
bdSelects_[i]=
((RefondeSymboleData)((GrSymbole)grSelects_.renvoie(i)).data()).angle;
}
else {
for (int i=0; i<grSelects_.nombre(); i++)
--- 288,306 ----
// Cas particulier des angles d'incidence/transmission
! if (_evt.getSource()==cqAngles || _evt.getSource()==cqAnglesTrans) {
for (int i=0; i<grSelects_.nombre(); i++)
bdSelects_[i]=
((RefondeSymboleData)((GrSymbole)grSelects_.renvoie(i)).data()).angle;
}
+ // Domaines poreux
+ else if (_evt.getSource()==cqDomainePoreux) {
+ for (int i=0; i<grSelects_.nombre(); i++)
+ bdSelects_[i]=grSelects_.renvoie(i);
+ }
+ // Points des domaines poreux
+ else if (_evt.getSource()==cqDomainePoreuxPts) {
+ for (int i=0; i<grSelects_.nombre(); i++)
+ bdSelects_[i]=grSelects_.renvoie(i);
+ }
else {
for (int i=0; i<grSelects_.nombre(); i++)
***************
*** 178,182 ****
// Propriétés de bord
! active=(_evt.getSource()==clContours &&
// active=(grClass.size()==1 &&
// grClass.get((new GrPolyligne()).getClass())!=null &&
--- 314,318 ----
// Propriétés de bord
! active=(_evt.getSource()==cqContours &&
// active=(grClass.size()==1 &&
// grClass.get((new GrPolyligne()).getClass())!=null &&
***************
*** 185,189 ****
// Propriétés de fond
! active=(_evt.getSource()==clContours &&
// active=(grClass.size()==1 &&
// grClass.get((new GrPolyligne()).getClass())!=null &&
--- 321,325 ----
// Propriétés de fond
! active=(_evt.getSource()==cqContours &&
// active=(grClass.size()==1 &&
// grClass.get((new GrPolyligne()).getClass())!=null &&
***************
*** 192,222 ****
// Angles d'incidence
! active=((_evt.getSource()==clAngles && grSelects_.nombre()>0) ||
! (_evt.getSource()==clAnglesTrans && grSelects_.nombre()>0));
app_.setEnabledForAction("MODIFIERANGLE",active);
// Angles supplémentaires
! active=((_evt.getSource()==clAngles && grSelects_.nombre()>0));
app_.setEnabledForAction("MODIFIERANGSUP",active);
// Création d'un domaine digue
! active=(_evt.getSource()==clContours && grSelects_.nombre()>0);
app_.setEnabledForAction("CREERDIGUE",active);
// Suppression d'un domaine digue
! active=(_evt.getSource()==clContours && grSelects_.nombre()>0);
app_.setEnabledForAction("SUPPRIMERDIGUE",active);
// Modification des propriétés de maillage sur un domaine
! active=(_evt.getSource()==clContours && grSelects_.nombre()>0);
app_.setEnabledForAction("MODIFIERPROPMAILLAGE",active);
// Maillage d'un domaine
! active=(_evt.getSource()==clContours && grSelects_.nombre()>0);
app_.setEnabledForAction("MAILLER",active);
// Suppression d'un maillage
! active=(_evt.getSource()==clContours && grSelects_.nombre()>0);
app_.setEnabledForAction("SUPPRIMERMAILLAGE",active);
}
--- 328,370 ----
// Angles d'incidence
! active=((_evt.getSource()==cqAngles && grSelects_.nombre()>0) ||
! (_evt.getSource()==cqAnglesTrans && grSelects_.nombre()>0));
app_.setEnabledForAction("MODIFIERANGLE",active);
// Angles supplémentaires
! active=((_evt.getSource()==cqAngles && grSelects_.nombre()>0));
app_.setEnabledForAction("MODIFIERANGSUP",active);
// Création d'un domaine digue
! active=(_evt.getSource()==cqContours && grSelects_.nombre()>0);
app_.setEnabledForAction("CREERDIGUE",active);
// Suppression d'un domaine digue
! active=(_evt.getSource()==cqContours && grSelects_.nombre()>0);
app_.setEnabledForAction("SUPPRIMERDIGUE",active);
// Modification des propriétés de maillage sur un domaine
! active=(_evt.getSource()==cqContours && grSelects_.nombre()>0);
app_.setEnabledForAction("MODIFIERPROPMAILLAGE",active);
// Maillage d'un domaine
! active=(_evt.getSource()==cqContours && grSelects_.nombre()>0);
app_.setEnabledForAction("MAILLER",active);
// Suppression d'un maillage
! active=(_evt.getSource()==cqContours && grSelects_.nombre()>0);
app_.setEnabledForAction("SUPPRIMERMAILLAGE",active);
+
+ // Suppression d'un domaine poreux
+ active=(_evt.getSource()==cqDomainePoreux && grSelects_.nombre()>0);
+ btSupPoreux_.setEnabled(active);
+
+ // Modification d'un domaine poreux
+ active=(_evt.getSource()==cqDomainePoreux && grSelects_.nombre()==1);
+ btModPoreux_.setEnabled(active);
+
+ // Modification d'un point du plan d'un domaine poreux
+ active=(_evt.getSource()==cqDomainePoreuxPts && grSelects_.nombre()==1);
+ btModPoint_.setEnabled(active);
}
***************
*** 234,237 ****
--- 382,520 ----
/**
+ * Création d'un domaine poreux
+ */
+ public void cqFormeI_formeSaisie(FormeEvent _evt) {
+ DeRectangle rect=(DeRectangle)_evt.getForme();
+ GrPolygone pg=(GrPolygone)rect.getGeometrie();
+ RefondeDomainePoreux dm=new RefondeDomainePoreux();
+ dm.setPoints(new GrPoint[]{pg.sommet(0),pg.sommet(2)});
+ dm.setPointsPlan(new GrPoint[]{pg.sommet(0),pg.sommet(1),pg.sommet(2)});
+
+ RefondeDialogProprietesPoreux diPoreux=new RefondeDialogProprietesPoreux(app_.getFrame());
+ diPoreux.setProjet(prj_);
+ diPoreux.setDomainePoreux(dm);
+ diPoreux.show();
+ if (diPoreux.reponse==diPoreux.OK_BUTTON) {
+ cqDomainePoreux.ajoute(dm);
+ // cqDomainePoreuxDir.ajoute(dm.getSymbole());
+ GrPoint[] pts=dm.getPointsPlan();
+ for (int j=0; j<pts.length; j++) cqDomainePoreuxPts.ajoute(pts[j]);
+ prj_.getModeleProprietes().addDomainePoreux(dm);
+ }
+ getVueCalque().repaint();
+
+ // Désactivation du bouton et gel du calque.
+ btCreePoreux_.setSelected(false);
+ cqFormeI.setGele(true);
+ }
+
+ //----------------------------------------------------------------------------
+ // Actions
+ //----------------------------------------------------------------------------
+
+ /**
+ * Action quand une action spécifique à la fenêtre est déclenchée.
+ */
+ public void actionPerformed(ActionEvent _evt) {
+ if (_evt.getActionCommand().equals("SUPPRIMERPOREUX")) cmdSupprimerPoreux();
+ else if (_evt.getActionCommand().equals("MODIFIERPOREUX")) cmdModifierPoreux();
+ else if (_evt.getActionCommand().equals("CREERPOREUX")) cmdCreerPoreux();
+ else if (_evt.getActionCommand().equals("DEPLACERPOINT")) cmdDeplacerPoint();
+ else super.actionPerformed(_evt);
+ }
+
+ /**
+ * Suppression d'un domaine poreux
+ */
+ private void cmdSupprimerPoreux() {
+ if (new BuDialogConfirmation(app_,app_.getInformationsSoftware(),
+ "Suppression du(des) domaine(s) poreux sélectionné(s) ?")
+ .activate()!=JOptionPane.OK_OPTION) return;
+
+ for (int i=0; i<bdSelects_.length; i++) {
+ RefondeDomainePoreux dm=(RefondeDomainePoreux)bdSelects_[i];
+ cqDomainePoreux.enleve(dm);
+ GrPoint[] pts=dm.getPointsPlan();
+ for (int j=0; j<pts.length; j++) cqDomainePoreuxPts.enleve(pts[j]);
+ prj_.getModeleProprietes().removeDomainePoreux(dm);
+ }
+ videSelection();
+ }
+
+ /**
+ * Modification d'un domaine poreux
+ */
+ private void cmdModifierPoreux() {
+ RefondeDomainePoreux dm=(RefondeDomainePoreux)bdSelects_[0];
+ RefondeDialogProprietesPoreux diPoreux=new RefondeDialogProprietesPoreux(app_.getFrame());
+ diPoreux.setProjet(prj_);
+ diPoreux.setDomainePoreux(dm);
+ diPoreux.show();
+ if (diPoreux.reponse==diPoreux.OK_BUTTON) {
+ prj_.getModeleProprietes().modifie=true;
+ getVueCalque().repaint();
+ }
+ }
+
+ /**
+ * Création d'un domaine poreux. On vide juste la selection si necessaire pour
+ * ne pas avoir des comportements bizarres, le reste est fait par le calque de
+ * saisie de forme.
+ */
+ private void cmdCreerPoreux() {
+ if (bdSelects_!=null && bdSelects_.length!=0) videSelection();
+ }
+
+ /**
+ * Déplacement du point du plan d'un domaine poreux.
+ */
+ private void cmdDeplacerPoint() {
+ GrPoint pt=(GrPoint)bdSelects_[0];
+ RefondeDomainePoreux[] dmps=prj_.getModeleProprietes().getDomainesPoreux();
+ int idm=0;
+ int ind=0;
+
+ DMPS:
+ for (idm=0; idm<dmps.length; idm++) {
+ GrPoint[] ptsPlan=dmps[idm].getPointsPlan();
+ for (ind=0; ind<ptsPlan.length; ind++) if (ptsPlan[ind]==pt) break DMPS;
+ }
+
+ final RefondeDomainePoreux dmp=dmps[idm];
+ final int ipt=ind;
+ RefondePnPointPlan pnPoint=new RefondePnPointPlan();
+ pnPoint.setProjet(prj_);
+ pnPoint.setZAutomatique(dmp.isZAutomatique(ipt));
+ pnPoint.setPoint(pt);
+
+ RefondeDialogPanneau di=
+ new RefondeDialogPanneau(app_.getFrame(),pnPoint,"Modification du point",
+ RefondeDialogPanneau.OK_CANCEL_APPLY_OPTION) {
+
+ public boolean actionApply() {
+ RefondePnPointPlan pn=(RefondePnPointPlan)getPanneauPrincipal();
+ GrPoint[] ptsPlan=dmp.getPointsPlan();
+
+ // Controle de validité des valeurs données.
+ if (!pn.isOK()) {
+ new BuDialogError(app_,app_.getInformationsSoftware(),
+ "Un des paramètres n'a pas un format valide").activate();
+ return false;
+ }
+
+ ptsPlan[ipt]=pn.getPoint();
+ dmp.setZAutomatique(pn.isZAutomatique(),ipt);
+ pn.setPoint(ptsPlan[ipt]); // Pour remettre à jour le panneau
+ RefondeFilleCalques.this.getVueCalque().repaint();
+
+ return true;
+ }
+ };
+ di.show();
+ }
+
+ //----------------------------------------------------------------------------
+
+ /**
* Retourne les objets sélectionnés
*/
***************
*** 247,256 ****
public void initialise(RefondeProjet _projet) {
gr2Bd_.clear();
! clContours .initialise(_projet);
! clAngles .initialise(_projet);
! clAnglesTrans.initialise(_projet);
! clSaisieAngle.initialise(_projet);
! clMaillage .initialise(_projet);
! clContoursI .initialise(_projet,clContours);
}
--- 530,553 ----
public void initialise(RefondeProjet _projet) {
gr2Bd_.clear();
! cqContours .initialise(_projet);
! cqAngles .initialise(_projet);
! cqAnglesTrans.initialise(_projet);
! cqSaisieAngle.initialise(_projet);
! cqMaillage .initialise(_projet);
! cqContoursI .initialise(_projet,cqContours);
!
! // Affichage des domaines poreux
! cqDomainePoreux.reinitialise();
! cqDomainePoreuxPts.reinitialise();
! // cqDomainePoreuxDir.reinitialise();
! RefondeDomainePoreux[] dms=_projet.getModeleProprietes().getDomainesPoreux();
! for (int i=0; i<dms.length; i++) {
! cqDomainePoreux.ajoute(dms[i]);
! // cqDomainePoreuxDir.ajoute(dms[i].getSymbole());
! GrPoint[] pts=dms[i].getPointsPlan();
! for (int j=0; j<pts.length; j++) cqDomainePoreuxPts.ajoute(pts[j]);
! }
!
! prj_=_projet;
}
***************
*** 312,334 ****
_calque.setGele(false);
getArbreCalque().repaint();
- }
-
- //------------------------------------------------------------------------------
- //--- ACTIONS ------------------------------------------------------------------
- //------------------------------------------------------------------------------
-
- // public void actionPerformed(ActionEvent _evt) {
- // String action = _evt.getActionCommand();
- //
- // if (action.equals("NUMNOEUDS")) cmdVoirNumNoeuds(((AbstractButton)_evt.getSource()).isSelected());
- // else if (action.equals("NUMELEMENTS")) cmdVoirNumElements(((AbstractButton)_evt.getSource()).isSelected());
- // else super.actionPerformed(_evt);
- // }
-
- /**
- * Recentrage du BVueCalque en fonction des calques visibles
- */
- public void zoomEtendu() {
- getVueCalque().changeRepere(this,getVueCalque().getCalque().getDomaine());
}
}
--- 609,612 ----
|
|
From: <bma...@us...> - 2003-02-19 09:06:59
|
Update of /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/commun
In directory sc8-pr-cvs1:/tmp/cvs-serv31065
Modified Files:
FudaaDialog.java
Log Message:
Pb lors du centrage de la fenetre sur le parent (le parent chagne de taille continuellement ??? Suppression du centrage sur le parent, et centrage sur l'écran.
Index: FudaaDialog.java
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/commun/FudaaDialog.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** FudaaDialog.java 18 Feb 2003 16:33:48 -0000 1.2
--- FudaaDialog.java 19 Feb 2003 09:06:54 -0000 1.3
***************
*** 148,151 ****
--- 148,155 ----
Point pThis = new Point();
+ /* BM 19/02/2003 : la fenetre se décale vers la gauche a chaque affichage ???
+ La taille du parent change a chaque affichage.
+ => On ne tient plus compte du parent, on centre sur l'écran.
+
if (parent_ == null) {
dParent = Toolkit.getDefaultToolkit().getScreenSize();
***************
*** 156,159 ****
--- 160,166 ----
pParent = parent_.getLocation();
}
+ */
+ dParent = Toolkit.getDefaultToolkit().getScreenSize();
+ pParent = new Point(0,0);
pThis.x = pParent.x+(dParent.width-dThis.width)/2;
|
|
From: <de...@us...> - 2003-02-18 16:55:00
|
Update of /cvsroot/fudaa/fudaa_devel/ebli/src/org/fudaa/ebli/repere
In directory sc8-pr-cvs1:/tmp/cvs-serv23974
Modified Files:
BControleNavigation.java
Log Message:
Les controles de navigation sont remis dans la disposition initiale
cad le zoom a gauche et la translation en Y a droite
Index: BControleNavigation.java
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/ebli/src/org/fudaa/ebli/repere/BControleNavigation.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** BControleNavigation.java 30 Jan 2003 17:27:55 -0000 1.2
--- BControleNavigation.java 18 Feb 2003 16:54:57 -0000 1.3
***************
*** 249,255 ****
add(td_, BuBorderLayout.CENTER);
add(rz, BuBorderLayout.NORTH);
! add(ty, BuBorderLayout.WEST);
add(tx, BuBorderLayout.SOUTH);
! add(exy, BuBorderLayout.EAST);
rz.addMouseListener(this);
tx.addMouseListener(this);
--- 249,255 ----
add(td_, BuBorderLayout.CENTER);
add(rz, BuBorderLayout.NORTH);
! add(ty, BuBorderLayout.EAST);
add(tx, BuBorderLayout.SOUTH);
! add(exy, BuBorderLayout.WEST);
rz.addMouseListener(this);
tx.addMouseListener(this);
|
|
From: <bma...@us...> - 2003-02-18 16:53:00
|
Update of /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/refonde
In directory sc8-pr-cvs1:/tmp/cvs-serv23185
Modified Files:
RefondeGeometrie.java
Log Message:
Ajout de la méthode contient(GrPoint).
Index: RefondeGeometrie.java
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/refonde/RefondeGeometrie.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** RefondeGeometrie.java 30 Jan 2003 13:09:44 -0000 1.1
--- RefondeGeometrie.java 18 Feb 2003 16:52:57 -0000 1.2
***************
*** 763,766 ****
--- 763,780 ----
/**
+ * Retourne vrai si la géometrie contient le point 2D donné. Retourne vrai
+ * si au moins 1 domaine de la géométrie contient le point.
+ */
+ public boolean contient(GrPoint _pt) {
+ Vector dms=scene_.getDomaines();
+
+ for (int i=0; i<dms.size(); i++) {
+ if (((RefondeDomaine)dms.get(i)).contient(_pt)) return true;
+ }
+
+ return false;
+ }
+
+ /**
* Retourne les frontières du domaine d'étude.
* <p>
|
|
From: <bma...@us...> - 2003-02-18 16:52:17
|
Update of /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/refonde
In directory sc8-pr-cvs1:/tmp/cvs-serv22669
Modified Files:
RefondeModeleCalcul.java
Log Message:
Ajout de la prise en compte des fonds poreux, de la condition absorbante d'ordre 2, gestion de la sauvegarde/restitution.
Index: RefondeModeleCalcul.java
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/refonde/RefondeModeleCalcul.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** RefondeModeleCalcul.java 30 Jan 2003 13:09:46 -0000 1.1
--- RefondeModeleCalcul.java 18 Feb 2003 16:52:13 -0000 1.2
***************
*** 29,32 ****
--- 29,37 ----
public static final int DEFER_ECRETAGE=2;
+ public static final int BORD_COND_ORDRE_1 =0;
+ public static final int BORD_FORM_ANA_ILE =1;
+ public static final int BORD_FORM_ANA_PORT=2;
+ public static final int BORD_COND_ORDRE_2 =3;
+
public static final int FORMULE_GODA_SANS_PENTE=0;
public static final int FORMULE_GODA_AVEC_PENTE=1;
***************
*** 49,55 ****
protected double hauteurHoule_ =0;
// protected double profondeurOrigine_ =0;
! protected int casBordOuvert_ =0; // 0: Condition absorbante, 1: f.a. ile, 2: f.a. port
protected int ordreMax_ =0;
protected int typeHoule_ =HOULE_REG;
// Déferlement
--- 54,62 ----
protected double hauteurHoule_ =0;
// protected double profondeurOrigine_ =0;
! protected int casBordOuvert_ =BORD_COND_ORDRE_1;
protected int ordreMax_ =0;
protected int typeHoule_ =HOULE_REG;
+ /** Fonds poreux */
+ protected boolean fondsPoreux_ =false;
// Déferlement
***************
*** 223,226 ****
--- 230,245 ----
/**
+ * Prise en compte ou non des fonds poreux.
+ * @param _b <code>true</code> Les fonds sont poreux, <code>false</code> sinon.
+ */
+ public void setFondsPoreux(boolean _b) { setModifie(); fondsPoreux_=_b; }
+
+ /**
+ * Les fonds sont-ils poreux ?
+ * @return <code>true</code> Les fonds sont poreux, <code>false</code> sinon.
+ */
+ public boolean isFondsPoreux() { return fondsPoreux_; }
+
+ /**
* Attribut Modèle modifié
*/
***************
*** 300,304 ****
else if (version.compareTo("5.08")<=0) cal.lire508(_projet,file);
else if (version.compareTo("5.12")<=0) cal.lire512(_projet,file);
! else cal.lire(_projet,file); // Ajout des angles supplémentaires sur les contours
}
catch (NumberFormatException _exc) {
--- 319,328 ----
else if (version.compareTo("5.08")<=0) cal.lire508(_projet,file);
else if (version.compareTo("5.12")<=0) cal.lire512(_projet,file);
! // Ajout des angles supplémentaires sur les contours
! else if (version.compareTo("5.14")<=0) cal.lire514(_projet,file);
! // Suppression longueur onde
! // Ajout prise en compte fonds poreux
! // Ajout condition absorbante ordre 2
! else cal.lire(_projet,file);
}
catch (NumberFormatException _exc) {
***************
*** 341,345 ****
/**
! * Lecture des informations sur version 506
*/
private void lire506(RefondeProjet _projet, StreamTokenizer _file)
--- 365,369 ----
/**
! * Lecture des informations sur version 506 et moins
*/
private void lire506(RefondeProjet _projet, StreamTokenizer _file)
***************
*** 484,488 ****
/**
! * Lecture des informations sur version 508
*/
private void lire508(RefondeProjet _projet, StreamTokenizer _file)
--- 508,512 ----
/**
! * Lecture des informations sur version 508 et moins
*/
private void lire508(RefondeProjet _projet, StreamTokenizer _file)
***************
*** 750,756 ****
/**
! * Lecture des informations sur version courante
*/
! private void lire(RefondeProjet _projet, StreamTokenizer _file)
throws RefondeIOException, IOException {
double val=0;
--- 774,780 ----
/**
! * Lecture des informations sur version 512 et moins
*/
! private void lire512(RefondeProjet _projet, StreamTokenizer _file)
throws RefondeIOException, IOException {
double val=0;
***************
*** 943,946 ****
--- 967,1308 ----
else throw new IOException();
+ _file.nextToken();
+ ais.add(ai);
+ }
+
+ aiss.add(ais);
+ }
+
+ Object[] objs=aiss.toArray();
+ angles_=new Vector[objs.length];
+ for (int i=0; i<angles_.length; i++) angles_[i]=(Vector)objs[i];
+ // Correction des angles
+ corrigeAngles();
+
+ // Angles d'incidence sur les digues
+
+ // Nombre d'angles d'incidence sur les digues
+ if (_file.nextToken()!=WORD || !_file.sval.equals("<angles_incidence>"))
+ throw new IOException();
+ if (_file.nextToken()!=WORD) throw new IOException();
+ nbAiDigue=Integer.parseInt(_file.sval);
+
+ // Angles d'incidence sur les digues
+ // ai2pl_=new Hashtable(nbAiDigue);
+ for (int i=0; i<nbAiDigue; i++) {
+
+ // Polyligne support
+ if (_file.nextToken()!=WORD) throw new IOException();
+ ival=Integer.parseInt(_file.sval);
+ if (ival<0 || ival>vpls.size()) throw new IOException();
+ pl=(RefondePolyligne)vpls.get(ival);
+
+ // Abscisse de début
+ if (_file.nextToken()!=WORD) throw new IOException();
+ sDeb=Double.parseDouble(_file.sval);
+
+ // Abscisse de fin
+ if (_file.nextToken()!=WORD) throw new IOException();
+ sFin=Double.parseDouble(_file.sval);
+
+ // Type de l'angle
+ if (_file.nextToken()!=WORD) throw new IOException();
+
+ // Absolu => Angle absolu
+ if (_file.sval.equals("absolu")) {
+ if (_file.nextToken()!=WORD) throw new IOException();
+ angle=Double.parseDouble(_file.sval);
+
+ ai=new RefondeAngle();
+ ai.setAbsolu(sDeb,sFin,angle);
+ }
+
+ // Relatif => Angle par rapport a la normale sur le bord
+ else if (_file.sval.equals("relatif")) {
+ if (_file.nextToken()!=WORD) throw new IOException();
+ angle=Double.parseDouble(_file.sval);
+
+ ai=new RefondeAngle();
+ ai.setRelatif(sDeb,sFin,angle);
+ }
+
+ // Diffracté => Position x, y du point de diffraction
+ else if (_file.sval.equals("diffracte")) {
+ ptDiff=new GrPoint();
+ if (_file.nextToken()!=WORD) throw new IOException();
+ ptDiff.x=Double.parseDouble(_file.sval);
+ if (_file.nextToken()!=WORD) throw new IOException();
+ ptDiff.y=Double.parseDouble(_file.sval);
+ ptDiff.z=0.;
+
+ ai=new RefondeAngle();
+ ai.setDiffracte(sDeb,sFin,ptDiff);
+ }
+
+ else throw new IOException();
+
+ ai2pl_.put(ai,pl);
+ }
+
+ // Angles de transmission sur les digues
+
+ // Nombre d'angles de transmission sur les digues
+ if (_file.nextToken()!=WORD || !_file.sval.equals("<angles_transmission>"))
+ throw new IOException();
+ if (_file.nextToken()!=WORD) throw new IOException();
+ nbAtDigue=Integer.parseInt(_file.sval);
+
+ // Angles dde transmission sur les digues
+ at2pl_=new Hashtable(nbAtDigue);
+ for (int i=0; i<nbAtDigue; i++) {
+
+ // Polyligne support
+ if (_file.nextToken()!=WORD) throw new IOException();
+ ival=Integer.parseInt(_file.sval);
+ if (ival<0 || ival>vpls.size()) throw new IOException();
+ pl=(RefondePolyligne)vpls.get(ival);
+
+ // Abscisse de début
+ if (_file.nextToken()!=WORD) throw new IOException();
+ sDeb=Double.parseDouble(_file.sval);
+
+ // Abscisse de fin
+ if (_file.nextToken()!=WORD) throw new IOException();
+ sFin=Double.parseDouble(_file.sval);
+
+ // Type de l'angle
+ if (_file.nextToken()!=WORD) throw new IOException();
+
+ // Absolu => Angle absolu
+ if (_file.sval.equals("absolu")) {
+ if (_file.nextToken()!=WORD) throw new IOException();
+ angle=Double.parseDouble(_file.sval);
+
+ ai=new RefondeAngle();
+ ai.setAbsolu(sDeb,sFin,angle);
+ }
+
+ // Relatif => Angle par rapport a la normale sur le bord
+ else if (_file.sval.equals("relatif")) {
+ if (_file.nextToken()!=WORD) throw new IOException();
+ angle=Double.parseDouble(_file.sval);
+
+ ai=new RefondeAngle();
+ ai.setRelatif(sDeb,sFin,angle);
+ }
+
+ // Diffracté => Position x, y du point de diffraction
+ else if (_file.sval.equals("diffracte")) {
+ ptDiff=new GrPoint();
+ if (_file.nextToken()!=WORD) throw new IOException();
+ ptDiff.x=Double.parseDouble(_file.sval);
+ if (_file.nextToken()!=WORD) throw new IOException();
+ ptDiff.y=Double.parseDouble(_file.sval);
+ ptDiff.z=0.;
+
+ ai=new RefondeAngle();
+ ai.setDiffracte(sDeb,sFin,ptDiff);
+ }
+
+ else throw new IOException();
+
+ at2pl_.put(ai,pl);
+ }
+ }
+
+ /**
+ * Lecture des informations sur version 5.14 et moins
+ */
+ private void lire514(RefondeProjet _projet, StreamTokenizer _file)
+ throws RefondeIOException, IOException {
+ double val=0;
+ int nbAiDigue;
+ int nbAtDigue;
+ int ival;
+
+ RefondeAngle ai;
+ RefondePolyligne pl;
+ Vector ais;
+ Vector aiss;
+ double sDeb;
+ double sFin;
+ double angle;
+ GrPoint ptDiff;
+
+ RefondeGeometrie geo=_projet.getGeometrie();
+ Vector vpls=geo.getPolylignes();
+
+ // Identifiant de géométrie
+ if (_file.nextToken()!=WORD || !_file.sval.equals("<identifiant_geometrie>"))
+ throw new IOException();
+ if (_file.nextToken()!=WORD || Integer.parseInt(_file.sval)!=geo.identifiant())
+ throw new RefondeIOException(
+ "Le numéro de version de la géométrie n'est pas compatible avec le projet");
+
+ // Paramètres généraux
+
+ if (_file.nextToken()!=WORD || !_file.sval.equals("<parametres>"))
+ throw new IOException();
+
+ // Hauteur de mer
+ if (_file.nextToken()!=WORD) throw new IOException();
+ hauteurMer_=Double.parseDouble(_file.sval);
+
+ // Profondeur d'origine (inutilisée à partir de version 5.12. A supprimer).
+ if (_file.nextToken()!=WORD) throw new IOException();
+ // profondeurOrigine_=Double.parseDouble(_file.sval);
+ double dummy=Double.parseDouble(_file.sval);
+
+ // Cas de bord ouvert
+ if (_file.nextToken()!=WORD) throw new IOException();
+ if (_file.sval.equals("cond_absorbante")) casBordOuvert_=BORD_COND_ORDRE_1;
+ else if (_file.sval.equals("fa_ile")) casBordOuvert_=BORD_FORM_ANA_ILE;
+ else if (_file.sval.equals("fa_port")) casBordOuvert_=BORD_FORM_ANA_PORT;
+ else throw new IOException();
+
+ // Ordre max de troncature
+ if (_file.nextToken()!=WORD) throw new IOException();
+ ordreMax_=(int)Double.parseDouble(_file.sval);
+
+ // Paramètres de houle
+
+ if (_file.nextToken()!=WORD || !_file.sval.equals("houle"))
+ throw new IOException();
+
+ // Cas de houle
+ if (_file.nextToken()!=WORD) throw new IOException();
+ if (_file.sval.equals("reguliere")) typeHoule(HOULE_REG);
+ else if (_file.sval.equals("aleatoire")) typeHoule(HOULE_ALEA);
+ else throw new IOException();
+
+ // Houle régulière
+ if (typeHoule()==HOULE_REG) {
+
+ // Hauteur
+ if (_file.nextToken()!=WORD) throw new IOException();
+ hauteurHoule_=Double.parseDouble(_file.sval);
+ // Période
+ if (_file.nextToken()!=WORD) throw new IOException();
+ periodeHoule_=Double.parseDouble(_file.sval);
+ // Direction
+ if (_file.nextToken()!=WORD) throw new IOException();
+ angleHoule_=Double.parseDouble(_file.sval);
+ }
+
+ // Houle aléatoire
+ else {
+
+ // Nombre de periodes
+ if (_file.nextToken()!=WORD) throw new IOException();
+ nbPeriodes_=(int)Double.parseDouble(_file.sval);
+ // Periode min.
+ if (_file.nextToken()!=WORD) throw new IOException();
+ periodeHouleMin_=Double.parseDouble(_file.sval);
+ // Periode max.
+ if (_file.nextToken()!=WORD) throw new IOException();
+ periodeHouleMax_=Double.parseDouble(_file.sval);
+ // Nombre de directions
+ if (_file.nextToken()!=WORD) throw new IOException();
+ nbAnglesHoule_=(int)Double.parseDouble(_file.sval);
+ // Direction min.
+ if (_file.nextToken()!=WORD) throw new IOException();
+ angleHouleMin_=Double.parseDouble(_file.sval);
+ // Direction max.
+ if (_file.nextToken()!=WORD) throw new IOException();
+ angleHouleMax_=Double.parseDouble(_file.sval);
+ // Hauteur significative
+ if (_file.nextToken()!=WORD) throw new IOException();
+ hauteurHoule_=Double.parseDouble(_file.sval);
+ // Periode de pic
+ if (_file.nextToken()!=WORD) throw new IOException();
+ periodeHoule_=Double.parseDouble(_file.sval);
+ // Rehaussement du pic
+ if (_file.nextToken()!=WORD) throw new IOException();
+ rehaussementPic_=Double.parseDouble(_file.sval);
+ // Direction principale
+ if (_file.nextToken()!=WORD) throw new IOException();
+ angleHoule_=Double.parseDouble(_file.sval);
+ // Répartition angulaire
+ if (_file.nextToken()!=WORD) throw new IOException();
+ repartitionAngle_=Double.parseDouble(_file.sval);
+ }
+
+ // Paramètres de déferlement
+
+ if (_file.nextToken()!=WORD || !_file.sval.equals("deferlement"))
+ throw new IOException();
+
+ // Cas de déferlement
+ if (_file.nextToken()!=WORD) throw new IOException();
+ if (_file.sval.equals("sans")) deferlement_=DEFER_SANS;
+ else if (_file.sval.equals("iteratif")) deferlement_=DEFER_ITERATIF;
+ else if (_file.sval.equals("ecretage")) deferlement_=DEFER_ECRETAGE;
+ else throw new IOException();
+
+ // Formule pour l'ecretage
+ if (deferlement_==DEFER_ECRETAGE) {
+ if (_file.nextToken()!=WORD) throw new IOException();
+ if (_file.sval.equals("goda_sans")) formule_=FORMULE_GODA_SANS_PENTE;
+ else if (_file.sval.equals("goda_avec")) formule_=FORMULE_GODA_AVEC_PENTE;
+ else if (_file.sval.equals("miche")) formule_=FORMULE_MICHE_MODIFIEE;
+ else if (_file.sval.equals("munk")) formule_=FORMULE_MUNK;
+ else throw new IOException();
+ }
+
+ // Angles d'incidence sur les frontières
+
+ aiss=new Vector();
+ while (_file.nextToken()!=WORD || !_file.sval.equals("<fin>")) {
+
+ // Pour chaque contour
+ ais=new Vector();
+
+ while (_file.ttype!=WORD || !_file.sval.equals("<fin>")) {
+ if (_file.ttype==EOF) throw new IOException();
+
+ // Abscisse de début de segment
+ if (_file.ttype!=WORD) throw new IOException();
+ sDeb=Double.parseDouble(_file.sval);
+
+ // Abscisse de fin du segment
+ if (_file.nextToken()!=WORD) throw new IOException();
+ sFin=Double.parseDouble(_file.sval);
+
+ // Type de l'angle
+ if (_file.nextToken()!=WORD) throw new IOException();
+
+ // Absolu => Angle absolu
+ if (_file.sval.equals("absolu")) {
+ if (_file.nextToken()!=WORD) throw new IOException();
+ angle=Double.parseDouble(_file.sval);
+
+ ai=new RefondeAngle();
+ ai.setAbsolu(sDeb,sFin,angle);
+ }
+
+ // Relatif => Angle par rapport a la normale sur le bord
+ else if (_file.sval.equals("relatif")) {
+ if (_file.nextToken()!=WORD) throw new IOException();
+ angle=Double.parseDouble(_file.sval);
+
+ ai=new RefondeAngle();
+ ai.setRelatif(sDeb,sFin,angle);
+ }
+
+ // Diffracté => Position x, y du point de diffraction
+ else if (_file.sval.equals("diffracte")) {
+ ptDiff=new GrPoint();
+ if (_file.nextToken()!=WORD) throw new IOException();
+ ptDiff.x=Double.parseDouble(_file.sval);
+ if (_file.nextToken()!=WORD) throw new IOException();
+ ptDiff.y=Double.parseDouble(_file.sval);
+ ptDiff.z=0.;
+
+ ai=new RefondeAngle();
+ ai.setDiffracte(sDeb,sFin,ptDiff);
+ }
+
+ else throw new IOException();
+
// Angle supplémentaire associé.
***************
*** 1113,1117 ****
* Lecture des informations sur version courante
*/
! private void lire512(RefondeProjet _projet, StreamTokenizer _file)
throws RefondeIOException, IOException {
double val=0;
--- 1475,1479 ----
* Lecture des informations sur version courante
*/
! private void lire(RefondeProjet _projet, StreamTokenizer _file)
throws RefondeIOException, IOException {
double val=0;
***************
*** 1148,1161 ****
hauteurMer_=Double.parseDouble(_file.sval);
- // Profondeur d'origine (inutilisée à partir de version 5.12. A supprimer).
- if (_file.nextToken()!=WORD) throw new IOException();
- // profondeurOrigine_=Double.parseDouble(_file.sval);
- double dummy=Double.parseDouble(_file.sval);
-
// Cas de bord ouvert
if (_file.nextToken()!=WORD) throw new IOException();
! if (_file.sval.equals("cond_absorbante")) casBordOuvert_=0;
! else if (_file.sval.equals("fa_ile")) casBordOuvert_=1;
! else if (_file.sval.equals("fa_port")) casBordOuvert_=2;
else throw new IOException();
--- 1510,1519 ----
hauteurMer_=Double.parseDouble(_file.sval);
// Cas de bord ouvert
if (_file.nextToken()!=WORD) throw new IOException();
! if (_file.sval.equals("cond_abs_ordre1")) casBordOuvert_=BORD_COND_ORDRE_1;
! else if (_file.sval.equals("cond_abs_ordre2")) casBordOuvert_=BORD_COND_ORDRE_2;
! else if (_file.sval.equals("fa_ile")) casBordOuvert_=BORD_FORM_ANA_ILE;
! else if (_file.sval.equals("fa_port")) casBordOuvert_=BORD_FORM_ANA_PORT;
else throw new IOException();
***************
*** 1164,1167 ****
--- 1522,1531 ----
ordreMax_=(int)Double.parseDouble(_file.sval);
+ // Fonds poreux
+ if (_file.nextToken()!=WORD) throw new IOException();
+ if (_file.sval.equals("poreux")) fondsPoreux_=true;
+ else if (_file.sval.equals("non_poreux")) fondsPoreux_=false;
+ else throw new IOException();
+
// Paramètres de houle
***************
*** 1304,1307 ****
--- 1668,1694 ----
else throw new IOException();
+ // Angle supplémentaire associé.
+
+ // Type de l'angle supplémentaire
+ if (_file.nextToken()!=WORD) throw new IOException();
+
+ // Absolu => Angle absolu
+ if (_file.sval.equals("absolu")) {
+ if (_file.nextToken()!=WORD) throw new IOException();
+ angle=Double.parseDouble(_file.sval);
+
+ ai.setSupAbsolu(angle);
+ }
+
+ // Relatif => Angle par rapport a la normale sur le bord
+ else if (_file.sval.equals("relatif")) {
+ if (_file.nextToken()!=WORD) throw new IOException();
+ angle=Double.parseDouble(_file.sval);
+
+ ai.setSupRelatif(angle);
+ }
+
+ else throw new IOException();
+
_file.nextToken();
ais.add(ai);
***************
*** 1492,1506 ****
// Profondeur d'origine (inutilisé, à supprimer du format).
// file.print(profondeurOrigine_+" ; ");
! file.print("0 ; ");
// Cas de bord ouvert
switch (casBordOuvert_) {
! case 0: file.print("cond_absorbante ; "); break;
! case 1: file.print("fa_ile ; ") ; break;
! case 2: file.print("fa_port ; "); ; break;
}
// Ordre max de troncature
! file.print(ordreMax_);
file.println();
--- 1879,1897 ----
// Profondeur d'origine (inutilisé, à supprimer du format).
// file.print(profondeurOrigine_+" ; ");
! // file.print("0 ; ");
// Cas de bord ouvert
switch (casBordOuvert_) {
! case BORD_COND_ORDRE_1: file.print("cond_abs_ordre1 ; "); break;
! case BORD_COND_ORDRE_2: file.print("cond_abs_ordre2 ; "); break;
! case BORD_FORM_ANA_ILE: file.print("fa_ile ; ") ; break;
! case BORD_FORM_ANA_PORT: file.print("fa_port ; ") ; break;
}
// Ordre max de troncature
! file.print(ordreMax_+" ; ");
!
! // Fonds poreux
! file.print(fondsPoreux_ ? "poreux":"non_poreux");
file.println();
|
|
From: <bma...@us...> - 2003-02-18 16:50:37
|
Update of /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/refonde
In directory sc8-pr-cvs1:/tmp/cvs-serv21359
Modified Files:
RefondeModeleProprietes.java
Log Message:
Ajout des domaines poreux dans le modèle, gestion de la sauvegarde/restitution.
Index: RefondeModeleProprietes.java
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/refonde/RefondeModeleProprietes.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** RefondeModeleProprietes.java 30 Jan 2003 13:09:46 -0000 1.1
--- RefondeModeleProprietes.java 18 Feb 2003 16:50:33 -0000 1.2
***************
*** 31,34 ****
--- 31,36 ----
// private Hashtable bord2Gp=new Hashtable();
boolean modifie;
+ /** Domaines poreux */
+ private Vector poreux_=new Vector();
/**
***************
*** 101,104 ****
--- 103,129 ----
/**
+ * Ajoute d'un domaine poreux.
+ */
+ public void addDomainePoreux(RefondeDomainePoreux _dm) {
+ poreux_.add(_dm);
+ modifie=true;
+ }
+
+ /**
+ * Suppression d'un domaine poreux.
+ */
+ public void removeDomainePoreux(RefondeDomainePoreux _dm) {
+ poreux_.remove(_dm);
+ modifie=true;
+ }
+
+ /**
+ * Retourne les domaines poreux.
+ */
+ public RefondeDomainePoreux[] getDomainesPoreux() {
+ return (RefondeDomainePoreux[])poreux_.toArray(new RefondeDomainePoreux[0]);
+ }
+
+ /**
* Lecture d'un modele de propriétés.
* @param _fichier Nom du fichier modele de propriétés.
***************
*** 155,160 ****
// Lecture par version
! if (version.compareTo("5.06")<=0) prp.lire506(_projet,file);
! else prp.lire(_projet,file);
}
catch (NumberFormatException _exc) {
--- 180,187 ----
// Lecture par version
! if (version.compareTo("5.06")<=0) prp.lire506(_projet,file);
! else if (version.compareTo("5.14")<=0) prp.lire514(_projet,file);
! // Ajout des domaines poreux
! else prp.lire(_projet,file);
}
catch (NumberFormatException _exc) {
***************
*** 197,201 ****
/**
! * Lecture des informations sur version 506
*/
private void lire506(RefondeProjet _projet, StreamTokenizer _file)
--- 224,228 ----
/**
! * Lecture des informations sur version 506 et moins
*/
private void lire506(RefondeProjet _projet, StreamTokenizer _file)
***************
*** 292,298 ****
/**
! * Lecture des informations sur version courante
*/
! private void lire(RefondeProjet _projet, StreamTokenizer _file)
throws IOException {
RefondePropriete[] prs;
--- 319,325 ----
/**
! * Lecture des informations sur version 514 et moins
*/
! private void lire514(RefondeProjet _projet, StreamTokenizer _file)
throws IOException {
RefondePropriete[] prs;
***************
*** 432,435 ****
--- 459,663 ----
/**
+ * Lecture des informations sur version courante
+ */
+ private void lire(RefondeProjet _projet, StreamTokenizer _file)
+ throws IOException {
+ RefondePropriete[] prs;
+ RefondeGroupeProprietes gp;
+ RefondePolyligne pl;
+ RefondeDomaineDigue dm;
+ RefondeGeometrie geo=_projet.getGeometrie();
+
+ Vector vdms=geo.getDomaines();
+ Vector vpls=geo.getPolylignes();
+
+ int tpPr;
+ int tpGp;
+ double valPr;
+ int nbGp;
+ double val;
+ int ival;
+
+ // Identifiant de géométrie
+ if (_file.nextToken()!=WORD || !_file.sval.equals("<identifiant_geometrie>"))
+ throw new IOException();
+ if (_file.nextToken()!=WORD || Integer.parseInt(_file.sval)!=geo.identifiant())
+ throw new RefondeIOException(
+ "Le numéro de version de la géométrie n'est pas compatible avec le projet");
+
+ //--- Groupes de propriétés de bord --------------------------------------
+
+ while (_file.nextToken()==WORD && !_file.sval.equals("<fin>")) {
+
+ // Numéro de polyligne
+ ival=Integer.parseInt(_file.sval);
+ if (ival<0 || ival>vpls.size()-1) throw new IOException();
+ pl=(RefondePolyligne)vpls.get(ival);
+
+ // Type de groupe
+ if (_file.nextToken()!=WORD) throw new IOException();
+ if (_file.sval.equals("ouvert_entree"))
+ tpGp=RefondeGroupeProprietes.HOULE_BORD_OUVERT_ENTREE;
+ else if (_file.sval.equals("ouvert_sortie"))
+ tpGp=RefondeGroupeProprietes.HOULE_BORD_OUVERT_SORTIE;
+ else if (_file.sval.equals("semi_reflechissant"))
+ tpGp=RefondeGroupeProprietes.HOULE_BORD_SEMI_REFLECHISSANT;
+ else throw new IOException();
+
+ // Pour chaque propriété
+
+ prs=new RefondePropriete[RefondeGroupeProprietes.typesProprietes[tpGp].length];
+ for (int i=0; i<prs.length; i++) {
+
+ // Type de propriété
+ if (_file.nextToken()!=WORD) throw new IOException();
+ if (_file.sval.equals("reflexion")) tpPr=RefondePropriete.REFLEXION;
+ else throw new IOException();
+ if (tpPr!=RefondeGroupeProprietes.typesProprietes[tpGp][i])
+ throw new IOException();
+
+ // Comportement (stationnaire uniquement autorisé)
+ if (_file.nextToken()!=WORD) throw new IOException();
+ if (!_file.sval.equals("stationnaire")) throw new IOException();
+
+ // Valeur de la propriété
+ if (_file.nextToken()!=WORD) throw new IOException();
+ valPr=Double.parseDouble(_file.sval);
+
+ prs[i]=new RefondePropriete(tpPr,valPr);
+ }
+
+ if (_file.nextToken()!=WORD || !_file.sval.equals("<fin>"))
+ throw new IOException();
+
+ gp=new RefondeGroupeProprietes(tpGp,prs);
+ pl.setGroupeProprietes(gp);
+ }
+
+ //--- Groupes de propriétés de fond --------------------------------------
+
+ // Nombre de groupes de propriétés de fond
+ if (_file.nextToken()!=WORD || !_file.sval.equals("<proprietes_fond>"))
+ throw new IOException();
+ if (_file.nextToken()!=WORD) throw new IOException();
+ nbGp=Integer.parseInt(_file.sval);
+
+ // Groupes de propriétés
+ for (int i=0; i<nbGp; i++) {
+
+ // Numéro de domaine
+ if (_file.nextToken()!=WORD) throw new IOException();
+ ival=Integer.parseInt(_file.sval);
+ if (ival<0 || ival>vpls.size()-1) throw new IOException();
+ if (!(vdms.get(ival) instanceof RefondeDomaineDigue))
+ throw new IOException();
+ dm=(RefondeDomaineDigue)vdms.get(ival);
+
+ // Type du groupe de propriété
+ if (_file.nextToken()!=WORD) throw new IOException();
+ if (_file.sval.equals("digue_transmissible"))
+ tpGp=RefondeGroupeProprietes.HOULE_FOND_DIGUE_TRANSMISSIBLE;
+ else if (_file.sval.equals("digue_perforee"))
+ tpGp=RefondeGroupeProprietes.HOULE_FOND_PAROI_PERFOREE;
+ else throw new IOException();
+
+ // Pour chaque propriété
+
+ prs=new RefondePropriete[RefondeGroupeProprietes.typesProprietes[tpGp].length];
+ for (int j=0; j<prs.length; j++) {
+
+ // Type de propriété
+ if (_file.nextToken()!=WORD) throw new IOException();
+ if (_file.sval.equals("perte_charge_i" )) tpPr=RefondePropriete.PERTE_CHARGE_I;
+ else if (_file.sval.equals("perte_charge_r" )) tpPr=RefondePropriete.PERTE_CHARGE_R;
+ else if (_file.sval.equals("porosite" )) tpPr=RefondePropriete.POROSITE;
+ else if (_file.sval.equals("contraction" )) tpPr=RefondePropriete.CONTRACTION;
+ else if (_file.sval.equals("intg_verticale" )) tpPr=RefondePropriete.INTG_VERTICALE;
+ else if (_file.sval.equals("reflexion" )) tpPr=RefondePropriete.REFLEXION;
+ else if (_file.sval.equals("transmission" )) tpPr=RefondePropriete.TRANSMISSION;
+ else if (_file.sval.equals("dp_reflexion" )) tpPr=RefondePropriete.DP_REFLEXION;
+ else if (_file.sval.equals("dp_transmission")) tpPr=RefondePropriete.DP_TRANSMISSION;
+ else throw new IOException();
+ if (tpPr!=RefondeGroupeProprietes.typesProprietes[tpGp][j])
+ throw new IOException();
+
+ // Comportement (stationnaire uniquement autorisé)
+ if (_file.nextToken()!=WORD) throw new IOException();
+ if (!_file.sval.equals("stationnaire")) throw new IOException();
+
+ // Valeur de la propriété
+ if (_file.nextToken()!=WORD) throw new IOException();
+ valPr=Double.parseDouble(_file.sval);
+
+ prs[j]=new RefondePropriete(tpPr,valPr);
+ }
+
+ gp=new RefondeGroupeProprietes(tpGp,prs);
+ dm.setGroupeProprietes(gp);
+ }
+
+ //--- Domaines poreux -----------------------------------------------------
+
+ {
+ // Nombre de domaines poreux
+ if (_file.nextToken()!=WORD || !_file.sval.equals("<domaines_poreux>"))
+ throw new IOException();
+ if (_file.nextToken()!=WORD) throw new IOException();
+ int nb=Integer.parseInt(_file.sval);
+
+ // Domaines poreux
+ for (int i=0; i<nb; i++) {
+ RefondeDomainePoreux dmp=new RefondeDomainePoreux();
+ GrPoint[] pts=dmp.getPoints();
+ GrPoint[] ptsPlan=dmp.getPointsPlan();
+
+ // Limites xmin, xmax, ymin, ymax
+ if (_file.nextToken()!=WORD) throw new IOException();
+ pts[0].x=Double.parseDouble(_file.sval);
+ if (_file.nextToken()!=WORD) throw new IOException();
+ pts[1].x=Double.parseDouble(_file.sval);
+ if (_file.nextToken()!=WORD) throw new IOException();
+ pts[0].y=Double.parseDouble(_file.sval);
+ if (_file.nextToken()!=WORD) throw new IOException();
+ pts[1].y=Double.parseDouble(_file.sval);
+
+ // Points du plan
+ for (int j=0; j<ptsPlan.length; j++) {
+ //... x
+ if (_file.nextToken()!=WORD) throw new IOException();
+ ptsPlan[j].x=Double.parseDouble(_file.sval);
+ //... y
+ if (_file.nextToken()!=WORD) throw new IOException();
+ ptsPlan[j].y=Double.parseDouble(_file.sval);
+ //... z
+ if (_file.nextToken()!=WORD) throw new IOException();
+ ptsPlan[j].z=Double.parseDouble(_file.sval);
+ //... z automatique ou manuel
+ if (_file.nextToken()!=WORD) throw new IOException();
+ if (_file.sval.equals("z_automatique")) dmp.setZAutomatique(true,j);
+ else if (_file.sval.equals("z_manuel")) dmp.setZAutomatique(false,j);
+ else throw new IOException();
+ }
+
+ //... Porosité
+ if (_file.nextToken()!=WORD) throw new IOException();
+ dmp.porosite_=Double.parseDouble(_file.sval);
+ //... Coefficient de frottement
+ if (_file.nextToken()!=WORD) throw new IOException();
+ dmp.coefFrottement_=Double.parseDouble(_file.sval);
+ //... Perméabilité
+ if (_file.nextToken()!=WORD) throw new IOException();
+ dmp.permeabilite_=Double.parseDouble(_file.sval);
+ //... Coefficient de masse virtuelle
+ if (_file.nextToken()!=WORD) throw new IOException();
+ dmp.coefMasse_=Double.parseDouble(_file.sval);
+
+ dmp.setPoints(pts);
+ addDomainePoreux(dmp);
+ }
+ }
+ }
+
+ /**
* Ecriture des informations sur le fichier associé
*/
***************
*** 463,467 ****
file.println();
! // Groupes de propriétés de bord
for (int i=0; i<vpls.size(); i++) {
--- 691,695 ----
file.println();
! //--- Groupes de propriétés de bord ------------------------------------
for (int i=0; i<vpls.size(); i++) {
***************
*** 507,511 ****
file.println();
! // Groupes de propriétés de fond
// Nombre de groupes de propriétés de fond
--- 735,739 ----
file.println();
! //--- Groupes de propriétés de fond ------------------------------------
// Nombre de groupes de propriétés de fond
***************
*** 552,555 ****
--- 780,824 ----
file.println(prs[j].getValeur());
}
+ }
+ file.println();
+
+ //--- Domaines poreux ---------------------------------------------------
+
+ // Nombre de domaines poreux
+ file.println("<domaines_poreux> ; "+poreux_.size());
+
+ // Domaines poreux
+ for (int i=0; i<poreux_.size(); i++) {
+ RefondeDomainePoreux dmp=(RefondeDomainePoreux)poreux_.get(i);
+ GrPoint[] pts=dmp.getPoints();
+ GrPoint[] ptsPlan=dmp.getPointsPlan();
+
+ // Limites xmin, xmax, ymin, ymax
+ file.print(pts[0].x+" ; ");
+ file.print(pts[1].x+" ; ");
+ file.print(pts[0].y+" ; ");
+ file.println(pts[1].y);
+
+ // Points du plan
+ for (int j=0; j<ptsPlan.length; j++) {
+ //... x
+ file.print(ptsPlan[j].x+" ; ");
+ //... y
+ file.print(ptsPlan[j].y+" ; ");
+ //... z
+ file.print(ptsPlan[j].z+" ; ");
+ //... z automatique ou manuel
+ if (dmp.isZAutomatique(j)) file.println("z_automatique");
+ else file.println("z_manuel");
+ }
+
+ //... Porosité
+ file.print(dmp.porosite_+" ; ");
+ //... Coefficient de frottement
+ file.print(dmp.coefFrottement_+" ; ");
+ //... Perméabilité
+ file.print(dmp.permeabilite_+" ; ");
+ //... Coefficient de masse virtuelle
+ file.println(dmp.coefMasse_);
}
}
|
|
From: <bma...@us...> - 2003-02-18 16:48:48
|
Update of /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/refonde
In directory sc8-pr-cvs1:/tmp/cvs-serv20102
Modified Files:
RefondeRefonde.java
Log Message:
Couplage à Refonde V2.2
- Introduction du déferlement dissipatif pour houle aléatoire.
- Introduction des domaines poreux et du bloc PORO correspondant.
- Suppression des blocs COND et SOLC.
Index: RefondeRefonde.java
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/refonde/RefondeRefonde.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** RefondeRefonde.java 30 Jan 2003 13:09:46 -0000 1.1
--- RefondeRefonde.java 18 Feb 2003 16:48:41 -0000 1.2
***************
*** 15,20 ****
import org.fudaa.dodico.objet.*;
import org.fudaa.dodico.corba.objet.*;
! import JSci.maths.DoubleMath;
import org.fudaa.ebli.geometrie.*;
/**
--- 15,22 ----
import org.fudaa.dodico.objet.*;
import org.fudaa.dodico.corba.objet.*;
! //import JSci.maths.DoubleMath;
import org.fudaa.ebli.geometrie.*;
+ import org.fudaa.ebli.geometrie.*;
+ import org.fudaa.fudaa.commun.*;
/**
***************
*** 125,128 ****
--- 127,131 ----
RefondeModeleCalcul mdlCal;
RefondeGeometrie geo;
+ RefondeDomainePoreux[] dmps;
Hashtable hconns=new Hashtable(); // Table des connectivités
***************
*** 131,135 ****
Vector vgpes =new Vector(); // Table des groupes
int numEle;
! boolean bspel; // Présence de super élément
//--------------------------------------------------------------------------
--- 134,138 ----
Vector vgpes =new Vector(); // Table des groupes
int numEle;
! boolean bspel; // Présence de super élément (formulations analytiques)
//--------------------------------------------------------------------------
***************
*** 177,180 ****
--- 180,197 ----
"Remaillez avec un raffinement moindre ou modifiez Refonde.");
+ // Contrôle que les points de plan des domaines poreux sont correctement
+ // renseignés en Z si prise en compte de la porosité
+ if (mdlCal.isFondsPoreux()) {
+ dmps=mdlPrp.getDomainesPoreux();
+ for (int i=0; i<dmps.length; i++) {
+ GrPoint[] ptsPlan=dmps[i].getPointsPlan();
+ for (int j=0; j<ptsPlan.length; j++) {
+ if (dmps[i].isZAutomatique(j) && !geo.contient(ptsPlan[j]))
+ throw new IllegalArgumentException(
+ "Un point du plan d'un domaine poreux est\n"+
+ "hors géométrie et non renseigné en z.");
+ }
+ }
+ }
//--------------------------------------------------------------------------
***************
*** 410,414 ****
// Types
! Integer type=new Integer(1);
for (int j=0; j<els.length; j++) {
int num=((RefondeElementData)els[j].data()).numero;
--- 427,431 ----
// Types
! Integer type=new Integer(mdlCal.isFondsPoreux() ? 21:1);
for (int j=0; j<els.length; j++) {
int num=((RefondeElementData)els[j].data()).numero;
***************
*** 684,689 ****
// Recherche d'un groupe de propriétés équivalent
! // Cas d'une frontière ouverte en super élément
! if (type>4) {
bspel=true;
spGpe=gpe;
--- 701,706 ----
// Recherche d'un groupe de propriétés équivalent
! // Cas d'une frontière ouverte en super élément (formulations analytiques)
! if (type==14 || type==24) {
bspel=true;
spGpe=gpe;
***************
*** 848,852 ****
_params.nbGroupesPE =vgpes.size();
_params.ordreMax =mdlCal.ordreMax();
! _params.casBordOuvert=(mdlCal.casBordOuvert()==0 ? 1 : 2);
_params.connectivites=new SParametresRefondeConnectivite[hconns.size()];
--- 865,869 ----
_params.nbGroupesPE =vgpes.size();
_params.ordreMax =mdlCal.ordreMax();
! _params.casBordOuvert=(bspel ? 2:1);
_params.connectivites=new SParametresRefondeConnectivite[hconns.size()];
***************
*** 883,887 ****
//--- Bloc 'SOLC' --------------------------------------------------------
//--------------------------------------------------------------------------
! {
// Calcul itératif de la longueur d'onde
double onde1=0;
--- 900,906 ----
//--- Bloc 'SOLC' --------------------------------------------------------
//--------------------------------------------------------------------------
!
! // Bloc supprimé du fichier .inp le 04/02/03
! /* {
// Calcul itératif de la longueur d'onde
double onde1=0;
***************
*** 907,913 ****
}
_params.longueurOnde=onde1;
! // _params.angleHoule =mdlCal.angleHoule();
! _params.hauteurHoule=mdlCal.hauteurHoule();
}
--- 926,1013 ----
}
_params.longueurOnde=onde1;
+ } */
! //--------------------------------------------------------------------------
! //--- Bloc 'PORO' --------------------------------------------------------
! //--------------------------------------------------------------------------
! {
! _params.fondsPoreux=mdlCal.isFondsPoreux();
!
! if (mdlCal.isFondsPoreux()) {
! dmps=mdlPrp.getDomainesPoreux();
!
! // Interpolation pour les points du plan des domaines
!
! FudaaInterpolateurMaillage it=null;
! for (int i=0; i<dmps.length; i++) {
!
! // Calcul des z des points de définition des domaines poreux à
! // z automatique
! GrPoint[] ptsPlan=dmps[i].getPointsPlan();
! for (int j=0; j<ptsPlan.length; j++) {
! if (dmps[i].isZAutomatique(j)) {
! if (it==null) it=new FudaaInterpolateurMaillage(mai); // Initialisé uniquement si nécessaire
! ptsPlan[j]=it.interpolePoint(ptsPlan[j]);
! }
! }
! dmps[i].setPointsPlan(ptsPlan); // Réinitialisation du plan avec Z correct.
! }
!
! // Recherche des noeuds concernés
!
! GrNoeud[] nds=mai.noeuds();
! Vector[] vnoeuds=new Vector[dmps.length];
! Vector[] vepaisseurs=new Vector[dmps.length];
! int nbPoreux=0;
!
! // Pour chaque noeud
! for (int i=0; i<nds.length; i++) {
! // Pour chaque domaine
! for (int j=0; j<dmps.length; j++) {
!
! // Le noeud est dans les limites du domaine
! if (dmps[j].contientXY(nds[i].point)) {
! double zplan=dmps[j].calculeZ(nds[i].point);
! double epaisseur=zplan-nds[i].point.z;
! // Ajout du noeud pour ce domaine
! if (epaisseur>0) {
! if (vnoeuds[j]==null) {
! nbPoreux++;
! vnoeuds[j]=new Vector();
! vepaisseurs[j]=new Vector();
! }
! vnoeuds[j].add(nds[i]);
! vepaisseurs[j].add(new Double(epaisseur));
! }
! break;
! }
! }
! }
!
! // Transfert des informations
! SParametresRefondeDomainePoreux[] rdmps=
! new SParametresRefondeDomainePoreux[nbPoreux];
!
! nbPoreux=0;
! for (int i=0; i<dmps.length; i++) {
! if (vnoeuds[i]==null) continue;
!
! int[] numNds=new int[vnoeuds[i].size()];
! for (int j=0; j<numNds.length; j++) numNds[j]=
! ((RefondeNoeudData)((GrNoeud)vnoeuds[i].get(j)).data()).numero;
!
! double[] epaisseurs=new double[vepaisseurs[i].size()];
! for (int j=0; j<epaisseurs.length; j++)
! epaisseurs[j]=((Double)vepaisseurs[i].get(j)).doubleValue();
!
! rdmps[nbPoreux]=new SParametresRefondeDomainePoreux(
! dmps[i].porosite_,dmps[i].coefFrottement_,dmps[i].permeabilite_,
! dmps[i].coefMasse_,numNds,epaisseurs);
!
! nbPoreux++;
! }
!
! _params.domainePoreux=rdmps;
! }
}
***************
*** 916,923 ****
//--------------------------------------------------------------------------
{
- // _params.periodeHoule =mdlCal.periodeHoule();
_params.penteFonds =1;
_params.profondeurOrigine=0; // Inutile si pente fond=1
_params.hauteurMer =mdlCal.hauteurMer();
}
--- 1016,1023 ----
//--------------------------------------------------------------------------
{
_params.penteFonds =1;
_params.profondeurOrigine=0; // Inutile si pente fond=1
_params.hauteurMer =mdlCal.hauteurMer();
+ _params.hauteurHoule =mdlCal.hauteurHoule();
}
|
|
From: <bma...@us...> - 2003-02-18 16:46:23
|
Update of /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/refonde
In directory sc8-pr-cvs1:/tmp/cvs-serv18743/src/org/fudaa/fudaa/refonde
Modified Files:
RefondeDialogParametresCalcul.java
Log Message:
- Ajout d'un parametre "prise en compte des fonds poreux" et ajout d'une "condition absorbante d'ordre 2" pour le traitement des frontières.
- Le terme dissipatif est autorisé pour la houle aléatoire.
Index: RefondeDialogParametresCalcul.java
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/refonde/RefondeDialogParametresCalcul.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** RefondeDialogParametresCalcul.java 30 Jan 2003 13:09:46 -0000 1.1
--- RefondeDialogParametresCalcul.java 18 Feb 2003 16:46:18 -0000 1.2
***************
*** 42,45 ****
--- 42,47 ----
JTextField tfOrdreMax = new JTextField();
JComboBox coCasBord = new JComboBox();
+ JLabel lbFondsPoreux=new JLabel();
+ JCheckBox cbFondsPoreux=new JCheckBox();
// JTextField tfNbIterHR = new JTextField();
// JLabel lbNbIterHR = new JLabel();
***************
*** 101,104 ****
--- 103,110 ----
JLabel lbHtHouleHR = new JLabel();
+ public RefondeDialogParametresCalcul() {
+ this(null,null);
+ }
+
public RefondeDialogParametresCalcul(RefondeFilleCalques _fnCalques) {
this(null,_fnCalques);
***************
*** 134,137 ****
--- 140,144 ----
lbCasBord .setText("Traitement des frontières ouvertes :");
lbOrdreMax .setText("Ordre de troncature max :");
+ lbFondsPoreux.setText("Prise en compte des fonds poreux :");
lbHtMer .setHorizontalAlignment(SwingConstants.TRAILING);
***************
*** 140,150 ****
lbOrdreMax .setHorizontalAlignment(SwingConstants.TRAILING);
! coCasBord .addItem("Condition absorbante");
coCasBord .addItem("Formulation analytique - île");
coCasBord .addItem("Formulation analytique - port");
coCasBord .addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent _evt) {
! lbOrdreMax.setEnabled(coCasBord.getSelectedIndex()!=0);
! tfOrdreMax.setEnabled(coCasBord.getSelectedIndex()!=0);
}
});
--- 147,158 ----
lbOrdreMax .setHorizontalAlignment(SwingConstants.TRAILING);
! coCasBord .addItem("Condition absorbante ordre 1");
! coCasBord .addItem("Condition absorbante ordre 2");
coCasBord .addItem("Formulation analytique - île");
coCasBord .addItem("Formulation analytique - port");
coCasBord .addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent _evt) {
! lbOrdreMax.setEnabled(coCasBord.getSelectedIndex()>1);
! tfOrdreMax.setEnabled(coCasBord.getSelectedIndex()>1);
}
});
***************
*** 164,167 ****
--- 172,177 ----
pnGene.add(lbOrdreMax);
pnGene.add(tfOrdreMax);
+ pnGene.add(lbFondsPoreux);
+ pnGene.add(cbFondsPoreux);
//--- Houle --------------------------------------------------------------
***************
*** 175,179 ****
else lyParams.show(pnParams,"pnParamsHA");
! rbDissipatif.setEnabled(rbHR.isSelected());
if (!rbDissipatif.isEnabled() && rbDissipatif.isSelected()) {
--- 185,190 ----
else lyParams.show(pnParams,"pnParamsHA");
! // B.M. Le 04/02/2003 Le terme dissipatif est autorisé pour la houle aléatoire.
! /* rbDissipatif.setEnabled(rbHR.isSelected());
if (!rbDissipatif.isEnabled() && rbDissipatif.isSelected()) {
***************
*** 182,186 ****
"terme dissipatif").activate();
rbSans.setSelected(true);
! }
}
});
--- 193,197 ----
"terme dissipatif").activate();
rbSans.setSelected(true);
! }*/
}
});
***************
*** 385,390 ****
tfHtMer .setText(""+mdlCal.hauteurMer());
// tfProfExterne.setText(""+mdlCal.profondeurOrigine());
! coCasBord .setSelectedIndex(mdlCal.casBordOuvert());
tfOrdreMax .setText(""+mdlCal.ordreMax());
// Houle régulière
--- 396,407 ----
tfHtMer .setText(""+mdlCal.hauteurMer());
// tfProfExterne.setText(""+mdlCal.profondeurOrigine());
! switch (mdlCal.casBordOuvert()) {
! case RefondeModeleCalcul.BORD_COND_ORDRE_1: coCasBord.setSelectedIndex(0); break;
! case RefondeModeleCalcul.BORD_COND_ORDRE_2: coCasBord.setSelectedIndex(1); break;
! case RefondeModeleCalcul.BORD_FORM_ANA_ILE: coCasBord.setSelectedIndex(2); break;
! case RefondeModeleCalcul.BORD_FORM_ANA_PORT: coCasBord.setSelectedIndex(3); break;
! }
tfOrdreMax .setText(""+mdlCal.ordreMax());
+ cbFondsPoreux.setSelected(mdlCal.fondsPoreux_);
// Houle régulière
***************
*** 442,449 ****
double oldAngle=mdlCal.angleHoule();
! double htMer=0;
// double profExterne=0;
! int casBord=0;
! int ordreMax=0;
double periode=0;
--- 459,467 ----
double oldAngle=mdlCal.angleHoule();
! double htMer=0;
// double profExterne=0;
! int casBord=0;
! int ordreMax=0;
! boolean fondsPoreux=false;
double periode=0;
***************
*** 469,474 ****
htMer =Double.parseDouble(tfHtMer.getText());
// profExterne=Double.parseDouble(tfProfExterne.getText());
! casBord =coCasBord.getSelectedIndex();
ordreMax =Integer.parseInt(tfOrdreMax.getText());
// Houle régulière
--- 487,498 ----
htMer =Double.parseDouble(tfHtMer.getText());
// profExterne=Double.parseDouble(tfProfExterne.getText());
! switch (coCasBord.getSelectedIndex()) {
! case 0: casBord=RefondeModeleCalcul.BORD_COND_ORDRE_1; break;
! case 1: casBord=RefondeModeleCalcul.BORD_COND_ORDRE_2; break;
! case 2: casBord=RefondeModeleCalcul.BORD_FORM_ANA_ILE; break;
! case 3: casBord=RefondeModeleCalcul.BORD_FORM_ANA_PORT; break;
! }
ordreMax =Integer.parseInt(tfOrdreMax.getText());
+ fondsPoreux=cbFondsPoreux.isSelected();
// Houle régulière
***************
*** 559,562 ****
--- 583,587 ----
mdlCal.casBordOuvert(casBord);
mdlCal.ordreMax(ordreMax);
+ mdlCal.setFondsPoreux(fondsPoreux);
// Houle régulière
***************
*** 603,607 ****
}
finally {
! fnCalques_.clAngles.initialise(projet_);
fnCalques_.getVueCalque().repaint();
}
--- 628,632 ----
}
finally {
! fnCalques_.cqAngles.initialise(projet_);
fnCalques_.getVueCalque().repaint();
}
***************
*** 609,612 ****
--- 634,649 ----
}
return true;
+ }
+
+ /**
+ * Pour test de la boite de dialogue.
+ */
+ public static void main(String[] _args) {
+ try {
+ UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
+ }
+ catch (Exception _exc) {}
+
+ new RefondeDialogParametresCalcul().show();
}
}
|
|
From: <bma...@us...> - 2003-02-18 16:43:10
|
Update of /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/refonde
In directory sc8-pr-cvs1:/tmp/cvs-serv16988/src/org/fudaa/fudaa/refonde
Added Files:
RefondeDialogProprietesPoreux.java
Log Message:
Un dialogue pour les propriétés du domaine poreux.
--- NEW FILE: RefondeDialogProprietesPoreux.java ---
/*
* @file RefondeDialogDomainePoreux.java
* @creation 2003-02-10
* @modification $Date: 2003/02/18 16:43:06 $
* @license GNU General Public License 2
* @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne
* @mail de...@fu...
*/
package org.fudaa.fudaa.refonde;
import org.fudaa.fudaa.commun.FudaaDialog;
import org.fudaa.ebli.geometrie.*;
import javax.swing.*;
import java.awt.*;
import java.text.*;
import com.memoire.bu.*;
import javax.swing.border.*;
import java.awt.event.*;
/**
* Affiche/modifie les propriétés d'un domaine poreux.
*
* @version $Id: RefondeDialogProprietesPoreux.java,v 1.1 2003/02/18 16:43:06 bmarchan Exp $
* @author Bertrand Marchand
*/
public class RefondeDialogProprietesPoreux extends FudaaDialog {
JTabbedPane pnOnglets = new JTabbedPane();
JPanel pnProprietes = new JPanel();
JPanel pnLimites = new JPanel();
BuGridLayout lyProprietes = new BuGridLayout();
JLabel lbPorosite = new JLabel();
JTextField tfPorosite = new JTextField();
JLabel lbFrottement = new JLabel();
JTextField tfFrottement = new JTextField();
JLabel lbPermeabilite = new JLabel();
JTextField tfPermeabilite = new JTextField();
JLabel lbCm = new JLabel();
JTextField tfCm = new JTextField();
Border bdpnProprietes;
BuGridLayout lyGeometrie = new BuGridLayout();
JLabel lbXmin = new JLabel();
JTextField tfXmin = new JTextField();
JLabel lbYmin = new JLabel();
JTextField tfYmin = new JTextField();
Border bdpnPoint2;
JLabel lbYmax = new JLabel();
JTextField tfYmax = new JTextField();
JLabel lbXmax = new JLabel();
JTextField tfXmax = new JTextField();
Border bdpnPoint1;
JPanel pnPlan = new JPanel();
BuGridLayout lyPlan = new BuGridLayout();
Border border1;
TitledBorder titledBorder1;
Border border2;
Border border3;
TitledBorder titledBorder2;
Border border4;
Border border5;
TitledBorder titledBorder3;
Border border6;
Border border7;
/** Domaine poreux */
private RefondeDomainePoreux domaine_;
/** Projet */
private RefondeProjet prj_=null;
/** Retourne le bouton activé */
public JButton reponse;
// private JTextField[] tfXPlanPt=new JTextField[3];
// private JTextField[] tfYPlanPt=new JTextField[3];
// private JTextField[] tfZPlanPt=new JTextField[3];
// private JCheckBox[] cbZPlanPt=new JCheckBox[3];
RefondePnPointPlan[] pnPlanPt=new RefondePnPointPlan[3];
RefondePnPointPlan pnPlanPt1 = new RefondePnPointPlan();
RefondePnPointPlan pnPlanPt2 = new RefondePnPointPlan();
RefondePnPointPlan pnPlanPt3 = new RefondePnPointPlan();
/**
* Création d'un dialogue sans parent.
*/
public RefondeDialogProprietesPoreux() {
this(null);
}
/**
* Création d'un dialogue avec parent.
*/
public RefondeDialogProprietesPoreux(Frame _parent) {
super(_parent);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
pnPlanPt[0]=pnPlanPt1;
pnPlanPt[1]=pnPlanPt2;
pnPlanPt[2]=pnPlanPt3;
// tfXPlanPt[0]=tfXPlanPt1;
// tfXPlanPt[1]=tfXPlanPt2;
// tfXPlanPt[2]=tfXPlanPt3;
//
// tfYPlanPt[0]=tfYPlanPt1;
// tfYPlanPt[1]=tfYPlanPt2;
// tfYPlanPt[2]=tfYPlanPt3;
//
// tfZPlanPt[0]=tfZPlanPt1;
// tfZPlanPt[1]=tfZPlanPt2;
// tfZPlanPt[2]=tfZPlanPt3;
//
// cbZPlanPt[0]=cbZPlanPt1;
// cbZPlanPt[1]=cbZPlanPt2;
// cbZPlanPt[2]=cbZPlanPt3;
}
private void jbInit() throws Exception {
bdpnPoint1 = BorderFactory.createCompoundBorder(new TitledBorder(BorderFactory.createEtchedBorder(Color.white,new Color(148, 145, 140)),"Premier point saisi"),BorderFactory.createEmptyBorder(5,5,5,5));
bdpnPoint2 = BorderFactory.createCompoundBorder(new TitledBorder(BorderFactory.createEtchedBorder(Color.white,new Color(148, 145, 140)),"Deuxième point saisi"),BorderFactory.createEmptyBorder(5,5,5,5));
border1 = BorderFactory.createEtchedBorder(Color.white,new Color(148, 145, 140));
titledBorder1 = new TitledBorder(border1,"Premier point");
border2 = BorderFactory.createCompoundBorder(new TitledBorder(BorderFactory.createEtchedBorder(Color.white,new Color(148, 145, 140)),"Deuxième point"),BorderFactory.createEmptyBorder(2,5,2,5));
border3 = BorderFactory.createEtchedBorder(Color.white,new Color(148, 145, 140));
titledBorder2 = new TitledBorder(border3,"Premier point");
border4 = BorderFactory.createCompoundBorder(new TitledBorder(BorderFactory.createEtchedBorder(Color.white,new Color(148, 145, 140)),"Premier point"),BorderFactory.createEmptyBorder(2,5,2,5));
border5 = BorderFactory.createEtchedBorder(Color.white,new Color(148, 145, 140));
titledBorder3 = new TitledBorder(border5,"Deuxième point");
border6 = BorderFactory.createCompoundBorder(new TitledBorder(BorderFactory.createEtchedBorder(Color.white,new Color(148, 145, 140)),"Troisième point"),BorderFactory.createEmptyBorder(2,5,2,5));
border7 = BorderFactory.createEmptyBorder(5,5,5,5);
lbYmax.setText("Y max :");
tfYmax.setColumns(12);
lbXmax.setText("X max :");
tfXmax.setColumns(12);
this.setTitle("Propriétés du domaine poreux");
pnLimites.setBorder(border7);
pnLimites.setToolTipText("Limites du domaine");
pnProprietes.setToolTipText("Propriétés du domaine");
pnPlan.setLayout(lyPlan);
lyPlan.setColumns(1);
lyPlan.setHgap(5);
lyPlan.setVgap(2);
lyGeometrie.setColumns(2);
lyGeometrie.setCfilled(false);
pnLimites.add(lbXmin, null);
pnLimites.add(tfXmin, null);
pnLimites.add(lbXmax, null);
pnLimites.add(tfXmax, null);
pnLimites.add(lbYmin, null);
pnLimites.add(tfYmin, null);
pnLimites.add(lbYmax, null);
pnLimites.add(tfYmax, null);
pnProprietes.add(lbPorosite, null);
pnProprietes.add(tfPorosite, null);
pnProprietes.add(lbFrottement, null);
pnProprietes.add(tfFrottement, null);
pnProprietes.add(lbPermeabilite, null);
pnProprietes.add(tfPermeabilite, null);
pnProprietes.add(lbCm, null);
pnProprietes.add(tfCm, null);
pnOnglets.add(pnProprietes, "Propriétés");
pnOnglets.setToolTipTextAt(0,"Propriétés du domaine ");
pnOnglets.add(pnLimites, "Limites");
pnOnglets.setToolTipTextAt(1,"Limites du domaine");
pnOnglets.add(pnPlan, "Plan");
pnPlan.add(pnPlanPt1, null);
pnPlan.add(pnPlanPt2, null);
pnPlan.add(pnPlanPt3, null);
pnOnglets.setToolTipTextAt(2,"Points du plan du domaine");
bdpnProprietes = BorderFactory.createEmptyBorder(5,5,5,5);
pnProprietes.setLayout(lyProprietes);
lyProprietes.setColumns(2);
lyProprietes.setHgap(5);
lyProprietes.setVgap(5);
lbPorosite.setHorizontalAlignment(SwingConstants.RIGHT);
lbPorosite.setText("Porosité :");
lbFrottement.setHorizontalAlignment(SwingConstants.RIGHT);
lbFrottement.setText("Coefficient de frottement :");
lbPermeabilite.setHorizontalAlignment(SwingConstants.RIGHT);
lbPermeabilite.setText("Perméabilité [cm2] :");
lbCm.setHorizontalAlignment(SwingConstants.RIGHT);
lbCm.setText("Coefficient de masse :");
pnProprietes.setBorder(bdpnProprietes);
tfPorosite.setColumns(8);
tfFrottement.setColumns(8);
tfPermeabilite.setColumns(8);
tfCm.setColumns(8);
pnLimites.setLayout(lyGeometrie);
lyGeometrie.setHgap(5);
lyGeometrie.setVgap(5);
lbXmin.setText("X min :");
tfXmin.setColumns(12);
lbYmin.setText("Y min :");
tfYmin.setColumns(12);
pnPlanPt1.setTitle("Premier point");
pnPlanPt2.setTitle("Deuxième point");
pnPlanPt3.setTitle("Troisième point");
this.getContentPane().add(pnOnglets, BorderLayout.NORTH);
this.pack();
}
// private void cbZPlanPt1_itemStateChanged(ItemEvent e) {
// tfZPlanPt1.setEnabled(!cbZPlanPt1.isSelected());
// }
//
// private void cbZPlanPt2_itemStateChanged(ItemEvent e) {
// tfZPlanPt2.setEnabled(!cbZPlanPt2.isSelected());
// }
//
// private void cbZPlanPt3_itemStateChanged(ItemEvent e) {
// tfZPlanPt3.setEnabled(!cbZPlanPt3.isSelected());
// }
protected void OK_BUTTON_actionPerformed(ActionEvent _evt) {
if (majBDD()) {
reponse=(JButton)_evt.getSource();
super.OK_BUTTON_actionPerformed(_evt);
}
}
/**
* Mise à jour de la base de données.
*
* @return <i>true</i> : La mise à jour s'est bien passée.
*/
private boolean majBDD() {
try {
// Panneau propriétés
double porosite =Double.parseDouble(tfPorosite.getText());
double coefFrottement=Double.parseDouble(tfFrottement.getText());
double permeabilite =Double.parseDouble(tfPermeabilite.getText());
double coefMasse =Double.parseDouble(tfCm.getText());
// Panneau limites
double xmin=Double.parseDouble(tfXmin.getText());
double ymin=Double.parseDouble(tfYmin.getText());
double xmax=Double.parseDouble(tfXmax.getText());
double ymax=Double.parseDouble(tfYmax.getText());
// Panneau points du plan
GrPoint[] ptsPlan=new GrPoint[3];
for (int i=0; i<3; i++) ptsPlan[i]=pnPlanPt[i].getPoint();
// Champs corrects => Mise à jour du domaine
domaine_.setPoints(new GrPoint[]{new GrPoint(xmin,ymin,0),new GrPoint(xmax,ymax,0)});
domaine_.setPointsPlan(ptsPlan);
for (int i=0; i<3; i++) domaine_.setZAutomatique(pnPlanPt[i].isZAutomatique(),i);
domaine_.porosite_ =porosite;
domaine_.coefFrottement_=coefFrottement;
domaine_.permeabilite_ =permeabilite;
domaine_.coefMasse_ =coefMasse;
}
catch (NumberFormatException _exc) {
new BuDialogError(null, RefondeImplementation.informationsSoftware(),
"Un des paramètres n'a pas un format valide").activate();
return false;
}
return true;
}
/**
* Affectation du domaine poreux à modifier.
* @param _dm Domaine poreux.
*/
public void setDomainePoreux(RefondeDomainePoreux _dm) {
domaine_=_dm;
}
/**
* Retourne le domaine poreux affiché.
* @return Le domaine poreux éventuellement modifié.
*/
public RefondeDomainePoreux getDomainePoreux() {
return domaine_;
}
/**
* Affectation de la géométrie (necessaire pour savoir si les points du
* domaine poreux sont hors géométrie ou non.
* @param _prj Le projet refonde.
*/
public void setProjet(RefondeProjet _prj) {
prj_=_prj;
}
/**
* Visualisation de la fenetre. Surchargé.
*/
public void show() {
if (domaine_!=null) {
GrPoint[] pts=domaine_.getPoints();
GrPoint[] ptsPlan=domaine_.getPointsPlan();
// Propriétés
tfPorosite .setText(""+domaine_.porosite_);
tfFrottement .setText(""+domaine_.coefFrottement_);
tfPermeabilite.setText(""+domaine_.permeabilite_);
tfCm .setText(""+domaine_.coefMasse_);
// Limites
tfXmin.setText(""+pts[0].x);
tfYmin.setText(""+pts[0].y);
tfXmax.setText(""+pts[1].x);
tfYmax.setText(""+pts[1].y);
// Points du plan
for (int i=0; i<3; i++) {
pnPlanPt[i].setProjet(prj_);
pnPlanPt[i].setPoint(ptsPlan[i]);
pnPlanPt[i].setZAutomatique(domaine_.isZAutomatique(i));
}
}
super.show();
}
/**
* Pour test de la boite de dialogue.
*/
public static void main(String[] _args) {
try {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
}
catch (Exception _exc) {}
RefondeDomainePoreux dm=new RefondeDomainePoreux();
GrPoint[] pts=new GrPoint[2];
pts[0]=new GrPoint(0,0,0);
pts[1]=new GrPoint(10,25,0);
dm.setPoints(pts);
dm.setPointsPlan(new GrPoint[]{new GrPoint(1,2,3),new GrPoint(4,5,6),new GrPoint(7,8,9)});
dm.setZAutomatique(false,0);
dm.setZAutomatique(true,1);
RefondeDialogProprietesPoreux di=new RefondeDialogProprietesPoreux();
di.setDomainePoreux(dm);
di.show();
System.exit(0);
}
}
|