From: <bma...@us...> - 2008-10-03 13:09:02
|
Revision: 4028 http://fudaa.svn.sourceforge.net/fudaa/?rev=4028&view=rev Author: bmarchan Date: 2008-10-03 13:08:56 +0000 (Fri, 03 Oct 2008) Log Message: ----------- Introduction de l'attribut VISIBILITY de g?\195?\169om?\195?\169trie. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeConstants.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollection.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/CalqueGeometryVisitor.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueAffichageDonneesAbstract.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueLigneBrisee.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleGeometry.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleLigneBrisee.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeDefault.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileLayerModelForCourbe.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel2dProfile.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModelGeometry.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/FSigLineSingleModel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/data/TrSiProfilLayer.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/data/TrSiProfilModel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/data/TrSiProfileSplitter.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeConstants.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeConstants.java 2008-10-03 13:06:52 UTC (rev 4027) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeConstants.java 2008-10-03 13:08:56 UTC (rev 4028) @@ -170,6 +170,23 @@ }; /** + * Un attribut visibilit\xE9, global a la g\xE9om\xE9trie. + */ + public final static GISAttributeBoolean VISIBILITE = new GISAttributeBoolean(CtuluLib.getS("Visibilit\xE9")) { + public String getID() { + return "ATTRIBUTE_VISIBILITY"; + } + + public boolean isEditable() { + return true; + } + + public Object getDefaultValue() { + return Boolean.TRUE; + } + }; + + /** * Un attribut bathy, atomique. */ public final static GISAttributeDouble BATHY = new GISAttributeDouble(CtuluLib.getS("z"), true) { Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollection.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollection.java 2008-10-03 13:06:52 UTC (rev 4027) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollection.java 2008-10-03 13:08:56 UTC (rev 4028) @@ -37,7 +37,9 @@ /** La liste ordonn\xE9e des mod\xE8les d'attributs associ\xE9es \xE0 la collection. */ protected GISAttributeModelListener[] attr_; - /** La valeur de la nature pour pour cette collection si elle est impos\xE9e. null : non impos\xE9e. */ + /** L'acc\xE8s direct \xE0 l'indice de mod\xE8le depuis un type d'attribut */ + protected Map<GISAttributeInterface,Integer> att2Idx_=new HashMap<GISAttributeInterface, Integer>(); + /** La valeur de la nature pour cette collection si elle est impos\xE9e. null : non impos\xE9e. */ protected Map<GISAttributeInterface,Object> fixedAttributes_=new HashMap<GISAttributeInterface,Object>(); /** L'attribut utilis\xE9 pour Z */ protected GISAttributeDouble attributeIsZ_=null; @@ -46,6 +48,8 @@ private int idxAttZ_=-1; /** L'indice de l'attribut pris pour Z doit \xEAtre remis a jour */ protected boolean badIdxAttZ_=true; + /** La liste d'attribut a chang\xE9 : L'acc\xE8s direct \xE0 l'indice de mod\xE8le depuis un type doit \xEAtre remis \xE0 jour. */ + protected boolean attListHasChanged_=true; protected boolean isGeomModifiable_ = true; @@ -132,6 +136,7 @@ protected void initAttributes(final GISAttributeInterface[] _att) { if (_att != null) { badIdxAttZ_=true; + attListHasChanged_=true; attr_ = new GISAttributeModelListener[_att.length]; for (int i = _att.length - 1; i >= 0; i--) { attr_[i] = (GISAttributeModelListener) GISZoneAttributeFactory.createModel(this, _att[i]); @@ -146,6 +151,7 @@ protected void initAttributes(final GISAttributeModelListener[] _att) { badIdxAttZ_=true; + attListHasChanged_=true; attr_ = _att; } @@ -158,6 +164,7 @@ protected void initAttributes(final GISAttributeModelListener[] _att, final CtuluCommandContainer _cmd) { if (!Arrays.equals(_att, attr_)) { badIdxAttZ_=true; + attListHasChanged_=true; final GISAttributeModelListener[] old = attr_; attr_ = _att; fireAttributesChanged(null); @@ -323,13 +330,21 @@ public abstract Class getDataStoreClass(); public int getIndiceOf(final GISAttributeInterface _att) { - if (attr_ != null && _att != null) { - for (int i = attr_.length - 1; i >= 0; i--) { - if (_att.equals(getAttribute(i))) { - return i; - } - } + if (attListHasChanged_) { + att2Idx_.clear(); + for (int i=0; i<attr_.length; i++) + att2Idx_.put(attr_[i].getAttribute(),new Integer(i)); + attListHasChanged_=false; } + Integer idx=att2Idx_.get(_att); + if (idx!=null) return idx.intValue(); +// if (attr_ != null && _att != null) { +// for (int i = attr_.length - 1; i >= 0; i--) { +// if (_att.equals(getAttribute(i))) { +// return i; +// } +// } +// } return -1; } @@ -338,13 +353,15 @@ * @return le modele correspondant ou null si aucun. */ public GISAttributeModel getModel(final GISAttributeInterface _att) { - if (attr_ != null) { - for (int i = attr_.length - 1; i >= 0; i--) { - if (attr_[i].getAttribute() == _att || attr_[i].getAttribute().equals(_att)) { - return attr_[i]; - } - } - } + int idx=getIndiceOf(_att); + if (idx!=-1) return attr_[idx]; +// if (attr_ != null) { +// for (int i = attr_.length - 1; i >= 0; i--) { +// if (attr_[i].getAttribute() == _att || attr_[i].getAttribute().equals(_att)) { +// return attr_[i]; +// } +// } +// } return null; } @@ -551,6 +568,7 @@ return; } badIdxAttZ_=true; + attListHasChanged_=true; // on sauvegarde les anciens attributs final GISAttributeModelListener[] old = attr_; Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/CalqueGeometryVisitor.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/CalqueGeometryVisitor.java 2008-10-03 13:06:52 UTC (rev 4027) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/CalqueGeometryVisitor.java 2008-10-03 13:08:56 UTC (rev 4028) @@ -60,7 +60,7 @@ // } else if (_cq instanceof ZCalqueLigneBrisee && (mask_&GISLib.MASK_POLYLINE)!=0) { boolean bok=((ZCalqueLigneBrisee) _cq).modeleDonnees().getNombre() > 0; - return bok && ((ZCalqueLigneBrisee)_cq).getModele().getNbLigneBrisee()!=0; + return bok && ((ZCalqueLigneBrisee)_cq).getModele().getNbPolyligne()!=0; } else if (_cq instanceof ZCalqueLigneBrisee && (mask_&GISLib.MASK_POLYGONE)!=0) { boolean bok=((ZCalqueLigneBrisee)_cq).modeleDonnees().getNombre() > 0; Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueAffichageDonneesAbstract.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueAffichageDonneesAbstract.java 2008-10-03 13:06:52 UTC (rev 4027) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueAffichageDonneesAbstract.java 2008-10-03 13:08:56 UTC (rev 4028) @@ -335,8 +335,6 @@ return "calque." + BSelecteurIconModel.getProperty(_i); } - public void inverseSelection() {} - /** * @return false */ @@ -367,10 +365,6 @@ return true; } - public boolean isSelectionEmpty() { - return false; - } - public boolean isSpecialSelectionAllowed() { return false; } @@ -494,8 +488,6 @@ return res; } - public void selectAll() {} - public void setForeground(final Color _v) { for (int i = getNbSet() - 1; i >= 0; i--) { final TraceIconModel ic = getIconModel(i); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueLigneBrisee.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueLigneBrisee.java 2008-10-03 13:06:52 UTC (rev 4027) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueLigneBrisee.java 2008-10-03 13:08:56 UTC (rev 4028) @@ -144,7 +144,7 @@ } - protected EbliListeSelectionMulti creeSelectionMutli() { + protected EbliListeSelectionMulti creeSelectionMulti() { return new EbliListeSelectionMulti(modeleDonnees().getNombre() / 2); } @@ -236,7 +236,7 @@ // Si la selection de modif est nulle, seule l'action de remplacement // est concernee. if (selectionMulti_ == null) { - selectionMulti_ = creeSelectionMutli(); + selectionMulti_ = creeSelectionMulti(); } boolean sentEvent = false; switch (_action) { @@ -347,8 +347,8 @@ final EbliListeSelectionMultiInterface multi = getLayerSelectionMulti(); int nb = 0; // 20 points par lignes - final TIntArrayList list = new TIntArrayList(modele_.getNbLigneBrisee() * 20); - final int nbLigne = modele_.getNbLigneBrisee(); + final TIntArrayList list = new TIntArrayList(modele_.getNombre() * 20); + final int nbLigne = modele_.getNombre(); for (int i = 0; i < nbLigne; i++) { final CtuluListSelectionInterface sel = multi.getSelection(i); if (sel != null) { @@ -430,7 +430,7 @@ if (isSelectionEmpty()) { return; } - for (int i = modele_.getNbLigneBrisee() - 1; i >= 0; i--) { + for (int i = modele_.getNombre() - 1; i >= 0; i--) { CtuluListSelection s = selectionMulti_.get(i); if (s == null) { s = new CtuluListSelection(); @@ -445,13 +445,23 @@ public void inverseSelection() { if (!isAtomicMode_) { - super.inverseSelection(); +// super.inverseSelection(); + if (isSelectionEmpty()) { + return; + } + initSelection(); + selection_.inverse(modeleDonnees().getNombre()); + for (int i=0; i<modele_.getNombre(); i++) { + if (!modele_.isGeometryVisible(i)) selection_.remove(i); + } + fireSelectionEvent(); return; } if (isSelectionEmpty()) { return; } - for (int i = modele_.getNbLigneBrisee() - 1; i >= 0; i--) { + for (int i = modele_.getNombre() - 1; i >= 0; i--) { + if (!modele_.isGeometryVisible(i)) continue; final CtuluListSelection s = selectionMulti_.get(i); if (s != null) { s.inverse(modele_.getNbPointForGeometry(i)); @@ -533,6 +543,9 @@ if (modele_.getNbPointForGeometry(i) <= 0) { continue; } + // La g\xE9ometrie n'est pas visible + if (!modele_.isGeometryVisible(i)) + continue; modele_.getDomaineForGeometry(i, bPoly); // Si la boite du polygone n'est pas dans la boite d'affichage on passe @@ -573,6 +586,10 @@ if (modele_.getNbPointForGeometry(i) <= 0) { continue; } + // La g\xE9ometrie n'est pas visible + if (!modele_.isGeometryVisible(i)) + continue; + modele_.getDomaineForGeometry(i, bPoly); // Si la boite du polygone n'est pas dans la boite d'affichage on passe if (bPoly.intersectionXY(clip) == null) { @@ -630,7 +647,7 @@ _g.setColor(cs); final TraceLigne tlSelection = _trace.getLigne(); final TraceIcon ic = _trace.getIcone(); - final int nb = Math.min(_containers.getMaxIndex(), modele_.getNbLigneBrisee() - 1); + final int nb = Math.min(_containers.getMaxIndex(), modele_.getNombre() - 1); final GrBoite bPoly = new GrBoite(); bPoly.e_ = new GrPoint(); @@ -671,13 +688,21 @@ if (!isVisible()) return; if (!isAtomicMode_) { - super.selectAll(); +// super.selectAll(); + initSelection(); + selection_.addInterval(0, modele_.getNombre() - 1); + for (int i=0; i<modele_.getNombre(); i++) { + if (!modele_.isGeometryVisible(i)) selection_.remove(i); + } + fireSelectionEvent(); return; } if (selectionMulti_ == null) { - selectionMulti_ = creeSelectionMutli(); + selectionMulti_ = creeSelectionMulti(); } - for (int i = modele_.getNbLigneBrisee() - 1; i >= 0; i--) { + for (int i = modele_.getNombre() - 1; i >= 0; i--) { + if (!modele_.isGeometryVisible(i)) continue; + CtuluListSelection s = selectionMulti_.get(i); if (s == null) { s = new CtuluListSelection(modele_.getNbPointForGeometry(i)); @@ -689,7 +714,7 @@ } public CtuluListSelection selection(final GrPoint _pt, final int _tolerance) { - if (modele_.getNbLigneBrisee() == 0) { + if (modele_.getNombre() == 0) { return null; } final GrBoite bClip = getDomaine(); @@ -704,7 +729,9 @@ // bClip = getClipReel(getGraphics()); final GrSegment poly = new GrSegment(new GrPoint(), new GrPoint()); final GrBoite bPoly = new GrBoite(new GrPoint(), new GrPoint()); - for (int i = modele_.getNbLigneBrisee() - 1; i >= 0; i--) { + for (int i = modele_.getNombre() - 1; i >= 0; i--) { + if (!modele_.isGeometryVisible(i)) continue; + modele_.getDomaineForGeometry(i, bPoly); if (bPoly.contientXY(_pt)||bPoly.distanceXY(_pt)<distanceReel) { for (int j=modele_.getNbPointForGeometry(i)-1; j>0; j--) { @@ -749,7 +776,9 @@ final CtuluListSelection r = creeSelection(); final GrPoint p = new GrPoint(); final GrBoite bPoly = new GrBoite(new GrPoint(), new GrPoint()); - for (int i = getModele().getNombre() - 1; i >= 0; i--) { + for (int i = modele_.getNombre() - 1; i >= 0; i--) { + if (!modele_.isGeometryVisible(i)) continue; + modele_.getDomaineForGeometry(i, bPoly); // si le poly est dans dans le poly de selection boolean selected = false; @@ -812,7 +841,9 @@ bClip = getClipReel(getGraphics()); final GrPoint p = new GrPoint(); final GrBoite btLigne = new GrBoite(); - for (int i = modele_.getNbLigneBrisee() - 1; i >= 0; i--) { + for (int i = modele_.getNombre() - 1; i >= 0; i--) { + if (!modele_.isGeometryVisible(i)) continue; + modele_.getDomaineForGeometry(i, btLigne); if (btLigne.contientXY(_pt) || btLigne.distanceXY(_pt) < distanceReel) { for (int j = modele_.getNbPointForGeometry(i) - 1; j >= 0; j--) { @@ -841,11 +872,13 @@ if (!polyEnv.intersects(domaine)) { return null; } - final EbliListeSelectionMulti r = creeSelectionMutli(); + final EbliListeSelectionMulti r = creeSelectionMulti(); final GrPoint p = new GrPoint(); final SIRtreePointInRing tester = new SIRtreePointInRing(_poly); final Coordinate c = new Coordinate(); - for (int i = modele_.getNbLigneBrisee() - 1; i >= 0; i--) { + for (int i = modele_.getNombre() - 1; i >= 0; i--) { + if (!modele_.isGeometryVisible(i)) continue; + CtuluListSelection l = null; final int nbPt = modele_.getNbPointForGeometry(i); for (int j = nbPt - 1; j >= 0; j--) { @@ -897,6 +930,7 @@ } public boolean setSelection(final int[] _idx) { + // Pas de controle sur la visibilit\xE9 ou non des objets d'indices pass\xE9s. if (!isAtomicMode_) { return super.setSelection(_idx); } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleGeometry.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleGeometry.java 2008-10-03 13:06:52 UTC (rev 4027) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleGeometry.java 2008-10-03 13:08:56 UTC (rev 4028) @@ -10,9 +10,6 @@ import org.fudaa.ebli.geometrie.GrBoite; import org.fudaa.ebli.geometrie.GrPoint; -import com.vividsolutions.jts.geom.Geometry; -import com.vividsolutions.jts.geom.LineString; - /** * Un mod\xE8le contenant toutes sortes de GIS g\xE9om\xE9tries (non sp\xE9cialis\xE9). * @see org.fudaa.ebli.calque.ZCalqueGeometry @@ -59,4 +56,11 @@ * @return True : Si la g\xE9om\xE9trie est ferm\xE9e. */ public boolean isGeometryFermee(int _idxGeom); + + /** + * La g\xE9om\xE9trie est-elle visible. + * @param _idxGeom L'indice de la g\xE9om\xE9trie dans le mod\xE8le. + * @return True : Si la g\xE9om\xE9trie est visible. + */ + public boolean isGeometryVisible(int _idxGeom); } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleLigneBrisee.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleLigneBrisee.java 2008-10-03 13:06:52 UTC (rev 4027) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleLigneBrisee.java 2008-10-03 13:08:56 UTC (rev 4028) @@ -20,10 +20,10 @@ public interface ZModeleLigneBrisee extends ZModeleGeometry { /** - * Retourne le nombre de lignes brisees contenues dans le mod\xE8le. - * @return Le nombre de lignes bris\xE9es. + * Retourne le nombre de polylignes (ligne bris\xE9e ouvertes) contenues dans le mod\xE8le. + * @return Le nombre de poylignes. */ - int getNbLigneBrisee(); + int getNbPolyligne(); /** Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeDefault.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeDefault.java 2008-10-03 13:06:52 UTC (rev 4027) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeDefault.java 2008-10-03 13:08:56 UTC (rev 4028) @@ -29,6 +29,7 @@ import org.fudaa.ctulu.CtuluLibString; import org.fudaa.ctulu.CtuluListSelectionInterface; import org.fudaa.ctulu.collection.CtuluCollection; +import org.fudaa.ctulu.gis.GISAttributeConstants; import org.fudaa.ctulu.gis.GISAttributeInterface; import org.fudaa.ctulu.gis.GISAttributeModel; import org.fudaa.ctulu.gis.GISLib; @@ -277,7 +278,7 @@ return; } - final int nbLigneTotal = getNbLigneBrisee(); + final int nbLigneTotal = getNombre(); final ZCalqueLigneBrisee layer = (ZCalqueLigneBrisee) _layer; if (layer.isAtomicMode()) { final int nb = layer.getLayerSelectionMulti().getNbListSelected(); @@ -376,8 +377,8 @@ return geometries_; } - public final int getNbLigneBrisee() { - return getNombre(); + public final int getNbPolyligne() { + return getNombre()-getNbPolygone(); } public final int getNbPointForGeometry(final int _idxLigne) { @@ -423,6 +424,13 @@ return true; } + public final boolean isGeometryVisible(final int _idxGeom) { + int iattVisibility=geometries_.getIndiceOf(GISAttributeConstants.VISIBILITE); + if (iattVisibility==-1) return true; + + return (Boolean)geometries_.getValue(iattVisibility, _idxGeom); + } + public boolean isValuesTableAvailable() { return true; } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileLayerModelForCourbe.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileLayerModelForCourbe.java 2008-10-03 13:06:52 UTC (rev 4027) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileLayerModelForCourbe.java 2008-10-03 13:08:56 UTC (rev 4028) @@ -42,7 +42,7 @@ _target.ajuste(domaine_); } - public int getNbLigneBrisee() { + public int getNbPolyligne() { return res_ == null ? 0 : 1; } @@ -62,6 +62,10 @@ return true; } + public boolean isGeometryVisible(int _idxGeom) { + return true; + } + public boolean point(GrPoint _pt, int _ligneIdx, int _pointIdx) { if (res_ == null) return false; _pt.x_ = res_.getIntersect(_pointIdx).getX(); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel2dProfile.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel2dProfile.java 2008-10-03 13:06:52 UTC (rev 4027) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel2dProfile.java 2008-10-03 13:08:56 UTC (rev 4028) @@ -33,7 +33,8 @@ GISAttributeConstants.BATHY, GISAttributeConstants.ETAT_GEOM, GISAttributeConstants.TITRE, - GISAttributeConstants.NATURE + GISAttributeConstants.NATURE, + GISAttributeConstants.VISIBILITE }; // Pas de container de commande pour cette op\xE9ration, sinon conserv\xE9 en undo/redo. getGeomData().setAttributes(attrs, null); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModelGeometry.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModelGeometry.java 2008-10-03 13:06:52 UTC (rev 4027) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModelGeometry.java 2008-10-03 13:08:56 UTC (rev 4028) @@ -85,6 +85,10 @@ return (g instanceof LineString && ((LineString)g).isClosed()); } + public boolean isGeometryVisible(int _idxGeom) { + return true; + } + public boolean point(GrPoint _pt, int _idxGeom, int _pointIdx) { final CoordinateSequence g=((GISCoordinateSequenceContainerInterface)geometries_.getGeometry(_idxGeom)).getCoordinateSequence(); _pt.x_ = g.getX(_pointIdx); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/FSigLineSingleModel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/FSigLineSingleModel.java 2008-10-03 13:06:52 UTC (rev 4027) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/FSigLineSingleModel.java 2008-10-03 13:08:56 UTC (rev 4028) @@ -86,7 +86,7 @@ _target.e_.y_ = env_.getMaxY(); } - public int getNbLigneBrisee() { + public int getNbPolyligne() { return isClosed_ ? 0 : 1; } @@ -127,4 +127,8 @@ public boolean isGeometryReliee(int geom) { return true; } + + public boolean isGeometryVisible(int geom) { + return true; + } } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/data/TrSiProfilLayer.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/data/TrSiProfilLayer.java 2008-10-03 13:06:52 UTC (rev 4027) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/data/TrSiProfilLayer.java 2008-10-03 13:08:56 UTC (rev 4028) @@ -232,7 +232,7 @@ } public void actionPerformed(final ActionEvent _e) { - if (getProfilModel().getNbLigneBrisee() == 0 || !getProfilModel().isProfilLineDefined()) { + if (getProfilModel().getNombre() == 0 || !getProfilModel().isProfilLineDefined()) { editor_.getUi().error(CtuluUIAbstract.getDefaultErrorTitle(), TrResource.getS("Aucun profil n'est d\xE9fini"), false); return; @@ -364,7 +364,7 @@ } if (!l.containsLegend(this)) { l.ajoute(this, buildPanel(null), getTitle()); - if (getModelePoly().getNbLigneBrisee() == 0) { + if (getModelePoly().getNombre() == 0) { l.setVisible(this, false); } } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/data/TrSiProfilModel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/data/TrSiProfilModel.java 2008-10-03 13:06:52 UTC (rev 4027) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/data/TrSiProfilModel.java 2008-10-03 13:08:56 UTC (rev 4028) @@ -328,7 +328,7 @@ } final TIntArrayList list = new TIntArrayList(); final GISAttributeModel model = geometries_.getModel(type_); - for (int i = getNbLigneBrisee() - 1; i >= 0; i--) { + for (int i = getNombre() - 1; i >= 0; i--) { if (BERGE_ID.equals(model.getObjectValueAt(i)) && GISLib.intesects(((LineString) super.geometries_.getGeometry(i)), l)) { list.add(i); @@ -510,7 +510,7 @@ return false; } final GISAttributeModel model = geometries_.getModel(type_); - for (int i = getNbLigneBrisee() - 1; i >= 0; i--) { + for (int i = getNombre() - 1; i >= 0; i--) { if (BERGE_ID.equals(model.getObjectValueAt(i)) && GISLib.intesects(((LineString) super.geometries_.getGeometry(i)), l)) { return true; Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/data/TrSiProfileSplitter.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/data/TrSiProfileSplitter.java 2008-10-03 13:06:52 UTC (rev 4027) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/data/TrSiProfileSplitter.java 2008-10-03 13:08:56 UTC (rev 4028) @@ -410,11 +410,11 @@ private void computeBerges(final Zone _zones) { // il y a seulement un profil ou pas de zones: pas la peine - if (model_.getNbLigneBrisee() == 1 || _zones == null || _zones.getNumGeometries() == 0) { + if (model_.getNombre() == 1 || _zones == null || _zones.getNumGeometries() == 0) { return; } // final LineString l = getProfilLine(); - for (int i = model_.getNbLigneBrisee() - 1; i >= 0; i--) { + for (int i = model_.getNombre() - 1; i >= 0; i--) { // on parcourt uniquement les berges if (!model_.isProfile(i)) { computeBerge(_zones, model_.getLine(i)); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |