You can subscribe to this list here.
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(46) |
Jul
(37) |
Aug
(154) |
Sep
(140) |
Oct
(132) |
Nov
(104) |
Dec
(67) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2009 |
Jan
(113) |
Feb
(73) |
Mar
(102) |
Apr
(106) |
May
(114) |
Jun
(67) |
Jul
(116) |
Aug
(48) |
Sep
(108) |
Oct
(296) |
Nov
(56) |
Dec
(53) |
2010 |
Jan
(95) |
Feb
(31) |
Mar
(40) |
Apr
(12) |
May
(10) |
Jun
(27) |
Jul
(19) |
Aug
(81) |
Sep
(48) |
Oct
(45) |
Nov
(40) |
Dec
(7) |
2011 |
Jan
(16) |
Feb
(32) |
Mar
(55) |
Apr
(38) |
May
(24) |
Jun
(37) |
Jul
(12) |
Aug
(16) |
Sep
(97) |
Oct
(90) |
Nov
(101) |
Dec
(89) |
2012 |
Jan
(18) |
Feb
(2) |
Mar
(54) |
Apr
(69) |
May
(97) |
Jun
(131) |
Jul
(70) |
Aug
(48) |
Sep
(48) |
Oct
(119) |
Nov
(194) |
Dec
(60) |
2013 |
Jan
(73) |
Feb
(35) |
Mar
(42) |
Apr
(28) |
May
(7) |
Jun
(17) |
Jul
(27) |
Aug
(10) |
Sep
(38) |
Oct
(12) |
Nov
(4) |
Dec
(16) |
2014 |
Jan
(33) |
Feb
(37) |
Mar
(19) |
Apr
(3) |
May
(47) |
Jun
(26) |
Jul
(22) |
Aug
|
Sep
(10) |
Oct
(30) |
Nov
(24) |
Dec
(19) |
2015 |
Jan
(13) |
Feb
(16) |
Mar
(36) |
Apr
(19) |
May
(5) |
Jun
(5) |
Jul
(3) |
Aug
(11) |
Sep
(22) |
Oct
(7) |
Nov
(14) |
Dec
|
2016 |
Jan
|
Feb
(26) |
Mar
(13) |
Apr
(61) |
May
|
Jun
|
Jul
(4) |
Aug
|
Sep
|
Oct
(27) |
Nov
(14) |
Dec
(21) |
2017 |
Jan
(30) |
Feb
(4) |
Mar
(3) |
Apr
(5) |
May
(69) |
Jun
(29) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <emm...@us...> - 2008-12-01 14:06:03
|
Revision: 4255 http://fudaa.svn.sourceforge.net/fudaa/?rev=4255&view=rev Author: emmanuel_martin Date: 2008-12-01 14:06:00 +0000 (Mon, 01 Dec 2008) Log Message: ----------- Tache #106 : "L'ajout d'un point sur une polyligne/semis n'est effective que si le calque contenant la g?\195?\169om?\195?\169trie s?\195?\169lectionn?\195?\169e est lui m?\195?\170me s?\195?\169lectionn?\195?\169." Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZEditorDefault.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZEditorDefault.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZEditorDefault.java 2008-12-01 11:02:10 UTC (rev 4254) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZEditorDefault.java 2008-12-01 14:06:00 UTC (rev 4255) @@ -85,7 +85,9 @@ public void pointClicked(final int _xEcran, final int _yEcran) { if (getSupport().canUseAtomicMode()) { - ((ZCalqueEditable)getSupport().getCalqueActif()).addAtome(_xEcran, _yEcran, mng_, null); + int idGeom=getSupport().getSelectionHelper().getUniqueSelectedIdx(); + if(idGeom!=-1) + ((ZCalqueEditable)getSupport().getLayerForId(idGeom)).addAtome(_xEcran, _yEcran, mng_, null); } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2008-12-01 11:02:33
|
Revision: 4254 http://fudaa.svn.sourceforge.net/fudaa/?rev=4254&view=rev Author: bmarchan Date: 2008-12-01 11:02:10 +0000 (Mon, 01 Dec 2008) Log Message: ----------- Mise en place du menu g?\195?\169om?\195?\169trie fenetre 2D. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/SceneZoomOnSelectedAction.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlFille2d.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlVisuPanel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneProfilInterpolation.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/persistence/MdlLayer2dLinePersistence.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/persistence/MdlLayer2dMultiPointPersistence.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/layer/FSigImageImportAction.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/layer/FSigLayerGroup.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/layer/FSigVisuPanel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/data/TrVisuPanelEditor.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/rubar/TrRubarDonneesBrutesLayerGroup.java Property Changed: ---------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/SceneZoomOnSelectedAction.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlFille2d.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneProfilInterpolation.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/persistence/MdlLayer2dLinePersistence.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/persistence/MdlLayer2dMultiPointPersistence.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/layer/FSigImageImportAction.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/rubar/TrRubarDonneesBrutesLayerGroup.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanel.java 2008-12-01 10:20:16 UTC (rev 4253) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanel.java 2008-12-01 11:02:10 UTC (rev 4254) @@ -408,7 +408,7 @@ /** * @return retourne le ZEditorDefault poss\xE9d\xE9. */ - public final ZEditorDefault getDefaultGisEditor() { + public ZEditorDefault getEditor() { return gisEditor_; } @@ -429,6 +429,12 @@ fillMenuWithToolsActions(contextTools_); } + /** + * Creation des menus sp\xE9cifiques. + * Les menus sp\xE9cifiques sont switch\xE9s d\xE9s que la fenetre passe de l'\xE9tat actif \xE0 inactif + * et inversement. Ils sont ajout\xE9s dans la barre de menus. + * @return Les menus sp\xE9cifiques. + */ protected BuMenu[] createSpecificMenus(final String _title) { final BuMenu[] res = new BuMenu[1]; res[0] = new BuMenu(_title, "LAYER"); @@ -622,8 +628,7 @@ /** * Retourne les menus sp\xE9cifiques pour la fenetre. - * Les menus sp\xE9cifiques sont switch\xE9s d\xE9s que la fenetre passe de l'\xE9tat actif \xE0 inactif - * et inversement. Ils sont ajout\xE9s dans la barre de menus. + * @see createSpecificMenus(String); * @return Les menus sp\xE9cifiques. */ public JMenu[] getSpecificMenus(final String _title) { Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/SceneZoomOnSelectedAction.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/SceneZoomOnSelectedAction.java 2008-12-01 10:20:16 UTC (rev 4253) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/SceneZoomOnSelectedAction.java 2008-12-01 11:02:10 UTC (rev 4254) @@ -20,7 +20,7 @@ /** * Une action pour un zoom sur la s\xE9lection. Est active si des objets sont selectionn\xE9s. * @author Fred Deniger - * @version $Id: CalqueZoomOnSelectedAction.java,v 1.2.8.1 2008-02-27 17:16:12 bmarchan Exp $ + * @version $Id$ */ public class SceneZoomOnSelectedAction extends EbliActionSimple implements ZSelectionListener { @@ -40,7 +40,7 @@ * Effectue le zoom sur selection */ public void actionPerformed(final ActionEvent _arg) { - cqPn_.getDefaultGisEditor().getSceneEditor().zoomOnSelected(); + cqPn_.getEditor().getSceneEditor().zoomOnSelected(); } public void updateStateBeforeShow() { @@ -51,7 +51,7 @@ * Active le bouton de zoom sur selection. */ private void updateEnableState() { - setEnabled(!cqPn_.getDefaultGisEditor().getSceneEditor().getScene().isSelectionEmpty()); + setEnabled(!cqPn_.getEditor().getSceneEditor().getScene().isSelectionEmpty()); } public void selectionChanged(final ZSelectionEvent _evt) { Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/SceneZoomOnSelectedAction.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlFille2d.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlFille2d.java 2008-12-01 10:20:16 UTC (rev 4253) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlFille2d.java 2008-12-01 11:02:10 UTC (rev 4254) @@ -1,6 +1,6 @@ /* * @creation 20 janv. 08 - * @modification $Date: 2008/02/01 14:40:03 $ + * @modification $Date$ * @license GNU General Public License 2 * @copyright (c)1998-2008 CETMEF 2 bd Gambetta F-60231 Compiegne * @mail fud...@li... @@ -37,7 +37,7 @@ * * @author fred deniger * @author bertrand marchand - * @version $Id: MdlFille2d.java,v 1.1.2.1 2008/02/01 14:40:03 bmarchan Exp $ + * @version $Id$ */ public class MdlFille2d extends ZEbliFilleCalques implements BuUndoRedoInterface, CtuluExportDataInterface, CtuluImageImporter, CtuluUndoRedoInterface, FudaaSavable, BuCutCopyPasteInterface { @@ -76,7 +76,7 @@ } public void startExport(CtuluUI _impl) { - getMdlVisuPanel().getGisEditor().getExportAction().actionPerformed(null); + getMdlVisuPanel().getEditor().getExportAction().actionPerformed(null); } public void undo() { Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlFille2d.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java 2008-12-01 10:20:16 UTC (rev 4253) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java 2008-12-01 11:02:10 UTC (rev 4254) @@ -233,7 +233,7 @@ else titre+=MdlResource.MDL.getString("sans nom"); // Instanciation de la popup - myDialogModal dialog =new myDialogModal(calquePanel_.getDefaultGisEditor().getFrame(), titre); + myDialogModal dialog =new myDialogModal(calquePanel_.getEditor().getFrame(), titre); dialog.setVisible(true); datadest[iatt]=dialog.getValue(); } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlVisuPanel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlVisuPanel.java 2008-12-01 10:20:16 UTC (rev 4253) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlVisuPanel.java 2008-12-01 11:02:10 UTC (rev 4254) @@ -79,6 +79,19 @@ return editor; } + protected BuMenu[] createSpecificMenus(final String _title) { + BuMenu[] ret=new BuMenu[3]; + final BuMenu mnGeom = new BuMenu(FudaaResource.FUDAA.getString("G\xE9om\xE9trie"),"mnGEOM"); + EbliComponentFactory.INSTANCE.addActionsToMenu(gisEditor_.getSceneEditor().getActions(), mnGeom); + ret[1]=mnGeom; + + BuMenu[] mnsuper=super.createSpecificMenus(_title); + ret[0]=mnsuper[0]; + ret[2]=mnsuper[1]; + return ret; + } + + protected EbliActionInterface[] getActionsInterface(){ EbliActionInterface[] actions=super.getActionsInterface(); EbliActionInterface[] allActions=new EbliActionInterface[actions.length+1]; @@ -113,25 +126,25 @@ } protected void installLayerActions() { - EbliActionInterface actNewCloud=new CalqueNewCalqueAction(FudaaLib.getS("Nouveau calque semis"),FudaaResource.FUDAA.getIcon("ajouter"),MdlLayerFactory.LAYER2D_CLOUD,cqAlti_,getGisEditor()); - EbliActionInterface actNewLevel=new CalqueNewCalqueAction(FudaaLib.getS("Nouveau calque courbes de niveaux"),FudaaResource.FUDAA.getIcon("ajouter"),MdlLayerFactory.LAYER2D_LEVEL,cqAlti_,getGisEditor()); - EbliActionInterface actNewProfile=new CalqueNewCalqueAction(FudaaLib.getS("Nouveau calque profils"),FudaaResource.FUDAA.getIcon("ajouter"),MdlLayerFactory.LAYER2D_PROFILE,cqAlti_,getGisEditor()); + EbliActionInterface actNewCloud=new CalqueNewCalqueAction(FudaaLib.getS("Nouveau calque semis"),FudaaResource.FUDAA.getIcon("ajouter"),MdlLayerFactory.LAYER2D_CLOUD,cqAlti_,getEditor()); + EbliActionInterface actNewLevel=new CalqueNewCalqueAction(FudaaLib.getS("Nouveau calque courbes de niveaux"),FudaaResource.FUDAA.getIcon("ajouter"),MdlLayerFactory.LAYER2D_LEVEL,cqAlti_,getEditor()); + EbliActionInterface actNewProfile=new CalqueNewCalqueAction(FudaaLib.getS("Nouveau calque profils"),FudaaResource.FUDAA.getIcon("ajouter"),MdlLayerFactory.LAYER2D_PROFILE,cqAlti_,getEditor()); cqAlti_.setActions(new EbliActionInterface[] { actNewCloud, actNewLevel, actNewProfile }); - EbliActionInterface actNewZone=new CalqueNewCalqueAction(FudaaLib.getS("Nouveau calque zones"),FudaaResource.FUDAA.getIcon("ajouter"),MdlLayerFactory.LAYER2D_ZONE,cqSing_,getGisEditor()); - EbliActionInterface actNewCnt=new CalqueNewCalqueAction(FudaaLib.getS("Nouveau calque contours"),FudaaResource.FUDAA.getIcon("ajouter"),MdlLayerFactory.LAYER2D_CONTOUR,cqSing_,getGisEditor()); - EbliActionInterface actNewConst=new CalqueNewCalqueAction(FudaaLib.getS("Nouveau calque lignes de contraintes"),FudaaResource.FUDAA.getIcon("ajouter"),MdlLayerFactory.LAYER2D_CONST_LINE,cqSing_,getGisEditor()); - EbliActionInterface actNewDir=new CalqueNewCalqueAction(FudaaLib.getS("Nouveau calque lignes directions"),FudaaResource.FUDAA.getIcon("ajouter"),MdlLayerFactory.LAYER2D_DIR_LINE,cqSing_,getGisEditor()); + EbliActionInterface actNewZone=new CalqueNewCalqueAction(FudaaLib.getS("Nouveau calque zones"),FudaaResource.FUDAA.getIcon("ajouter"),MdlLayerFactory.LAYER2D_ZONE,cqSing_,getEditor()); + EbliActionInterface actNewCnt=new CalqueNewCalqueAction(FudaaLib.getS("Nouveau calque contours"),FudaaResource.FUDAA.getIcon("ajouter"),MdlLayerFactory.LAYER2D_CONTOUR,cqSing_,getEditor()); + EbliActionInterface actNewConst=new CalqueNewCalqueAction(FudaaLib.getS("Nouveau calque lignes de contraintes"),FudaaResource.FUDAA.getIcon("ajouter"),MdlLayerFactory.LAYER2D_CONST_LINE,cqSing_,getEditor()); + EbliActionInterface actNewDir=new CalqueNewCalqueAction(FudaaLib.getS("Nouveau calque lignes directions"),FudaaResource.FUDAA.getIcon("ajouter"),MdlLayerFactory.LAYER2D_DIR_LINE,cqSing_,getEditor()); cqSing_.setActions(new EbliActionInterface[] { actNewZone, actNewCnt, actNewConst, actNewDir}); - EbliActionInterface actNewTrace=new CalqueNewCalqueAction(FudaaLib.getS("Nouveau calque trace de profils"),FudaaResource.FUDAA.getIcon("ajouter"),MdlLayerFactory.LAYER1D_TRACE,cqMdl1d_,getGisEditor()); - EbliActionInterface actNewAxe=new CalqueNewCalqueAction(FudaaLib.getS("Nouveau calque axes hydrauliques"),FudaaResource.FUDAA.getIcon("ajouter"),MdlLayerFactory.LAYER1D_AXE,cqMdl1d_,getGisEditor()); + EbliActionInterface actNewTrace=new CalqueNewCalqueAction(FudaaLib.getS("Nouveau calque trace de profils"),FudaaResource.FUDAA.getIcon("ajouter"),MdlLayerFactory.LAYER1D_TRACE,cqMdl1d_,getEditor()); + EbliActionInterface actNewAxe=new CalqueNewCalqueAction(FudaaLib.getS("Nouveau calque axes hydrauliques"),FudaaResource.FUDAA.getIcon("ajouter"),MdlLayerFactory.LAYER1D_AXE,cqMdl1d_,getEditor()); cqMdl1d_.setActions(new EbliActionInterface[] { actNewTrace, actNewAxe}); EbliActionInterface actImport = new FSigImageImportAction(this, cqImg_); cqImg_.setActions(new EbliActionInterface[] { actImport }); - EbliActionInterface actDeleteLayer=new CalqueDeleteCalqueAction(getGisEditor(),this.getArbreCalqueModel()); + EbliActionInterface actDeleteLayer=new CalqueDeleteCalqueAction(getEditor(),this.getArbreCalqueModel()); this.getArbreCalqueModel().setActionDelete(actDeleteLayer); } @@ -159,15 +172,15 @@ if (!_build) return; - MdlLayer2dLevel cqLevel=new MdlLayer2dLevel(getGisEditor()); + MdlLayer2dLevel cqLevel=new MdlLayer2dLevel(getEditor()); cqLevel.setName(BGroupeCalque.findUniqueChildName(cqAlti_, cqLevel.getExtName())); cqAlti_.add(cqLevel); - MdlLayer2dCloud cqCloud=new MdlLayer2dCloud(getGisEditor()); + MdlLayer2dCloud cqCloud=new MdlLayer2dCloud(getEditor()); cqCloud.setName(BGroupeCalque.findUniqueChildName(cqAlti_, cqCloud.getExtName())); cqAlti_.add(cqCloud); - MdlLayer2dProfile cqProfile=new MdlLayer2dProfile(getGisEditor()); + MdlLayer2dProfile cqProfile=new MdlLayer2dProfile(getEditor()); cqProfile.setName(BGroupeCalque.findUniqueChildName(cqAlti_, cqProfile.getExtName())); cqAlti_.add(cqProfile); } @@ -185,19 +198,19 @@ if (!_build) return; - MdlLayer2dContour cqCnt=new MdlLayer2dContour(getGisEditor()); + MdlLayer2dContour cqCnt=new MdlLayer2dContour(getEditor()); cqCnt.setName(BGroupeCalque.findUniqueChildName(cqSing_, cqCnt.getExtName())); cqSing_.add(cqCnt); - MdlLayer2dZone cqZone=new MdlLayer2dZone(getGisEditor()); + MdlLayer2dZone cqZone=new MdlLayer2dZone(getEditor()); cqZone.setName(BGroupeCalque.findUniqueChildName(cqSing_, cqZone.getExtName())); cqSing_.add(cqZone); - MdlLayer2dConstraintLine cqConst=new MdlLayer2dConstraintLine(getGisEditor()); + MdlLayer2dConstraintLine cqConst=new MdlLayer2dConstraintLine(getEditor()); cqConst.setName(BGroupeCalque.findUniqueChildName(cqSing_, cqConst.getExtName())); cqSing_.add(cqConst); - MdlLayer2dDirectionLine cqDirect=new MdlLayer2dDirectionLine(getGisEditor()); + MdlLayer2dDirectionLine cqDirect=new MdlLayer2dDirectionLine(getEditor()); cqDirect.setName(BGroupeCalque.findUniqueChildName(cqSing_, cqDirect.getExtName())); cqSing_.add(cqDirect); } @@ -215,11 +228,11 @@ if (!_build) return; - MdlLayer1dTrace cqTrace=new MdlLayer1dTrace(getGisEditor()); + MdlLayer1dTrace cqTrace=new MdlLayer1dTrace(getEditor()); cqTrace.setName(BGroupeCalque.findUniqueChildName(cqMdl1d_, cqTrace.getExtName())); cqMdl1d_.add(cqTrace); - MdlLayer1dAxe cqAxe=new MdlLayer1dAxe(getGisEditor()); + MdlLayer1dAxe cqAxe=new MdlLayer1dAxe(getEditor()); cqAxe.setName(BGroupeCalque.findUniqueChildName(cqMdl1d_, cqAxe.getExtName())); cqMdl1d_.add(cqAxe); } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneProfilInterpolation.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneProfilInterpolation.java 2008-12-01 10:20:16 UTC (rev 4253) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneProfilInterpolation.java 2008-12-01 11:02:10 UTC (rev 4254) @@ -20,6 +20,7 @@ import org.fudaa.ebli.calque.ZScene.SceneSelectionHelper; import org.fudaa.ebli.commun.EbliActionSimple; import org.fudaa.fudaa.modeleur.MdlSceneEditor; +import org.fudaa.fudaa.ressource.FudaaResource; import com.memoire.bu.BuResource; @@ -31,7 +32,8 @@ MdlSceneEditor sceneEditor_; public SceneProfilInterpolation(MdlSceneEditor _sceneEditor) { - super(BuResource.BU.getString("Interpoler un profil"), null, "INTERPOLE_PROFIL"); + super(FudaaResource.FUDAA.getString("Cr\xE9er un profil depuis une trace"), null, "INTERPOLE_PROFIL"); + setDefaultToolTip(FudaaResource.FUDAA.getString("Cr\xE9e un profil par interpolation sur un nuage de points depuis une trace")); sceneEditor_=_sceneEditor; sceneEditor_.getScene().addSelectionListener(this); } Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneProfilInterpolation.java ___________________________________________________________________ Modified: svn:keywords - Id + Date Revision Author URL Id Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/persistence/MdlLayer2dLinePersistence.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/persistence/MdlLayer2dLinePersistence.java 2008-12-01 10:20:16 UTC (rev 4253) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/persistence/MdlLayer2dLinePersistence.java 2008-12-01 11:02:10 UTC (rev 4254) @@ -1,6 +1,6 @@ /* * @creation 20 janv. 08 - * @modification $Date: 2008/05/13 12:10:56 $ + * @modification $Date$ * @license GNU General Public License 2 * @copyright (c)1998-2008 CETMEF 2 bd Gambetta F-60231 Compiegne * @mail fud...@li... @@ -39,7 +39,7 @@ protected BCalque findCalque(final BCalqueSaverInterface _cqName, final BCalqueSaverTargetInterface _pn, final BCalque _parent) { MdlVisuPanel pn=(MdlVisuPanel)_pn; - MdlLayer2dLine cq=createNewLayer(pn.getGisEditor()); + MdlLayer2dLine cq=createNewLayer(pn.getEditor()); cq.setName(BGroupeCalque.findUniqueChildName(_parent, cq.getExtName())); _parent.enDernier(cq); Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/persistence/MdlLayer2dLinePersistence.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/persistence/MdlLayer2dMultiPointPersistence.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/persistence/MdlLayer2dMultiPointPersistence.java 2008-12-01 10:20:16 UTC (rev 4253) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/persistence/MdlLayer2dMultiPointPersistence.java 2008-12-01 11:02:10 UTC (rev 4254) @@ -1,6 +1,6 @@ /* * @creation 20 janv. 08 - * @modification $Date: 2008/05/13 12:10:58 $ + * @modification $Date$ * @license GNU General Public License 2 * @copyright (c)1998-2008 CETMEF 2 bd Gambetta F-60231 Compiegne * @mail fud...@li... @@ -45,7 +45,7 @@ protected BCalque findCalque(final BCalqueSaverInterface _cqName, final BCalqueSaverTargetInterface _pn, final BCalque _parent) { MdlVisuPanel pn=(MdlVisuPanel)_pn; - MdlLayer2dMultiPoint cq=createNewLayer(pn.getGisEditor()); + MdlLayer2dMultiPoint cq=createNewLayer(pn.getEditor()); cq.setName(BGroupeCalque.findUniqueChildName(_parent, cq.getExtName())); _parent.enDernier(cq); Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/persistence/MdlLayer2dMultiPointPersistence.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/layer/FSigImageImportAction.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/layer/FSigImageImportAction.java 2008-12-01 10:20:16 UTC (rev 4253) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/layer/FSigImageImportAction.java 2008-12-01 11:02:10 UTC (rev 4254) @@ -1,6 +1,6 @@ /* * @creation 27 juil. 06 - * @modification $Date: 2008-01-17 11:38:59 $ + * @modification $Date$ * @license GNU General Public License 2 * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne * @mail de...@fu... @@ -36,7 +36,7 @@ /** * Une action "import d'image". * @author fred deniger - * @version $Id: FSigImageImportAction.java,v 1.1.6.1 2008-01-17 11:38:59 bmarchan Exp $ + * @version $Id$ */ public class FSigImageImportAction extends EbliActionSimple implements FSigImageWizardTask.CalqueFactory, ContainerListener { @@ -85,7 +85,7 @@ if (editAction_ == null) { editAction_ = new EditAction(); } - _res.setActions(new EbliActionInterface[] { visu_.getGisEditor().getEditAction()[0], editAction_ }); + _res.setActions(new EbliActionInterface[] { visu_.getEditor().getEditAction()[0], editAction_ }); } void afficheWizard(final FSigImageWizardTask _task) { @@ -150,7 +150,7 @@ public ZCalqueImageRaster createCalque(final ZModeleImageRaster _model) { // initImgLayer(res); final ZCalqueImageRaster res = new ZCalqueImageRaster(_model); - res.setEditor(visu_.getGisEditor()); + res.setEditor(visu_.getEditor()); return res; } Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/layer/FSigImageImportAction.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/layer/FSigLayerGroup.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/layer/FSigLayerGroup.java 2008-12-01 10:20:16 UTC (rev 4253) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/layer/FSigLayerGroup.java 2008-12-01 11:02:10 UTC (rev 4254) @@ -139,7 +139,7 @@ actionAddPoint_ = _actPoint; actionModifyAtt_ = _modifyAttributes; setActions(new EbliActionInterface[] { actionAddPoly_, actionAddPoint_, null, actionModifyAtt_, null, - visu_.getGisEditor().getExportAction(), visu_.getGisEditor().getImportAction() }); + visu_.getEditor().getExportAction(), visu_.getEditor().getImportAction() }); } /** @@ -157,7 +157,7 @@ buildAddPoint(); buildAddPoly(); buildModifyAtt(); - setActions(new EbliActionInterface[] { actionAddGroup_, null, visu_.getGisEditor().getExportAction() }); + setActions(new EbliActionInterface[] { actionAddGroup_, null, visu_.getEditor().getExportAction() }); att_ = visu_.getAttributeMng(); attributes_ = _att; } @@ -192,7 +192,7 @@ } protected void updateEditor() { - visu_.getGisEditor().updatePalette(); + visu_.getEditor().updatePalette(); } @@ -249,14 +249,14 @@ private void finishActionCreation(final BCalque _parent, final CtuluCommandContainer _cmd, final ZCalqueAffichageDonnees _la, final boolean _addCancel) { final List action = new ArrayList(5); - action.addAll(Arrays.asList(visu_.getGisEditor().getEditAction())); - action.add(visu_.getGisEditor().getActionDelete()); + action.addAll(Arrays.asList(visu_.getEditor().getEditAction())); + action.add(visu_.getEditor().getActionDelete()); if (_addCancel) { - action.add(visu_.getGisEditor().getActionCancel()); + action.add(visu_.getEditor().getActionCancel()); } action.add(null); - action.add(visu_.getGisEditor().getExportAction()); - action.add(visu_.getGisEditor().getImportAction()); + action.add(visu_.getEditor().getExportAction()); + action.add(visu_.getEditor().getImportAction()); final EbliActionInterface[] act = new EbliActionInterface[action.size()]; action.toArray(act); _la.setActions(act); @@ -274,7 +274,7 @@ public ZCalqueLigneBrisee addLigneBriseeLayerAct(final String _title, final GISZoneCollectionLigneBrisee _zone, final CtuluCommandContainer _cmd) { final ZCalqueLigneBriseeEditable la = new FSigLayerLineEditable(new ZModeleLigneBriseeEditable(_zone), visu_ - .getGisEditor()); + .getEditor()); la.setName(BGroupeCalque.findUniqueChildName(this, "poly")); la.setTitle(_title); finishActionCreation(this, _cmd, la, true); @@ -287,7 +287,7 @@ public ZCalquePointEditable addPointLayerAct(final String _title, final GISZoneCollectionPoint _zone, final CtuluCommandContainer _cmd) { - final FSigLayerPointEditable la = new FSigLayerPointEditable(new ZModelePointEditable(_zone), visu_.getGisEditor()); + final FSigLayerPointEditable la = new FSigLayerPointEditable(new ZModelePointEditable(_zone), visu_.getEditor()); la.setName(BGroupeCalque.findUniqueChildName(this, "point")); la.setTitle(_title); finishActionCreation(this, _cmd, la, false); @@ -295,15 +295,15 @@ } public GISZoneCollectionLigneBrisee createLigneBriseeZone() { - return GISZoneAttributeFactory.createPolyligne(visu_.getGisEditor(), attributes_); + return GISZoneAttributeFactory.createPolyligne(visu_.getEditor(), attributes_); } public GISZoneCollectionPoint createPointZone() { - return GISZoneAttributeFactory.createPoint(visu_.getGisEditor(), attributes_); + return GISZoneAttributeFactory.createPoint(visu_.getEditor(), attributes_); } public FSigEditor getGisEditor() { - return visu_.getGisEditor(); + return visu_.getEditor(); } public final GISAttributeInterface[] getAttributes() { Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/layer/FSigVisuPanel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/layer/FSigVisuPanel.java 2008-12-01 10:20:16 UTC (rev 4253) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/layer/FSigVisuPanel.java 2008-12-01 11:02:10 UTC (rev 4254) @@ -98,7 +98,7 @@ cqDep=new ZCalqueDeplacement(getCqSelectionI()); this.addCalqueInteraction(cqDep); cqDep.setGele(true); - cqDep.setTarget(getGisEditor()); + cqDep.setTarget(getEditor()); } return cqDep; } @@ -205,7 +205,7 @@ return getImpl().getFrame(); } - public final FSigEditor getGisEditor() { + public FSigEditor getEditor() { return (FSigEditor) gisEditor_; } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/data/TrVisuPanelEditor.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/data/TrVisuPanelEditor.java 2008-12-01 10:20:16 UTC (rev 4253) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/data/TrVisuPanelEditor.java 2008-12-01 11:02:10 UTC (rev 4254) @@ -361,7 +361,7 @@ protected void buildGroupSiLayers(final H2dSiSourceInterface _si) { final BGroupeCalque grSi = buildGroupSI(); final TrSiProfilModel poly = new TrSiProfilModel(getGrid(), getCmdMng()); - final ZCalqueLigneBriseeEditable si = new TrSiProfilLayer(poly, getCqLegend(), getGisEditor()); + final ZCalqueLigneBriseeEditable si = new TrSiProfilLayer(poly, getCqLegend(), getEditor()); grSi.add(si); final TrSiFlecheLayer fl = new TrSiFlecheLayer(_si); fl.setVisible(false); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/rubar/TrRubarDonneesBrutesLayerGroup.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/rubar/TrRubarDonneesBrutesLayerGroup.java 2008-12-01 10:20:16 UTC (rev 4253) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/rubar/TrRubarDonneesBrutesLayerGroup.java 2008-12-01 11:02:10 UTC (rev 4254) @@ -1,6 +1,6 @@ /* * @creation 4 oct. 2004 - * @modification $Date: 2007-05-04 14:01:53 $ + * @modification $Date$ * @license GNU General Public License 2 * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne * @mail de...@fu... @@ -55,17 +55,17 @@ /** * @author Fred Deniger - * @version $Id: TrRubarDonneesBrutesLayerGroup.java,v 1.33 2007-05-04 14:01:53 deniger Exp $ + * @version $Id$ */ public final class TrRubarDonneesBrutesLayerGroup extends BGroupeCalque implements H2dRubarDonneesBrutesListener { protected EbliActionInterface[] getNuageActions(final TrRubarDonneesBrutesNuageLayer _layer) { final ArrayList acts = new ArrayList(); acts.add(new EditVarAction(panel_, _layer, _layer.getBr())); - acts.add(panel_.getGisEditor().getActionDelete()); + acts.add(panel_.getEditor().getActionDelete()); acts.add(null); - acts.add(panel_.getGisEditor().getExportAction()); - acts.add(panel_.getGisEditor().getImportAction()); + acts.add(panel_.getEditor().getExportAction()); + acts.add(panel_.getEditor().getImportAction()); if (_layer.getBr().getID() == H2dRubarDonneesBrutesMng.INI_ID) { acts.add(null); acts.add(new ActiveCoteDeau(_layer, true, mng_, panel_.getCmdMng())); @@ -167,7 +167,7 @@ /** * @author Fred Deniger - * @version $Id: TrRubarDonneesBrutesLayerGroup.java,v 1.33 2007-05-04 14:01:53 deniger Exp $ + * @version $Id$ */ private static class EditVarAllGrilleAction extends EditVarAction { @@ -208,7 +208,7 @@ /** * @author Fred Deniger - * @version $Id: TrRubarDonneesBrutesLayerGroup.java,v 1.33 2007-05-04 14:01:53 deniger Exp $ + * @version $Id$ */ private static class EditVarAction extends EbliActionSimple { @@ -537,7 +537,7 @@ _grLayer.add(c); _panel.addCalqueActions(c, _grLayer.getCalqueAction(_id)); // nuage - final TrRubarDonneesBrutesNuageLayer cn = new TrRubarDonneesBrutesNuageLayer(_mng, _id, _panel.getGisEditor()); + final TrRubarDonneesBrutesNuageLayer cn = new TrRubarDonneesBrutesNuageLayer(_mng, _id, _panel.getEditor()); cn.setTitle(title + " XY"); _grLayer.add(cn); _panel.addCalqueActions(cn, _grLayer.getNuageActions(cn)); Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/rubar/TrRubarDonneesBrutesLayerGroup.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2008-12-01 10:20:32
|
Revision: 4253 http://fudaa.svn.sourceforge.net/fudaa/?rev=4253&view=rev Author: bmarchan Date: 2008-12-01 10:20:16 +0000 (Mon, 01 Dec 2008) Log Message: ----------- Debut de mise en place des menus pour acc?\195?\168s au 1D. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/BuCommonImplementation.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/commun/impl/FudaaCommonImplementation.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjet.java Added Paths: ----------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/MdlShow1DFrameAction.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/MdlShow2DFrameAction.java Property Changed: ---------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/commun/impl/FudaaCommonImplementation.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjet.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/BuCommonImplementation.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/BuCommonImplementation.java 2008-11-28 17:01:34 UTC (rev 4252) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/BuCommonImplementation.java 2008-12-01 10:20:16 UTC (rev 4253) @@ -88,6 +88,9 @@ protected boolean buildMainPanel_ = true; + /** + * @return Si false, le desktop n'a pas de scrollbar. + */ protected boolean useScrollInBuDesktop() { return true; } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/commun/impl/FudaaCommonImplementation.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/commun/impl/FudaaCommonImplementation.java 2008-11-28 17:01:34 UTC (rev 4252) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/commun/impl/FudaaCommonImplementation.java 2008-12-01 10:20:16 UTC (rev 4253) @@ -1,6 +1,6 @@ /** * @creation 12 juin 2003 - * @modification $Date: 2008-03-18 11:05:42 $ + * @modification $Date$ * @license GNU General Public License 2 * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne * @mail de...@fu... @@ -95,7 +95,7 @@ /** * @author deniger - * @version $Id: FudaaCommonImplementation.java,v 1.10.4.1 2008-03-18 11:05:42 bmarchan Exp $ + * @version $Id$ */ public abstract class FudaaCommonImplementation extends BuCommonImplementation implements FudaaUI { @@ -220,6 +220,10 @@ } } + /** + * Ajoute un composant d'acc\xE8s a la liste des InternalFrame a gauche du frame + * principal. + */ protected void addFrameListLeft() { if (getMainPanel() != null) { final BuColumn left = getMainPanel().getLeftColumn(); @@ -321,7 +325,7 @@ /** * Methode a surcharger pour ajouter ces propres panneaux de pref. */ - protected void buildPreferences(final List _frAddTab) { + protected void buildPreferences(final List<BuAbstractPreferencesPanel> _frAddTab) { _frAddTab.add(new BuUserPreferencesPanel(this)); _frAddTab.add(new BuLanguagePreferencesPanel(this)); _frAddTab.add(new BuDesktopPreferencesPanel(this)); Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/commun/impl/FudaaCommonImplementation.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java 2008-11-28 17:01:34 UTC (rev 4252) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java 2008-12-01 10:20:16 UTC (rev 4253) @@ -1,6 +1,6 @@ /* * @creation 7 juin 07 - * @modification $Date: 2008/05/13 12:10:12 $ + * @modification $Date$ * @license GNU General Public License 2 * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne * @mail de...@fu... @@ -50,6 +50,9 @@ import org.fudaa.fudaa.commun.save.FudaaSaveLib; import org.fudaa.fudaa.commun.save.FudaaSaveProject; import org.fudaa.fudaa.commun.save.FudaaSaveZipLoader; +import org.fudaa.fudaa.modeleur.action.MdlShow1DFrameAction; +import org.fudaa.fudaa.modeleur.action.MdlShow2DFrameAction; +import org.fudaa.fudaa.ressource.FudaaResource; import org.fudaa.fudaa.sig.FSigLib; import org.fudaa.fudaa.sig.FSigProjectPersistence; import org.fudaa.fudaa.sig.FSigResource; @@ -58,10 +61,12 @@ import org.fudaa.fudaa.tr.common.TrProjectPersistence; import org.fudaa.fudaa.tr.common.TrResource; +import com.memoire.bu.BuAbstractPreferencesPanel; import com.memoire.bu.BuBrowserPreferencesPanel; import com.memoire.bu.BuColumn; import com.memoire.bu.BuDesktopPreferencesPanel; import com.memoire.bu.BuInformationsSoftware; +import com.memoire.bu.BuInternalFrame; import com.memoire.bu.BuLanguagePreferencesPanel; import com.memoire.bu.BuLib; import com.memoire.bu.BuMainPanel; @@ -82,7 +87,7 @@ * actions, des \xE9tats de l'interface, etc. * * @author Bertrand Marchand - * @version $Id: MdlImplementation.java,v 1.1.2.9 2008/05/13 12:10:12 bmarchan Exp $ + * @version $Id$ */ public class MdlImplementation extends FudaaCommonImplementation implements FudaaProjectStateListener { @@ -127,15 +132,23 @@ return isMdl_; } - MdlFille2d currentFrame_; - MdlProjet project_; public final static FileFilter FILTER = new MdlFileFilter(); + /** Fenetre interne pour le modeleur 2D. */ + MdlFille2d mdl2dFrame_; + /** Projet modeleur. */ + MdlProjet project_; + public MdlImplementation() { super(); useNewHelp_ = false; } + /** + * Retourne le fichier s\xE9lectionn\xE9 par boite de dialogue. + * @param _saveDialog true : Save dialog, test si fichier existant avant ecriture. + * @return LE fichier, ou null si op\xE9ration abort\xE9e. + */ private File chooseNewFile(boolean _saveDialog) { return getDestFile(chooseFile(_saveDialog)); } @@ -170,10 +183,20 @@ setEnabledForAction(CtuluExportDataInterface.EXPORT_CMD, bprjOpen); } - void createNewInternalFrame(/*boolean _add*/) { - currentFrame_ = new MdlFille2d(this); - /*if (_add) */addInternalFrame(currentFrame_); + /** + * Creation de la vue 2D, et ajout. + */ + void createNew2dFrame() { + mdl2dFrame_ = new MdlFille2d(this); + addInternalFrame(mdl2dFrame_); } + + /** + * @return La vue 2D, ou null si inexistante. + */ + public MdlFille2d get2dFrame() { + return mdl2dFrame_; + } protected boolean buildExportDataToolIcon() { return true; @@ -195,22 +218,25 @@ if (project_==null) return; project_.close(); try { - currentFrame_.setClosed(true); + mdl2dFrame_.setClosed(true); } catch (PropertyVetoException _evt) { FuLog.error(_evt); } removeInternalFrames(getAllInternalFrames()); -// removeInternalFrame(currentFrame_); - getMainMenuBar().repaint(); + getMainMenuBar().getMenu("mnPROJECT").setVisible(false); project_ = null; } + /** + * Cr\xE9e un nouveau projet, la fenetre 2D si necessaire. + * @param _add true : Recr\xE9e la fenetre. + */ protected void createProject(final boolean _add) { project_ = new MdlProjet(); project_.setOpening(true); - if (_add) createNewInternalFrame(); - else ((MdlVisuPanel)currentFrame_.getVisuPanel()).initCalques(false); + if (_add) createNew2dFrame(); + else ((MdlVisuPanel)mdl2dFrame_.getVisuPanel()).initCalques(false); project_.install(this); BuLib.invokeLater(new Runnable() { @@ -219,7 +245,7 @@ // changeSaveActions(false); updateActionsState(); project_.setSaved(); - getMainMenuBar().repaint(); + getMainMenuBar().getMenu("mnPROJECT").setVisible(true); } }); } @@ -293,6 +319,9 @@ return true; } + /** + * Action "Creer" un nouveau projet. + */ public void create() { saveAndCloseProjet(new Runnable() { public void run() { @@ -301,6 +330,9 @@ }); } + /** + * Action "Fermer" le projet en cours. + */ public void close() { saveAndCloseProjet(null); updateActionsState(); @@ -319,7 +351,7 @@ } /** - * Ouvre un nouveau projet. Peut demander la sauvegarde du projet pr\xE9c\xE9demment ouvert si + * Action "Ouvrir" un nouveau projet. Peut demander la sauvegarde du projet pr\xE9c\xE9demment ouvert si * existant. * @param _f Le fichier projet \xE0 ouvrir. null, si le fichier doit etre choisi par l'utilisateur. */ @@ -353,7 +385,7 @@ BuInformationsSoftware is=FudaaSaveProject.getSoftwareInfos(loader); FuLog.warning("File version : "+(is.version==null ? "Undefined":is.version)); - r= FudaaSaveLib.restoreFille(MdlImplementation.this, currentFrame_, _proj,loader); + r= FudaaSaveLib.restoreFille(MdlImplementation.this, mdl2dFrame_, _proj,loader); } catch (final IOException _evt) { FuLog.error(_evt); @@ -368,7 +400,7 @@ public void run() { try { - addInternalFrame(currentFrame_); + addInternalFrame(mdl2dFrame_); if (swingRun != null) swingRun.run(); // le projet a ete install\xE9: on enl\xE8ve les flag de modification @@ -395,6 +427,9 @@ }.run(); } + /** + * Action "Enregistrer" le projet. + */ public void save() { if (project_.getParamsFile() != null) { CtuluRunnable act = new CtuluRunnable(FudaaSaveLib.getActionSaveTitle(), this) { @@ -413,6 +448,9 @@ saveAs(); } + /** + * Action "Enregistrer sous" le projet. + */ public void saveAs() { final File f = chooseNewFile(true); if (f == null) return; @@ -452,7 +490,7 @@ // Probable pb de deadlock. // createTask.start(new Runnable() { // public void run() { - FudaaSaveLib.restoreAndLaunch(MdlImplementation.this, currentFrame_, createTask.getStateReceiver(), loader); + FudaaSaveLib.restoreAndLaunch(MdlImplementation.this, mdl2dFrame_, createTask.getStateReceiver(), loader); // } // }); @@ -532,11 +570,24 @@ } }; } + + /** + * Construit le menu projet. + * @return Le menu projet. + */ + protected BuMenu buildProjectMenu() { + BuMenu mn=new BuMenu(FudaaResource.FUDAA.getString("Projet"),"mnPROJECT"); + mn.add(new MdlShow2DFrameAction(this)); +// mnProject.add(new MdlShow1DFrameAction(this)); + + mn.setVisible(false); + return mn; + } /** * Methode surcharg\xE9e pour les panneau de pr\xE9f\xE9rence. */ - protected void buildPreferences(final List _frAddTab) { + protected void buildPreferences(final List<BuAbstractPreferencesPanel> _frAddTab) { _frAddTab.add(new BuUserPreferencesPanel(this)); _frAddTab.add(new BuLanguagePreferencesPanel(this)); _frAddTab.add(new BuDesktopPreferencesPanel(this)); @@ -648,6 +699,9 @@ super.initExportDataButton(itExportData); mnExport.add(itExportData); + BuMenu mnProject=buildProjectMenu(); + mb.addMenu(mnProject); + /* setEnabledForAction("RANGERICONES", true); if (!isSupervisor()) { final JComponent cp = getMainPanel().getMiddleComponent(); Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjet.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjet.java 2008-11-28 17:01:34 UTC (rev 4252) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjet.java 2008-12-01 10:20:16 UTC (rev 4253) @@ -1,6 +1,6 @@ /* * @creation 7 juin 07 - * @modification $Date: 2008/02/01 14:39:36 $ + * @modification $Date$ * @license GNU General Public License 2 * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne * @mail de...@fu... @@ -27,7 +27,7 @@ /** * Une implementation de l'interface projet pour le modeleur. * @author Bertrand Marchand - * @version $Id: MdlProjet.java,v 1.1.2.1 2008/02/01 14:39:36 bmarchan Exp $ + * @version $Id$ */ public class MdlProjet implements FSigProjet, Observer { BuInformationsDocument doc_ = new BuInformationsDocument(); @@ -99,7 +99,7 @@ boolean isInstalled_; public void install(MdlImplementation _impl) { - _impl.currentFrame_.getArbreCalqueModel().getObservable().addObserver(this); + _impl.get2dFrame().getArbreCalqueModel().getObservable().addObserver(this); state_.addListener(new FudaaProjectStateFrameListener(_impl.getFrame(), this)); state_.addListener(_impl); state_.clearStates(); Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjet.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/MdlShow1DFrameAction.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/MdlShow1DFrameAction.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/MdlShow1DFrameAction.java 2008-12-01 10:20:16 UTC (rev 4253) @@ -0,0 +1,35 @@ +/* + * @creation 1 avr. 2005 + * @modification $Date$ + * @license GNU General Public License 2 + * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail de...@fu... + */ +package org.fudaa.fudaa.modeleur.action; + +import java.awt.event.ActionEvent; + +import org.fudaa.ebli.commun.EbliActionSimple; +import org.fudaa.ebli.ressource.EbliResource; +import org.fudaa.fudaa.modeleur.MdlImplementation; + +/** + * Une action pour visualiser la fenetre 2D. + * @author Bertrand Marchand + * @version $Id$ + */ +public class MdlShow1DFrameAction extends EbliActionSimple { + MdlImplementation impl_; + + /** + * @param _m l'arbre des calques + */ + public MdlShow1DFrameAction(MdlImplementation _impl) { + super(EbliResource.EBLI.getString("Vue 1D"), null, "VUE1D"); + impl_=_impl; + } + + public void actionPerformed(final ActionEvent _e) { + impl_.warn("Pas impl\xE9ment\xE9","La fenetre 1D est a venir..."); + } +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/MdlShow1DFrameAction.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id Added: svn:eol-style + native Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/MdlShow2DFrameAction.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/MdlShow2DFrameAction.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/MdlShow2DFrameAction.java 2008-12-01 10:20:16 UTC (rev 4253) @@ -0,0 +1,35 @@ +/* + * @creation 1 avr. 2005 + * @modification $Date$ + * @license GNU General Public License 2 + * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail de...@fu... + */ +package org.fudaa.fudaa.modeleur.action; + +import java.awt.event.ActionEvent; + +import org.fudaa.ebli.commun.EbliActionSimple; +import org.fudaa.ebli.ressource.EbliResource; +import org.fudaa.fudaa.modeleur.MdlImplementation; + +/** + * Une action pour visualiser la fenetre 2D. + * @author Bertrand Marchand + * @version $Id$ + */ +public class MdlShow2DFrameAction extends EbliActionSimple { + MdlImplementation impl_; + + /** + * @param _m l'arbre des calques + */ + public MdlShow2DFrameAction(MdlImplementation _impl) { + super(EbliResource.EBLI.getString("Vue 2D"), null, "VUE2D"); + impl_=_impl; + } + + public void actionPerformed(final ActionEvent _e) { + impl_.activateInternalFrame(impl_.get2dFrame()); + } +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/MdlShow2DFrameAction.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <emm...@us...> - 2008-11-28 17:01:36
|
Revision: 4252 http://fudaa.svn.sourceforge.net/fudaa/?rev=4252&view=rev Author: emmanuel_martin Date: 2008-11-28 17:01:34 +0000 (Fri, 28 Nov 2008) Log Message: ----------- Tache #89 : "Calculer un profil a partir d'un nuage de points". Un algorithme d'essai (InterpolationProfilTest) est temporairement int?\195?\169gr?\195?\169 en attendant l'algo final. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/profile/ProfileCalculator.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/profile/ProfileCalculatorWindow.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlEditionManager.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java Added Paths: ----------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/profile/GISDataModelToPointCloudAdapter.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/profile/InterpolationProfilTest.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlInterpolateProfilePanel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneProfilInterpolation.java Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/profile/GISDataModelToPointCloudAdapter.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/profile/GISDataModelToPointCloudAdapter.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/profile/GISDataModelToPointCloudAdapter.java 2008-11-28 17:01:34 UTC (rev 4252) @@ -0,0 +1,88 @@ +/* + * @creation 27 nov. 2008 + * @modification $Date:$ + * @license GNU General Public License 2 + * @copyright (c)1998-2008 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail fud...@li... + */ +package org.fudaa.ctulu.interpolation.profile; + +import java.util.HashMap; +import java.util.Map; + +import org.fudaa.ctulu.gis.GISAttributeInterface; +import org.fudaa.ctulu.gis.GISDataModel; +import org.fudaa.ctulu.gis.GISMultiPoint; + +import org.fudaa.ctulu.collection.CtuluCollection; + +/** + * Prend une GISDataModel, ne tient compte que des GISMultiPoints et montre le + * tout sous forme d'un nuage de points. + * + * @author Emmanuel MARTIN + * @version $Id:$ + */ +public class GISDataModelToPointCloudAdapter implements PointCloudI{ + + /** + * Table de correspondance entre les indices virtuels et r\xE9els. La clef est + * l'indice virtuel, le tableau contient en premi\xE8re valeur l'indice du + * multipoint et en seconde valeur l'indice du point r\xE9el dans le mutipoint. + */ + private Map<Integer, Integer[]> correspondance_=new HashMap<Integer, Integer[]>(); + /** Le model de r\xE9f\xE9rence. */ + private GISDataModel model_; + /** L'attribut contenant le z. */ + private GISAttributeInterface attributeZ_; + + /** + * @param _model le mod\xE8le a adapter + * @param l'attribut contenant le z. Si null le z des points sera prit. + */ + public GISDataModelToPointCloudAdapter(GISDataModel _model, GISAttributeInterface _attrZ){ + int idxCorrespondance=0; + model_=_model; + attributeZ_=_attrZ; + for(int i=0;i<model_.getNumGeometries();i++) + if(model_.getGeometry(i) instanceof GISMultiPoint) + for(int j=0;j<((GISMultiPoint)model_.getGeometry(i)).getNumPoints();j++) + correspondance_.put(idxCorrespondance++, new Integer[]{i, j}); + } + + /* (non-Javadoc) + * @see org.fudaa.ctulu.interpolation.profile.PointCloudI#getNbPoints() + */ + public int getNbPoints() { + return correspondance_.size(); + } + + /* (non-Javadoc) + * @see org.fudaa.ctulu.interpolation.profile.PointCloudI#getX(int) + */ + public double getX(int _idx) { + return ((GISMultiPoint)model_.getGeometry(correspondance_.get(_idx)[0])).getCoordinateSequence().getX(correspondance_.get(_idx)[1]); + } + + /* (non-Javadoc) + * @see org.fudaa.ctulu.interpolation.profile.PointCloudI#getY(int) + */ + public double getY(int _idx) { + return ((GISMultiPoint)model_.getGeometry(correspondance_.get(_idx)[0])).getCoordinateSequence().getY(correspondance_.get(_idx)[1]); + } + + /* (non-Javadoc) + * @see org.fudaa.ctulu.interpolation.profile.PointCloudI#getZ(int) + */ + public double getZ(int _idx) { + if (attributeZ_==null) + return ((GISMultiPoint)model_.getGeometry(correspondance_.get(_idx)[0])).getCoordinateSequence().getOrdinate(correspondance_.get(_idx)[1], 2); + else { + Object value=model_.getValue(model_.getIndiceOf(attributeZ_), correspondance_.get(_idx)[0]); + if (!attributeZ_.isAtomicValue()) + return ((Double)value).doubleValue(); + else + return ((Double)((CtuluCollection)value).getObjectValueAt(correspondance_.get(_idx)[1])).doubleValue(); + } + } +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/profile/GISDataModelToPointCloudAdapter.java ___________________________________________________________________ Added: svn:keywords + Id Added: svn:eol-style + native Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/profile/InterpolationProfilTest.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/profile/InterpolationProfilTest.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/profile/InterpolationProfilTest.java 2008-11-28 17:01:34 UTC (rev 4252) @@ -0,0 +1,236 @@ +/* + * @creation 28 nov. 2008 + * @modification $Date:$ + * @license GNU General Public License 2 + * @copyright (c)1998-2008 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail fud...@li... + */ +package org.fudaa.ctulu.interpolation.profile; + +import java.util.ArrayList; +import java.util.List; + +import org.fudaa.ctulu.gis.GISPoint; + +import com.vividsolutions.jts.geom.Coordinate; + +/** + * @author Emmanuel MARTIN + * @version $Id:$ + */ +public class InterpolationProfilTest { + + private GISPoint[] ptsTrace_; + private PointCloudI cloud_; + + public InterpolationProfilTest(GISPoint[] _ptsTrace, PointCloudI _cloud) { + ptsTrace_=_ptsTrace; + cloud_=_cloud; + } + + public GISPoint[] process() { + GISPoint ptTrace1=ptsTrace_[0]; + GISPoint ptTrace2=ptsTrace_[ptsTrace_.length-1]; + List<GISPoint> profil=new ArrayList<GISPoint>(); + // 1 : Cr\xE9ation de la liste des points projet\xE9s et clacul de la distance + // entre le point d'origine et le point projet\xE9. \\ + /* + * Le point projet\xE9, son indice dans le nuage et la distance entre les deux + * points, distance entre le point projet\xE9 et l'origine de la trace, et si + * il se trouve en haut de la trace. + */ + List<Object[]> pointProj=new ArrayList<Object[]>(cloud_.getNbPoints()); + for (int i=0; i<cloud_.getNbPoints(); i++) { + double x=cloud_.getX(i); + double y=cloud_.getY(i); + double z=cloud_.getZ(i); + Coordinate proj=projection(ptTrace1, ptTrace2, x, y, z); + pointProj.add(new Object[]{proj, i, dist(proj.x, proj.y, proj.z, x, y, z), dist(ptTrace1.getCoordinate(), proj), + enHaut(ptTrace1, ptTrace2, x, y, z)}); + } + // Tri des points projet\xE9s par rapport \xE0 la distance entre le point proj et + // l'origine de la trace + for (int i=0; i<pointProj.size(); i++) + for (int j=0; j<pointProj.size()-1; j++) + if ((Double)pointProj.get(j)[3]>(Double)pointProj.get(j+1)[3]) { + Object[] tmp=pointProj.get(j); + pointProj.set(j, pointProj.get(j+1)); + pointProj.set(j+1, tmp); + } + + // 2 : Suppression des points trop \xE9loign\xE9s + // Boucle sur les points en haut de la droite; cr\xE9ation d'une table de + // correspondance ne gardant que les points au dessus + List<Integer> pHaut=new ArrayList<Integer>(); + for (int i=0; i<pointProj.size(); i++) + if ((Boolean)pointProj.get(i)[4]) + pHaut.add(i); + + List<Integer> ptSuppr=new ArrayList<Integer>(); + int i=1; + while (i<pHaut.size()-1) { + int iProjPre=pHaut.get(i-1); + int iProj=pHaut.get(i); + int iProjPost=pHaut.get(i+1); + int iNuagePre=(Integer)pointProj.get(iProjPre)[1]; + int iNuagePost=(Integer)pointProj.get(iProjPost)[1]; + + if ((Double)pointProj.get(iProj)[2]>dist(cloud_.getX(iNuagePre), cloud_.getY(iNuagePre), cloud_.getZ(iNuagePre), cloud_ + .getX(iNuagePost), cloud_.getY(iNuagePost), cloud_.getZ(iNuagePost)) + &&(Double)pointProj.get(iProj)[2]>(Double)pointProj.get(iProjPre)[2] + &&(Double)pointProj.get(iProj)[2]>(Double)pointProj.get(iProjPost)[2]) { + pHaut.remove(i); + ptSuppr.add(iProj); + if (i>1) + i--; // reteste le point pr\xE9c\xE9dent, sont suivant ayant chang\xE9. + } + else + i++; + } + // supression des points inutils en haut. + for (i=0; i<ptSuppr.size(); i++) { + for (int j=0; j<ptSuppr.size()-1; j++) + if (ptSuppr.get(j)>ptSuppr.get(j+1)) { + Integer tmp=ptSuppr.get(j); + ptSuppr.set(j, ptSuppr.get(j+1)); + ptSuppr.set(j+1, tmp); + } + } + for (int j=ptSuppr.size()-1; j>=0; j--) + pointProj.remove(((Integer)ptSuppr.get(j)).intValue()); + + // Boucle sur les points en bas de la droite + ptSuppr.clear(); + List<Integer> pBas=new ArrayList<Integer>(); + for (i=0; i<pointProj.size(); i++) + if (!(Boolean)pointProj.get(i)[4]) + pBas.add(i); + + i=1; + while (i<pBas.size()-1) { + int iProjPre=pBas.get(i-1); + int iProj=pBas.get(i); + int iProjPost=pBas.get(i+1); + int iNuagePre=(Integer)pointProj.get(iProjPre)[1]; + int iNuagePost=(Integer)pointProj.get(iProjPost)[1]; + + if ((Double)pointProj.get(iProj)[2]>dist(cloud_.getX(iNuagePre), cloud_.getY(iNuagePre), cloud_.getZ(iNuagePre), cloud_ + .getX(iNuagePost), cloud_.getY(iNuagePost), cloud_.getZ(iNuagePost)) + &&(Double)pointProj.get(iProj)[2]>(Double)pointProj.get(iProjPre)[2] + &&(Double)pointProj.get(iProj)[2]>(Double)pointProj.get(iProjPost)[2]) { + pBas.remove(i); + ptSuppr.add(iProj); + if (i>1) + i--; // reteste le point pr\xE9c\xE9dent, sont suivant ayant chang\xE9. + } + else + i++; + } + // Supression des points inutils en bas. + for (i=0; i<ptSuppr.size(); i++) { + for (int j=0; j<ptSuppr.size()-1; j++) + if (ptSuppr.get(j)>ptSuppr.get(j+1)) { + Integer tmp=ptSuppr.get(j); + ptSuppr.set(j, ptSuppr.get(j+1)); + ptSuppr.set(j+1, tmp); + } + } + for (int j=ptSuppr.size()-1; j>=0; j--) + pointProj.remove(((Integer)ptSuppr.get(j)).intValue()); + + // 3 : Cr\xE9ation des points du profil + // premier point mis d'office + profil.add(new GISPoint(((Coordinate)pointProj.get(0)[0]).x, ((Coordinate)pointProj.get(0)[0]).y, cloud_ + .getZ(((Integer)pointProj.get(0)[1]).intValue()))); + for (i=1; i<pointProj.size()-1; i++) { + int iNuage=((Integer)pointProj.get(i)[1]).intValue(); + double distTpIpre=(Double)pointProj.get(i-1)[2]; + double distTpI=(Double)pointProj.get(i)[2]; + double distTpIpost=(Double)pointProj.get(i+1)[2]; + double sommeDist=distTpIpre+distTpI+distTpIpost; + profil.add(new GISPoint( + (((Coordinate)pointProj.get(i-1)[0]).x*distTpIpre+((Coordinate)pointProj.get(i)[0]).x*distTpI+((Coordinate)pointProj + .get(i+1)[0]).x + *distTpIpost) + /sommeDist, + (((Coordinate)pointProj.get(i-1)[0]).y*distTpIpre+((Coordinate)pointProj.get(i)[0]).y*distTpI+((Coordinate)pointProj + .get(i+1)[0]).y + *distTpIpost) + /sommeDist, (cloud_.getZ(iNuage)*distTpIpre+cloud_.getZ(iNuage)*distTpI+cloud_.getZ(iNuage)*distTpIpost)/sommeDist)); + } + // Dernier point mis d'office + profil.add(new GISPoint(((Coordinate)pointProj.get(pointProj.size()-1)[0]).x, + ((Coordinate)pointProj.get(pointProj.size()-1)[0]).y, cloud_.getZ(((Integer)pointProj.get(pointProj.size()-1)[1]) + .intValue()))); + + // 4 : Suppression des points trop proches entre eux + /* + * Cr\xE9ation du seuil pour la suppression des points lorsqu'ils sont trop + * proches. + */ + double SEUIL; + double minZ=profil.get(0).getZ(); + double maxZ=profil.get(profil.size()-1).getZ(); + for (i=0; i<profil.size(); i++) { + if (profil.get(i).getZ()<minZ) + minZ=profil.get(i).getZ(); + else if (profil.get(i).getZ()>maxZ) + minZ=profil.get(i).getZ(); + } + /* Cast en float car en double \xE7a conne des fois des r\xE9sultat incoh\xE9rent... */ + SEUIL=((float)(maxZ-minZ))/((float)100); + // Suppression des points trop proches + i=1; + while (i<profil.size()) + if (Math.abs(profil.get(i-1).getZ()-profil.get(i).getZ())<=SEUIL&&profil.size()>2) + profil.remove(i); + else + i++; + // 5 : Fin de l'algo + return profil.toArray(new GISPoint[0]); + } + + /** Projection de a(x, y, z) sur la droite passant par o et e. */ + private Coordinate projection(GISPoint o, GISPoint e, double x, double y, double z) { + // Calcul de vecteur u=vec oe et normalisation + Coordinate vecU=new Coordinate(e.getX()-o.getX(), e.getY()-o.getY(), e.getZ()-o.getZ()); + double normeU=Math.sqrt(vecU.x*vecU.x+vecU.y*vecU.y+vecU.z*vecU.z); + vecU.x=vecU.x/normeU; + vecU.y=vecU.y/normeU; + vecU.z=vecU.z/normeU; + // Calcul du produit scalaire u et oa =k + double k=(x-o.getX())*vecU.x+(y-o.getY())*vecU.y+(z-o.getZ())*vecU.z; + // OP=ku + return new Coordinate(k*vecU.x+o.getX(), k*vecU.y+o.getY(), k*vecU.z+o.getZ()); + } + + /** + * Retourne vrai si le point a(x, y, z) est au dessus de la droite passant par + * o et e. Faux sinon. On part du principe que a et e on des valeurs de z=0 + */ + private boolean enHaut(GISPoint o, GISPoint e, double x, double y, double z) { + // Calcul de vecteur u=vec oe et normalisation + Coordinate vecU=new Coordinate(e.getX()-o.getX(), e.getY()-o.getY(), e.getZ()-o.getZ()); + double normeU=Math.sqrt(vecU.x*vecU.x+vecU.y*vecU.y+vecU.z*vecU.z); + vecU.x=vecU.x/normeU; + vecU.y=vecU.y/normeU; + vecU.z=vecU.z/normeU; + // Calcul du produit scalaire u et oa =k + double k=(x-o.getX())*vecU.x+(y-o.getY())*vecU.y+(z-o.getZ())*vecU.z; + // OP=ku + Coordinate p=new Coordinate(k*vecU.x+o.getX(), k*vecU.y+o.getY(), k*vecU.z+o.getZ()); + // Calcul du vecteur normal + Coordinate vecNormal=new Coordinate(vecU.y, -vecU.x); + // Calcul de l tq vecN*l=AP avec a projet\xE9 sur le plan z=0 + double l=(p.x-x)/vecNormal.x; + return l>0; + } + + private double dist(Coordinate a, Coordinate b) { + return dist(a.x, a.y, a.z, b.x, b.y, b.z); + } + + private double dist(double x2, double y2, double z2, double x, double y, double z) { + return Math.sqrt((x-x2)*(x-x2)+(y-y2)*(y-y2)+(z-z2)*(z-z2)); + } +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/profile/InterpolationProfilTest.java ___________________________________________________________________ Added: svn:keywords + Id Added: svn:eol-style + native Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/profile/ProfileCalculator.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/profile/ProfileCalculator.java 2008-11-28 16:49:12 UTC (rev 4251) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/profile/ProfileCalculator.java 2008-11-28 17:01:34 UTC (rev 4252) @@ -6,11 +6,17 @@ */ package org.fudaa.ctulu.interpolation.profile ; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + import org.fudaa.ctulu.CtuluLib; import org.fudaa.ctulu.CtuluLibGeometrie; import org.fudaa.ctulu.gis.GISGeometryFactory; import org.fudaa.ctulu.gis.GISLib; import org.fudaa.ctulu.gis.GISPoint; +import org.fudaa.ctulu.gis.GISPolyligne; import com.memoire.fu.FuLog; import com.vividsolutions.jts.geom.Coordinate; @@ -19,7 +25,7 @@ * Calculateur de profil en travers \xE0 partir d'un nuage de points. * @author J.B. Faure * @author Bertrand Marchand - * @version $Id:$ + * @version $Id$ */ public class ProfileCalculator { @@ -121,7 +127,7 @@ double pente=10/dist; return pente; } - + /** * Calcul du profil \xE0 partir du nuage de points. * NB : on impose de fournir la fen\xEAtre pour \xEAtre s\xFBr d'avoir un rectangle @@ -133,46 +139,52 @@ FuLog.debug("CTU:Cloud Nb points="+cloud_.getNbPoints()); FuLog.debug("CTU:Fenetre selection Nb points="+window_.select(cloud_).getNbPoints()); - // Un algo tout a fait basique - - double x; - double y; - double[] zh=new double[3]; + if(_algo==0) + return new InterpolationProfilTest(ptsTrace_, cloud_).process(); + else if (_algo==1) { + // Un algo tout a fait basique + double x; + double y; + double[] zh=new double[3]; - // 3 fenetres de m\xEAme dimension, et calcul d'une hauteur moyenne sur chaque. - for (int i=0; i<3; i++) { - GISPoint[] pts=new GISPoint[4]; - x=window_.getCorner(0).getX()+(window_.getCorner(3).getX()-window_.getCorner(0).getX())*i/3.; - y=window_.getCorner(0).getY()+(window_.getCorner(3).getY()-window_.getCorner(0).getY())*i/3.; - pts[0]=(GISPoint)GISGeometryFactory.INSTANCE.createPoint(x, y, 0); - x=window_.getCorner(1).getX()+(window_.getCorner(2).getX()-window_.getCorner(1).getX())*i/3.; - y=window_.getCorner(1).getY()+(window_.getCorner(2).getY()-window_.getCorner(1).getY())*i/3.; - pts[1]=(GISPoint)GISGeometryFactory.INSTANCE.createPoint(x, y, 0); - x=window_.getCorner(1).getX()+(window_.getCorner(2).getX()-window_.getCorner(1).getX())*(i+1)/3.; - y=window_.getCorner(1).getY()+(window_.getCorner(2).getY()-window_.getCorner(1).getY())*(i+1)/3.; - pts[2]=(GISPoint)GISGeometryFactory.INSTANCE.createPoint(x, y, 0); - x=window_.getCorner(0).getX()+(window_.getCorner(3).getX()-window_.getCorner(0).getX())*(i+1)/3.; - y=window_.getCorner(0).getY()+(window_.getCorner(3).getY()-window_.getCorner(0).getY())*(i+1)/3.; - pts[3]=(GISPoint)GISGeometryFactory.INSTANCE.createPoint(x, y, 0); - - ProfileCalculatorWindow win=new ProfileCalculatorWindow(pts); - PointCloudI cloudwin=win.select(cloud_); - // Calcul de la hauteur moyenne. - zh[i]=0; - for (int j=0; j<cloudwin.getNbPoints(); j++) { - zh[i]+=cloudwin.getZ(j); + // 3 fenetres de m\xEAme dimension, et calcul d'une hauteur moyenne sur + // chaque. + for (int i=0; i<3; i++) { + GISPoint[] pts=new GISPoint[4]; + x=window_.getCorner(0).getX()+(window_.getCorner(3).getX()-window_.getCorner(0).getX())*i/3.; + y=window_.getCorner(0).getY()+(window_.getCorner(3).getY()-window_.getCorner(0).getY())*i/3.; + pts[0]=(GISPoint)GISGeometryFactory.INSTANCE.createPoint(x, y, 0); + x=window_.getCorner(1).getX()+(window_.getCorner(2).getX()-window_.getCorner(1).getX())*i/3.; + y=window_.getCorner(1).getY()+(window_.getCorner(2).getY()-window_.getCorner(1).getY())*i/3.; + pts[1]=(GISPoint)GISGeometryFactory.INSTANCE.createPoint(x, y, 0); + x=window_.getCorner(1).getX()+(window_.getCorner(2).getX()-window_.getCorner(1).getX())*(i+1)/3.; + y=window_.getCorner(1).getY()+(window_.getCorner(2).getY()-window_.getCorner(1).getY())*(i+1)/3.; + pts[2]=(GISPoint)GISGeometryFactory.INSTANCE.createPoint(x, y, 0); + x=window_.getCorner(0).getX()+(window_.getCorner(3).getX()-window_.getCorner(0).getX())*(i+1)/3.; + y=window_.getCorner(0).getY()+(window_.getCorner(3).getY()-window_.getCorner(0).getY())*(i+1)/3.; + pts[3]=(GISPoint)GISGeometryFactory.INSTANCE.createPoint(x, y, 0); + + ProfileCalculatorWindow win=new ProfileCalculatorWindow(pts); + PointCloudI cloudwin=win.select(cloud_); + // Calcul de la hauteur moyenne. + zh[i]=0; + for (int j=0; j<cloudwin.getNbPoints(); j++) { + zh[i]+=cloudwin.getZ(j); + } + zh[i]/=cloudwin.getNbPoints(); + + FuLog.debug("CTU:Sous fenetre "+(i+1)+" Nb points="+cloudwin.getNbPoints()+", Zh="+zh[i]); } - zh[i]/=cloudwin.getNbPoints(); - FuLog.debug("CTU:Sous fenetre "+(i+1)+" Nb points="+cloudwin.getNbPoints()+", Zh="+zh[i]); + GISPoint[] prof=new GISPoint[ptsTrace_.length]; + for (int i=0; i<ptsTrace_.length; i++) { + double z=zh[(i*3)/ptsTrace_.length]; + prof[i]=(GISPoint)GISGeometryFactory.INSTANCE.createPoint(ptsTrace_[i].getX(), ptsTrace_[i].getY(), z); + } + + return prof; } - - GISPoint[] prof=new GISPoint[ptsTrace_.length]; - for (int i=0; i<ptsTrace_.length; i++) { - double z=zh[(i*3)/ptsTrace_.length]; - prof[i]=(GISPoint)GISGeometryFactory.INSTANCE.createPoint(ptsTrace_[i].getX(),ptsTrace_[i].getY(),z); - } - - return prof; + else + return null; } } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/profile/ProfileCalculatorWindow.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/profile/ProfileCalculatorWindow.java 2008-11-28 16:49:12 UTC (rev 4251) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/interpolation/profile/ProfileCalculatorWindow.java 2008-11-28 17:01:34 UTC (rev 4252) @@ -22,7 +22,7 @@ * * @author J.B. Faure * @author Bertrand Marchand - * @version $Id:$ + * @version $Id$ */ public class ProfileCalculatorWindow { @@ -39,7 +39,7 @@ */ public ProfileCalculatorWindow(GISPoint[] _points) { - // TODO : Verifier que les 4 points forment bien un carr\xE9. + // TODO : Verifier que les 4 points forment bien un rectangle. Coordinate[] coords=new Coordinate[5]; for (int i=0; i<_points.length; i++) { coords[i]=(Coordinate)_points[i].getCoordinate().clone(); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlEditionManager.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlEditionManager.java 2008-11-28 16:49:12 UTC (rev 4251) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlEditionManager.java 2008-11-28 17:01:34 UTC (rev 4252) @@ -32,6 +32,7 @@ import org.fudaa.fudaa.modeleur.action.SceneInterpolationAction; import org.fudaa.fudaa.modeleur.action.SceneInvertAction; import org.fudaa.fudaa.modeleur.action.SceneMoveInLayerAction; +import org.fudaa.fudaa.modeleur.action.SceneProfilInterpolation; import org.fudaa.fudaa.modeleur.action.SceneProjectionAction; import org.fudaa.fudaa.modeleur.action.SceneRefinementAction; import org.fudaa.fudaa.sig.layer.FSigEditor; @@ -74,6 +75,7 @@ acts.add(new SceneRefinementAction((MdlSceneEditor)sceneEditor_)); acts.add(new SceneInvertAction((MdlSceneEditor)sceneEditor_)); acts.add(new SceneProjectionAction((MdlSceneEditor)sceneEditor_)); + acts.add(new SceneProfilInterpolation((MdlSceneEditor)sceneEditor_)); acts.add(new SceneAbscisseCurviligneAction(this)); getSceneEditor().setActions(acts.toArray(new EbliActionAbstract[0])); } Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlInterpolateProfilePanel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlInterpolateProfilePanel.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlInterpolateProfilePanel.java 2008-11-28 17:01:34 UTC (rev 4252) @@ -0,0 +1,240 @@ +/* + * @creation 8 sept. 06 + * @modification $Date: 2008-10-07 16:14:47 +0200 (mar., 07 oct. 2008) $ + * @license GNU General Public License 2 + * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail de...@fu... + */ +package org.fudaa.fudaa.modeleur; + +import java.awt.Color; +import java.awt.Container; +import java.awt.Dimension; +import java.awt.GridLayout; +import java.util.HashMap; +import java.util.Map; + +import javax.swing.JScrollPane; +import javax.swing.JTree; +import javax.swing.event.TreeSelectionEvent; +import javax.swing.event.TreeSelectionListener; +import javax.swing.tree.TreePath; + +import org.fudaa.ctulu.gis.GISAttributeConstants; +import org.fudaa.ctulu.gis.GISAttributeInterface; +import org.fudaa.ctulu.gis.GISDataModel; +import org.fudaa.ctulu.gis.GISLib; +import org.fudaa.ctulu.gis.GISZoneCollection; +import org.fudaa.ctulu.gui.CtuluDialogPanel; +import org.fudaa.ebli.calque.BArbreCalqueModel; +import org.fudaa.ebli.calque.CalqueGISTreeModel; +import org.fudaa.ebli.calque.ZCalqueAffichageDonneesAbstract; +import org.fudaa.ebli.calque.ZCalqueAffichageDonneesInterface; +import org.fudaa.ebli.calque.ZCalqueGeometry; +import org.fudaa.ebli.calque.ZEbliCalquesPanel; +import org.fudaa.ebli.calque.ZModeleGeometry; +import org.fudaa.ebli.calque.edition.ZModeleGeometryDefault; +import org.fudaa.ebli.geometrie.GrBoite; +import org.fudaa.ebli.trace.TraceIcon; +import org.fudaa.ebli.trace.TraceIconModel; +import org.fudaa.ebli.trace.TraceLigne; +import org.fudaa.ebli.trace.TraceLigneModel; +import org.fudaa.ebli.trace.TraceSurface; +import org.fudaa.ebli.trace.TraceSurfaceModel; +import org.fudaa.fudaa.commun.FudaaLib; +import org.fudaa.fudaa.sig.FSigLib; +import org.fudaa.fudaa.tr.common.TrResource; + +import com.memoire.bu.BuBorderLayout; +import com.memoire.bu.BuComboBox; +import com.memoire.bu.BuLabel; +import com.vividsolutions.jts.geom.Geometry; +import com.vividsolutions.jts.geom.Polygon; + +/** + * Un panneau de saisie des g\xE9om\xE9tries supports de projection suivant Z. + * @author Bertrand Marchand, Emmanuel MARTIN + * @version $Id$ + */ +public class MdlInterpolateProfilePanel extends CtuluDialogPanel { + + private ZEbliCalquesPanel pn_; + private GrBoite initZoom_; + private JTree trLayers_; + private ZCalqueGeometry cqTmp_; + private GISZoneCollection support_; + /** List des calques acceptant les profils avec pour clef leur nom. */ + private Map<String, ZCalqueAffichageDonneesInterface> calquesProfil_=new HashMap<String, ZCalqueAffichageDonneesInterface>(); + /** La comboBox contenant le calque de destination du profil. */ + private BuComboBox cbProfil_; + + public MdlInterpolateProfilePanel(ZEbliCalquesPanel _pn) { + pn_=_pn; + setLayout(new BuBorderLayout(5, 5)); + + BuLabel lbTitle=new BuLabel(FSigLib.getS("S\xE9lectionnez les semis")); + add(lbTitle, BuBorderLayout.NORTH); + + CalqueGISTreeModel md=new CalqueGISTreeModel(null,_pn.getDonneesCalque()); + md.setMask(GISLib.MASK_MULTIPOINT); + trLayers_=md.createView(true,true); + + trLayers_.addTreeSelectionListener(new TreeSelectionListener() { + public void valueChanged(TreeSelectionEvent e) { + treeSelectionChanged(getSelectedGeomInTree(),true); + } + }); + JScrollPane sp=new JScrollPane(trLayers_); + sp.setPreferredSize(new Dimension(300,200)); + add(sp, BuBorderLayout.CENTER); + + // Liste des calques disponibles pour le profil r\xE9sultant \\ + ZCalqueAffichageDonneesInterface[] calques=pn_.getScene().getAllLayers(); + for(int i=0;i<calques.length;i++){ + if(calques[i].modeleDonnees() instanceof ZModeleGeometry){ + Object value=((ZModeleGeometry)calques[i].modeleDonnees()).getGeomData().getFixedAttributValue(GISAttributeConstants.NATURE); + if(value!=null&&value.equals(GISAttributeConstants.ATT_NATURE_PF)) + calquesProfil_.put(calques[i].getTitle(), calques[i]); + } + } + // Remplissage de la comboBox + cbProfil_=new BuComboBox(); + for(Map.Entry<String, ZCalqueAffichageDonneesInterface> entry:calquesProfil_.entrySet()) + cbProfil_.addItem(entry.getKey()); + // Selection par defaut + if(calquesProfil_.containsKey(pn_.getScene().getCalqueActif().getTitle())) + cbProfil_.setSelectedItem(pn_.getScene().getCalqueActif().getTitle()); + if(calquesProfil_.size()==0) + setErrorText(TrResource.getS("Aucun calque de profil n'a \xE9t\xE9 trouv\xE9, l'interpolation est impossible.")); + Container cont=new Container(); + cont.setLayout(new GridLayout(1, 2, 2, 2)); + cont.add(new BuLabel(FudaaLib.getS("Calque de destination : "))); + cont.add(cbProfil_); + add(cont, BuBorderLayout.SOUTH); + } + + public ZCalqueAffichageDonneesInterface getCalqueProfileDestination(){ + return calquesProfil_.get(cbProfil_.getSelectedItem()); + } + + /** + * Retourne les g\xE9ometries s\xE9lectionn\xE9es de l'arbre. Les g\xE9om\xE9tries transportent le Z en chaque point si un Z existe. + * @return Les g\xE9om\xE9tries, de taille = 0 si rien de selectionn\xE9. + */ + private Geometry[] getSelectedGeomInTree() { + if (trLayers_.isSelectionEmpty()) { + return null; + } + TreePath[] selpaths=trLayers_.getSelectionPaths(); + Geometry[] geoms=new Geometry[selpaths.length]; + for (int i=0; i<selpaths.length; i++) { + final CalqueGISTreeModel.LayerNode node=(CalqueGISTreeModel.LayerNode)selpaths[i].getLastPathComponent(); + final ZCalqueAffichageDonneesAbstract cq = (ZCalqueAffichageDonneesAbstract) node.getUserObject(); + GISZoneCollection col=((ZModeleGeometry)cq.modeleDonnees()).getGeomData(); + // Pour le transport du Z. + col.initZCoordinate(node.getIdxGeom()); + geoms[i]=col.getGeometry(node.getIdxGeom()); + } + + return geoms; + } + + /** + * R\xE9affichage de la fenetre 2D en cas de selection d'un objet. + * @param _geoms Les g\xE9om\xE9tries s\xE9lectionn\xE9es. + * @param _zoom True si le zoom doit se faire sur les g\xE9ometries s\xE9lectionn\xE9es. + */ + private void treeSelectionChanged(final Geometry[] _geoms, final boolean _zoom) { + if (pn_==null) { + return; + } + if (_geoms == null || _geoms.length==0) { + if (cqTmp_ != null) { + cqTmp_.setVisible(false); + } + return; + } + + ZModeleGeometryDefault mdl=new ZModeleGeometryDefault(); + support_=mdl.getGeomData(); + + for (int i=0; i<_geoms.length; i++) { + support_.addGeometry(_geoms[i], null, null); + } + // Ajout de l'enveloppe externe pour visualisation. + Geometry g=support_.convexHull(); + if (g instanceof Polygon) + support_.addGeometry(((Polygon)g).getExteriorRing(), null, null); + else + support_.addGeometry(g, null, null); + + if (cqTmp_ == null) { + initZoom_ = pn_.getVueCalque().getViewBoite(); + cqTmp_ = new ZCalqueGeometry(mdl); + cqTmp_.setDestructible(true); + final TraceIconModel model = new TraceIconModel(TraceIcon.PLUS_DOUBLE, 4, Color.RED); + cqTmp_.setIconModel(0, model); + cqTmp_.setIconModel(1, model); + final TraceLigneModel ligne = new TraceLigneModel(TraceLigne.INVISIBLE, 2, Color.RED); + cqTmp_.setLineModel(0, ligne); + cqTmp_.setLineModel(1, ligne); + final TraceSurfaceModel surfMdl=new TraceSurfaceModel(TraceSurface.UNIFORME,new Color(255,50,0,40),null); + cqTmp_.setSurfaceModel(surfMdl); + pn_.getVueCalque().getCalque().enPremier(cqTmp_); + pn_.getCqInfos().enPremier(); + } + cqTmp_.modele(mdl); + cqTmp_.setVisible(true); + + if (_zoom) { + BArbreCalqueModel.actionCenter(cqTmp_, pn_); + } + } + + @Override + public boolean valide() { + if (trLayers_.getSelectionCount()==0) { + setErrorText(TrResource.getS("Vous devez s\xE9lectionner au moins 1 semis")); + return false; + } + return true; + } + + /** + * Retourne le modele des g\xE9om\xE9tries supports (les g\xE9om\xE9tries s\xE9l\xE9ectionn\xE9es dans l'arbre). + * @return Le mod\xE8le. + */ + public GISZoneCollection getSupportCollection() { + support_.setAttributes(new GISAttributeInterface[]{GISAttributeConstants.BATHY}, null); + support_.setAttributeIsZ(GISAttributeConstants.BATHY); + support_.postImport(0); + return support_; + } + + /** + * Fermeture du dialogue, et suppression du calque qui visualise les g\xE9om\xE9tries s\xE9lectionn\xE9es. + */ + private void close() { + if (cqTmp_!=null) { + cqTmp_.detruire(); + cqTmp_=null; + // Suppression de l'enveloppe externe. + support_.removeGeometries(new int[]{support_.getNbGeometries()-1}, null); + pn_.getVueCalque().getCalque().repaint(); + } + pn_.getVueCalque().changeRepere(this, initZoom_); + } + + @Override + public void cancel() { + close(); + super.cancel(); + } + + @Override + public boolean ok() { + close(); + return super.ok(); + } + +} \ No newline at end of file Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlInterpolateProfilePanel.java ___________________________________________________________________ Added: svn:keywords + Id Added: svn:eol-style + native Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java 2008-11-28 16:49:12 UTC (rev 4251) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java 2008-11-28 17:01:34 UTC (rev 4252) @@ -19,9 +19,7 @@ import javax.swing.JDialog; import javax.swing.JPanel; -import org.fudaa.ctulu.CtuluCommand; import org.fudaa.ctulu.CtuluCommandComposite; -import org.fudaa.ctulu.CtuluCommandContainer; import org.fudaa.ctulu.CtuluListSelection; import org.fudaa.ctulu.CtuluListSelectionInterface; import org.fudaa.ctulu.gis.GISAttributeConstants; @@ -32,6 +30,8 @@ import org.fudaa.ctulu.gis.GISGeometryFactory; import org.fudaa.ctulu.gis.GISLib; import org.fudaa.ctulu.gis.GISMultiPoint; +import org.fudaa.ctulu.gis.GISPoint; +import org.fudaa.ctulu.gis.GISPolyligne; import org.fudaa.ctulu.gis.GISZoneCollection; import org.fudaa.ctulu.gis.GISZoneCollectionGeometry; import org.fudaa.ctulu.interpolation.InterpolationParameters; @@ -40,6 +40,9 @@ import org.fudaa.ctulu.interpolation.InterpolationTarget; import org.fudaa.ctulu.interpolation.InterpolationTargetGISAdapter; import org.fudaa.ctulu.interpolation.bilinear.InterpolatorBilinear; +import org.fudaa.ctulu.interpolation.profile.GISDataModelToPointCloudAdapter; +import org.fudaa.ctulu.interpolation.profile.ProfileCalculator; +import org.fudaa.ctulu.interpolation.profile.ProfileCalculatorWindow; import org.fudaa.ebli.calque.ZCalqueAffichageDonneesInterface; import org.fudaa.ebli.calque.ZModeleDonnees; import org.fudaa.ebli.calque.ZModeleGeometry; @@ -377,6 +380,76 @@ } /** + * Interpole un profil \xE0 partir d'un nuage de point. + */ + public void interpolateProfile() { + MdlInterpolateProfilePanel pnInterpolateProfile=new MdlInterpolateProfilePanel(pn_); + if (pnInterpolateProfile.afficheModaleOk(pn_.getFrame(), FudaaLib.getS("Interpolation d'un profil"))&&pnInterpolateProfile.getCalqueProfileDestination()!=null) { + GISDataModel mdl=pnInterpolateProfile.getSupportCollection(); + InterpolationSupportGISAdapter support=new InterpolationSupportGISAdapter(mdl); + ProfileCalculator calculator=new ProfileCalculator(); + // Configuration du calculator \\ + // Cr\xE9ation de la fen\xEAtre contenant les points + double xMin=support.getPtX(0); + double xMax=support.getPtX(0); + double yMin=support.getPtY(0); + double yMax=support.getPtY(0); + for(int i=1;i<support.getPtsNb();i++){ + if(support.getPtX(i)<xMin) + xMin=support.getPtX(i); + else if(support.getPtX(i)>xMax) + xMax=support.getPtX(i); + if(support.getPtY(i)<yMin) + yMin=support.getPtY(i); + else if(support.getPtY(i)>yMax) + yMax=support.getPtY(i); + } + calculator.setWindow(new ProfileCalculatorWindow(new GISPoint[]{new GISPoint(xMin, yMin, 0), new GISPoint(xMin, yMax, 0), new GISPoint(xMax, yMax, 0), new GISPoint(xMax, yMin, 0)})); + // R\xE9cup\xE9ration des points de la trace du profil + int idGeom=scene_.getSelectionHelper().getUniqueSelectedIdx(); + if(idGeom==-1||!(scene_.getObject(idGeom) instanceof Geometry)){ + ui_.error(FudaaLib.getS("L'interpolation n'est pas possible \xE0 partir de cette selection.")); + return; + } + Coordinate[] coords=((Geometry) scene_.getObject(idGeom)).getCoordinates(); + GISPoint[] points=new GISPoint[coords.length]; + for(int i=0;i<coords.length;i++) + points[i]=new GISPoint(coords[i]); + calculator.setTrace(points); + // Configuration du nuage de point + GISAttributeInterface[] attrs=new GISAttributeInterface[mdl.getNbAttributes()]; + for(int i=0;i<mdl.getNbAttributes();i++) + attrs[i]=mdl.getAttribute(i); + int nbMultiPoint=0; + for(int i=0;i<mdl.getNumGeometries();i++) + if(mdl.getGeometry(i) instanceof GISMultiPoint) + nbMultiPoint++; + int[] idxMultiPoint=new int[nbMultiPoint]; + int j=0; + for(int i=0;i<mdl.getNumGeometries();i++) + if(mdl.getGeometry(i) instanceof GISMultiPoint) + idxMultiPoint[j++]=i; + calculator.setCloud(new GISDataModelToPointCloudAdapter(mdl, GISAttributeConstants.BATHY)); + // Utilisation de l'interpolateur de profil + GISPoint[] profil=calculator.extractProfile(0); + // Ajout du r\xE9sultat dans le calque cible + GISZoneCollection zone=((ZModeleGeometry)pnInterpolateProfile.getCalqueProfileDestination().modeleDonnees()).getGeomData(); + coords=new Coordinate[profil.length]; + for(int i=0;i<coords.length;i++) + coords[i]=new Coordinate(profil[i].getX(),profil[i].getY(),profil[i].getZ()); + GISPolyligne poly=GISGeometryFactory.INSTANCE.createLineString(coords); + Object[] data=new Object[zone.getNbAttributes()]; + if(zone.getAttributeIsZ()!=null){ + int idxZattr=zone.getIndiceOf(zone.getAttributeIsZ()); + data[idxZattr]=new Object[coords.length]; + for(int i=0;i<coords.length;i++) + ((Object[])data[idxZattr])[i]=profil[i].getZ(); + } + ((ZModeleGeometry)pnInterpolateProfile.getCalqueProfileDestination().modeleDonnees()).getGeomData().addGeometry(poly, data, mng_); + } + } + + /** * Projete une g\xE9om\xE9trie sur un ensemble de points d'un ou plusieurs semis. */ public void projectSelectedObject() { Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneProfilInterpolation.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneProfilInterpolation.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneProfilInterpolation.java 2008-11-28 17:01:34 UTC (rev 4252) @@ -0,0 +1,70 @@ +/* + * @creation 26 nov. 2008 + * @modification $Date:$ + * @license GNU General Public License 2 + * @copyright (c)1998-2008 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail fud...@li... + */ +package org.fudaa.fudaa.modeleur.action; + +import java.awt.event.ActionEvent; + +import org.fudaa.ctulu.CtuluLib; +import org.fudaa.ctulu.gis.GISAttributeConstants; +import org.fudaa.ctulu.gis.GISZoneCollection; +import org.fudaa.ebli.calque.ZCalqueAffichageDonneesInterface; +import org.fudaa.ebli.calque.ZModeleGeometry; +import org.fudaa.ebli.calque.ZScene; +import org.fudaa.ebli.calque.ZSelectionEvent; +import org.fudaa.ebli.calque.ZSelectionListener; +import org.fudaa.ebli.calque.ZScene.SceneSelectionHelper; +import org.fudaa.ebli.commun.EbliActionSimple; +import org.fudaa.fudaa.modeleur.MdlSceneEditor; + +import com.memoire.bu.BuResource; + +/** + * Une action pour projeter une g\xE9om\xE9trie sur un ou des semis de points. + * @author Emmanuel MARTIN + */ +public class SceneProfilInterpolation extends EbliActionSimple implements ZSelectionListener { + MdlSceneEditor sceneEditor_; + + public SceneProfilInterpolation(MdlSceneEditor _sceneEditor) { + super(BuResource.BU.getString("Interpoler un profil"), null, "INTERPOLE_PROFIL"); + sceneEditor_=_sceneEditor; + sceneEditor_.getScene().addSelectionListener(this); + } + + public void actionPerformed(final ActionEvent _e) { + sceneEditor_.interpolateProfile(); + } + + public void updateForSelectionChanged() { + ZScene scn=sceneEditor_.getScene(); + SceneSelectionHelper hlp=sceneEditor_.getScene().getSelectionHelper(); + boolean b=false; + // Si la selection est en mode globale et qu'une seule g\xE9om\xE9trie est selectionn\xE9e. + if(!scn.isAtomicMode()&&hlp.getUniqueSelectedIdx()!=-1){ + int idGeom=scn.sceneId2LayerId(hlp.getUniqueSelectedIdx()); + ZCalqueAffichageDonneesInterface calque=scn.getLayerForId(hlp.getUniqueSelectedIdx()); + // La nature de la g\xE9om\xE9trie est bien trace profil + if(calque.modeleDonnees() instanceof ZModeleGeometry){ + GISZoneCollection zone=((ZModeleGeometry) calque.modeleDonnees()).getGeomData(); + b=zone.getValue(zone.getIndiceOf(GISAttributeConstants.NATURE), idGeom).equals(GISAttributeConstants.ATT_NATURE_TP); + } + } + setEnabled(b); + } + + public String getEnableCondition() { + return CtuluLib.getS("S\xE9lectionner une trace de profil."); + } + + /* (non-Javadoc) + * @see org.fudaa.ebli.calque.ZSelectionListener#selectionChanged(org.fudaa.ebli.calque.ZSelectionEvent) + */ + public void selectionChanged(ZSelectionEvent _evt) { + updateForSelectionChanged(); + } +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneProfilInterpolation.java ___________________________________________________________________ Added: svn:keywords + Id Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fa...@us...> - 2008-11-28 16:49:14
|
Revision: 4251 http://fudaa.svn.sourceforge.net/fudaa/?rev=4251&view=rev Author: fargeix Date: 2008-11-28 16:49:12 +0000 (Fri, 28 Nov 2008) Log Message: ----------- Corrections diverses du code de Fudaa-Oscar Modified Paths: -------------- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/oscar/OscarFilleNoteDeCalculs.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/oscar/OscarImplementation.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/oscar/OscarLib.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/oscar/OscarOuvrageParametres.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/oscar/OscarPredimensionnementResultatsBruts.java trunk/fudaa_devel/fudaa-distrib/oscar/izpack/izpack_fudaa_oscar.xml Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/oscar/OscarFilleNoteDeCalculs.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/oscar/OscarFilleNoteDeCalculs.java 2008-11-28 16:40:34 UTC (rev 4250) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/oscar/OscarFilleNoteDeCalculs.java 2008-11-28 16:49:12 UTC (rev 4251) @@ -31,6 +31,7 @@ import com.memoire.bu.BuCommonInterface; +import org.fudaa.ctulu.CtuluLibFile; import org.fudaa.ctulu.CtuluLibMessage; import org.fudaa.dodico.corba.oscar.SResultatsOscar; @@ -118,6 +119,8 @@ }); _bt_display.addActionListener(new ActionListener() { public void actionPerformed(final ActionEvent _evt) { + final String _f = new File(OscarLib.NOTEDECALCULS_TEMP_HTMLFILE + "001.html").getAbsolutePath(); + setFichier(_f); final Settings _config = listconfig_.getConfig(); if (_config != null) { settings_.add(_config); @@ -241,6 +244,7 @@ HtmlPartie _sp = null; HtmlPartie _ssp = null; if (_f != null) { + CtuluLibFile.deleteDir(new File(_f + "files")); (new File(_f + "files")).mkdirs(); } else { _f = ""; Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/oscar/OscarImplementation.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/oscar/OscarImplementation.java 2008-11-28 16:40:34 UTC (rev 4250) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/oscar/OscarImplementation.java 2008-11-28 16:49:12 UTC (rev 4251) @@ -117,13 +117,13 @@ /** titre du logiciel */ isOscar_.name = "Oscar"; /** version courante du logiciel */ - isOscar_.version = "1.3"; + isOscar_.version = "1.4"; /** date de la version courante du logiciel */ - isOscar_.date = "07 f\xE9vrier 2003"; + isOscar_.date = "28 novembre 2008"; /** informations sur le droits r\xE9serv\xE9s */ isOscar_.rights = "CETMEF (c) 2003"; /** email du responsable du logiciel */ - isOscar_.contact= "oli...@eq..."; + isOscar_.contact= "Cla...@de..."; /** informations sur la licence de d\xE9veloppement */ isOscar_.license = "GPL2"; /** langage support\xE9 */ Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/oscar/OscarLib.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/oscar/OscarLib.java 2008-11-28 16:40:34 UTC (rev 4250) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/oscar/OscarLib.java 2008-11-28 16:49:12 UTC (rev 4251) @@ -823,9 +823,9 @@ } _rc += 51; } - final BufferedImage _img = new BufferedImage(500, 500, BufferedImage.TYPE_BYTE_INDEXED, new IndexColorModel(8, 216, + final BufferedImage _img = new BufferedImage(720, 400, BufferedImage.TYPE_BYTE_INDEXED, new IndexColorModel(8, 216, _cr, _cg, _cb)); - _g.dessine(_img.createGraphics(), 0, 0, 500, 500, 0, (ImageObserver) null); + _g.dessine(_img.createGraphics(), 0, 0, 720, 400, 0, (ImageObserver) null); try { final AcmeGifEncoder _age = new AcmeGifEncoder(_img, new FileOutputStream(_file)); _age.encode(); @@ -1804,27 +1804,29 @@ //--cas 3: plus de 2 chiffres apres la virgule: on formatte - //String formatC="0.000"; + String formatC="0.000"; - //return new DecimalFormat(formatC).format(nombre); - return Double.toString(Math.round(nombre*1000)/1000); + String valeur = new DecimalFormat(formatC).format(nombre); + return valeur.replace(",", "."); + //return Double.toString(Math.round(nombre*1000)/1000.); } public static String formatterNombre2(double nombre) { - String val=Double.toString(nombre); +/* String val=Double.toString(nombre); if(val.indexOf(".")==-1) return val;//-- cas 1: pas de chiffres apres la virgule if(val.length()-val.indexOf(".")<=3) return val;//-- cas 2: au plus 2 chiffres arp\xE8s la virgule: on renvoie tel quel - + */ //--cas 3: plus de 2 chiffres apres la virgule: on formatte - //String formatC="0.000000000"; + String formatC="0.0000"; - //return new DecimalFormat(formatC).format(nombre); - return Double.toString(Math.round(nombre*1000000000)/1000000000); + String valeur = new DecimalFormat(formatC).format(nombre); + return valeur.replace(",", "."); + //return Double.toString(Math.round(nombre*10000)/10000.); } } Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/oscar/OscarOuvrageParametres.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/oscar/OscarOuvrageParametres.java 2008-11-28 16:40:34 UTC (rev 4250) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/oscar/OscarOuvrageParametres.java 2008-11-28 16:49:12 UTC (rev 4251) @@ -191,7 +191,7 @@ facul_.setLimiteElastiqueAcierTirants(_p.limiteElastiqueAcierTirants); } } - oblig_.setPourcentageEncastrementNappe(OscarMsg.INITIALVALUE009); + //oblig_.setPourcentageEncastrementNappe(OscarMsg.INITIALVALUE009); Supprim\xE9 par FARGEIX if (_p.moduleYoungAcier != VALEUR_NULLE.value) { facul_.setModuleYoungAcier(_p.moduleYoungAcier); } Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/oscar/OscarPredimensionnementResultatsBruts.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/oscar/OscarPredimensionnementResultatsBruts.java 2008-11-28 16:40:34 UTC (rev 4250) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/oscar/OscarPredimensionnementResultatsBruts.java 2008-11-28 16:49:12 UTC (rev 4251) @@ -153,12 +153,12 @@ _sr.pied20Pourcent = Double.parseDouble(dm_tb_predim_.getValueAt(2, 1).toString()); _sr.piedContreButee = Double.parseDouble(dm_tb_predim_.getValueAt(3, 1).toString()); _p = new SPointCoteValeur(); - _p.cote = Double.parseDouble(dm_tb_predim_.getValueAt(4, 1).toString()); - _p.valeur = Double.parseDouble(dm_tb_predim_.getValueAt(5, 1).toString()); + _p.valeur = Double.parseDouble(dm_tb_predim_.getValueAt(4, 1).toString()); + _p.cote = Double.parseDouble(dm_tb_predim_.getValueAt(5, 1).toString()); _sr.momentMaximum = _p; _p = new SPointCoteValeur(); - _p.cote = Double.parseDouble(dm_tb_predim_.getValueAt(6, 1).toString()); - _p.valeur = Double.parseDouble(dm_tb_predim_.getValueAt(7, 1).toString()); + _p.valeur = Double.parseDouble(dm_tb_predim_.getValueAt(6, 1).toString()); + _p.cote = Double.parseDouble(dm_tb_predim_.getValueAt(7, 1).toString()); _sr.momentMinimum = _p; if (tb_predim_.getRowCount() > 8) { _sr.encastrement = Double.parseDouble(dm_tb_predim_.getValueAt(8, 1).toString()); Modified: trunk/fudaa_devel/fudaa-distrib/oscar/izpack/izpack_fudaa_oscar.xml =================================================================== --- trunk/fudaa_devel/fudaa-distrib/oscar/izpack/izpack_fudaa_oscar.xml 2008-11-28 16:40:34 UTC (rev 4250) +++ trunk/fudaa_devel/fudaa-distrib/oscar/izpack/izpack_fudaa_oscar.xml 2008-11-28 16:49:12 UTC (rev 4251) @@ -17,10 +17,9 @@ --> <info> <appname>Oscar</appname> - <appversion>1.4 beta 1</appversion> + <appversion>1.4 beta 2</appversion> <authors> <author name="Olivier HOAREAU" email="de...@fu..."/> - <author name="Mederic FARGEIX" email="de...@fu..."/> </authors> <url>http://www.cetmef.developpement-durable.gouv.fr/</url> </info> @@ -81,7 +80,7 @@ <file src="oscar.ico" targetdir="$INSTALL_PATH"/> <file src="oscar.png" targetdir="$INSTALL_PATH"/> <file src="../../../distrib/build/jar/oscar/fudaa-oscar.jar" targetdir="$INSTALL_PATH"/> - <file src="../../../distrib/build/jar/oscar/aide" targetdir="$INSTALL_PATH"/> + <file src="../../aide/src/oscar" targetdir="$INSTALL_PATH/aide"/> <file src="../../fudaa/serveurs/oscar" targetdir="$INSTALL_PATH/serveurs"/> <executable targetfile="$INSTALL_PATH/serveurs/oscar/bin/linux/oscar_linux" stage="never"/> <executable targetfile="$INSTALL_PATH/serveurs/oscar/bin/linux/xplan_linux" stage="never"/> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fa...@us...> - 2008-11-28 16:40:38
|
Revision: 4250 http://fudaa.svn.sourceforge.net/fudaa/?rev=4250&view=rev Author: fargeix Date: 2008-11-28 16:40:34 +0000 (Fri, 28 Nov 2008) Log Message: ----------- Correction d'un dysfonctionnement relatif ?\195?\160 l'affichage de l'aide dans Fudaa-Albe Modified Paths: -------------- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/albe/AlbeImplementation.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/albe/AlbeLancementCalculsFrame.java Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/albe/AlbeImplementation.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/albe/AlbeImplementation.java 2008-11-27 16:48:21 UTC (rev 4249) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/albe/AlbeImplementation.java 2008-11-28 16:40:34 UTC (rev 4250) @@ -174,13 +174,13 @@ /** titre du logiciel */ isAlbe_.name = "Albe"; /** version courante du logiciel */ - isAlbe_.version = "1.0"; + isAlbe_.version = "1.1"; /** date de la version courante du logiciel */ - isAlbe_.date = "16/02/07"; + isAlbe_.date = "28/11/08"; /** informations sur le droits r\xE9serv\xE9s */ isAlbe_.rights = "CETMEF (c) 2003"; /** email du responsable du logiciel */ - isAlbe_.contact = "Oli...@eq..."; + isAlbe_.contact = "Cla...@de..."; /** informations sur la licence de d\xE9veloppement */ isAlbe_.license = "GPL2"; /** langage support\xE9 */ Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/albe/AlbeLancementCalculsFrame.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/albe/AlbeLancementCalculsFrame.java 2008-11-27 16:48:21 UTC (rev 4249) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/albe/AlbeLancementCalculsFrame.java 2008-11-28 16:40:34 UTC (rev 4250) @@ -54,7 +54,7 @@ public AlbeLancementCalculsFrame(final BuCommonInterface _appli, final FudaaProjet _project, final AlbeFilleParametres _fp) { - super("Lancemement des calculs", "executer", _appli, _project); + super("Lancement des calculs", "executer", _appli, _project); setSize(620, 410); appli_ = _appli.getApp(); @@ -220,11 +220,12 @@ * affiche l'aide concernant le lancement des calculs. */ protected void aide() { - String path = "file://" + AlbeImplementation.informationsSoftware().man + String path = /*"file://" +*/ AlbeImplementation.informationsSoftware().man + AlbeImplementation.informationsSoftware().name.toLowerCase() + "/" + AlbeMsg.URL009 + ".html"; // String path = "aide/albe/" + helpfile_ + ".html"; - getImplementation().showHtml(path); + //getImplementation().showHtml(path); + getImplementation().displayURL(path); } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fa...@us...> - 2008-11-27 16:48:28
|
Revision: 4249 http://fudaa.svn.sourceforge.net/fudaa/?rev=4249&view=rev Author: fargeix Date: 2008-11-27 16:48:21 +0000 (Thu, 27 Nov 2008) Log Message: ----------- Modification des fichiers d'aide de Fudaa-Albe (erreurs de liens absolus par exemple) Modified Paths: -------------- trunk/fudaa_devel/aide/src/albe/Tableauxrecap.html trunk/fudaa_devel/aide/src/albe/actions.html trunk/fudaa_devel/aide/src/albe/alphabetique.html trunk/fudaa_devel/aide/src/albe/coefficientspartiels.html trunk/fudaa_devel/aide/src/albe/creationprojet.html trunk/fudaa_devel/aide/src/albe/criteresdimensionnement.html trunk/fudaa_devel/aide/src/albe/defensesaccostage.html trunk/fudaa_devel/aide/src/albe/domaineapplication.html trunk/fudaa_devel/aide/src/albe/geometrie.html trunk/fudaa_devel/aide/src/albe/index.html trunk/fudaa_devel/aide/src/albe/introductiondonnees.html trunk/fudaa_devel/aide/src/albe/lancementcalculs.html trunk/fudaa_devel/aide/src/albe/methodedecalcul.html trunk/fudaa_devel/aide/src/albe/notedecalcul.html trunk/fudaa_devel/aide/src/albe/pieu.html trunk/fudaa_devel/aide/src/albe/preparationnote.html trunk/fudaa_devel/aide/src/albe/presentationespacetravail.html trunk/fudaa_devel/aide/src/albe/resultatsdetailles.html trunk/fudaa_devel/aide/src/albe/sol.html trunk/fudaa_devel/aide/src/albe/thematique.html trunk/fudaa_devel/aide/src/albe/validation.html trunk/fudaa_devel/aide/src/albe/verificationsaprescalculs.html trunk/fudaa_devel/aide/src/albe/visualisationnotecalcul.html trunk/fudaa_devel/aide/src/albe/visualiserresultats.html Modified: trunk/fudaa_devel/aide/src/albe/Tableauxrecap.html =================================================================== --- trunk/fudaa_devel/aide/src/albe/Tableauxrecap.html 2008-11-27 13:25:34 UTC (rev 4248) +++ trunk/fudaa_devel/aide/src/albe/Tableauxrecap.html 2008-11-27 16:48:21 UTC (rev 4249) @@ -5,31 +5,19 @@ - - - - - - <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"> - - - - - - <title>Tableauxrecap</title> </head> @@ -39,17 +27,8 @@ - - - <h1 style="text-align: justify;">Tableaux récapitulatifs</h1> - - - <h2 style="text-align: justify;">Ouverture</h2> - - - <div style="text-align: justify;"> @@ -60,70 +39,40 @@ - - - Les tableaux récapitulatifs sont accessibles au moyen des icônes <img style="width: 169px; height: 44px;" alt="" src="iconesrecap.gif" align="middle"> dans la barre des outils, ainsi que par le menu "Résultats" de la barre des menus.<br> - - - </div> - - - <h2 style="text-align: justify;">Contenu</h2> - - - <div style="text-align: justify;"> -La lecture des tableaux récapitulatifs de gauche à droite donne les informations suivantes :<br> +La lecture des tableaux récapitulatif de gauche à droite donne les informations suivantes :<br> - - - </div> - - - <ul style="text-align: justify;"> - - - <li>Le numéro de combinaison : ce numéro sert par la suite à la sélection des combinaisons à afficher -en détails (dans la fenêtre appropriée ou dans la -note de calculs).</li> +en détail dans la fenêtre appropriée ou dans la +note de calcul).</li> - - - </ul> - - - <ul style="text-align: justify;"> - - - <li>La description du cas de charge : le cas de charge correspondant à chaque combinaison est décrit (niveau de l'action, pondération des paramètres de sol (le cas favorable @@ -136,97 +85,58 @@ - - - </ul> - - - <ul style="text-align: justify;"> - - - - <li><a name="fact_dim"></a>Les facteurs de dimensionnement et les valeurs obtenus par le + <li><a name="fact_dim"></a>Les facteurs de dimensionnement et les valeurs obtenues par le calcul pour certains paramètres : Afin de faciliter la lecture les facteurs de dimensionnement supérieurs ou égaux à 1.00 apparaissent <span style="color: rgb(0, 153, 0);">en vert</span>, les autres apparaissent <span style="color: rgb(255, 0, 0);">en rouge</span> -(selon <a href="methodedecalcul.html#demarche_rosa">ROSA 2000</a>, l'ouvrage est vérifié si l'ensemble des +(selon ROSA 2000, l'ouvrage est vérifié si l'ensemble des facteurs de dimensionnement sont supérieurs ou égaux à 1.00)</li> - - - </ul> - - - <div style="text-align: justify;"> -Dans le cas où le calcul ne converge pas pour certaines -combinaisons, aucune valeur numérique n'est donnée, les -résultats sont remplacés par le caractère -<br> +Dans le cas où le calcul ne converge pas pour certains +combinaisons, aucune valeur numérique n'est données les +résultats sont remplacés par le caractère -<br> +Dans ce cas, il n'est pas possible de visualiser les résultats détaillés<br> -Dans ce cas, il n'est pas possible de visualiser les résultats détaillés.<br> - - - - - - <br> - - - Le tableau récapitulatif peut être exporté par -l'utilisateur au format html en cliquant sur le bouton "Exporter".<br> +l'utilisateur au format html en cliquant sur le bouton "Exporter"<br> - - - -Chaque combinaison type fait l'objet d'un tableau récapitulatif spécifique.<br> - - - +Chaque combinaison type fait l'objet d'un tableau récapitulatif spécifique<br> <br> - - - </div> - - - <h3 style="text-align: justify;"><a name="eluf"></a>ELU fondamental (ELU f.)</h3> - - - <div style="text-align: justify;"> @@ -237,63 +147,33 @@ - - - Les états-limites vérifiés sont :<br> - - - </div> - - - <ul style="text-align: justify;"> - - - <li><a href="verificationsaprescalculs.html#verification_resistance_en_flexion">La résistance en flexion des différents tronçons du pieu</a></li> - - - <li><a href="verificationsaprescalculs.html#mobilisation_butee_du_sol">La mobilisation de la butée du sol</a></li> - - - <li><a href="verificationsaprescalculs.html#verification_deflexion_defense">La déflexion des défenses</a></li> - - - <li><a href="verificationsaprescalculs.html#verification_reaction_du_pieu">La réaction de l'ouvrage</a></li> - - - </ul> - - - <h3 style="text-align: justify;"><a name="elua"></a>ELU accidentel (ELU a.)</h3> - - - <div style="text-align: justify;"> @@ -304,70 +184,37 @@ - - - Les états-limites vérifiés sont :<br> - - - </div> - - - <ul style="text-align: justify;"> - - - <li><a href="verificationsaprescalculs.html#verification_resistance_en_flexion">La résistance en flexion des différents tronçons du pieu</a></li> - - - <li><a href="verificationsaprescalculs.html#mobilisation_butee_du_sol">La mobilisation de la butée du sol</a></li> - - - <li><a href="verificationsaprescalculs.html#verification_deflexion_defense">La déflexion des défenses</a></li> - - - <li><a href="verificationsaprescalculs.html#verification_reaction_du_pieu">La réaction de l'ouvrage</a></li> - - - </ul> - - - <div style="text-align: justify;"> </div> - - - <h3 style="text-align: justify;"><a name="elsr"></a>ELS rare (ELS r.)</h3> - - - <div style="text-align: justify;"> @@ -378,63 +225,33 @@ +Les états-limites vérifiées sont :<br> -Les états-limites vérifiés sont :<br> - - - - - - </div> - - - <ul style="text-align: justify;"> - - - <li><a href="verificationsaprescalculs.html#verification_resistance_en_flexion">La résistance en flexion des différents tronçons du pieu</a></li> - - - <li><a href="verificationsaprescalculs.html#verification_deplacement_au_choc_et_amarrage">Le déplacement en tête de l'ouvrage</a></li> - - - <li><a href="verificationsaprescalculs.html#verification_deflexion_defense">La déflexion des défenses</a></li> - - - </ul> - - - <div style="text-align: justify;"> </div> - - - <h3 style="text-align: justify;"><a name="elsf"></a>ELS fréquent (ELS fr.)</h3> - - - <div style="text-align: justify;"> @@ -445,112 +262,61 @@ - - - L'état-limite vérifié est :<br> - - - </div> - - - <ul style="text-align: justify;"> - - - <li><a href="verificationsaprescalculs.html#mobilisation_butee_du_sol">La mobilisation de la butée du sol</a></li> - - - </ul> - - - <div style="text-align: justify;"> </div> - - - <ul style="text-align: justify;"> - - - </ul> - - - <h2 style="text-align: justify;"><a href="resultatsdetailles.html"> -Accès aux résultats détaillés</a></h2> - - - +Accés aux résultats détaillés</a></h2> <div style="text-align: justify;"> La sélection des résultats détaillés se fait à partir de la fenêtre des résultats -récapitulatifs en choisissant le numéro de combinaison +récapitulaitf en choisissant le numéro de combinaison à visualiser à moyen du menu déroulant et en cliquant sur le bouton "Résultats"<br> - - - <img style="width: 774px; height: 61px;" alt="" src="choixcombdetaillee.gif"><br> - - - <br> - - - Etape précédente : <a href="visualiserresultats.html">visualiser les résultats</a><br> - - - <br> - - - Etape suivante : <a href="resultatsdetailles.html">résultats détaillés</a><br> - - - </div> - - - </body> </html> Modified: trunk/fudaa_devel/aide/src/albe/actions.html =================================================================== --- trunk/fudaa_devel/aide/src/albe/actions.html 2008-11-27 13:25:34 UTC (rev 4248) +++ trunk/fudaa_devel/aide/src/albe/actions.html 2008-11-27 16:48:21 UTC (rev 4249) @@ -10,6 +10,7 @@ + @@ -19,6 +20,7 @@ + <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"> @@ -29,6 +31,7 @@ + @@ -38,12 +41,14 @@ + <title>actions</title> </head> <body> + <h1>Actions</h1> @@ -53,6 +58,7 @@ + <ul style="text-align: justify;"> @@ -63,6 +69,7 @@ + <li><a href="#Amarrage">Amarrage</a></li> @@ -73,6 +80,7 @@ + <li><a href="#accostage">Accostage</a></li> @@ -83,6 +91,7 @@ + </ul> @@ -92,16 +101,19 @@ + <h3 style="text-align: justify;" class="western"><a name="Amarrage"></a>Amarrage</h3> + <h4 style="text-align: justify;" class="western">Cote d'amarrage</h4> + <p style="text-align: justify;">La cote d'amarrage doit être comprise entre le niveau de dragage (voir <a href="geometrie.html#cote_de_dragage">Cote de dragage</a>) et la tête du pieu (voir <a href="geometrie.html#tete_de_louvrage">tête @@ -115,6 +127,7 @@ + <p style="text-align: justify;">Les ducs d'Albe d'amarrage comportant généralement des organes d'amarrage sur un seul niveau, une seule cote d'amarrage @@ -132,17 +145,20 @@ + <h4 style="text-align: justify;" class="western">Effort d'amarrage</h4> + <p style="text-align: justify;">Plusieurs méthodes sont possibles pour déterminer la valeur de l'action d'amarrage. <a href="methodedecalcul.html#demarche_rosa">ROSA 2000</a> cite notamment :</p> + <ul style="text-align: justify;"> @@ -153,6 +169,7 @@ + <li> @@ -163,6 +180,7 @@ + <p>Les méthodes basées sur les paramètres du milieu naturel (vent, houle courant) et les caractéristiques du navire</p> @@ -176,6 +194,7 @@ + </li> @@ -186,6 +205,7 @@ + <li> @@ -196,6 +216,7 @@ + <p>Les méthodes basées sur les capacités de résistance des amarres ou des organes d'amarrage</p> @@ -208,6 +229,7 @@ + </li> @@ -218,6 +240,7 @@ + </ul> @@ -228,6 +251,7 @@ + <p style="text-align: justify;">Pour plus de précisions sur le calcul de l'action d'amarrage, se reporter à <a href="methodedecalcul.html#demarche_rosa">ROSA 2000</a>, série « Actions » fascicule « Amarrage ».</p> @@ -240,6 +264,7 @@ + <p style="text-align: justify;">A titre indicatif le tableau suivant extrait de <a href="methodedecalcul.html#demarche_rosa">ROSA 2000</a> donne les éléments pour calculer la valeur caractéristique, la valeur de calcul et la valeur fréquente @@ -253,6 +278,7 @@ + <p style="text-align: justify;">La valeur caractéristique (AM<sub>k</sub>) est prise égale à la résistance annoncée par le constructeur de l'organe d'amarrage.</p> @@ -265,6 +291,7 @@ + <p style="text-align: justify;">La valeur de calcul (AM<sub>d</sub>) est déduite de la valeur caractéristique par la formule suivante <img style="width: 125px; height: 25px;" alt="" src="amarragecalcul.gif" align="middle"> , les valeurs de <font face="Times New Roman, serif">γ<sub>am</sub> sont @@ -273,12 +300,14 @@ + <div style="text-align: justify;"> </div> + <table style="text-align: left; margin-left: 0px; margin-right: 0px;" border="1" bordercolor="#000000" cellpadding="4" cellspacing="0" width="100%"> @@ -290,6 +319,7 @@ + <col width="64*"> <col width="64*"> <col width="64*"> @@ -306,6 +336,7 @@ + <th style="text-align: center;" width="25%"> @@ -317,6 +348,7 @@ + <p>Organe d'amarrage</p> @@ -328,6 +360,7 @@ + </th> @@ -339,6 +372,7 @@ + <th style="text-align: center;" width="25%"> @@ -350,6 +384,7 @@ + <p>Bollard courant et organeau</p> @@ -361,6 +396,7 @@ + </th> @@ -372,6 +408,7 @@ + <th style="text-align: center;" width="25%"> @@ -383,6 +420,7 @@ + <p>Bollard fusible</p> @@ -394,6 +432,7 @@ + </th> @@ -405,6 +444,7 @@ + <th style="text-align: center;" width="25%"> @@ -416,6 +456,7 @@ + <p>Croc à largage rapide</p> @@ -427,6 +468,7 @@ + </th> @@ -438,6 +480,7 @@ + </tr> @@ -449,6 +492,7 @@ + </thead> <tbody> @@ -461,6 +505,7 @@ + <tr valign="top"> @@ -472,6 +517,7 @@ + <td style="text-align: center;" width="25%"> @@ -483,6 +529,7 @@ + <p><font face="Times New Roman, serif">γ<sub>am</sub></font></p> @@ -494,6 +541,7 @@ + </td> @@ -505,6 +553,7 @@ + <td style="text-align: center;" width="25%"> @@ -516,6 +565,7 @@ + <p>1.50 à 2.00 (à estimer par le projeteur)</p> @@ -528,6 +578,7 @@ + </td> @@ -539,6 +590,7 @@ + <td style="text-align: center;" width="25%"> @@ -550,6 +602,7 @@ + <p>1.10 à 1.25</p> @@ -561,6 +614,7 @@ + </td> @@ -572,6 +626,7 @@ + <td style="text-align: center;" width="25%"> @@ -583,6 +638,7 @@ + <p>1.50</p> @@ -594,6 +650,7 @@ + </td> @@ -605,6 +662,7 @@ + </tr> @@ -616,6 +674,7 @@ + @@ -626,6 +685,7 @@ + </tbody> </table> @@ -637,6 +697,7 @@ + <p style="margin-bottom: 0cm; page-break-before: auto; text-align: justify;"><font face="Arial, sans-serif"><font size="2"><i><b>Extrait de <a href="methodedecalcul.html#demarche_rosa">ROSA 2000</a>, série « Actions », fascicule « Amarrage », section 4.2.2.3.</b></i></font></font></p> @@ -649,6 +710,7 @@ + <p style="text-align: justify;">La valeur fréquente (AM<sub>frq</sub>) est déduite de la valeur caractéristique par la formule suivante : <img style="width: 125px; height: 25px;" alt="" src="amaragefrequent.gif" align="middle"> avec <font face="Times New Roman, serif">ψ</font><sub>1</sub>=0.50 si @@ -663,16 +725,19 @@ + <h3 style="text-align: justify;" class="western"><a name="accostage"></a>Accostage</h3> + <h4 style="text-align: justify;" class="western">Cotes d'accostage</h4> + <p style="text-align: justify;">La cote d'accostage doit être comprise entre le niveau de dragage (voir <a href="geometrie.html#cote_de_dragage">Cote de dragage</a>) et la tête du pieu (voir <a href="geometrie.html#tete_de_louvrage">tête @@ -686,6 +751,7 @@ + <p style="text-align: justify;">Pour de nombreux ouvrages, l'accostage peut se faire à marée haute ou a marée basse. En fonction du type de navire, le point de contact entre la coque et l'ouvrage d'accostage @@ -699,6 +765,7 @@ + <p style="text-align: justify;">Le logiciel permet de tenir compte de deux cotes d'accostage différentes : un accostage haut et un accostage haut. Les valeurs introduites doivent tenir compte des niveaux de marées @@ -714,6 +781,7 @@ + <p style="text-align: justify;">Si une seule cote d'accostage est envisagée, il est possible de prendre la même valeur pour l'accostage haut et l'accostage bas.</p> @@ -726,11 +794,13 @@ + <h4 style="text-align: justify;" class="western">Énergie d'accostage</h4> + <p style="margin-bottom: 0cm; text-align: justify;">L'énergie d'accostage correspond à l'énergie cinétique du navire corrigée afin de tenir compte de différents phénomènes @@ -745,12 +815,14 @@ + <div style="text-align: justify;"> </div> + <p style="margin-bottom: 0cm; text-align: justify;">L'énergie d'accostage est calculée par la formule suivante :</p> @@ -762,11 +834,13 @@ + <p style="margin-bottom: 0cm; text-align: justify;"><img style="width: 200px; height: 50px;" alt="" src="energieaccostage.gif"></p> + <div style="text-align: justify;"> </div> @@ -778,6 +852,7 @@ + <p style="margin-bottom: 0cm; text-align: justify;">Avec :</p> @@ -788,6 +863,7 @@ + <ul style="text-align: justify;"> @@ -798,6 +874,7 @@ + <li> @@ -808,6 +885,7 @@ + <p style="margin-bottom: 0cm;">E énergie d'accostage (joules, J)</p> @@ -820,6 +898,7 @@ + </li> @@ -830,6 +909,7 @@ + <li> @@ -840,6 +920,7 @@ + <p style="margin-bottom: 0cm;">D déplacement du navire (kg)</p> @@ -852,6 +933,7 @@ + </li> @@ -862,6 +944,7 @@ + <li> @@ -872,6 +955,7 @@ + <p style="margin-bottom: 0cm;">V vitesse du navire (m/s)</p> @@ -884,6 +968,7 @@ + </li> @@ -894,6 +979,7 @@ + <li> @@ -904,6 +990,7 @@ + <p style="margin-bottom: 0cm;"><a name="Ce"></a>C<sub>e</sub> coefficient d'excentricité correspondant à la prise en compte de l'énergie utilisée par la mise en rotation @@ -921,6 +1008,7 @@ + </li> @@ -931,6 +1019,7 @@ + <li> @@ -941,6 +1030,7 @@ + <p style="margin-bottom: 0cm;"><a name="Cm"></a>C<sub>m</sub> coefficient de masse ajoutée correspondant à la prise en compte de la masse d'eau mise en mouvement par le navire @@ -955,6 +1045,7 @@ + </li> @@ -965,6 +1056,7 @@ + <li> @@ -975,6 +1067,7 @@ + <p style="margin-bottom: 0cm;"><a name="Cs"></a>C<sub>s</sub> coefficient d'affaissement tenant compte de la souplesse relative de la coque et de l'ouvrage d'accostage (généralement @@ -989,6 +1082,7 @@ + </li> @@ -999,6 +1093,7 @@ + <li> @@ -1009,6 +1104,7 @@ + <p style="margin-bottom: 0cm;"><a name="Cc"></a>C<sub>c</sub> coefficient d'appontement tenant compte de l'élimination d'énergie cinétique par mise en circulation de l'eau @@ -1025,6 +1121,7 @@ + </li> @@ -1035,6 +1132,7 @@ + </ul> @@ -1045,6 +1143,7 @@ + <p style="margin-bottom: 0cm; text-align: justify;">Les formules permettant d'obtenir les valeurs des différents coefficients correcteurs sont données dans <a href="methodedecalcul.html#demarche_rosa">ROSA 2000</a> série « Action » @@ -1054,6 +1153,7 @@ + <div style="text-align: justify;"> </div> @@ -1066,12 +1166,14 @@ + <div style="text-align: justify;"> </div> + <p style="margin-bottom: 0cm; text-align: justify;">A noter :</p> @@ -1082,6 +1184,7 @@ + <ul style="text-align: justify;"> @@ -1092,6 +1195,7 @@ + <li> @@ -1102,6 +1206,7 @@ + <p style="margin-bottom: 0cm;">Si le déplacement du navire est donné en tonnes (au lieu de kg) dans la formule la valeur d'énergie cinétique obtenue est en kJ.</p> @@ -1115,6 +1220,7 @@ + </li> @@ -1125,6 +1231,7 @@ + <li> @@ -1135,6 +1242,7 @@ + <p style="margin-bottom: 0cm;">Usuellement dans le domaine portuaire les énergies d'accostages sont encore données en tonne-mètre. Une tonne-mètre @@ -1150,6 +1258,7 @@ + </li> @@ -1160,6 +1269,7 @@ + </ul> @@ -1170,6 +1280,7 @@ + <p style="margin-bottom: 0cm; text-align: justify;">Pour le choix des vitesses d'accostage on pourra par exemple se baser sur le tableau suivant extrait de <a href="methodedecalcul.html#demarche_rosa">ROSA 2000</a> :</p> @@ -1182,12 +1293,14 @@ + <div style="text-align: justify;"> </div> + <table style="text-align: left; margin-left: 0px; margin-right: 0px;" border="1" bordercolor="#000000" cellpadding="4" cellspacing="0" width="100%"> @@ -1199,6 +1312,7 @@ + <col width="85*"> <col width="85*"> <col width="85*"> @@ -1214,6 +1328,7 @@ + <th style="text-align: center;" width="33%"> @@ -1225,6 +1340,7 @@ + <p>Déplacement (t)</p> @@ -1236,6 +1352,7 @@ + </th> @@ -1247,6 +1364,7 @@ + <th style="text-align: center;" width="33%"> @@ -1258,6 +1376,7 @@ + <p>Vitesse d'accostage caractéristique (m/s)</p> @@ -1269,6 +1388,7 @@ + </th> @@ -1280,6 +1400,7 @@ + <th style="text-align: center;" width="33%"> @@ -1291,6 +1412,7 @@ + <p>Vitesse d'accostage de calcul (m/s)</p> @@ -1302,6 +1424,7 @@ + </th> @@ -1313,6 +1436,7 @@ + </tr> @@ -1324,6 +1448,7 @@ + </thead> <tbody> @@ -1336,6 +1461,7 @@ + <tr valign="top"> @@ -1347,6 +1473,7 @@ + <td style="text-align: center;" width="33%"> @@ -1358,6 +1485,7 @@ + <p><1000</p> @@ -1369,6 +1497,7 @@ + </td> @@ -1380,6 +1509,7 @@ + <td style="text-align: center;" width="33%"> @@ -1391,6 +1521,7 @@ + <p>0.25 à 0.80</p> @@ -1402,6 +1533,7 @@ + </td> @@ -1413,6 +1545,7 @@ + <td style="text-align: center;" width="33%"> @@ -1424,6 +1557,7 @@ + <p>0.35 à 1.00</p> @@ -1435,6 +1569,7 @@ + </td> @@ -1446,6 +1581,7 @@ + </tr> @@ -1457,6 +1593,7 @@ + <tr valign="top"> @@ -1468,6 +1605,7 @@ + <td style="text-align: center;" width="33%"> @@ -1479,6 +1617,7 @@ + <p>1000 à 10 000</p> @@ -1490,6 +1629,7 @@ + </td> @@ -1501,6 +1641,7 @@ + <td style="text-align: center;" width="33%"> @@ -1512,6 +1653,7 @@ + <p>0.15 à 0.50</p> @@ -1523,6 +1665,7 @@ + </td> @@ -1534,6 +1677,7 @@ + <td style="text-align: center;" width="33%"> @@ -1545,6 +1689,7 @@ + <p>0.20 à 0.70</p> @@ -1556,6 +1701,7 @@ + </td> @@ -1567,6 +1713,7 @@ + </tr> @@ -1578,6 +1725,7 @@ + <tr valign="top"> @@ -1589,6 +1737,7 @@ + <td style="text-align: center;" width="33%"> @@ -1600,6 +1749,7 @@ + <p>10 000 à 50 000</p> @@ -1611,6 +1761,7 @@ + </td> @@ -1622,6 +1773,7 @@ + <td style="text-align: center;" width="33%"> @@ -1633,6 +1785,7 @@ + <p>0.10 à 0.25</p> @@ -1644,6 +1797,7 @@ + </td> @@ -1655,6 +1809,7 @@ + <td style="text-align: center;" width="33%"> @@ -1666,6 +1821,7 @@ + <p>0.15 à 0.30</p> @@ -1677,6 +1833,7 @@ + </td> @@ -1688,6 +1845,7 @@ + </tr> @@ -1699,6 +1857,7 @@ + <tr valign="top"> @@ -1710,6 +1869,7 @@ + <td style="text-align: center;" width="33%"> @@ -1721,6 +1881,7 @@ + <p>50 000 à 200 000</p> @@ -1732,6 +1893,7 @@ + </td> @@ -1743,6 +1905,7 @@ + <td style="text-align: center;" width="33%"> @@ -1754,6 +1917,7 @@ + <p>0.05 à 0.15</p> @@ -1765,6 +1929,7 @@ + </td> @@ -1776,6 +1941,7 @@ + <td style="text-align: center;" width="33%"> @@ -1787,6 +1953,7 @@ + <p>0.10 à 0.20</p> @@ -1798,6 +1965,7 @@ + </td> @@ -1809,6 +1977,7 @@ + </tr> @@ -1820,6 +1989,7 @@ + <tr valign="top"> @@ -1831,6 +2001,7 @@ + <td style="text-align: center;" width="33%"> @@ -1842,6 +2013,7 @@ + <p>>200 000</p> @@ -1853,6 +2025,7 @@ + </td> @@ -1864,6 +2037,7 @@ + <td style="text-align: center;" width="33%"> @@ -1875,6 +2049,7 @@ + <p>Inférieur à 0.10</p> @@ -1886,6 +2061,7 @@ + </td> @@ -1897,6 +2073,7 @@ + <td style="text-align: center;" width="33%"> @@ -1908,6 +2085,7 @@ + <p>Inférieur à 0.20</p> @@ -1919,6 +2097,7 @@ + </td> @@ -1930,6 +2109,7 @@ + </tr> @@ -1941,6 +2121,7 @@ + <tr valign="top"> @@ -1952,6 +2133,7 @@ + <td style="text-align: center;" width="33%"> @@ -1963,6 +2145,7 @@ + <p>Navire transbordeur</p> @@ -1974,6 +2157,7 @@ + </td> @@ -1985,6 +2169,7 @@ + <td style="text-align: center;" width="33%"> @@ -1996,6 +2181,7 @@ + <p>0.25</p> @@ -2007,6 +2193,7 @@ + </td> @@ -2018,6 +2205,7 @@ + <td style="text-align: center;" width="33%"> @@ -2029,6 +2217,7 @@ + <p>0.50 vitesse de calcul</p> @@ -2040,6 +2229,7 @@ + @@ -2050,6 +2240,7 @@ + <p>1.00 vitesse accidentelle</p> @@ -2061,6 +2252,7 @@ + </td> @@ -2072,6 +2264,7 @@ + </tr> @@ -2083,6 +2276,7 @@ + @@ -2093,6 +2287,7 @@ + </tbody> </table> @@ -2104,6 +2299,7 @@ + <p style="margin-bottom: 0cm; page-break-before: auto; text-align: justify;"><font face="Arial, sans-serif"><font size="2"><i><b>Extrait de <a href="methodedecalcul.html#demarche_rosa">ROSA 2000</a>, série « actions », fascicule « Accostage-Annexe-Compléments sur les @@ -2112,6 +2308,7 @@ + <div style="text-align: justify;"> </div> @@ -2123,6 +2320,7 @@ + <p style="margin-bottom: 0cm; text-align: justify;">D'autres méthodes d'évaluation de la vitesse d'accostage sont également données dans cette même section.</p> @@ -2132,6 +2330,7 @@ + <p style="margin-bottom: 0cm; text-align: justify;">Etape précédente : <a href="pieu.html">caractéristiques du pieu</a></p> @@ -2139,11 +2338,13 @@ + <p style="margin-bottom: 0cm; text-align: justify;">Etape suivante : <a href="defensesaccostage.html">Défense d'accostage</a> (pour le calcul d'accostage), <a href="criteresdimensionnement.html">critères de dimensionnement</a> (pour les ouvrages d'amarrage)</p> + <div style="text-align: justify;"> </div> @@ -2155,12 +2356,14 @@ + <div style="text-align: justify;"> </div> + <p style="margin-bottom: 0cm; text-align: justify;"><a href="introductiondonnees.html">Revenir à Introduction des données</a><br> @@ -2172,6 +2375,7 @@ + </p> @@ -2182,5 +2386,6 @@ + </body> </html> Modified: trunk/fudaa_devel/aide/src/albe/alphabetique.html =================================================================== --- trunk/fudaa_devel/aide/src/albe/alphabetique.html 2008-11-27 13:25:34 UTC (rev 4248) +++ trunk/fudaa_devel/aide/src/albe/alphabetique.html 2008-11-27 16:48:21 UTC (rev 4249) @@ -1,1002 +1,436 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> - <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"> - <title>alphabetique</title> -</head> -<body> + + + + <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"> -<div style="text-align: center;"><big><big><big><big><big><big><big><small><small><small>Index alphabétique</small></small></small></big></big></big></big></big></big></big><br> + + + + <title>indexalphabetique</title> +</head> +<body> +<div style="text-align: center;"><big><big><big><big><big><big><big><small><small><small>Index alphabétique</small></small></small></big></big></big></big></big></big></big><br> </div> - - - - <big><big><big><small><small><small><br> - - - - <br> - - - - </small></small></small></big></big></big> -<div style="text-align: center;"><big><big><big><small><small><small><a href="Ialphabetique.html#A">A</a> - <a href="Ialphabetique.html#B">B</a> - <a href="Ialphabetique.html#C">C</a> - <a href="Ialphabetique.html#D">D</a> - <a href="Ialphabetique.html#E">E</a> - <a href="Ialphabetique.html#F">F</a> - <a href="Ialphabetique.html#G">G</a> - <a href="Ialphabetique.html#H">H</a> - <a href="Ialphabetique.html#I">I</a> - <a href="Ialphabetique.html#J">J</a> - <a href="Ialphabetique.html#K">K</a> - <a href="Ialphabetique.html#k">L</a> - <a href="Ialphabetique.html#M">M</a> - <a href="Ialphabetique.html#N">N</a> - <a href="Ialphabetique.html#O">O</a> - <a href="Ialphabetique.html#P">P</a> - <a href="Ialphabetique.html#Q">Q</a> - <a href="Ialphabetique.html#R">R</a> - <a href="Ialphabetique.html#S">S</a> - <a href="Ialphabetique.html#T">T</a> - <a href="Ialphabetique.html#U">U</a> -<a href="Ialphabetique.html#V">V</a> - <a href="Ialphabetique.html#W">W</a> - <a href="Ialphabetique.html#X">X</a> - <a href="Ialphabetique.html#Y">Y</a> - <a href="Ialphabetique.html#Z">Z</a></small></small></small></big></big></big><br> +<div style="text-align: center;"><big><big><big><small><small><small><a href="#A">A</a> - <a href="#B">B</a> - <a href="#C">C</a> - <a href="#D">D</a> - <a href="#E">E</a> - <a href="#F">F</a> - <a href="#G">G</a> - <a href="#H">H</a> - <a href="#I">I</a> - <a href="#J">J</a> - <a href="#K">K</a> - <a href="#k">L</a> - <a href="#M">M</a> - <a href="#N">N</a> - <a href="#O">O</a> - <a href="#P">P</a> - <a href="#Q">Q</a> - <a href="#R">R</a> - <a href="#S">S</a> - <a href="#T">T</a> - <a href="#U">U</a> -<a href="#V">V</a> - <a href="#W">W</a> - <a href="#X">X</a> - <a href="#Y">Y</a> - <a href="#Z">Z</a></small></small></small></big></big></big><br> - - - - </div> - - - - <big><big><big> <br> - - - - <a name="A"></a>A</big></big></big><br> - - - - <a href="methodedecalcul.html#valeur_representative">Accidentel (valeur)</a><br> - - - - <a href="actions.html#Accostage">Accostage</a><br> - - - - <a href="actions.html">Actions</a><br> - - - - <a href="actions.html#Amarrage">Amarrage</a><br> - - - - <a href="validation.html">Avertissements</a><br> - - - - <br> - - - - <big><big><big><a name="B"></a>B</big></big></big><br> - - - - <a href="verificationsaprescalculs.html#mobilsation_butee_du_sol"> Butée du sol</a><br> - - - - <br> - - - - <big><big><big><a name="C"></a>C</big></big></big><br> - - - - <a href="pieu.html#pieu_en_caisson">Caisson (pieu en caisson)</a><br> - - - - <a href="methodedecalcul.html#calcul_semi_proba"> Calcul semi-probabiliste</a><br> - - - - <a href="methodedecalcul.html#valeur_representative">Caractéristique (valeur)</a><br> - - - - <a href="pieu.html">Caractéristiques du pieu</a><br> - - - - <a href="sol.html">Caractéristiques du sol</a><br> - - - - <a href="actions.html#Cs">Coefficient d'affaissement</a><br> - - - - <a href="actions.html#Ce">Coefficient d'excentricité</a><br> - - - - <a href="actions.html#Cc">Coefficient de laminage</a><br> - - - - <a href="actions.html#Cm">Coefficient de masse ajoutée</a><br> - - - - <a href="coefficientspartiels.html#coef_comport_mat">Coefficients de comportement des matériaux</a><br> - - - - <a href="coefficientspartiels.html#coef_modele">Coefficient de modèle</a><br> - - - - <a href="coefficientspartiels.html">Coefficients partiels</a><br> - - - - <a href="coefficientspartiels.html#coef_resist_mat">Coefficient sur la résistance des matériaux</a><br> - - - - <a href="methodedecalcul.html#combinaison_actions">Combinaison d'actions</a><br> - - - - <a href="pieu.html">Corrosion</a><br> - - - - <a href="actions.html#Accostage">Cote d'accostage</a><br> - - - - <a href="actions.html#Amarrage">Cote d'amarrage</a><br> - - - - <a href="geometrie.html#cote_de_dragage">Cote de calcul</a><br> - - - - <a href="geometrie.html#cote_de_dragage">Cote de dragage</a><br> - - - - <a href="defensesaccostage.html">Courbe de la défense</a><br> - - - - <a href="methodedecalcul.html#Courbes_de_reaction_du_sol">Courbe de réaction du sol</a><br> - - - - <a href="creationprojet.html">Création du projet</a><br> - - - - <a href="criteresdimensionnement.html">Critères de dimensionnement</a><br> - - - - <br> - - - - <big><big><big><a name="D"></a>D</big></big></big><br> - - - - <a href="methodedecalcul.html#valeur_representative">De calcul (valeur)</a><br> - - - - <a href="defensesaccostage.html">Défense d'accostage</a><br> - - - - <a href="criteresdimensionnement.html#deflection_de_la_defense">Déflexion de la défense</a><br> - - - - <a href="criteresdimensionnement.html#deplacement_en_tete_de_pieu">Déplacement en tête</a><br> - - - - <a href="resultatsdetailles.html">Détail des résultats</a><br> - - - - <a href="domaineapplication.html">Domaine d'application du programme</a><br> - - - - <br> - - - - <big><big><big><a name="E"></a>E</big></big></big><br> - - - - <a href="actions.html#Amarrage">Effort d'amarrage</a><br> - - - - <a href="Tableauxrecap.html#elsf">ELS fréquent</a><br> - - - - <a href="Tableauxrecap.html#elsr">ELS rare</a><br> - - - - <a href="Tableauxrecap.html#elua">ELU accidentel</a><br> - - - - <a href="Tableauxrecap.html#eluf">ELU fondamental</a><br> - - - - <a href="actions.html#accostage">Energie d'accostage</a><br> - - - - <a href="methodedecalcul.html#Courbes_de_reaction_du_sol">Essai pressiométrique</a><br> - - - - <a href="methodedecalcul.html#etat_limite">Etat-limite</a><br> - - - - <br> - - - - <big><big><big><a name="F"></a>F</big></big></big><br> - - - - <a href="Tableauxrecap.html#fact_dim">Facteur de dimensionnement</a><br> - - - - <a href="methodedecalcul.html#formule_fascicule_62_titre_V">Fascicule 62 titre V</a><br> - - - - <a href="methodedecalcul.html#valeur_representative">Fréquente (valeur)</a><br> - - - - <br> - - - - <big><big><big><a name="G"></a>G<br> - - - - </big></big></big> <a href="geometrie.html">Géométrie de l'ouvrage</a><br> - - - - <br> - - - - <big><big><big><a name="H"></a>H</big></big></big><br> - - - - <br> - - - - <big><big><big><a name="I"></a>I<br> +</big></big></big><a href="introductiondonnees.html">Introduction des données</a><br> +<a href="pieu.html">Inertie du pieu</a><br> -</big></big></big><a href="pieu.html">Inertie du pieu</a><br> - - -<a href="introductiondonnees.html">Introduction des données</a><br> - - - - - - <br> - - - - <big><big><big><a name="J"></a>J</big></big></big><br> - - - - <br> - - - - <big><big><big><a name="K"></a>K</big></big></big><br> - - - - <br> - - - - <big><big><big><a name="L"></a>L<br> - - - - </big></big></big><a href="lancementcalculs.html">Lancement des calculs</a><br> - - - - <a href="domaineapplication.html">Limitations du programme</a><br> - - - - <br> - - - - <big><big><big><a name="M"></a>M</big></big></big><br> - - - - <a href="methodedecalcul.html">Méthode de calculs</a><br> - - - - <a href="methodedecalcul.html#La_mise_en_oeuvre_des_coefficients"> Mise en oeuvre des coefficients partiels</a><br> - - - - <a href="verificationsaprescalculs.html#mobilsation_butee_du_sol"> Mobilisation de la butée du sol</a><br> - - - - <a href="verificationsaprescalculs.html#verification_deflexion_defense"> Mobilisation de la défense</a><br> - - - - <a href="methodedecalcul.html#Courbes_de_reaction_du_sol"> Module de réaction</a><br> - - - - <a href="methodedecalcul.html#Courbes_de_reaction_du_sol"> Module pressiométrique</a><br> - - - - <br> - - - - <big><big><big><a name="N"></a>N</big></big></big><br> - - - - <a href="notedecalcul.html"> Note de calculs</a><br> - - - - <br> - - - - <big><big><big><a name="O"></a>O</big></big></big><br> - - - - <br> - - - - <big><big><big><a name="P"></a>P</big></big></big><br> - - - - <a href="geometrie.html"> Paramètres géométriques</a><br> - - - - <a href="pieu.html"> Pieu</a><br> - - - - <a href="preparationnote.html">Préparation de la note de calculs</a><br> - - - - <a href="presentationespacetravail.html">Présentation de l'espace de travail</a><br> - - - - <a href="methodedecalcul.html#Courbes_de_reaction_du_sol"> Pression de fluage</a><br> - - - - <a href="methodedecalcul.html#Courbes_de_reaction_du_sol"> Pression limite</a><br> - - - - <a href="methodedecalcul.html#Principe_general"> Principe général de calcul</a><br> - - - - <a href="creationprojet.html"> Propriétés</a><br> - - - - <br> - - - - <big><big><big><a name="Q"></a>Q</big></big></big><br> - - - - <br> - - - - <big><big><big><a name="R"></a>R</big></big></big><br> - - - - <a href="criteresdimensionnement.html#reaction_au_point_dimpact">Réaction au choc</a><br> - - - - <a href="defensesaccostage.html"> Réaction de la défense</a><br> - - - - <a href="methodedecalcul.html#Courbes_de_reaction_du_sol"> Réaction du sol</a><br> - - - - <a href="resultatsdetailles.html#recapitulaif"> Récapitulatif des résultats</a><br> - - - - <a href="methodedecalcul.html#valeur_representative">Représentative (valeur)</a><br> - - - - <a href="resultatsdetailles.html#resistance_pieu">Résistance du pieu</a><br> - - - - <a href="visualiserresultats.html"> Résultats des calculs</a><br> - - - - <a href="resultatsdetailles.html">Résultats détaillés</a><br> - - - - <a href="methodedecalcul.html#demarche_rosa">ROSA 2000</a><br> - - - - <br> - - - - <big><big><big><a name="S"></a>S</big></big></big><br> - - - - <a href="introductiondonnees.html"> Schéma de l'ouvrage</a><br> - - - - <a href="pieu.html">Section du pieu</a><br> - - - - <a href="methodedecalcul.html#situation_de_projet">Situation de projet</a><br> - - - - <a href="sol.html"> Sol</a><br> - - - - <a href="resultatsdetailles.html#resistance_pieu"> Sollicitations du pieu</a><br> - - - - <br> - - - - <big><big><big><a name="T"></a>T</big></big></big><br> - - - - <a href="Tableauxrecap.html"> Tableau récapitulatif</a><br> - - - - <a href="geometrie.html#tete_de_louvrage"> Tête de l'ouvrage</a><br> - - - - <a href="pieu.html"> Tubes (pieu en tube circulaire)</a><br> - - - - <br> - - - - <big><big><big><a name="U"></a>U</big></big></big><br> - <br> - - - - <big><big><big><a name="V"></a>V</big></big></big><br> - - - - <a href="validation.html"> Validation des données</a><br> - - - - <a href="verificationsaprescalculs.html">Vérifications à l'issue des calculs</a><br> - - - - <a href="actions.html#Accostage"> Vitesse d'accostage</a><br> - - - - <a href="visualiserresultats.html">Visualiser les résultats</a><br> - - - - <a href="visualisationnotecalcul.html">Visualisation de la note de calculs</a><br> - - - - <br> - - - - <big><big><big><a name="W"></a>W</big></big></big><br> - - - - <br> - - - - <big><big><big><a name="X"></a>X</big></big></big><br> - - - - <br> - - - - <big><big><big><a name="Y"></a>Y</big></big></big><br> - - - - <br> - - - - <big><big><big><a name="Z"></a>Z</big></big></big><br> - - - </body> </html> Modified: trunk/fudaa_devel/aide/src/albe/coefficientspartiels.html =================================================================== --- trunk/fudaa_devel/aide/src/albe/coefficientspartiels.html 2008-11-27 13:25:34 UTC (rev 4248) +++ trunk/fudaa_devel/aide/src/albe/coefficientspartiels.html 2008-11-27 16:48:21 UTC (rev 4249) @@ -4,227 +4,125 @@ - - - - - - - - <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"> - - - - - - - - <title>coefficientspartiels</title> </head> <body> -<h1>Coefficients -partiels</h1> - +<h2 class="western" style="page-break-before: always; text-align: justify;">Coefficients +partiels</h2> <p style="text-align: justify;">Les valeurs des coefficients partiels apparaissant dans les -tableaux (lors de la première utilisation du fichier) sont les valeurs directement issues de ROSA 2000 +tableaux sont les valeurs directement issues de ROSA 2000 (valeurs par défaut) l'utilisateur a la possibilité de modifier ces valeurs, dans ce cas les valeurs modifiées apparaissent sur un fond de couleur différent du fond de couleur des valeurs par défaut.</p> - - - - <p style="text-align: justify;">Les coefficients partiels à mettre en oeuvre sont de trois types :</p> - - - - <ul style="text-align: justify;"> - - - - <li><a href="#coef_comport_mat">Coefficients partiels sur le comportement des matériaux</a></li> - - - - <li><a href="#coef_resist_mat">Coefficients partiels sur la résistance des matériaux</a></li> - - - - <li><a href="#coef_modele">Coefficients de modèle</a></li> - - - - </ul> - - - - <div style="text-align: justify;"> </div> - - - - <h3 style="text-align: justify;" class="western"><a name="coef_comport_mat"></a>Coefficients partiels sur le comportement des matériaux (<font face="Times New Roman, serif">γ</font><sub>M</sub>)</h3> - - - - <p style="text-align: justify;">Les coefficients sur le comportement des matériaux s'appliquent au sol et à la défense. Ils sont destinés à tenir compte des incertitudes qui peuvent exister sur les propriétés de ces matériaux.</p> - - - - -<p style="text-align: justify;">Les défenses peuvent être plus rigides ou plus raides +<p style="text-align: justify;">Les défenses peuvent être plus rigide ou plus raide en fonction des conditions de température, des conditions d'utilisation. Afin de simplifier la compréhension de -l'utilisateur les coefficients ont été qualifiés -de "molle" et "raide". Pour plus de détails sur ces coefficients +l'utilisateur les coefficients ont été qualifié +de molle et raide. Pour plus de détails sur ces coefficients et la pondération des courbes de réaction des défenses (voir <a href="methodedecalcul.html#coefs_sur_cpt_des_defenses">coefficients partiels sur le comportement de la défense</a>).</p> - - - - -<p style="text-align: justify;">Les caractéristiques du sol (par -exemple celles obtenues par un essai pressiométrique à un -endroit donné du site) peuvent varier dans l'espace, +<p style="text-align: justify;">Les caractéristiques du sol peuvent varier dans l'espace, afin de tenir compte de cette incertitude les courbes de comportement -du sol doivent être pondérées lors des calculs -à +du sol doivent être pondérée lors des calculs à l'ELU fondamental. Afin de simplifier la compréhension de l'utilisateur lorsque les caractéristiques du sol sont -diminuées les coefficients sont qualifiés de "mous", +diminuées les coefficients sont qualifiés de mou, lorsque les caractéristiques du sol sont majorées les -coefficients sont qualifiés de "durs". ROSA 2000 pour sa +coefficients sont qualifiés de durs. ROSA 2000 pour sa part considère l'aspect favorable ou défavorable vis-à-vis de la stabilité en fiche. Ainsi si on considère que les caractéristiques du sol sont favorables à la stabilité de l'ouvrage en fiche on aura -tendance à les minorer, si on considère -qu'elles sont défavorables vis à vis de la -stabilité +tendance à les minorées, si on considère +qu'elles sont défavorables vis à vis de la stabilité en fiche celles-ci seront majorées. Pour plus de détails -sur ces coefficients et la pondération des courbes de -réaction +sur ces coefficients et la pondération des courbes de réaction du sol (voir <a href="methodedecalcul.html#coefs_sur_cpt_du_sol">coefficients partiels sur le comportement du sol</a>).</p> - - - - <div style="text-align: justify;"> </div> - - - - <h3 style="text-align: justify;" class="western"><a name="coef_resist_mat"></a>Coefficients partiels sur la résistance des matériaux (<font face="Times New Roman, serif">γ</font><sub>R</sub>)</h3> - - - - <p style="text-align: justify;">Ce coefficient est destiné à tenir compte de l'incertitude sur la résistance de l'acier en traction, la -résistance donnée par le constructeur correspondant +résistance données par le constructeur correspondant généralement à un fractile (par exemple si la résistance de l'acier au fractile 95% est de 360 MPa, au moins 95% des éprouvettes d'un échantillon auront une résistance supérieure ou égale à 360 MPa -et jusqu'à 5% des éprouvettes auront une résistance +et jusqu'à 5% des érpouvettes auront une résistance inférieure à 360 MPa). Pour plus de détails sur les coefficients partiels à utiliser sur la résistance élastique de l'acier (voir <a href="verificationsaprescalculs.html#verification_resistance_en_flexion">vérification de la résistance en flexion du pieu</a>).</p> - - - - <div style="text-align: justify;"> </div> - - - - <h3 style="text-align: justify;" class="western"><a name="coef_modele"></a>Coefficients de modèle (<font face="Times New Roman, serif">γ</font><sub>d</sub>)</h3> - - - - <p style="text-align: justify;">Les coefficients de modèles sont destinés à tenir compte de l'écart qui existe entre la réalité et le modèle de calcul. Ils portent sur :</p> - - - - <ul style="text-align: justify;"> - - - - <li> - - - - <p>La vérification de la mobilisation de la butée du sol (voir <a href="verificationsaprescalculs.html#mobilsation_butee_du_sol">mobilisation de la butée du sol</a> pour plus de détails).</p> @@ -232,91 +130,45 @@ - - - - </li> - - - - <li> - - - - <p>La vérification de la résistance en flexion de l'ouvrage (voir <a href="#3.2.V%E9rification+de+la+r%E9sistance+en+flexion+du+pieu%7Coutline"> </a><a href="verificationsaprescalculs.html#verification_resistance_en_flexion">vérification de la résistance en flexion du pieu</a> pour plus de détails).</p> - - </li> - - - - </ul> - - - - <div style="text-align: justify;"> Etape précédente : <a href="criteresdimensionnement.html">critères de dimensionnement</a><br> - - - - <br> - - - - Etape suivante : <a href="validation.html">validation</a> </div> - - - - <p style="text-align: justify;"><a href="introductiondonnees.html">Revenir à Introduction des données</a><br> - - - - <br> - - - - </p> - - - - </body> </html> Modified: trunk/fudaa_devel/aide/src/albe/creationprojet.html =================================================================== --- trunk/fudaa_devel/aide/src/albe/creationprojet.html 2008-11-27 13:25:34 UTC (rev 4248) +++ trunk/fudaa_devel/aide/src/albe/creationprojet.html 2008-11-27 16:48:21 UTC (rev 4249) @@ -3,21 +3,13 @@ <head> - - - - <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"> - - - - <title>creationprojet</title> </head> @@ -25,43 +17,25 @@ <body> - - <h1 style="text-align: justify;">Création de projet</h1> - - <div style="text-align: justify;"> Pour créer un projet, cliquer sur l'icône <img style="width: 43px; height: 43px;" alt="" src="icone%20creer.gif" align="middle"> ou bien sélectionner "Créer" dans le menu Fichier<br> - - Cet onglet comprend trois rubriques pouvant être remplies par l'utilisateur<br> - - </div> - - <ul style="text-align: justify;"> - - <li><span style="font-weight: bold;">Titre</span> : L'utilisateur peut donner un titre à son projet (donnée facultative) </li> - - </ul> - - <ul style="text-align: justify;"> - - <li><span style="font-weight: bold;">Fichier </span>: Le nom de fichier introduit par l'utilisateur sera celui où les données seront enregistrées par la suite. Cette ligne @@ -69,24 +43,14 @@ fichier cliquer sur le bouton "Parcourir"</li> - - </ul> - - <ul style="text-align: justify;"> + <li><span style="font-weight: bold;">Commentaires</span> : L'utilisateur peut mettre des commentaires sur le projet (donnée faculative)</li> - <li><span style="font-weight: bold;">Commentaires</span> : L'utilisateur peut également ajouter des commentaires sur le projet (donnée facultative)</li> - - - - </ul> - - <div style="text-align: justify;"> Lorsqu'un nom de fichier a été donné, la @@ -94,20 +58,16 @@ fenêtre d'<a href="introductiondonnees.html">introduction des données</a>.<br> - - Le titre ainsi que les commentaires apparaissent dans la note de calcul -qui peut être éditée par l'utilisateur après +qui peut être éditée par l'utilisateur aprés réalisation des calculs. Le titre et les commentaires peuvent être modifiés en cours de projet en utilisant la fenêtre "Propriétés" accessible dans le menu -"Fichier". La fenêtre "Propriétés" permet +"Fichier". La fenêtre propriété permet également d'introduire des informations complémentaires -(également visibles dans la note de calcul) telles que le nom de l'auteur, +(également visibles dans la note de calcul) telles que l'auteur, une adresse email, un nom d'organisation et un nom de département. </div> - - </body> </html> Modified: trunk/fudaa_devel/aide/src/albe/criteresdimensionnement.html =================================================================== --- trunk/fudaa_devel/aide/src/albe/criteresdimensionnement.html 2008-11-27 13:25:34 UTC (rev 4248) +++ trunk/fudaa_devel/aide/src/albe/criteresdimensionnement.html 2008-11-27 16:48:21 UTC (rev 4249) @@ -5,43 +5,32 @@ - - - - - - <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"> - - - - - - <title>criteresdimensionnement</title> </head> <body> -<h1>Critères -de dimensionnement</h1> +<h2 class="western" style="page-break-before: always; text-align: justify;">Critères +de dimensionnement</h2> + <p style="text-align: justify;">Les critères de dimensionnement sont des valeurs limites fixées par l'utilisateur concernant la déflexion des défenses, les déplacements en tête d'ouvrage et @@ -49,66 +38,39 @@ des navires devant utiliser l'ouvrage, du taux d'utilisation souhaité pour la défense.</p> - - - <ul style="text-align: justify;"> + <li><a href="#deflection_de_la_defense">déflexion limite de la défense d'accostage</a></li> - <li><a href="#deflection_de_la_defense">Déflexion limite de la défense d'accostage</a></li> - - - - - - <li><a href="#deplacement_en_tete_de_pieu">Déplacement maximal de la tête du pieu</a></li> - - - <li><a href="#reaction_au_point_dimpact">Réaction au niveau du point d'impact</a></li> - - - </ul> - - - <p style="text-align: justify;">Lors de la vérification de la structure, les valeurs -calculées sont directement comparées à ces -critères sans utiliser de coefficients de modèle (tous -les coefficients de modèle (<font face="Times New Roman, serif">γ</font><sub>d</sub>) -sont égaux à 1.00 en ce qui concerne ces vérifications).</p> +calculées sont directement comparés à ces +critères sans utiliser de coefficients de modèles (tous +les coefficients de modèles (<font face="Times New Roman, serif">γ</font><sub>d</sub>) +sont égaux à 1.00).</p> - - - <p style="text-align: justify;"></p> - - - <h3 style="text-align: justify;" class="western"><a name="deflection_de_la_defense"></a>Déflexion limite de la défense d'accostage</h3> - - - <p style="margin-bottom: 0cm; text-align: justify;">Les courbes déflexion-réaction des défenses d'accostage comprennent généralement une déflexion maximale @@ -116,209 +78,131 @@ la défense deviennent irréversibles (endommagement de la défense).</p> - - - <p style="margin-bottom: 0cm; text-align: justify;">Dans le cadre d'une utilisation normale des défenses d'accostage il est nécessaire de rester dans le domaine admissible de fonctionnement de la défense.</p> - - - -<p style="margin-bottom: 0cm; text-align: justify;"><a href="methodedecalcul.html#demarche_rosa">ROSA 2000</a> conseille de +<p style="margin-bottom: 0cm; text-align: justify;">ROSA 2000 conseille de prendre des déflexions limites inférieures ou égales -à la déflexion maximale pour les vérifications à +à la déflexion maximale pour les vérification à l'ELS rare et à l'ELU fondamental.</p> - - - <p style="margin-bottom: 0cm; text-align: justify;">En revanche les défenses d'accostage étant des parties d'ouvrages facilement -remplaçables, il est admis que celles-ci travaillent dans leur +remplaçable, il est admis que celle-ci travaillent dans leur domaine ultime (au-delà de d<sub>M</sub>) dans les cas accidentels.</p> - - - -<p style="margin-bottom: 0cm; text-align: justify;"><span style="text-decoration: underline;">Remarque</span> : si la valeur +<p style="margin-bottom: 0cm; text-align: justify;">Remarque : si la valeur limite de déflexion est supérieure ou égale au dernier point de la courbe réaction-déflexion (voir -<a href="file:///D:/projets/aide%20fudaa-albe/defensesaccostage.html#principe_de_definition">Principe de +<a href="defensesaccostage.html#principe_de_definition">Principe de définition</a>) introduit par l'utilisateur le facteur de dimensionnement calculé sera toujours supérieur ou égal à 1.0. Pour les ELS rare et ELU fondamental il est nécessaire de prendre une valeur de déflexion inférieure à la déflexion maximale de la courbe introduite.</p> - - - <p style="margin-bottom: 0cm; text-align: justify;">Pour plus d'éléments sur les défenses d'accostage se référer à -<a href="methodedecalcul.html#demarche_rosa">ROSA 2000</a>, série « Equipements » +ROSA 2000, série « Equipements » fascicule « Défenses d'accostage ».</p> - - - <div style="text-align: justify;"> </div> - - - <h3 style="text-align: justify;" class="western"><a name="deplacement_en_tete_de_pieu"></a>Déplacement maximal de la tête du pieu</h3> - - - <p style="margin-bottom: 0cm; text-align: justify;">Les déplacements de l'ouvrage doivent être limités notamment lorsque celui-ci se trouve à proximité d'un autre ouvrage. Il convient de retenir des valeurs permettant de se prémunir d'un -choc direct du duc d'Albe sur un autre ouvrage construit à +choc directe du duc d'Albe sur un autre ouvrage construit à proximité immédiate, ainsi qu'entre le navire et un -ouvrage fixe, le front d'accostage pouvant se déplacer -sensiblement même pour des mouvements relativement faibles des +ouvrage fixe le front d'accostage pou... [truncated message content] |
From: <fa...@us...> - 2008-11-27 13:25:40
|
Revision: 4248 http://fudaa.svn.sourceforge.net/fudaa/?rev=4248&view=rev Author: fargeix Date: 2008-11-27 13:25:34 +0000 (Thu, 27 Nov 2008) Log Message: ----------- Correction mineure du fichier build de Fudaa-Oscar Modified Paths: -------------- trunk/fudaa_devel/fudaa-distrib/oscar/build.xml Modified: trunk/fudaa_devel/fudaa-distrib/oscar/build.xml =================================================================== --- trunk/fudaa_devel/fudaa-distrib/oscar/build.xml 2008-11-26 13:58:13 UTC (rev 4247) +++ trunk/fudaa_devel/fudaa-distrib/oscar/build.xml 2008-11-27 13:25:34 UTC (rev 4248) @@ -14,5 +14,7 @@ <taskdef name="izpack" classpath="izpack/standalone-compiler.jar" classname="com.izforge.izpack.ant.IzPackTask" /> <property name="this.main.class" value="Oscar" /> <taskdef resource="genjar.properties"/> - <izpack input="izpack/izpack_fudaa_oscar.xml" output="../../../distrib/build/jar/oscar/Fudaa_Oscar_Install.jar" basedir="." /> + <target name="createInstaller" description="cree l'installeur Oscar"> + <izpack input="izpack/izpack_fudaa_oscar.xml" output="../../../distrib/build/jar/oscar/Fudaa_Oscar_Install.jar" basedir="." /> + </target> </project> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <emm...@us...> - 2008-11-26 13:58:16
|
Revision: 4247 http://fudaa.svn.sourceforge.net/fudaa/?rev=4247&view=rev Author: emmanuel_martin Date: 2008-11-26 13:58:13 +0000 (Wed, 26 Nov 2008) Log Message: ----------- bugfix #102 : "Palette de configuration de calque ouverte et selection du calque "Modele 1D" => Plantage" Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueAffichageDonneesTraceConfigure.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueAffichageDonneesTraceConfigure.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueAffichageDonneesTraceConfigure.java 2008-11-25 23:19:33 UTC (rev 4246) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueAffichageDonneesTraceConfigure.java 2008-11-26 13:58:13 UTC (rev 4247) @@ -48,7 +48,7 @@ } public Object getProperty(final String _key) { - if (_key == propIcon_) { + if (_key.equals(propIcon_)) { return getCq().getIconModel(idx_); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2008-11-25 23:19:35
|
Revision: 4246 http://fudaa.svn.sourceforge.net/fudaa/?rev=4246&view=rev Author: deniger Date: 2008-11-25 23:19:33 +0000 (Tue, 25 Nov 2008) Log Message: ----------- Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/reflux/io/INPWriterV5P0.java Removed Paths: ------------- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/reflux/io/INPWriterV5P0.java Deleted: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/reflux/io/INPWriterV5P0.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/reflux/io/INPWriterV5P0.java 2008-11-25 23:08:10 UTC (rev 4245) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/reflux/io/INPWriterV5P0.java 2008-11-25 23:19:33 UTC (rev 4246) @@ -1,240 +0,0 @@ -/** - * @creation 21 mars 2003 - * @modification $Date: 2007-06-29 15:10:24 $ - * @license GNU General Public License 2 - * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne - * @mail de...@fu... - */ -package org.fudaa.dodico.reflux.io; - -import gnu.trove.TIntObjectHashMap; - -import java.io.IOException; - -import org.fudaa.ctulu.CtuluLibArray; -import org.fudaa.dodico.fortran.FortranWriter; -import org.fudaa.dodico.h2d.reflux.H2dRefluxBordIndexGeneral; -import org.fudaa.dodico.h2d.reflux.H2dRefluxBoundaryCondition; -import org.fudaa.dodico.h2d.type.H2dBcType; - -/** - * @author deniger - * @version $Id: INPWriterV5P0.java,v 1.1 2007-06-29 15:10:24 deniger Exp $ - */ -public class INPWriterV5P0 extends INPWriterAbstract { - - /** - * version par defaut. - */ - public INPWriterV5P0() { - this(INPFileFormat.getInstance().getLastV5P0Impl()); - } - - /** - * @param _f version a ajouter. - */ - public INPWriterV5P0(final RefluxINPV5P0Version _f) { - super(_f); - } - - protected void finishEltBordLine(int _idxBordEle, H2dRefluxBordIndexGeneral _bd, int _tailleElem) {} - - protected void finishEltLine(int _idxEle, int _tailleElem) {} - - protected void writeBlocCoor() throws IOException { - up_.majProgessionStateOnly(version_.getCOOR()); - out_.intField(3, nbPts_); - out_.intField(2, 3); - out_.stringField(1, inter_.getTypeProjet().getRefluxId()); - out_.stringField(0, version_.getCOOR()); - out_.writeFields(version_.getCOORFormat()); - up_.setValue(10, nbPts_); - int[] fmtCoord = version_.getTroisDoubleFormat(); - for (int i = 0; i < nbPts_; i++) { - out_.doubleField(2, grid_.getPtZ(i)); - out_.doubleField(1, grid_.getPtY(i)); - out_.doubleField(0, grid_.getPtX(i)); - out_.writeFields(fmtCoord); - up_.majAvancement(); - } - out_.println(); - } - - protected void writeBlocData() throws IOException { - out_.writeln(version_.getDATA()); - out_.writeln(inter_.getTypeProjet().getRefluxId()); - out_.println(); - } - - protected void writeBlocPRELIdxs() throws IOException { - int idxCurrentD = 0; - final int[] fmtD = version_.getGroupElemCodeFormat(); - final int maxD = fmtD.length; - int maxEnCoursD = maxD; -// final H2dNodalPropertyMixte[] gpElD = inter_.getPropElementaires(); -// int nbPropElemD = gpElD.length; - int nbPropElemD = grpIdx_.size(); - while (idxCurrentD < nbPropElemD) { - if ((nbPropElemD - idxCurrentD) < maxD) { - maxEnCoursD = nbPropElemD - idxCurrentD; - } - for (int i = maxEnCoursD - 1; i >= 0; i--) { - out_.intField(i, grpIdx_.get(idxCurrentD + i) + 1); - } - idxCurrentD += maxEnCoursD; - out_.writeFields(fmtD); - } - } - - protected void writeBlocPRELEntete() throws IOException { - out_.intField(3, inter_.getPropElementaires().length); - out_.stringField(0, version_.getPREL()); - int nbGroupe = getNbGroupWithViscosity(); - - out_.intField(2, nbGroupe); - out_.writeFields(version_.getPRELFormat()); - } - - protected void writeBlocDLPN() throws IOException { - up_.majProgessionStateOnly(version_.getDLPN()); - out_.intField(2, 3); - out_.stringField(0, version_.getDLPN()); - out_.writeFields(version_.getDLPNFormat()); - int[] fmt = version_.getCONDNoeudIdxFormat(); - int idxCurrent = 0; - final int maxInit = fmt.length; - int maxCurrent = maxInit; - int codeExtremite = version_.getDLPNDllPointExtremite(); - int codeMilieu = version_.getDLPNDllPointMilieu(); - up_.setValue(10, nbPts_); - while (idxCurrent < nbPts_) { - if ((nbPts_ - idxCurrent) < maxInit) { - maxCurrent = nbPts_ - idxCurrent; - } - for (int i = maxCurrent - 1; i >= 0; i--) { - out_.intField(i, grid_.isMiddlePoint(idxCurrent + i) ? codeMilieu : codeExtremite); - } - out_.writeFields(fmt); - idxCurrent += maxCurrent; - up_.majAvancement(); - } - out_.println(); - } - - protected void writeBlocElemEntete() throws IOException { - out_.intField(3, 6); - out_.intField(2, grid_.getEltNb() + CtuluLibArray.getNbItem(inter_.getBords())); - out_.stringField(0, version_.getELEM()); - out_.writeFields(version_.getELEMFormat()); - } - - protected void writeBlocTPEL() throws IOException { - final H2dRefluxBordIndexGeneral[] bdT3 = inter_.getBords(); - out_.stringField(0, version_.getTPEL()); - up_.majProgessionStateOnly(version_.getTPEL()); - out_.writeFields(version_.getBlocSimpleFormat()); - // sur 16 colonnes - final int[] fmt = version_.getCONDNoeudIdxFormat(); - final int max = fmt.length; - // Arrondi a l'entier inferieur. - final int nbEle = grid_.getEltNb(); - int idxCurrent = nbEle / max; - String sTPEL = FortranWriter.addSpacesBefore(fmt[0], Integer.toString(version_.getCodeFond())); - final StringBuffer bTPEL = new StringBuffer(sTPEL.length() * max); - for (int i = max; i > 0; i--) { - bTPEL.append(sTPEL); - } - sTPEL = bTPEL.toString(); - for (int i = (idxCurrent - 1); i >= 0; i--) { - out_.writeln(sTPEL); - } - // pour ecrire les derniers elt de fond. - idxCurrent = nbEle - idxCurrent * max; - final int codeFond = version_.getCodeFond(); - final int nbT3bord = bdT3 == null ? 0 : bdT3.length; - up_.setValue(10, idxCurrent + nbT3bord); - for (int i = idxCurrent - 1; i >= 0; i--) { - out_.intField(i, codeFond); - up_.majAvancement(); - } - - if (nbT3bord > 0) { - for (int i = 0; i < nbT3bord; i++) { - out_.intField(idxCurrent++, version_.getBordTypeId(bdT3[i].getBordType())); - if (idxCurrent == max) { - out_.writeFields(fmt); - idxCurrent = 0; - } - up_.majAvancement(); - } - } - if (idxCurrent > 0) { - out_.writeFields(fmt); - } - out_.println(); - } - - protected void writeBlocPRND(final TIntObjectHashMap _globIdxBc) throws IOException { - out_.intField(2, 2); - out_.stringField(0, version_.getPRND()); - out_.writeFields(version_.getPRNDFormat()); - int[] fmtPRND = version_.getCONDNoeudIdxFormat(); - final int max16PRND = fmtPRND.length; - int indexEnCoursPRND = 0; - final int normalId = version_.getCodePermanent(); - for (int i = 0; i < nbPts_; i++) { - final H2dRefluxBoundaryCondition cli = (H2dRefluxBoundaryCondition) _globIdxBc.get(i); - - int itemp1 = 0; - int itemp2 = 0; - if (cli != null) { - itemp1 = normalId; - itemp2 = version_.getCode(cli.getQType()); - if (cli.getQType() == H2dBcType.TRANSITOIRE) { - pnCourbes_.add(cli.getQTransitoireCourbe()); - } - } - out_.intField(indexEnCoursPRND++, itemp1); - if (indexEnCoursPRND == max16PRND) { - out_.writeFields(fmtPRND); - indexEnCoursPRND = 0; - } - out_.intField(indexEnCoursPRND++, itemp2); - if (indexEnCoursPRND == max16PRND) { - out_.writeFields(fmtPRND); - indexEnCoursPRND = 0; - } - } - // on ecrit la derniere ligne - if (indexEnCoursPRND != 0) { - out_.writeFields(fmtPRND); - } - // ecriture des valeurs. - fmtPRND = version_.getHuitDoubleFormat(); - final int max = fmtPRND.length; - indexEnCoursPRND = 0; - - for (int i = 0; i < nbPts_; i++) { - final H2dRefluxBoundaryCondition cli = (H2dRefluxBoundaryCondition) _globIdxBc.get(i); - double d1 = 0, d2 = 0; - if (cli != null) { - d1 = cli.getNormale(); - d2 = cli.getQ(); - } - out_.doubleField(indexEnCoursPRND++, d1); - if (indexEnCoursPRND == max) { - out_.writeFields(fmtPRND); - indexEnCoursPRND = 0; - } - out_.doubleField(indexEnCoursPRND++, d2); - if (indexEnCoursPRND == max) { - out_.writeFields(fmtPRND); - indexEnCoursPRND = 0; - } - } - if (indexEnCoursPRND != 0) { - out_.writeFields(fmtPRND); - } - out_.println(); - } -} \ No newline at end of file Copied: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/reflux/io/INPWriterV5P0.java (from rev 4245, branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/reflux/io/INPWriterV5P0.java) =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/reflux/io/INPWriterV5P0.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/reflux/io/INPWriterV5P0.java 2008-11-25 23:19:33 UTC (rev 4246) @@ -0,0 +1,240 @@ +/** + * @creation 21 mars 2003 + * @modification $Date: 2007-06-29 15:10:24 $ + * @license GNU General Public License 2 + * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail de...@fu... + */ +package org.fudaa.dodico.reflux.io; + +import gnu.trove.TIntObjectHashMap; + +import java.io.IOException; + +import org.fudaa.ctulu.CtuluLibArray; +import org.fudaa.dodico.fortran.FortranWriter; +import org.fudaa.dodico.h2d.reflux.H2dRefluxBordIndexGeneral; +import org.fudaa.dodico.h2d.reflux.H2dRefluxBoundaryCondition; +import org.fudaa.dodico.h2d.type.H2dBcType; + +/** + * @author deniger + * @version $Id: INPWriterV5P0.java,v 1.1 2007-06-29 15:10:24 deniger Exp $ + */ +public class INPWriterV5P0 extends INPWriterAbstract { + + /** + * version par defaut. + */ + public INPWriterV5P0() { + this(INPFileFormat.getInstance().getLastV5P0Impl()); + } + + /** + * @param _f version a ajouter. + */ + public INPWriterV5P0(final RefluxINPV5P0Version _f) { + super(_f); + } + + protected void finishEltBordLine(int _idxBordEle, H2dRefluxBordIndexGeneral _bd, int _tailleElem) {} + + protected void finishEltLine(int _idxEle, int _tailleElem) {} + + protected void writeBlocCoor() throws IOException { + up_.majProgessionStateOnly(version_.getCOOR()); + out_.intField(3, nbPts_); + out_.intField(2, 3); + out_.stringField(1, inter_.getTypeProjet().getRefluxId()); + out_.stringField(0, version_.getCOOR()); + out_.writeFields(version_.getCOORFormat()); + up_.setValue(10, nbPts_); + int[] fmtCoord = version_.getTroisDoubleFormat(); + for (int i = 0; i < nbPts_; i++) { + out_.doubleField(2, grid_.getPtZ(i)); + out_.doubleField(1, grid_.getPtY(i)); + out_.doubleField(0, grid_.getPtX(i)); + out_.writeFields(fmtCoord); + up_.majAvancement(); + } + out_.println(); + } + + protected void writeBlocData() throws IOException { + out_.writeln(version_.getDATA()); + out_.writeln(inter_.getTypeProjet().getRefluxId()); + out_.println(); + } + + protected void writeBlocPRELIdxs() throws IOException { + int idxCurrentD = 0; + final int[] fmtD = version_.getGroupElemCodeFormat(); + final int maxD = fmtD.length; + int maxEnCoursD = maxD; +// final H2dNodalPropertyMixte[] gpElD = inter_.getPropElementaires(); +// int nbPropElemD = gpElD.length; + int nbPropElemD = grpIdx_.size(); + while (idxCurrentD < nbPropElemD) { + if ((nbPropElemD - idxCurrentD) < maxD) { + maxEnCoursD = nbPropElemD - idxCurrentD; + } + for (int i = maxEnCoursD - 1; i >= 0; i--) { + out_.intField(i, grpIdx_.get(idxCurrentD + i) + 1); + } + idxCurrentD += maxEnCoursD; + out_.writeFields(fmtD); + } + } + + protected void writeBlocPRELEntete() throws IOException { + out_.intField(3, inter_.getPropElementaires().length); + out_.stringField(0, version_.getPREL()); + int nbGroupe = getNbGroupWithViscosity(); + + out_.intField(2, nbGroupe); + out_.writeFields(version_.getPRELFormat()); + } + + protected void writeBlocDLPN() throws IOException { + up_.majProgessionStateOnly(version_.getDLPN()); + out_.intField(2, 3); + out_.stringField(0, version_.getDLPN()); + out_.writeFields(version_.getDLPNFormat()); + int[] fmt = version_.getCONDNoeudIdxFormat(); + int idxCurrent = 0; + final int maxInit = fmt.length; + int maxCurrent = maxInit; + int codeExtremite = version_.getDLPNDllPointExtremite(); + int codeMilieu = version_.getDLPNDllPointMilieu(); + up_.setValue(10, nbPts_); + while (idxCurrent < nbPts_) { + if ((nbPts_ - idxCurrent) < maxInit) { + maxCurrent = nbPts_ - idxCurrent; + } + for (int i = maxCurrent - 1; i >= 0; i--) { + out_.intField(i, grid_.isMiddlePoint(idxCurrent + i) ? codeMilieu : codeExtremite); + } + out_.writeFields(fmt); + idxCurrent += maxCurrent; + up_.majAvancement(); + } + out_.println(); + } + + protected void writeBlocElemEntete() throws IOException { + out_.intField(3, 6); + out_.intField(2, grid_.getEltNb() + CtuluLibArray.getNbItem(inter_.getBords())); + out_.stringField(0, version_.getELEM()); + out_.writeFields(version_.getELEMFormat()); + } + + protected void writeBlocTPEL() throws IOException { + final H2dRefluxBordIndexGeneral[] bdT3 = inter_.getBords(); + out_.stringField(0, version_.getTPEL()); + up_.majProgessionStateOnly(version_.getTPEL()); + out_.writeFields(version_.getBlocSimpleFormat()); + // sur 16 colonnes + final int[] fmt = version_.getCONDNoeudIdxFormat(); + final int max = fmt.length; + // Arrondi a l'entier inferieur. + final int nbEle = grid_.getEltNb(); + int idxCurrent = nbEle / max; + String sTPEL = FortranWriter.addSpacesBefore(fmt[0], Integer.toString(version_.getCodeFond())); + final StringBuffer bTPEL = new StringBuffer(sTPEL.length() * max); + for (int i = max; i > 0; i--) { + bTPEL.append(sTPEL); + } + sTPEL = bTPEL.toString(); + for (int i = (idxCurrent - 1); i >= 0; i--) { + out_.writeln(sTPEL); + } + // pour ecrire les derniers elt de fond. + idxCurrent = nbEle - idxCurrent * max; + final int codeFond = version_.getCodeFond(); + final int nbT3bord = bdT3 == null ? 0 : bdT3.length; + up_.setValue(10, idxCurrent + nbT3bord); + for (int i = idxCurrent - 1; i >= 0; i--) { + out_.intField(i, codeFond); + up_.majAvancement(); + } + + if (nbT3bord > 0) { + for (int i = 0; i < nbT3bord; i++) { + out_.intField(idxCurrent++, version_.getBordTypeId(bdT3[i].getBordType())); + if (idxCurrent == max) { + out_.writeFields(fmt); + idxCurrent = 0; + } + up_.majAvancement(); + } + } + if (idxCurrent > 0) { + out_.writeFields(fmt); + } + out_.println(); + } + + protected void writeBlocPRND(final TIntObjectHashMap _globIdxBc) throws IOException { + out_.intField(2, 2); + out_.stringField(0, version_.getPRND()); + out_.writeFields(version_.getPRNDFormat()); + int[] fmtPRND = version_.getCONDNoeudIdxFormat(); + final int max16PRND = fmtPRND.length; + int indexEnCoursPRND = 0; + final int normalId = version_.getCodePermanent(); + for (int i = 0; i < nbPts_; i++) { + final H2dRefluxBoundaryCondition cli = (H2dRefluxBoundaryCondition) _globIdxBc.get(i); + + int itemp1 = 0; + int itemp2 = 0; + if (cli != null) { + itemp1 = normalId; + itemp2 = version_.getCode(cli.getQType()); + if (cli.getQType() == H2dBcType.TRANSITOIRE) { + pnCourbes_.add(cli.getQTransitoireCourbe()); + } + } + out_.intField(indexEnCoursPRND++, itemp1); + if (indexEnCoursPRND == max16PRND) { + out_.writeFields(fmtPRND); + indexEnCoursPRND = 0; + } + out_.intField(indexEnCoursPRND++, itemp2); + if (indexEnCoursPRND == max16PRND) { + out_.writeFields(fmtPRND); + indexEnCoursPRND = 0; + } + } + // on ecrit la derniere ligne + if (indexEnCoursPRND != 0) { + out_.writeFields(fmtPRND); + } + // ecriture des valeurs. + fmtPRND = version_.getHuitDoubleFormat(); + final int max = fmtPRND.length; + indexEnCoursPRND = 0; + + for (int i = 0; i < nbPts_; i++) { + final H2dRefluxBoundaryCondition cli = (H2dRefluxBoundaryCondition) _globIdxBc.get(i); + double d1 = 0, d2 = 0; + if (cli != null) { + d1 = cli.getNormale(); + d2 = cli.getQ(); + } + out_.doubleField(indexEnCoursPRND++, d1); + if (indexEnCoursPRND == max) { + out_.writeFields(fmtPRND); + indexEnCoursPRND = 0; + } + out_.doubleField(indexEnCoursPRND++, d2); + if (indexEnCoursPRND == max) { + out_.writeFields(fmtPRND); + indexEnCoursPRND = 0; + } + } + if (indexEnCoursPRND != 0) { + out_.writeFields(fmtPRND); + } + out_.println(); + } +} \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2008-11-25 23:08:15
|
Revision: 4245 http://fudaa.svn.sourceforge.net/fudaa/?rev=4245&view=rev Author: deniger Date: 2008-11-25 23:08:10 +0000 (Tue, 25 Nov 2008) Log Message: ----------- Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/reflux/io/INPWriterV5P0.java Added: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/reflux/io/INPWriterV5P0.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/reflux/io/INPWriterV5P0.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/reflux/io/INPWriterV5P0.java 2008-11-25 23:08:10 UTC (rev 4245) @@ -0,0 +1,240 @@ +/** + * @creation 21 mars 2003 + * @modification $Date: 2007-06-29 15:10:24 $ + * @license GNU General Public License 2 + * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail de...@fu... + */ +package org.fudaa.dodico.reflux.io; + +import gnu.trove.TIntObjectHashMap; + +import java.io.IOException; + +import org.fudaa.ctulu.CtuluLibArray; +import org.fudaa.dodico.fortran.FortranWriter; +import org.fudaa.dodico.h2d.reflux.H2dRefluxBordIndexGeneral; +import org.fudaa.dodico.h2d.reflux.H2dRefluxBoundaryCondition; +import org.fudaa.dodico.h2d.type.H2dBcType; + +/** + * @author deniger + * @version $Id: INPWriterV5P0.java,v 1.1 2007-06-29 15:10:24 deniger Exp $ + */ +public class INPWriterV5P0 extends INPWriterAbstract { + + /** + * version par defaut. + */ + public INPWriterV5P0() { + this(INPFileFormat.getInstance().getLastV5P0Impl()); + } + + /** + * @param _f version a ajouter. + */ + public INPWriterV5P0(final RefluxINPV5P0Version _f) { + super(_f); + } + + protected void finishEltBordLine(int _idxBordEle, H2dRefluxBordIndexGeneral _bd, int _tailleElem) {} + + protected void finishEltLine(int _idxEle, int _tailleElem) {} + + protected void writeBlocCoor() throws IOException { + up_.majProgessionStateOnly(version_.getCOOR()); + out_.intField(3, nbPts_); + out_.intField(2, 3); + out_.stringField(1, inter_.getTypeProjet().getRefluxId()); + out_.stringField(0, version_.getCOOR()); + out_.writeFields(version_.getCOORFormat()); + up_.setValue(10, nbPts_); + int[] fmtCoord = version_.getTroisDoubleFormat(); + for (int i = 0; i < nbPts_; i++) { + out_.doubleField(2, grid_.getPtZ(i)); + out_.doubleField(1, grid_.getPtY(i)); + out_.doubleField(0, grid_.getPtX(i)); + out_.writeFields(fmtCoord); + up_.majAvancement(); + } + out_.println(); + } + + protected void writeBlocData() throws IOException { + out_.writeln(version_.getDATA()); + out_.writeln(inter_.getTypeProjet().getRefluxId()); + out_.println(); + } + + protected void writeBlocPRELIdxs() throws IOException { + int idxCurrentD = 0; + final int[] fmtD = version_.getGroupElemCodeFormat(); + final int maxD = fmtD.length; + int maxEnCoursD = maxD; +// final H2dNodalPropertyMixte[] gpElD = inter_.getPropElementaires(); +// int nbPropElemD = gpElD.length; + int nbPropElemD = grpIdx_.size(); + while (idxCurrentD < nbPropElemD) { + if ((nbPropElemD - idxCurrentD) < maxD) { + maxEnCoursD = nbPropElemD - idxCurrentD; + } + for (int i = maxEnCoursD - 1; i >= 0; i--) { + out_.intField(i, grpIdx_.get(idxCurrentD + i) + 1); + } + idxCurrentD += maxEnCoursD; + out_.writeFields(fmtD); + } + } + + protected void writeBlocPRELEntete() throws IOException { + out_.intField(3, inter_.getPropElementaires().length); + out_.stringField(0, version_.getPREL()); + int nbGroupe = getNbGroupWithViscosity(); + + out_.intField(2, nbGroupe); + out_.writeFields(version_.getPRELFormat()); + } + + protected void writeBlocDLPN() throws IOException { + up_.majProgessionStateOnly(version_.getDLPN()); + out_.intField(2, 3); + out_.stringField(0, version_.getDLPN()); + out_.writeFields(version_.getDLPNFormat()); + int[] fmt = version_.getCONDNoeudIdxFormat(); + int idxCurrent = 0; + final int maxInit = fmt.length; + int maxCurrent = maxInit; + int codeExtremite = version_.getDLPNDllPointExtremite(); + int codeMilieu = version_.getDLPNDllPointMilieu(); + up_.setValue(10, nbPts_); + while (idxCurrent < nbPts_) { + if ((nbPts_ - idxCurrent) < maxInit) { + maxCurrent = nbPts_ - idxCurrent; + } + for (int i = maxCurrent - 1; i >= 0; i--) { + out_.intField(i, grid_.isMiddlePoint(idxCurrent + i) ? codeMilieu : codeExtremite); + } + out_.writeFields(fmt); + idxCurrent += maxCurrent; + up_.majAvancement(); + } + out_.println(); + } + + protected void writeBlocElemEntete() throws IOException { + out_.intField(3, 6); + out_.intField(2, grid_.getEltNb() + CtuluLibArray.getNbItem(inter_.getBords())); + out_.stringField(0, version_.getELEM()); + out_.writeFields(version_.getELEMFormat()); + } + + protected void writeBlocTPEL() throws IOException { + final H2dRefluxBordIndexGeneral[] bdT3 = inter_.getBords(); + out_.stringField(0, version_.getTPEL()); + up_.majProgessionStateOnly(version_.getTPEL()); + out_.writeFields(version_.getBlocSimpleFormat()); + // sur 16 colonnes + final int[] fmt = version_.getCONDNoeudIdxFormat(); + final int max = fmt.length; + // Arrondi a l'entier inferieur. + final int nbEle = grid_.getEltNb(); + int idxCurrent = nbEle / max; + String sTPEL = FortranWriter.addSpacesBefore(fmt[0], Integer.toString(version_.getCodeFond())); + final StringBuffer bTPEL = new StringBuffer(sTPEL.length() * max); + for (int i = max; i > 0; i--) { + bTPEL.append(sTPEL); + } + sTPEL = bTPEL.toString(); + for (int i = (idxCurrent - 1); i >= 0; i--) { + out_.writeln(sTPEL); + } + // pour ecrire les derniers elt de fond. + idxCurrent = nbEle - idxCurrent * max; + final int codeFond = version_.getCodeFond(); + final int nbT3bord = bdT3 == null ? 0 : bdT3.length; + up_.setValue(10, idxCurrent + nbT3bord); + for (int i = idxCurrent - 1; i >= 0; i--) { + out_.intField(i, codeFond); + up_.majAvancement(); + } + + if (nbT3bord > 0) { + for (int i = 0; i < nbT3bord; i++) { + out_.intField(idxCurrent++, version_.getBordTypeId(bdT3[i].getBordType())); + if (idxCurrent == max) { + out_.writeFields(fmt); + idxCurrent = 0; + } + up_.majAvancement(); + } + } + if (idxCurrent > 0) { + out_.writeFields(fmt); + } + out_.println(); + } + + protected void writeBlocPRND(final TIntObjectHashMap _globIdxBc) throws IOException { + out_.intField(2, 2); + out_.stringField(0, version_.getPRND()); + out_.writeFields(version_.getPRNDFormat()); + int[] fmtPRND = version_.getCONDNoeudIdxFormat(); + final int max16PRND = fmtPRND.length; + int indexEnCoursPRND = 0; + final int normalId = version_.getCodePermanent(); + for (int i = 0; i < nbPts_; i++) { + final H2dRefluxBoundaryCondition cli = (H2dRefluxBoundaryCondition) _globIdxBc.get(i); + + int itemp1 = 0; + int itemp2 = 0; + if (cli != null) { + itemp1 = normalId; + itemp2 = version_.getCode(cli.getQType()); + if (cli.getQType() == H2dBcType.TRANSITOIRE) { + pnCourbes_.add(cli.getQTransitoireCourbe()); + } + } + out_.intField(indexEnCoursPRND++, itemp1); + if (indexEnCoursPRND == max16PRND) { + out_.writeFields(fmtPRND); + indexEnCoursPRND = 0; + } + out_.intField(indexEnCoursPRND++, itemp2); + if (indexEnCoursPRND == max16PRND) { + out_.writeFields(fmtPRND); + indexEnCoursPRND = 0; + } + } + // on ecrit la derniere ligne + if (indexEnCoursPRND != 0) { + out_.writeFields(fmtPRND); + } + // ecriture des valeurs. + fmtPRND = version_.getHuitDoubleFormat(); + final int max = fmtPRND.length; + indexEnCoursPRND = 0; + + for (int i = 0; i < nbPts_; i++) { + final H2dRefluxBoundaryCondition cli = (H2dRefluxBoundaryCondition) _globIdxBc.get(i); + double d1 = 0, d2 = 0; + if (cli != null) { + d1 = cli.getNormale(); + d2 = cli.getQ(); + } + out_.doubleField(indexEnCoursPRND++, d1); + if (indexEnCoursPRND == max) { + out_.writeFields(fmtPRND); + indexEnCoursPRND = 0; + } + out_.doubleField(indexEnCoursPRND++, d2); + if (indexEnCoursPRND == max) { + out_.writeFields(fmtPRND); + indexEnCoursPRND = 0; + } + } + if (indexEnCoursPRND != 0) { + out_.writeFields(fmtPRND); + } + out_.println(); + } +} \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2008-11-25 23:07:41
|
Revision: 4244 http://fudaa.svn.sourceforge.net/fudaa/?rev=4244&view=rev Author: deniger Date: 2008-11-25 23:07:28 +0000 (Tue, 25 Nov 2008) Log Message: ----------- Removed Paths: ------------- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/reflux/io/INPWriterV5P0.java Deleted: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/reflux/io/INPWriterV5P0.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/reflux/io/INPWriterV5P0.java 2008-11-25 22:56:09 UTC (rev 4243) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/reflux/io/INPWriterV5P0.java 2008-11-25 23:07:28 UTC (rev 4244) @@ -1,240 +0,0 @@ -/** - * @creation 21 mars 2003 - * @modification $Date: 2007-06-29 15:10:24 $ - * @license GNU General Public License 2 - * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne - * @mail de...@fu... - */ -package org.fudaa.dodico.reflux.io; - -import gnu.trove.TIntObjectHashMap; - -import java.io.IOException; - -import org.fudaa.ctulu.CtuluLibArray; -import org.fudaa.dodico.fortran.FortranWriter; -import org.fudaa.dodico.h2d.reflux.H2dRefluxBordIndexGeneral; -import org.fudaa.dodico.h2d.reflux.H2dRefluxBoundaryCondition; -import org.fudaa.dodico.h2d.type.H2dBcType; - -/** - * @author deniger - * @version $Id: INPWriterV5P0.java,v 1.1 2007-06-29 15:10:24 deniger Exp $ - */ -public class INPWriterV5P0 extends INPWriterAbstract { - - /** - * version par defaut. - */ - public INPWriterV5P0() { - this(INPFileFormat.getInstance().getLastV5P0Impl()); - } - - /** - * @param _f version a ajouter. - */ - public INPWriterV5P0(final RefluxINPV5P0Version _f) { - super(_f); - } - - protected void finishEltBordLine(int _idxBordEle, H2dRefluxBordIndexGeneral _bd, int _tailleElem) {} - - protected void finishEltLine(int _idxEle, int _tailleElem) {} - - protected void writeBlocCoor() throws IOException { - up_.majProgessionStateOnly(version_.getCOOR()); - out_.intField(3, nbPts_); - out_.intField(2, 3); - out_.stringField(1, inter_.getTypeProjet().getRefluxId()); - out_.stringField(0, version_.getCOOR()); - out_.writeFields(version_.getCOORFormat()); - up_.setValue(10, nbPts_); - int[] fmtCoord = version_.getTroisDoubleFormat(); - for (int i = 0; i < nbPts_; i++) { - out_.doubleField(2, grid_.getPtZ(i)); - out_.doubleField(1, grid_.getPtY(i)); - out_.doubleField(0, grid_.getPtX(i)); - out_.writeFields(fmtCoord); - up_.majAvancement(); - } - out_.println(); - } - - protected void writeBlocData() throws IOException { - out_.writeln(version_.getDATA()); - out_.writeln(inter_.getTypeProjet().getRefluxId()); - out_.println(); - } - - protected void writeBlocPRELIdxs() throws IOException { - int idxCurrentD = 0; - final int[] fmtD = version_.getGroupElemCodeFormat(); - final int maxD = fmtD.length; - int maxEnCoursD = maxD; -// final H2dNodalPropertyMixte[] gpElD = inter_.getPropElementaires(); -// int nbPropElemD = gpElD.length; - int nbPropElemD = grpIdx_.size(); - while (idxCurrentD < nbPropElemD) { - if ((nbPropElemD - idxCurrentD) < maxD) { - maxEnCoursD = nbPropElemD - idxCurrentD; - } - for (int i = maxEnCoursD - 1; i >= 0; i--) { - out_.intField(i, grpIdx_.get(idxCurrentD + i) + 1); - } - idxCurrentD += maxEnCoursD; - out_.writeFields(fmtD); - } - } - - protected void writeBlocPRELEntete() throws IOException { - out_.intField(3, inter_.getPropElementaires().length); - out_.stringField(0, version_.getPREL()); - int nbGroupe = getNbGroupWithViscosity(); - - out_.intField(2, nbGroupe); - out_.writeFields(version_.getPRELFormat()); - } - - protected void writeBlocDLPN() throws IOException { - up_.majProgessionStateOnly(version_.getDLPN()); - out_.intField(2, 3); - out_.stringField(0, version_.getDLPN()); - out_.writeFields(version_.getDLPNFormat()); - int[] fmt = version_.getCONDNoeudIdxFormat(); - int idxCurrent = 0; - final int maxInit = fmt.length; - int maxCurrent = maxInit; - int codeExtremite = version_.getDLPNDllPointExtremite(); - int codeMilieu = version_.getDLPNDllPointMilieu(); - up_.setValue(10, nbPts_); - while (idxCurrent < nbPts_) { - if ((nbPts_ - idxCurrent) < maxInit) { - maxCurrent = nbPts_ - idxCurrent; - } - for (int i = maxCurrent - 1; i >= 0; i--) { - out_.intField(i, grid_.isMiddlePoint(idxCurrent + i) ? codeMilieu : codeExtremite); - } - out_.writeFields(fmt); - idxCurrent += maxCurrent; - up_.majAvancement(); - } - out_.println(); - } - - protected void writeBlocElemEntete() throws IOException { - out_.intField(3, 6); - out_.intField(2, grid_.getEltNb() + CtuluLibArray.getNbItem(inter_.getBords())); - out_.stringField(0, version_.getELEM()); - out_.writeFields(version_.getELEMFormat()); - } - - protected void writeBlocTPEL() throws IOException { - final H2dRefluxBordIndexGeneral[] bdT3 = inter_.getBords(); - out_.stringField(0, version_.getTPEL()); - up_.majProgessionStateOnly(version_.getTPEL()); - out_.writeFields(version_.getBlocSimpleFormat()); - // sur 16 colonnes - final int[] fmt = version_.getCONDNoeudIdxFormat(); - final int max = fmt.length; - // Arrondi a l'entier inferieur. - final int nbEle = grid_.getEltNb(); - int idxCurrent = nbEle / max; - String sTPEL = FortranWriter.addSpacesBefore(fmt[0], Integer.toString(version_.getCodeFond())); - final StringBuffer bTPEL = new StringBuffer(sTPEL.length() * max); - for (int i = max; i > 0; i--) { - bTPEL.append(sTPEL); - } - sTPEL = bTPEL.toString(); - for (int i = (idxCurrent - 1); i >= 0; i--) { - out_.writeln(sTPEL); - } - // pour ecrire les derniers elt de fond. - idxCurrent = nbEle - idxCurrent * max; - final int codeFond = version_.getCodeFond(); - final int nbT3bord = bdT3 == null ? 0 : bdT3.length; - up_.setValue(10, idxCurrent + nbT3bord); - for (int i = idxCurrent - 1; i >= 0; i--) { - out_.intField(i, codeFond); - up_.majAvancement(); - } - - if (nbT3bord > 0) { - for (int i = 0; i < nbT3bord; i++) { - out_.intField(idxCurrent++, version_.getBordTypeId(bdT3[i].getBordType())); - if (idxCurrent == max) { - out_.writeFields(fmt); - idxCurrent = 0; - } - up_.majAvancement(); - } - } - if (idxCurrent > 0) { - out_.writeFields(fmt); - } - out_.println(); - } - - protected void writeBlocPRND(final TIntObjectHashMap _globIdxBc) throws IOException { - out_.intField(2, 2); - out_.stringField(0, version_.getPRND()); - out_.writeFields(version_.getPRNDFormat()); - int[] fmtPRND = version_.getCONDNoeudIdxFormat(); - final int max16PRND = fmtPRND.length; - int indexEnCoursPRND = 0; - final int normalId = version_.getCodePermanent(); - for (int i = 0; i < nbPts_; i++) { - final H2dRefluxBoundaryCondition cli = (H2dRefluxBoundaryCondition) _globIdxBc.get(i); - - int itemp1 = 0; - int itemp2 = 0; - if (cli != null) { - itemp1 = normalId; - itemp2 = version_.getCode(cli.getQType()); - if (cli.getQType() == H2dBcType.TRANSITOIRE) { - pnCourbes_.add(cli.getQTransitoireCourbe()); - } - } - out_.intField(indexEnCoursPRND++, itemp1); - if (indexEnCoursPRND == max16PRND) { - out_.writeFields(fmtPRND); - indexEnCoursPRND = 0; - } - out_.intField(indexEnCoursPRND++, itemp2); - if (indexEnCoursPRND == max16PRND) { - out_.writeFields(fmtPRND); - indexEnCoursPRND = 0; - } - } - // on ecrit la derniere ligne - if (indexEnCoursPRND != 0) { - out_.writeFields(fmtPRND); - } - // ecriture des valeurs. - fmtPRND = version_.getHuitDoubleFormat(); - final int max = fmtPRND.length; - indexEnCoursPRND = 0; - - for (int i = 0; i < nbPts_; i++) { - final H2dRefluxBoundaryCondition cli = (H2dRefluxBoundaryCondition) _globIdxBc.get(i); - double d1 = 0, d2 = 0; - if (cli != null) { - d1 = cli.getNormale(); - d2 = cli.getQ(); - } - out_.doubleField(indexEnCoursPRND++, d1); - if (indexEnCoursPRND == max) { - out_.writeFields(fmtPRND); - indexEnCoursPRND = 0; - } - out_.doubleField(indexEnCoursPRND++, d2); - if (indexEnCoursPRND == max) { - out_.writeFields(fmtPRND); - indexEnCoursPRND = 0; - } - } - if (indexEnCoursPRND != 0) { - out_.writeFields(fmtPRND); - } - out_.println(); - } -} \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2008-11-25 22:56:13
|
Revision: 4243 http://fudaa.svn.sourceforge.net/fudaa/?rev=4243&view=rev Author: deniger Date: 2008-11-25 22:56:09 +0000 (Tue, 25 Nov 2008) Log Message: ----------- Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/reflux/io/INPWriterV5P0.java Modified: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/reflux/io/INPWriterV5P0.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/reflux/io/INPWriterV5P0.java 2008-11-25 22:54:34 UTC (rev 4242) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/reflux/io/INPWriterV5P0.java 2008-11-25 22:56:09 UTC (rev 4243) @@ -12,9 +12,7 @@ import java.io.IOException; import org.fudaa.ctulu.CtuluLibArray; - import org.fudaa.dodico.fortran.FortranWriter; -import org.fudaa.dodico.h2d.H2dNodalPropertyMixte; import org.fudaa.dodico.h2d.reflux.H2dRefluxBordIndexGeneral; import org.fudaa.dodico.h2d.reflux.H2dRefluxBoundaryCondition; import org.fudaa.dodico.h2d.type.H2dBcType; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2008-11-25 22:54:40
|
Revision: 4242 http://fudaa.svn.sourceforge.net/fudaa/?rev=4242&view=rev Author: deniger Date: 2008-11-25 22:54:34 +0000 (Tue, 25 Nov 2008) Log Message: ----------- Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/reflux/io/INPWriterV5P0.java Modified: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/reflux/io/INPWriterV5P0.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/reflux/io/INPWriterV5P0.java 2008-11-25 21:29:18 UTC (rev 4241) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/reflux/io/INPWriterV5P0.java 2008-11-25 22:54:34 UTC (rev 4242) @@ -73,8 +73,9 @@ final int[] fmtD = version_.getGroupElemCodeFormat(); final int maxD = fmtD.length; int maxEnCoursD = maxD; - final H2dNodalPropertyMixte[] gpElD = inter_.getPropElementaires(); - int nbPropElemD = gpElD.length; +// final H2dNodalPropertyMixte[] gpElD = inter_.getPropElementaires(); +// int nbPropElemD = gpElD.length; + int nbPropElemD = grpIdx_.size(); while (idxCurrentD < nbPropElemD) { if ((nbPropElemD - idxCurrentD) < maxD) { maxEnCoursD = nbPropElemD - idxCurrentD; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2008-11-25 21:29:19
|
Revision: 4241 http://fudaa.svn.sourceforge.net/fudaa/?rev=4241&view=rev Author: deniger Date: 2008-11-25 21:29:18 +0000 (Tue, 25 Nov 2008) Log Message: ----------- Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/reflux/io/RefluxInpAdapter.java Property Changed: ---------------- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/reflux/io/RefluxInpAdapter.java Modified: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/reflux/io/RefluxInpAdapter.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/reflux/io/RefluxInpAdapter.java 2008-11-25 21:25:20 UTC (rev 4240) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/reflux/io/RefluxInpAdapter.java 2008-11-25 21:29:18 UTC (rev 4241) @@ -12,7 +12,6 @@ import java.util.Map; import org.fudaa.ctulu.fileformat.FileFormat; - import org.fudaa.dodico.ef.EfGridInterface; import org.fudaa.dodico.ef.impl.EfGridSourcesAbstract; import org.fudaa.dodico.fortran.FortranDoubleReaderResultInterface; @@ -20,7 +19,6 @@ import org.fudaa.dodico.h2d.H2dTimeStepGroup; import org.fudaa.dodico.h2d.reflux.H2dRefluxBordIndexGeneral; import org.fudaa.dodico.h2d.reflux.H2dRefluxBoundaryCondition; -import org.fudaa.dodico.h2d.reflux.H2dRefluxBoundaryConditionMutable; import org.fudaa.dodico.h2d.reflux.H2dRefluxParameters; import org.fudaa.dodico.h2d.type.H2dProjetType; import org.fudaa.dodico.h2d.type.H2dVariableType; Property changes on: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/reflux/io/RefluxInpAdapter.java ___________________________________________________________________ Deleted: svn:mergeinfo - /trunk/fudaa_devel/dodico/src/org/fudaa/dodico/reflux/io/RefluxInpAdapter.java:3704-4239 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2008-11-25 21:25:29
|
Revision: 4240 http://fudaa.svn.sourceforge.net/fudaa/?rev=4240&view=rev Author: deniger Date: 2008-11-25 21:25:20 +0000 (Tue, 25 Nov 2008) Log Message: ----------- Property Changed: ---------------- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/reflux/io/RefluxInpAdapter.java Property changes on: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/reflux/io/RefluxInpAdapter.java ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/fudaa_devel/dodico/src/org/fudaa/dodico/reflux/io/RefluxInpAdapter.java:3704-4238 + /trunk/fudaa_devel/dodico/src/org/fudaa/dodico/reflux/io/RefluxInpAdapter.java:3704-4239 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2008-11-25 21:18:44
|
Revision: 4239 http://fudaa.svn.sourceforge.net/fudaa/?rev=4239&view=rev Author: deniger Date: 2008-11-25 21:18:30 +0000 (Tue, 25 Nov 2008) Log Message: ----------- Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/reflux/io/RefluxInpAdapter.java Property Changed: ---------------- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/reflux/io/RefluxInpAdapter.java Modified: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/reflux/io/RefluxInpAdapter.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/reflux/io/RefluxInpAdapter.java 2008-11-25 15:54:12 UTC (rev 4238) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/reflux/io/RefluxInpAdapter.java 2008-11-25 21:18:30 UTC (rev 4239) @@ -7,6 +7,8 @@ */ package org.fudaa.dodico.reflux.io; +import gnu.trove.TIntObjectHashMap; + import java.util.Map; import org.fudaa.ctulu.fileformat.FileFormat; @@ -18,6 +20,7 @@ import org.fudaa.dodico.h2d.H2dTimeStepGroup; import org.fudaa.dodico.h2d.reflux.H2dRefluxBordIndexGeneral; import org.fudaa.dodico.h2d.reflux.H2dRefluxBoundaryCondition; +import org.fudaa.dodico.h2d.reflux.H2dRefluxBoundaryConditionMutable; import org.fudaa.dodico.h2d.reflux.H2dRefluxParameters; import org.fudaa.dodico.h2d.type.H2dProjetType; import org.fudaa.dodico.h2d.type.H2dVariableType; @@ -25,7 +28,8 @@ public class RefluxInpAdapter extends EfGridSourcesAbstract implements INPInterface { final H2dRefluxBordIndexGeneral[] bd_; - final H2dRefluxBoundaryCondition[] cls_; + // final H2dRefluxBoundaryCondition[] cls_; + final TIntObjectHashMap cls_; String[] fics_; final boolean isSoll_; final H2dRefluxParameters params_; @@ -44,13 +48,25 @@ fics_ = _fic; params_ = _params; bd_ = params_.getRefluxClManager().getRefluxBord(); - cls_ = params_.getRefluxClManager().getRefluxCl(); + cls_ = saveCL(params_.getRefluxClManager().getRefluxCl()); + // sollicitations r\xE9parties isSoll_ = H2dRefluxBordIndexGeneral.isSollicitation(bd_); times_ = params_.getGroupePasTempsTab(); // nbDigits_ = _nbDigitForSoll; } + private TIntObjectHashMap saveCL(final H2dRefluxBoundaryCondition[] _cl) { + final TIntObjectHashMap clMap = new TIntObjectHashMap(_cl.length); + for (int i = _cl.length - 1; i >= 0; i--) { + final H2dRefluxBoundaryCondition s = _cl[i]; + if (s != null) { + clMap.put(s.getIndexPt(), s); + } + } + return clMap; + } + /** * @return true si contient Radiations */ @@ -80,7 +96,7 @@ } public H2dRefluxBoundaryCondition getConditionLimite(final int _r) { - return cls_[_r]; + return (H2dRefluxBoundaryCondition)cls_.get(_r); } public Map getEntiteValue() { Property changes on: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/reflux/io/RefluxInpAdapter.java ___________________________________________________________________ Added: svn:mergeinfo + /trunk/fudaa_devel/dodico/src/org/fudaa/dodico/reflux/io/RefluxInpAdapter.java:3704-4238 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <emm...@us...> - 2008-11-25 15:54:16
|
Revision: 4238 http://fudaa.svn.sourceforge.net/fudaa/?rev=4238&view=rev Author: emmanuel_martin Date: 2008-11-25 15:54:12 +0000 (Tue, 25 Nov 2008) Log Message: ----------- correction d'un plantage concernant le panel de distance ; ajout d'une sonde pour le panel curviligne ; correction de la r?\195?\169duction du panel curviligne ; correction de la mise ?\195?\160 jour du panel de propri?\195?\169t?\195?\169s dans le pr?\195?\169pro concernant l'interpolation des valeurs des points ; am?\195?\169lioration du calcul de l'abcisse curviligne ; affichage d'un message si le le click n'est pas sur la forme et remise ?\195?\160 0 quand on quitte le panel curviligne. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BCalquePaletteInfo.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueDistanceInteraction.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneAbscisseCurviligneAction.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/BPaletteAbscisseCurviligne.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/ZCalqueAbscisseCurviligneInteraction.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/post/TrIsoLayerDefault.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/post/TrIsoModelAbstract.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BCalquePaletteInfo.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BCalquePaletteInfo.java 2008-11-23 21:43:45 UTC (rev 4237) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BCalquePaletteInfo.java 2008-11-25 15:54:12 UTC (rev 4238) @@ -8,18 +8,15 @@ package org.fudaa.ebli.calque; import java.util.ArrayList; -import java.util.HashSet; +import java.util.List; import javax.swing.event.TreeSelectionEvent; import javax.swing.event.TreeSelectionListener; import org.fudaa.ctulu.CtuluCommandManager; import org.fudaa.ctulu.CtuluLibString; -import org.fudaa.ctulu.CtuluListSelection; -import org.fudaa.ctulu.CtuluListSelectionInterface; import org.fudaa.ctulu.gis.GISAttributeInterface; import org.fudaa.ebli.commun.EbliLib; -import org.fudaa.ebli.commun.EbliListeSelectionMultiInterface; import org.fudaa.ebli.palette.BPaletteInfo; import com.vividsolutions.jts.geom.Geometry; @@ -30,9 +27,11 @@ */ public class BCalquePaletteInfo extends BPaletteInfo implements TreeSelectionListener, ZSelectionListener, ZModelGeometryListener { - private ArrayList<ZCalqueAffichageDonneesInterface> calqueWithGeometriesSelected_; + private List<ZCalqueAffichageDonneesInterface> calqueWithGeometriesSelected_; private BArbreCalqueModel treeModel_; private ZScene scene_; + /** Le calque selectionn\xE9 dans l'arbre. */ + private ZCalqueAffichageDonnees calqueSelected_; /** * Cr\xE9ation de la palette. @@ -54,6 +53,10 @@ * Met \xE0 jour les informations contenues dans le tableau. */ private void updateTableModel(){ + BCalque calque=treeModel_.getSelectedCalque(); + updateCalqueWithSelection(); + if(calqueSelected_==null||calque!=calqueSelected_) + updateCalqueSelected(); // Suppression des anciennes informations txtTitle_.setText(CtuluLibString.EMPTY_STRING); tableModel_.clear(); @@ -81,18 +84,38 @@ } updateSize(); } - + + /** Met \xE0 jour la liste des calques poss\xE9dant une selection. */ + private void updateCalqueWithSelection() { + // Supression de l'\xE9coute sur tout les models sauf celui selectionn\xE9 + for (ZCalqueAffichageDonneesInterface calque : calqueWithGeometriesSelected_) + if(calque != calqueSelected_) + if (calque.modeleDonnees() instanceof ZModeleGeometry) + ((ZModeleGeometry)calque.modeleDonnees()).removeModelListener(this); + else + ((ZModeleDonnesAbstract)calque.modeleDonnees()).removeModelListener(this); + // Nombre de calques ayant des selections (atomiques ou globales) + calqueWithGeometriesSelected_.clear(); + ZCalqueAffichageDonneesInterface[] cqs=scene_.getAllLayers(); + for (ZCalqueAffichageDonneesInterface cq : cqs) { + if (cq.getLayerSelection()!=null&&cq.getLayerSelection().getNbSelectedIndex()>0||cq.getLayerSelectionMulti()!=null + &&cq.getLayerSelectionMulti().getNbSelectedItem()>0) { + if (!calqueWithGeometriesSelected_.contains(cq)) + calqueWithGeometriesSelected_.add(cq); + } + } + // Ajout des \xE9coutes + for (ZCalqueAffichageDonneesInterface calque : calqueWithGeometriesSelected_) + if (calque.modeleDonnees() instanceof ZModeleGeometry) + ((ZModeleGeometry)calque.modeleDonnees()).addModelListener(this); + else if (calque.modeleDonnees() instanceof ZModeleDonnesAbstract) + ((ZModeleDonnesAbstract)calque.modeleDonnees()).addModelListener(this); + } + + // Changement de geometries selectionn\xE9es. \\ public void selectionChanged(final ZSelectionEvent _evt) { - if (isAvailable()) { - // Nombre de calques ayant des selections (atomiques ou globales) - calqueWithGeometriesSelected_.clear(); - ZCalqueAffichageDonneesInterface[] cqs=scene_.getAllLayers(); - for (ZCalqueAffichageDonneesInterface cq: cqs) { - if (cq.getLayerSelection()!=null && cq.getLayerSelection().getNbSelectedIndex()>0 || - cq.getLayerSelectionMulti()!=null && cq.getLayerSelectionMulti().getNbSelectedItem()>0) { - if (!calqueWithGeometriesSelected_.contains(cq)) calqueWithGeometriesSelected_.add(cq); - } - } + if (isAvailable()){ + updateCalqueWithSelection(); updateTableModel(); } } @@ -103,8 +126,28 @@ updateTableModel(); } + public void updateCalqueSelected(){ + // Supression de l'\xE9coute sur l'ancien calque + if(calqueSelected_!=null&&!calqueWithGeometriesSelected_.contains(calqueSelected_)) + if(calqueSelected_.modeleDonnees() instanceof ZModeleGeometry) + ((ZModeleGeometry) calqueSelected_.modeleDonnees()).removeModelListener(this); + else if(calqueSelected_.modeleDonnees() instanceof ZModeleDonnesAbstract) + ((ZModeleDonnesAbstract) calqueSelected_.modeleDonnees()).removeModelListener(this); + // M\xE9morisation du calque et ajout de l'acoute + if(treeModel_.getSelectedCalque() instanceof ZCalqueAffichageDonnees){ + calqueSelected_=(ZCalqueAffichageDonnees)treeModel_.getSelectedCalque(); + if(calqueSelected_.modeleDonnees() instanceof ZModeleGeometry) + ((ZModeleGeometry) calqueSelected_.modeleDonnees()).addModelListener(this); + else if(calqueSelected_.modeleDonnees() instanceof ZModeleDonnesAbstract) + ((ZModeleDonnesAbstract) calqueSelected_.modeleDonnees()).addModelListener(this); + } + } + + // Changement de selection dans l'arbre. \\ public void valueChanged(final TreeSelectionEvent _e) { - if (isAvailable()&& calqueWithGeometriesSelected_.size()==0) // Seulement pour l'info sur calque. + updateCalqueSelected(); + // Si aucune selection n'est faite, affiche les donn\xE9es du calque selectionn\xE9 dans l'arbre + if (isAvailable()&& calqueWithGeometriesSelected_.size()==0) updateTableModel(); } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueDistanceInteraction.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueDistanceInteraction.java 2008-11-23 21:43:45 UTC (rev 4237) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueDistanceInteraction.java 2008-11-25 15:54:12 UTC (rev 4238) @@ -75,8 +75,10 @@ /** Dessine un trait en mode XOR \xE0 l'\xE9cran entre les deux coordonn\xE9es fournies. */ private void dessineTrait(Graphics2D _g, Coordinate coor1, Coordinate coord2){ - _g.setXORMode(getBackground()); - traceLigne_.dessineTrait(_g, coor1.x, coor1.y, coord2.x, coord2.y); + if(_g!=null){ + _g.setXORMode(getBackground()); + traceLigne_.dessineTrait(_g, coor1.x, coor1.y, coord2.x, coord2.y); + } } // M\xE9thodes d\xE9riv\xE9es \\ Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneAbscisseCurviligneAction.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneAbscisseCurviligneAction.java 2008-11-23 21:43:45 UTC (rev 4237) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneAbscisseCurviligneAction.java 2008-11-25 15:54:12 UTC (rev 4238) @@ -1,17 +1,21 @@ /* * @creation 20 nov. 2008 - * @modification $Date:$ + * @modification $Date$ * @license GNU General Public License 2 * @copyright (c)1998-2008 CETMEF 2 bd Gambetta F-60231 Compiegne * @mail fud...@li... */ package org.fudaa.fudaa.modeleur.action; +import java.awt.Container; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.JComponent; +import javax.swing.JInternalFrame; import javax.swing.SwingUtilities; +import javax.swing.event.InternalFrameAdapter; +import javax.swing.event.InternalFrameEvent; import org.fudaa.ctulu.gis.GISGeometryFactory; import org.fudaa.ctulu.gis.GISPolygone; @@ -26,6 +30,7 @@ import org.fudaa.ebli.calque.edition.ZEditorDefault; import org.fudaa.ebli.commun.EbliActionPaletteAbstract; import org.fudaa.ebli.ressource.EbliResource; +import org.fudaa.fudaa.commun.FudaaLib; import org.fudaa.fudaa.modeleur.layer.BPaletteAbscisseCurviligne; import org.fudaa.fudaa.modeleur.layer.ZCalqueAbscisseCurviligneInteraction; @@ -57,6 +62,21 @@ /** La palette affichant la donn\xE9e curviligne. */ private BPaletteAbscisseCurviligne palette_; + /** + * Classe g\xE9rant la disparition et la r\xE9apparition du panel quand la fen\xEAtre + * principale est r\xE9duite. + */ + class AbcisseFrameListener extends InternalFrameAdapter { + public void internalFrameActivated(final InternalFrameEvent _e) { + if(window_!=null) + window_.setVisible(true); + } + public void internalFrameDeactivated(final InternalFrameEvent _e) { + if(window_!=null) + window_.setVisible(false); + } + } + public SceneAbscisseCurviligneAction(final ZEditorDefault _editor) { super(EbliResource.EBLI.getString("Calcul de l'abscisse curviligne"), null, "PALETTE_ABSCISSE_CURVILIGNE"); scene_=_editor.getSceneEditor().getScene(); @@ -77,12 +97,14 @@ } public void propertyChange(PropertyChangeEvent _evt) { - // Cas un autre calque que celui du zoom, du deplacement de vue et d'edition - // est d\xE9gel\xE9 donc on ferme le pannel d'edition si il \xE9tait ouvert. + // Cas o\xF9 un autre calque que celui du zoom, du deplacement de vue et d'edition + // est d\xE9gel\xE9 donc on ferme le pannel d'edition si il est ouvert. if (_evt.getSource()!=calqueZoom_&&_evt.getSource()!=calqueDeplacementVue_&&_evt.getSource()!=calqueAbscisseCurviligne_ &&!((Boolean)_evt.getNewValue()).booleanValue()&&isSelected()) { setSelected(false); - hideWindow(); + calqueAbscisseCurviligne_.stopEdition(); + ((BPaletteAbscisseCurviligne)palette_).setAbcisseCurviligne(0); + super.hideWindow(); } } @@ -96,8 +118,10 @@ public void hideWindow() { calquesPanel_.unsetCalqueInteractionActif(calqueAbscisseCurviligne_); + calqueAbscisseCurviligne_.stopEdition(); if (calquesPanel_.getController().getCqSelectionI()!=null) calquesPanel_.getController().getCqSelectionI().setGele(false); + ((BPaletteAbscisseCurviligne)palette_).setAbcisseCurviligne(0); super.hideWindow(); } @@ -130,12 +154,15 @@ /** * Est appel\xE9 par le calque d'interaction pour indiquer le point click\xE9. * @param _coord la coordonn\xE9 r\xE9el. + * @return true si le click est consid\xE9r\xE9 comme sur la g\xE9om\xE9trie, false sinon */ - public void coordinateClicked(Coordinate _coord, double tolerance){ + public boolean coordinateClicked(Coordinate _coord, double tolerance){ Point ptClick=new GeometryFactory().createPoint(_coord); + boolean returnValue=false; if (selectedGeometry_!=null&&selectedGeometry_.distance(ptClick)<tolerance) { // Recherche de l'index du dernier point de la polyligne \xE0 prendre en // compte. + returnValue=true; boolean fini=false; int i=-1; CoordinateSequence coordSeq=selectedGeometry_.getCoordinateSequence(); @@ -147,18 +174,28 @@ for (int j=1; j<=i; j++) valueCurviligne+=Math.sqrt(Math.pow(coordSeq.getOrdinate(j, 0)-coordSeq.getOrdinate(j-1, 0), 2) +Math.pow(coordSeq.getOrdinate(j, 1)-coordSeq.getOrdinate(j-1, 1), 2)); - valueCurviligne+=Math.sqrt(Math.pow(coordSeq.getOrdinate(i, 0)-ptClick.getX(), 2) - +Math.pow(coordSeq.getOrdinate(i, 1)-ptClick.getY(), 2)); + // th de Pythagore + valueCurviligne+=Math.sqrt(Math.pow((Math.sqrt(Math.pow(coordSeq.getOrdinate(i, 0)-ptClick.getX(), 2) + +Math.pow(coordSeq.getOrdinate(i, 1)-ptClick.getY(), 2))), 2) + -Math.pow(selectedGeometry_.distance(ptClick), 2)); ((BPaletteAbscisseCurviligne)palette_).setAbcisseCurviligne(valueCurviligne); } + else if(selectedGeometry_!=null) + ((BPaletteAbscisseCurviligne)palette_).setMessage(FudaaLib.getS("pas de valeur")); + return returnValue; } - + @Override public JComponent buildContentPane() { - if (palette_==null) + if (palette_==null){ // Cr\xE9ation de l'internal frame affichant l'information curviligne palette_=new BPaletteAbscisseCurviligne(calqueAbscisseCurviligne_, calquesPanel_.getController().getEbliFormatter(), calquesPanel_); + // Ecoute de la fen\xEAtre principale pour pouvoir se r\xE9duire avec elle + final Container c = SwingUtilities.getAncestorOfClass(JInternalFrame.class, calquesPanel_); + if (c instanceof JInternalFrame) + ((JInternalFrame) c).addInternalFrameListener(new AbcisseFrameListener()); + } return palette_.getComponent(); } } \ No newline at end of file Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/BPaletteAbscisseCurviligne.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/BPaletteAbscisseCurviligne.java 2008-11-23 21:43:45 UTC (rev 4237) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/BPaletteAbscisseCurviligne.java 2008-11-25 15:54:12 UTC (rev 4238) @@ -31,7 +31,7 @@ * Palette affichant un abscisse curviligne. * * @author Emmanuel MARTIN - * @version $Id:$ + * @version $Id$ */ public class BPaletteAbscisseCurviligne extends CtuluDialogPanel implements ActionListener, BPalettePanelInterface, PropertyChangeListener { @@ -103,4 +103,9 @@ public void setAbcisseCurviligne(double _value){ lblCoordonneeCurviligne_.setText(formatter_.getXYFormatter().format(_value)); } + + public void setMessage(String _message){ + lblCoordonneeCurviligne_.setText(_message); + } + } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/ZCalqueAbscisseCurviligneInteraction.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/ZCalqueAbscisseCurviligneInteraction.java 2008-11-23 21:43:45 UTC (rev 4237) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/ZCalqueAbscisseCurviligneInteraction.java 2008-11-25 15:54:12 UTC (rev 4238) @@ -7,7 +7,10 @@ */ package org.fudaa.fudaa.modeleur.layer; +import java.awt.Color; +import java.awt.Component; import java.awt.Cursor; +import java.awt.Graphics; import java.awt.Point; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; @@ -15,6 +18,7 @@ import org.fudaa.ebli.calque.BCalqueInteraction; import org.fudaa.ebli.geometrie.GrPoint; import org.fudaa.ebli.ressource.EbliResource; +import org.fudaa.ebli.trace.TraceIcon; import org.fudaa.fudaa.modeleur.action.SceneAbscisseCurviligneAction; import com.memoire.bu.BuResource; @@ -24,18 +28,79 @@ * Permet de capter des \xE9v\xE9nements souris pour calculer un abscisse curviligne. * * @author Emmanuel MARTIN - * @version $Id:$ + * @version $Id$ */ public class ZCalqueAbscisseCurviligneInteraction extends BCalqueInteraction implements MouseListener { /** L'action g\xE9rant le calcule de l'abcisse curviligne. */ private SceneAbscisseCurviligneAction controller_; + /** Le dernier click effectu\xE9. */ + private Coordinate lastClick_; + /** La sonde \xE0 afficher \xE0 l'endroit du click. */ + private TraceIcon sonde_; + /** Indique si la sonde est affich\xE9e. */ + private boolean sondePainted_; public ZCalqueAbscisseCurviligneInteraction(SceneAbscisseCurviligneAction _controller){ setName("cqInteractifAbscisseCurviligne"); controller_=_controller; + sondePainted_=false; + sonde_=new TraceIcon(TraceIcon.RIEN, 6) { + public void paintIconCentre(Component _c, Graphics _g, int _x, int _y) { + Color old=null; + if (getCouleur()!=null) { + old=_g.getColor(); + _g.setColor(getCouleur()); + } + final int taille=super.getTaille(); + final int demiTaille=taille/2; + _g.drawLine(_x-demiTaille, _y, _x-taille, _y+1); + _g.drawLine(_x-demiTaille, _y, _x-taille, _y-1); + _g.drawLine(_x+demiTaille, _y, _x+taille, _y+1); + _g.drawLine(_x+demiTaille, _y, _x+taille, _y-1); + _g.drawLine(_x, _y-demiTaille, _x+1, _y-taille); + _g.drawLine(_x, _y-demiTaille, _x-1, _y-taille); + _g.drawLine(_x, _y+demiTaille, _x+1, _y+taille); + _g.drawLine(_x, _y+demiTaille, _x-1, _y+taille); + _g.drawLine(_x, _y-taille, _x, _y+taille); + _g.drawLine(_x-taille, _y, _x+taille, _y); + if (super.getCouleur()!=null) { + _g.setColor(old); + } + } + }; + sonde_.setCouleur(Color.BLACK); } + private void drawSonde(Graphics g){ + if (lastClick_!=null) { + Coordinate c=reelToEcran(lastClick_); + sonde_.paintIconCentre(this, g, (int)c.x, (int)c.y); + } + } + + protected void afficheSonde(){ + if(!sondePainted_){ + Graphics g=getGraphics(); + if(g!=null){ + g.setXORMode(getBackground()); + drawSonde(g); + } + sondePainted_=true; + } + } + + protected void effaceSonde(){ + if(sondePainted_){ + Graphics g=getGraphics(); + if(g!=null){ + g.setXORMode(getBackground()); + drawSonde(g); + } + sondePainted_=false; + } + } + /** Converti une coordonn\xE9e \xE9cran en coordonn\xE9e r\xE9el. */ protected Coordinate ecranToReel(Coordinate coord){ GrPoint tmp=new GrPoint(coord.x, coord.y, 0); @@ -43,8 +108,15 @@ return new Coordinate(tmp.x_, tmp.y_); } + /** converti une coordonn\xE9e \xE9cran en coordonn\xE9e r\xE9el. */ + protected Coordinate reelToEcran(Coordinate coord){ + GrPoint tmp=new GrPoint(coord.x, coord.y, 0); + tmp.autoApplique(getVersEcran()); + return new Coordinate(tmp.x_, tmp.y_); + } + public Cursor getSpecificCursor() { - return EbliResource.EBLI.getCursor("curseur_distance", -1, new Point(2, 2)); + return EbliResource.EBLI.getCursor("curseur_distance", -1, new Point(6, 6)); } public boolean alwaysPaint() { @@ -59,14 +131,22 @@ public void mouseClicked(final MouseEvent _evt) {} - public void mouseEntered(final MouseEvent _evt) {} + public void mouseEntered(final MouseEvent _evt) { + if(!isGele()) + afficheSonde(); + } public void mousePressed(final MouseEvent _evt) {} - public void mouseExited(final MouseEvent _evt) {} + public void mouseExited(final MouseEvent _evt) { + if(!isGele()) + effaceSonde(); + } public void mouseReleased(final MouseEvent _evt) { if (!isGele()&&_evt.getButton()==MouseEvent.BUTTON1){ + effaceSonde(); + lastClick_=ecranToReel(new Coordinate(_evt.getX(), _evt.getY())); // Calcule de la tol\xE9rance au click double tolerance; GrPoint p1=new GrPoint(0, 0, 0); @@ -76,7 +156,21 @@ p2.autoApplique(getVersEcran()); tolerance/=p1.distance(p2); // Mise a jour de l'action - controller_.coordinateClicked(ecranToReel(new Coordinate(_evt.getX(), _evt.getY())), tolerance); + if(controller_.coordinateClicked(lastClick_, tolerance)) + afficheSonde(); } } + + /** Indique au calque qu'il faut s'arr\xEAter. */ + public void stopEdition(){ + lastClick_=null; + } + + public void setGele(boolean _gele){ + if(_gele) + effaceSonde(); + else + afficheSonde(); + super.setGele(_gele); + } } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/post/TrIsoLayerDefault.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/post/TrIsoLayerDefault.java 2008-11-23 21:43:45 UTC (rev 4237) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/post/TrIsoLayerDefault.java 2008-11-25 15:54:12 UTC (rev 4238) @@ -412,7 +412,7 @@ repaint(); } // pour le panel d'info - fireSelectionEvent(); + getIsoModelAbstract().fireModelAction(); return sondeSelectedElement_ >= 0; } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/post/TrIsoModelAbstract.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/post/TrIsoModelAbstract.java 2008-11-23 21:43:45 UTC (rev 4237) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/post/TrIsoModelAbstract.java 2008-11-25 15:54:12 UTC (rev 4238) @@ -9,13 +9,9 @@ import javax.swing.ListModel; -import com.memoire.bu.BuTable; -import com.memoire.fu.FuLog; - import org.fudaa.ctulu.CtuluLibString; import org.fudaa.ctulu.CtuluNumberFormatI; import org.fudaa.ctulu.CtuluRange; - import org.fudaa.dodico.ef.EfData; import org.fudaa.dodico.ef.EfElement; import org.fudaa.dodico.ef.EfFilterTime; @@ -23,21 +19,23 @@ import org.fudaa.dodico.ef.EfLib; import org.fudaa.dodico.ef.impl.EfGrid; import org.fudaa.dodico.h2d.type.H2dVariableType; - import org.fudaa.ebli.calque.ZCalqueAffichageDonneesInterface; +import org.fudaa.ebli.calque.ZModelListener; import org.fudaa.ebli.commun.EbliUIProperties; import org.fudaa.ebli.find.EbliFindExpressionComposite; import org.fudaa.ebli.find.EbliFindExpressionContainerInterface; import org.fudaa.ebli.geometrie.GrPoint; import org.fudaa.ebli.geometrie.GrPolygone; import org.fudaa.ebli.palette.BPaletteInfo.InfoData; - import org.fudaa.fudaa.meshviewer.model.MvElementModelDefault; import org.fudaa.fudaa.meshviewer.model.MvExpressionSupplierElement; import org.fudaa.fudaa.meshviewer.model.MvExpressionSupplierNode; import org.fudaa.fudaa.meshviewer.model.MvInfoDelegate; import org.fudaa.fudaa.meshviewer.model.MvNodeModel; +import com.memoire.bu.BuTable; +import com.memoire.fu.FuLog; + /** * @author Fred Deniger * @version $Id: TrIsoModelAbstract.java,v 1.24 2007-05-04 14:01:51 deniger Exp $ @@ -110,6 +108,10 @@ return -1; } + public void fireModelAction() { + super.fireModelAction(-1, null, ZModelListener.GEOMETRY_ACTION_MODIFY); + } + /** * @param _s la source * @param _varModel le modele contenant les variables This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2008-11-23 21:43:52
|
Revision: 4237 http://fudaa.svn.sourceforge.net/fudaa/?rev=4237&view=rev Author: bmarchan Date: 2008-11-23 21:43:45 +0000 (Sun, 23 Nov 2008) Log Message: ----------- Javadoc + correction sur calcul d'abscisse curviligne. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/commun/EbliActionChangeState.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/commun/EbliActionPaletteAbstract.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneAbscisseCurviligneAction.java Property Changed: ---------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/commun/EbliActionChangeState.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/commun/EbliActionPaletteAbstract.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneAbscisseCurviligneAction.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/commun/EbliActionChangeState.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/commun/EbliActionChangeState.java 2008-11-23 19:03:34 UTC (rev 4236) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/commun/EbliActionChangeState.java 2008-11-23 21:43:45 UTC (rev 4237) @@ -1,6 +1,6 @@ /* * @creation 2 oct. 2003 - * @modification $Date: 2006-09-19 14:55:55 $ + * @modification $Date$ * @license GNU General Public License 2 * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne */ @@ -13,7 +13,7 @@ /** * @author deniger - * @version $Id: EbliActionChangeState.java,v 1.9 2006-09-19 14:55:55 deniger Exp $ + * @version $Id$ */ public abstract class EbliActionChangeState extends EbliActionAbstract { @@ -46,6 +46,9 @@ } } + /** + * Appel\xE9 quand l'\xE9tat s\xE9lectionn\xE9 ou non de l'action est modifi\xE9 + */ public abstract void changeAction(); public boolean isSelected() { Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/commun/EbliActionChangeState.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/commun/EbliActionPaletteAbstract.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/commun/EbliActionPaletteAbstract.java 2008-11-23 19:03:34 UTC (rev 4236) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/commun/EbliActionPaletteAbstract.java 2008-11-23 21:43:45 UTC (rev 4237) @@ -1,6 +1,6 @@ /* * @creation 2 oct. 2003 - * @modification $Date: 2007-06-13 12:57:45 $ + * @modification $Date$ * @license GNU General Public License 2 * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne */ @@ -31,9 +31,14 @@ import com.memoire.bu.BuPalette; /** - * Une action d\xE9clenchant l'affichage d'une palette. + * Une action d\xE9clenchant l'affichage d'une palette. Une palette est un panneau non modal. + * Elle peut \xEAtre associ\xE9e :<p> + * - Soit \xE0 la JInternalFrame active du Desktop donn\xE9 par {@link #setDesktop(BuDesktop)}. Elle + * apparait et disparait en m\xEAme temps qu'elle. Elle est visualis\xE9e sous forme de Palette interne.<p> + * - Soit a l'application par {@link #setParent(Component)}. Dans ce cas, elle est visualis\xE9e sous forme de dialogue externe. + * * @author deniger - * @version $Id: EbliActionPaletteAbstract.java,v 1.21 2007-06-13 12:57:45 deniger Exp $ + * @version $Id$ */ public abstract class EbliActionPaletteAbstract extends EbliActionChangeState implements InternalFrameListener { @@ -42,24 +47,42 @@ Point loc_; + /** Le desktop sur lequel est affich\xE9 la palette si non null. */ protected BuDesktop desktop_; - + /** Le parent utilis\xE9 pour une palette externe */ protected Component parent_; - + /** La palette est resizable */ protected boolean resizable_; - + /** La palette, contenant un composant sp\xE9cifique pour l'action */ protected transient BuPalette window_; + /** + * Construction de l'action. + * @param _name Le nom de l'action. + * @param _icon L'icone de l'action + * @param _actionName La commande de l'action. + */ public EbliActionPaletteAbstract(final String _name, final Icon _icon, final String _actionName) { super(_name, _icon, _actionName); } + /** + * Construction de l'action en pr\xE9cisant le caract\xE8re "resizable" la palette. + * @param _name Le nom de l'action. + * @param _icon L'icone de l'action + * @param _actionName La commande de l'action. + * @param _resizable True Retaillable, false sinn. + */ public EbliActionPaletteAbstract(final String _name, final Icon _icon, final String _actionName, final boolean _resizable) { super(_name, _icon, _actionName); resizable_ = _resizable; } + /** + * Construit la palette, en incluant le composant sp\xE9cifique de l'action. L'action \xE9coute + * les evenements sur la palette. + */ protected void buildWindow() { if (window_ == null) { window_ = new BuPalette() { @@ -88,12 +111,21 @@ } } + /** + * A surcharger pour une op\xE9ration faite apr\xE8s que la palette apparaisse. + */ protected void doAfterDisplay() {} + /** + * @return La palette associ\xE9e \xE0 l'action. + */ protected BuPalette getWindow() { return window_; } + /** + * Fait disparaitre la palette. + */ protected void hideWindow() { if (dial_ != null) { dial_.dispose(); @@ -133,6 +165,9 @@ } + /** + * Fait apparaitre la palette, apr\xE8s l'avoir construite si elle n'existe pas encore. + */ protected void showWindow() { final boolean first = window_ == null; buildWindow(); @@ -235,6 +270,10 @@ return resizable_; } + /** + * Definit le desktop pour une palette associ\xE9e \xE0 l'InternalFrame active. + * @param _desktop Le desktop, null si pas d'association avec une fenetre active. + */ public void setDesktop(final BuDesktop _desktop) { desktop_ = _desktop; } @@ -267,6 +306,10 @@ } } + /** + * Le parent de la palette pour une palette externe. Ne sert pas si la palette est interne. + * @param _parent Le parent. Peut \xEAtre null. + */ public void setParent(Component _parent) { parent_ = _parent; } @@ -290,7 +333,9 @@ /* (non-Javadoc) * @see javax.swing.event.InternalFrameListener#internalFrameClosed(javax.swing.event.InternalFrameEvent) */ - public void internalFrameClosed(InternalFrameEvent e) {} + public void internalFrameClosed(InternalFrameEvent e) { + + } /* (non-Javadoc) * @see javax.swing.event.InternalFrameListener#internalFrameClosing(javax.swing.event.InternalFrameEvent) Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/commun/EbliActionPaletteAbstract.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneAbscisseCurviligneAction.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneAbscisseCurviligneAction.java 2008-11-23 19:03:34 UTC (rev 4236) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneAbscisseCurviligneAction.java 2008-11-23 21:43:45 UTC (rev 4237) @@ -11,7 +11,7 @@ import java.beans.PropertyChangeListener; import javax.swing.JComponent; -import javax.swing.event.InternalFrameEvent; +import javax.swing.SwingUtilities; import org.fudaa.ctulu.gis.GISGeometryFactory; import org.fudaa.ctulu.gis.GISPolygone; @@ -28,9 +28,8 @@ import org.fudaa.ebli.ressource.EbliResource; import org.fudaa.fudaa.modeleur.layer.BPaletteAbscisseCurviligne; import org.fudaa.fudaa.modeleur.layer.ZCalqueAbscisseCurviligneInteraction; -import org.fudaa.fudaa.sig.layer.FSigVisuPanel; -import com.memoire.bu.BuPalette; +import com.memoire.bu.BuDesktop; import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.CoordinateSequence; import com.vividsolutions.jts.geom.Geometry; @@ -39,11 +38,10 @@ import com.vividsolutions.jts.geom.Point; /** - * Une action pour afficher une palette indiquant l'abscisse curviligne d'un axe - * hydaulique. + * Une action pour afficher une palette indiquant l'abscisse curviligne d'une polyligne. * * @author Emmanuel MARTIN - * @version $Id:$ + * @version $Id$ */ public class SceneAbscisseCurviligneAction extends EbliActionPaletteAbstract implements PropertyChangeListener, ZSelectionListener { @@ -58,11 +56,9 @@ private LineString selectedGeometry_; /** La palette affichant la donn\xE9e curviligne. */ private BPaletteAbscisseCurviligne palette_; - /** La internalFrame*/ - private BuPalette interFrame_; public SceneAbscisseCurviligneAction(final ZEditorDefault _editor) { - super(EbliResource.EBLI.getString("Abscisse curviligne"), null, "PALETTE_ABSCISSE_CURVILIGNE"); + super(EbliResource.EBLI.getString("Calcul de l'abscisse curviligne"), null, "PALETTE_ABSCISSE_CURVILIGNE"); scene_=_editor.getSceneEditor().getScene(); scene_.addSelectionListener(this); calquesPanel_=_editor.getPanel(); @@ -79,32 +75,6 @@ public String getEnableCondition() { return EbliResource.EBLI.getString("<p>selectionner une polyligne ou un polygone.</p>"); } - - @Override - public void changeAction() { - if (isSelected()) { - calquesPanel_.setCalqueInteractionActif(calqueAbscisseCurviligne_); - if (palette_==null) - // Cr\xE9ation de l'internal frame affichant l'information curviligne - palette_=new BPaletteAbscisseCurviligne(calqueAbscisseCurviligne_, calquesPanel_.getController().getEbliFormatter(), - calquesPanel_); - if(interFrame_==null){ - interFrame_=new BuPalette(); - interFrame_.setResizable(true); - interFrame_.setContent((BPaletteAbscisseCurviligne)palette_); - interFrame_.setClosable(true); - interFrame_.pack(); - interFrame_.addInternalFrameListener(this); - } - ((FSigVisuPanel)calquesPanel_).getImpl().getMainPanel().getDesktop().addInternalFrame(interFrame_); - } - else { - calquesPanel_.unsetCalqueInteractionActif(calqueAbscisseCurviligne_); - ((FSigVisuPanel)calquesPanel_).getImpl().getMainPanel().getDesktop().removeInternalFrame(interFrame_); - if (calquesPanel_.getController().getCqSelectionI()!=null) - calquesPanel_.getController().getCqSelectionI().setGele(false); - } - } public void propertyChange(PropertyChangeEvent _evt) { // Cas un autre calque que celui du zoom, du deplacement de vue et d'edition @@ -112,10 +82,25 @@ if (_evt.getSource()!=calqueZoom_&&_evt.getSource()!=calqueDeplacementVue_&&_evt.getSource()!=calqueAbscisseCurviligne_ &&!((Boolean)_evt.getNewValue()).booleanValue()&&isSelected()) { setSelected(false); - ((FSigVisuPanel)calquesPanel_).getImpl().getMainPanel().getDesktop().removeInternalFrame(interFrame_); + hideWindow(); } } + public void showWindow() { + // Necessaire, sinon la palette est visualis\xE9e en externe. Ne peut \xEAtre fait avant, car le desktop n'est pas + // encore existant. + setDesktop((BuDesktop)SwingUtilities.getAncestorOfClass(BuDesktop.class,calquesPanel_)); + calquesPanel_.setCalqueInteractionActif(calqueAbscisseCurviligne_); + super.showWindow(); + } + + public void hideWindow() { + calquesPanel_.unsetCalqueInteractionActif(calqueAbscisseCurviligne_); + if (calquesPanel_.getController().getCqSelectionI()!=null) + calquesPanel_.getController().getCqSelectionI().setGele(false); + super.hideWindow(); + } + /* (non-Javadoc) * @see org.fudaa.ebli.calque.ZSelectionListener#selectionChanged(org.fudaa.ebli.calque.ZSelectionEvent) */ @@ -167,22 +152,13 @@ ((BPaletteAbscisseCurviligne)palette_).setAbcisseCurviligne(valueCurviligne); } } - - public void internalFrameClosed(InternalFrameEvent e){ - // Lorsque la palette est ferm\xE9e, on d\xE9selectionne l'action, d\xE9active le - // calque, supprime l'internal frame et active la selection - setSelected(false); - calquesPanel_.unsetCalqueInteractionActif(calqueAbscisseCurviligne_); - ((FSigVisuPanel)calquesPanel_).getImpl().getMainPanel().getDesktop().removeInternalFrame(interFrame_); - if (calquesPanel_.getController().getCqSelectionI()!=null) - calquesPanel_.getController().getCqSelectionI().setGele(false); - } - /** - * M\xE9thode non utilis\xE9 dans cette classe : l'impl\xE9mentation de changeAction() ne fait pas de super. - */ @Override public JComponent buildContentPane() { - return null; + if (palette_==null) + // Cr\xE9ation de l'internal frame affichant l'information curviligne + palette_=new BPaletteAbscisseCurviligne(calqueAbscisseCurviligne_, calquesPanel_.getController().getEbliFormatter(), + calquesPanel_); + return palette_.getComponent(); } } \ No newline at end of file Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneAbscisseCurviligneAction.java ___________________________________________________________________ Modified: svn:keywords - Id + Date Revision Author URL Id This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2008-11-23 19:03:38
|
Revision: 4236 http://fudaa.svn.sourceforge.net/fudaa/?rev=4236&view=rev Author: bmarchan Date: 2008-11-23 19:03:34 +0000 (Sun, 23 Nov 2008) Log Message: ----------- Chgt de curseur pour le calcul de distance. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueDistanceInteraction.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/ressource/curseur_distance.gif Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueDistanceInteraction.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueDistanceInteraction.java 2008-11-21 16:50:10 UTC (rev 4235) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueDistanceInteraction.java 2008-11-23 19:03:34 UTC (rev 4236) @@ -82,7 +82,7 @@ // M\xE9thodes d\xE9riv\xE9es \\ public Cursor getSpecificCursor() { - return EbliResource.EBLI.getCursor("curseur_distance", -1, new Point(2, 2)); + return EbliResource.EBLI.getCursor("curseur_distance", -1, new Point(6, 6)); } public boolean alwaysPaint() { Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/ressource/curseur_distance.gif =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <emm...@us...> - 2008-11-21 16:50:20
|
Revision: 4235 http://fudaa.svn.sourceforge.net/fudaa/?rev=4235&view=rev Author: emmanuel_martin Date: 2008-11-21 16:50:10 +0000 (Fri, 21 Nov 2008) Log Message: ----------- bugfix icon showOrientation Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/SceneShowOrientationAction.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/SceneShowOrientationAction.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/SceneShowOrientationAction.java 2008-11-21 16:29:32 UTC (rev 4234) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/SceneShowOrientationAction.java 2008-11-21 16:50:10 UTC (rev 4235) @@ -29,7 +29,7 @@ protected BArbreCalqueModel treeModel_; public SceneShowOrientationAction(BArbreCalqueModel _treeModel) { - super(EbliLib.getS("Afficher l'orientation des lignes"), null/*BuResource.BU.getIcon("fleche")*/, "SHOW_ORIENTATION"); + super(EbliLib.getS("Afficher l'orientation des lignes"), BuResource.BU.getIcon("fleche"), "SHOW_ORIENTATION"); treeModel_=_treeModel; treeModel_.addTreeModelListener(this); setEnabled(true); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <emm...@us...> - 2008-11-21 16:29:43
|
Revision: 4234 http://fudaa.svn.sourceforge.net/fudaa/?rev=4234&view=rev Author: emmanuel_martin Date: 2008-11-21 16:29:32 +0000 (Fri, 21 Nov 2008) Log Message: ----------- tache #90 :"Calculer un abscisse curviligne" Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueDistanceInteraction.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlEditionManager.java Added Paths: ----------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneAbscisseCurviligneAction.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/BPaletteAbscisseCurviligne.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/ZCalqueAbscisseCurviligneInteraction.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueDistanceInteraction.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueDistanceInteraction.java 2008-11-20 14:48:50 UTC (rev 4233) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueDistanceInteraction.java 2008-11-21 16:29:32 UTC (rev 4234) @@ -32,7 +32,7 @@ * Permet de visionner des distances. * * @author Emmanuel MARTIN - * @version $Id:$ + * @version $Id$ */ public class ZCalqueDistanceInteraction extends BCalqueInteraction implements MouseListener, MouseMotionListener { @@ -66,7 +66,7 @@ return new Coordinate(tmp.x_, tmp.y_); } - /** Converti une coordonn\xE9e reel en coordonn\xE9e \xE9cran. */ + /** Converti une coordonn\xE9e \xE9cran en coordonn\xE9e r\xE9el. */ protected Coordinate ecranToReel(Coordinate coord){ GrPoint tmp=new GrPoint(coord.x, coord.y, 0); tmp.autoApplique(getVersReel()); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlEditionManager.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlEditionManager.java 2008-11-20 14:48:50 UTC (rev 4233) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlEditionManager.java 2008-11-21 16:29:32 UTC (rev 4234) @@ -27,6 +27,7 @@ import org.fudaa.ebli.commun.EbliActionAbstract; import org.fudaa.ebli.commun.EbliActionInterface; import org.fudaa.fudaa.commun.FudaaLib; +import org.fudaa.fudaa.modeleur.action.SceneAbscisseCurviligneAction; import org.fudaa.fudaa.modeleur.action.SceneDecimationAction; import org.fudaa.fudaa.modeleur.action.SceneInterpolationAction; import org.fudaa.fudaa.modeleur.action.SceneInvertAction; @@ -73,6 +74,7 @@ acts.add(new SceneRefinementAction((MdlSceneEditor)sceneEditor_)); acts.add(new SceneInvertAction((MdlSceneEditor)sceneEditor_)); acts.add(new SceneProjectionAction((MdlSceneEditor)sceneEditor_)); + acts.add(new SceneAbscisseCurviligneAction(this)); getSceneEditor().setActions(acts.toArray(new EbliActionAbstract[0])); } Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneAbscisseCurviligneAction.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneAbscisseCurviligneAction.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneAbscisseCurviligneAction.java 2008-11-21 16:29:32 UTC (rev 4234) @@ -0,0 +1,188 @@ +/* + * @creation 20 nov. 2008 + * @modification $Date:$ + * @license GNU General Public License 2 + * @copyright (c)1998-2008 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail fud...@li... + */ +package org.fudaa.fudaa.modeleur.action; + +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; + +import javax.swing.JComponent; +import javax.swing.event.InternalFrameEvent; + +import org.fudaa.ctulu.gis.GISGeometryFactory; +import org.fudaa.ctulu.gis.GISPolygone; +import org.fudaa.ctulu.gis.GISPolyligne; +import org.fudaa.ebli.calque.BCalqueInteraction; +import org.fudaa.ebli.calque.ZCalqueAffichageDonneesInterface; +import org.fudaa.ebli.calque.ZEbliCalquesPanel; +import org.fudaa.ebli.calque.ZModeleGeometry; +import org.fudaa.ebli.calque.ZScene; +import org.fudaa.ebli.calque.ZSelectionEvent; +import org.fudaa.ebli.calque.ZSelectionListener; +import org.fudaa.ebli.calque.edition.ZEditorDefault; +import org.fudaa.ebli.commun.EbliActionPaletteAbstract; +import org.fudaa.ebli.ressource.EbliResource; +import org.fudaa.fudaa.modeleur.layer.BPaletteAbscisseCurviligne; +import org.fudaa.fudaa.modeleur.layer.ZCalqueAbscisseCurviligneInteraction; +import org.fudaa.fudaa.sig.layer.FSigVisuPanel; + +import com.memoire.bu.BuPalette; +import com.vividsolutions.jts.geom.Coordinate; +import com.vividsolutions.jts.geom.CoordinateSequence; +import com.vividsolutions.jts.geom.Geometry; +import com.vividsolutions.jts.geom.GeometryFactory; +import com.vividsolutions.jts.geom.LineString; +import com.vividsolutions.jts.geom.Point; + +/** + * Une action pour afficher une palette indiquant l'abscisse curviligne d'un axe + * hydaulique. + * + * @author Emmanuel MARTIN + * @version $Id:$ + */ +public class SceneAbscisseCurviligneAction extends EbliActionPaletteAbstract implements PropertyChangeListener, ZSelectionListener { + + private ZEbliCalquesPanel calquesPanel_; + private ZScene scene_; + // Calque ne fermant pas l'edition \\ + private BCalqueInteraction calqueZoom_; + private BCalqueInteraction calqueDeplacementVue_; + /** Le calque contenant les informations de distance. */ + private ZCalqueAbscisseCurviligneInteraction calqueAbscisseCurviligne_; + /** La geometrie selectionn\xE9 sur laquelle le calcul de l'abcisse curviligne est effectu\xE9.*/ + private LineString selectedGeometry_; + /** La palette affichant la donn\xE9e curviligne. */ + private BPaletteAbscisseCurviligne palette_; + /** La internalFrame*/ + private BuPalette interFrame_; + + public SceneAbscisseCurviligneAction(final ZEditorDefault _editor) { + super(EbliResource.EBLI.getString("Abscisse curviligne"), null, "PALETTE_ABSCISSE_CURVILIGNE"); + scene_=_editor.getSceneEditor().getScene(); + scene_.addSelectionListener(this); + calquesPanel_=_editor.getPanel(); + calquesPanel_.getController().addPropertyChangeListener("gele", this); + calqueZoom_=calquesPanel_.getController().getCalqueInteraction("cqAGRANDIR"); + calqueDeplacementVue_=calquesPanel_.getController().getCalqueInteraction("cqDEPLACEMENT_VUE-I"); + calqueAbscisseCurviligne_=new ZCalqueAbscisseCurviligneInteraction(this); + calqueAbscisseCurviligne_.setGele(true); + calquesPanel_.addCalqueInteraction(calqueAbscisseCurviligne_); + calqueAbscisseCurviligne_.addPropertyChangeListener("gele", this); + setEnabled(false); + } + + public String getEnableCondition() { + return EbliResource.EBLI.getString("<p>selectionner une polyligne ou un polygone.</p>"); + } + + @Override + public void changeAction() { + if (isSelected()) { + calquesPanel_.setCalqueInteractionActif(calqueAbscisseCurviligne_); + if (palette_==null) + // Cr\xE9ation de l'internal frame affichant l'information curviligne + palette_=new BPaletteAbscisseCurviligne(calqueAbscisseCurviligne_, calquesPanel_.getController().getEbliFormatter(), + calquesPanel_); + if(interFrame_==null){ + interFrame_=new BuPalette(); + interFrame_.setResizable(true); + interFrame_.setContent((BPaletteAbscisseCurviligne)palette_); + interFrame_.setClosable(true); + interFrame_.pack(); + interFrame_.addInternalFrameListener(this); + } + ((FSigVisuPanel)calquesPanel_).getImpl().getMainPanel().getDesktop().addInternalFrame(interFrame_); + } + else { + calquesPanel_.unsetCalqueInteractionActif(calqueAbscisseCurviligne_); + ((FSigVisuPanel)calquesPanel_).getImpl().getMainPanel().getDesktop().removeInternalFrame(interFrame_); + if (calquesPanel_.getController().getCqSelectionI()!=null) + calquesPanel_.getController().getCqSelectionI().setGele(false); + } + } + + public void propertyChange(PropertyChangeEvent _evt) { + // Cas un autre calque que celui du zoom, du deplacement de vue et d'edition + // est d\xE9gel\xE9 donc on ferme le pannel d'edition si il \xE9tait ouvert. + if (_evt.getSource()!=calqueZoom_&&_evt.getSource()!=calqueDeplacementVue_&&_evt.getSource()!=calqueAbscisseCurviligne_ + &&!((Boolean)_evt.getNewValue()).booleanValue()&&isSelected()) { + setSelected(false); + ((FSigVisuPanel)calquesPanel_).getImpl().getMainPanel().getDesktop().removeInternalFrame(interFrame_); + } + } + + /* (non-Javadoc) + * @see org.fudaa.ebli.calque.ZSelectionListener#selectionChanged(org.fudaa.ebli.calque.ZSelectionEvent) + */ + public void selectionChanged(ZSelectionEvent _evt) { + /* + * Si une seule g\xE9om\xE9trie est selectionn\xE9e et que cette g\xE9om\xE9trie est une + * polyligne ou un polygone, alors l'action de calcul d'abcisses curvilignes + * est activable et un ref\xE9rence sur cette g\xE9om\xE9trie est concerv\xE9e dans + * 'selectedGeometry_'. + */ + if (scene_.isOnlyOneObjectSelected()) { + int idxGeom=scene_.getSelectionHelper().getUniqueSelectedIdx(); + ZCalqueAffichageDonneesInterface calque=scene_.getLayerForId(idxGeom); + Geometry geom=((ZModeleGeometry)calque.modeleDonnees()).getGeomData().getGeometry(scene_.sceneId2LayerId(idxGeom)); + setEnabled(calque.isOnlyOneObjectSelected()&&(geom instanceof GISPolyligne||geom instanceof GISPolygone)); + if (isEnabled()) + selectedGeometry_=((LineString)geom); + else + selectedGeometry_=null; + } + else { + setEnabled(false); + selectedGeometry_=null; + } + } + + /** + * Est appel\xE9 par le calque d'interaction pour indiquer le point click\xE9. + * @param _coord la coordonn\xE9 r\xE9el. + */ + public void coordinateClicked(Coordinate _coord, double tolerance){ + Point ptClick=new GeometryFactory().createPoint(_coord); + if (selectedGeometry_!=null&&selectedGeometry_.distance(ptClick)<tolerance) { + // Recherche de l'index du dernier point de la polyligne \xE0 prendre en + // compte. + boolean fini=false; + int i=-1; + CoordinateSequence coordSeq=selectedGeometry_.getCoordinateSequence(); + while (!fini&&++i<selectedGeometry_.getNumPoints()-1) + fini=(GISGeometryFactory.INSTANCE + .createLineString(new Coordinate[]{coordSeq.getCoordinate(i), coordSeq.getCoordinate(i+1)})).distance(ptClick)<tolerance; + // Calcule de l'abscisse curviligne + double valueCurviligne=0; + for (int j=1; j<=i; j++) + valueCurviligne+=Math.sqrt(Math.pow(coordSeq.getOrdinate(j, 0)-coordSeq.getOrdinate(j-1, 0), 2) + +Math.pow(coordSeq.getOrdinate(j, 1)-coordSeq.getOrdinate(j-1, 1), 2)); + valueCurviligne+=Math.sqrt(Math.pow(coordSeq.getOrdinate(i, 0)-ptClick.getX(), 2) + +Math.pow(coordSeq.getOrdinate(i, 1)-ptClick.getY(), 2)); + ((BPaletteAbscisseCurviligne)palette_).setAbcisseCurviligne(valueCurviligne); + } + } + + public void internalFrameClosed(InternalFrameEvent e){ + // Lorsque la palette est ferm\xE9e, on d\xE9selectionne l'action, d\xE9active le + // calque, supprime l'internal frame et active la selection + setSelected(false); + calquesPanel_.unsetCalqueInteractionActif(calqueAbscisseCurviligne_); + ((FSigVisuPanel)calquesPanel_).getImpl().getMainPanel().getDesktop().removeInternalFrame(interFrame_); + if (calquesPanel_.getController().getCqSelectionI()!=null) + calquesPanel_.getController().getCqSelectionI().setGele(false); + } + + /** + * M\xE9thode non utilis\xE9 dans cette classe : l'impl\xE9mentation de changeAction() ne fait pas de super. + */ + @Override + public JComponent buildContentPane() { + return null; + } +} \ No newline at end of file Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneAbscisseCurviligneAction.java ___________________________________________________________________ Added: svn:keywords + Id Added: svn:eol-style + native Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/BPaletteAbscisseCurviligne.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/BPaletteAbscisseCurviligne.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/BPaletteAbscisseCurviligne.java 2008-11-21 16:29:32 UTC (rev 4234) @@ -0,0 +1,106 @@ +/* + * @creation 20 nov. 2008 + * @modification $Date:$ + * @license GNU General Public License 2 + * @copyright (c)1998-2008 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail fud...@li... + */ +package org.fudaa.fudaa.modeleur.layer; + +import java.awt.BorderLayout; +import java.awt.Container; +import java.awt.GridLayout; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; + +import javax.swing.BorderFactory; +import javax.swing.JComponent; + +import org.fudaa.ctulu.gui.CtuluDialogPanel; +import org.fudaa.ebli.calque.ZEbliCalquesPanel; +import org.fudaa.ebli.commun.BPalettePanelInterface; +import org.fudaa.ebli.commun.EbliFormatterInterface; +import org.fudaa.ebli.commun.EbliLib; + +import com.memoire.bu.BuButton; +import com.memoire.bu.BuLabel; + +/** + * Palette affichant un abscisse curviligne. + * + * @author Emmanuel MARTIN + * @version $Id:$ + */ +public class BPaletteAbscisseCurviligne extends CtuluDialogPanel implements ActionListener, BPalettePanelInterface, PropertyChangeListener { + + /** Label affichant l'abscisse curviligne. */ + protected BuLabel lblCoordonneeCurviligne_=new BuLabel(); + /** Le calque qui contient les informations curvilignes. */ + protected ZCalqueAbscisseCurviligneInteraction calqueAbscisseCurviligne_; + /** Le bouton 'reprise'. */ + protected BuButton btReprise_=new BuButton(EbliLib.getS("Reprise")); + protected EbliFormatterInterface formatter_; + private ZEbliCalquesPanel calquesPanel_; + + public BPaletteAbscisseCurviligne(ZCalqueAbscisseCurviligneInteraction _calqueAbscisseCurviligne, EbliFormatterInterface _formatter, ZEbliCalquesPanel _calquesPanel){ + calquesPanel_=_calquesPanel; + calqueAbscisseCurviligne_=_calqueAbscisseCurviligne; + calqueAbscisseCurviligne_.addPropertyChangeListener("gele", this); + formatter_=_formatter; + // Construction du panel \\ + setLayout(new BorderLayout()); + // Titre + BuLabel lblTitre=new BuLabel("<html><b>"+EbliLib.getS("Abscisse curviligne")+"</b></html>"); + lblTitre.setHorizontalAlignment(BuLabel.CENTER); + add(lblTitre, BorderLayout.NORTH); + // Contenu + Container body=new Container(); + body.setLayout(new GridLayout(1, 2, 2, 2)); + body.add(new BuLabel("Valeur curviligne : ")); + body.add(lblCoordonneeCurviligne_); + add(body, BorderLayout.CENTER); + // Bouton reprise + add(btReprise_, BorderLayout.SOUTH); + btReprise_.addActionListener(this); + btReprise_.setEnabled(false); + // Affichage + setBorder(BorderFactory.createEmptyBorder(2, 2, 2, 2)); + setVisible(true); + // Valeurs \\ + setAbcisseCurviligne(0); + } + + public boolean valide(){ + return true; + } + + public JComponent getComponent() { + return this; + } + + public boolean setPalettePanelTarget(Object _target) { + return false; + } + + public void paletteDeactivated() {} + + public void doAfterDisplay() {} + + public void propertyChange(PropertyChangeEvent evt) { + if(evt.getPropertyName().equals("gele")) + btReprise_.setEnabled((Boolean) evt.getNewValue()); + } + + /* (non-Javadoc) + * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) + */ + public void actionPerformed(ActionEvent e) { + calquesPanel_.setCalqueInteractionActif(calqueAbscisseCurviligne_); + } + + public void setAbcisseCurviligne(double _value){ + lblCoordonneeCurviligne_.setText(formatter_.getXYFormatter().format(_value)); + } +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/BPaletteAbscisseCurviligne.java ___________________________________________________________________ Added: svn:keywords + Id Added: svn:eol-style + native Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/ZCalqueAbscisseCurviligneInteraction.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/ZCalqueAbscisseCurviligneInteraction.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/ZCalqueAbscisseCurviligneInteraction.java 2008-11-21 16:29:32 UTC (rev 4234) @@ -0,0 +1,82 @@ +/* + * @creation 20 nov. 2008 + * @modification $Date:$ + * @license GNU General Public License 2 + * @copyright (c)1998-2008 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail fud...@li... + */ +package org.fudaa.fudaa.modeleur.layer; + +import java.awt.Cursor; +import java.awt.Point; +import java.awt.event.MouseEvent; +import java.awt.event.MouseListener; + +import org.fudaa.ebli.calque.BCalqueInteraction; +import org.fudaa.ebli.geometrie.GrPoint; +import org.fudaa.ebli.ressource.EbliResource; +import org.fudaa.fudaa.modeleur.action.SceneAbscisseCurviligneAction; + +import com.memoire.bu.BuResource; +import com.vividsolutions.jts.geom.Coordinate; + +/** + * Permet de capter des \xE9v\xE9nements souris pour calculer un abscisse curviligne. + * + * @author Emmanuel MARTIN + * @version $Id:$ + */ +public class ZCalqueAbscisseCurviligneInteraction extends BCalqueInteraction implements MouseListener { + + /** L'action g\xE9rant le calcule de l'abcisse curviligne. */ + private SceneAbscisseCurviligneAction controller_; + + public ZCalqueAbscisseCurviligneInteraction(SceneAbscisseCurviligneAction _controller){ + setName("cqInteractifAbscisseCurviligne"); + controller_=_controller; + } + + /** Converti une coordonn\xE9e \xE9cran en coordonn\xE9e r\xE9el. */ + protected Coordinate ecranToReel(Coordinate coord){ + GrPoint tmp=new GrPoint(coord.x, coord.y, 0); + tmp.autoApplique(getVersReel()); + return new Coordinate(tmp.x_, tmp.y_); + } + + public Cursor getSpecificCursor() { + return EbliResource.EBLI.getCursor("curseur_distance", -1, new Point(2, 2)); + } + + public boolean alwaysPaint() { + return true; + } + + public String getDescription() { + return BuResource.BU.getString("Calculer un abscisse curviligne."); + } + + // M\xE9thodes g\xE9rant les \xE9v\xE9nements. \\ + + public void mouseClicked(final MouseEvent _evt) {} + + public void mouseEntered(final MouseEvent _evt) {} + + public void mousePressed(final MouseEvent _evt) {} + + public void mouseExited(final MouseEvent _evt) {} + + public void mouseReleased(final MouseEvent _evt) { + if (!isGele()&&_evt.getButton()==MouseEvent.BUTTON1){ + // Calcule de la tol\xE9rance au click + double tolerance; + GrPoint p1=new GrPoint(0, 0, 0); + GrPoint p2=new GrPoint(1, 1, 0); + tolerance=p1.distance(p2)*5; + p1.autoApplique(getVersEcran()); + p2.autoApplique(getVersEcran()); + tolerance/=p1.distance(p2); + // Mise a jour de l'action + controller_.coordinateClicked(ecranToReel(new Coordinate(_evt.getX(), _evt.getY())), tolerance); + } + } +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/ZCalqueAbscisseCurviligneInteraction.java ___________________________________________________________________ Added: svn:keywords + Id Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2008-11-20 14:48:56
|
Revision: 4233 http://fudaa.svn.sourceforge.net/fudaa/?rev=4233&view=rev Author: bmarchan Date: 2008-11-20 14:48:50 +0000 (Thu, 20 Nov 2008) Log Message: ----------- Renamed FudaaModeleur_B2 (branches/FudaaModeleur_B2) to FudaaModeleur_TC2. Added Paths: ----------- branches/FudaaModeleur_TC2/ Removed Paths: ------------- branches/FudaaModeleur_B2/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2008-11-20 14:45:23
|
Revision: 4232 http://fudaa.svn.sourceforge.net/fudaa/?rev=4232&view=rev Author: bmarchan Date: 2008-11-20 14:45:18 +0000 (Thu, 20 Nov 2008) Log Message: ----------- Created branch FudaaModeleur_TC2 Added Paths: ----------- branches/FudaaModeleur_B2/ Property changes on: branches/FudaaModeleur_B2 ___________________________________________________________________ Added: svn:ignore + eclipse_projects Added: svn:mergeinfo + /branches/Br_FudaaModeleur_TF:3445-3850 /branches/FudaaModeleur_TC1:3861-3891 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2008-11-20 13:45:32
|
Revision: 4231 http://fudaa.svn.sourceforge.net/fudaa/?rev=4231&view=rev Author: bmarchan Date: 2008-11-20 13:45:23 +0000 (Thu, 20 Nov 2008) Log Message: ----------- Un peu de doc... Added Paths: ----------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/package.html Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/package.html =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/package.html (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/package.html 2008-11-20 13:45:23 UTC (rev 4231) @@ -0,0 +1,5 @@ +<html> +<body> +<i>Contient les actions sp\xE9cifiques de Fudaa-Modeleur.<p> +</body> +</html> Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/package.html ___________________________________________________________________ Added: svn:keywords + Id Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |