From: <bma...@us...> - 2008-10-07 14:15:50
|
Revision: 4042 http://fudaa.svn.sourceforge.net/fudaa/?rev=4042&view=rev Author: bmarchan Date: 2008-10-07 14:14:47 +0000 (Tue, 07 Oct 2008) Log Message: ----------- MdlModelGeometry -> ZModeleGeometryDefault Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectionPanel.java Added Paths: ----------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleGeometryDefault.java Removed Paths: ------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModelGeometry.java Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleGeometryDefault.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleGeometryDefault.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleGeometryDefault.java 2008-10-07 14:14:47 UTC (rev 4042) @@ -0,0 +1,133 @@ +/* + * @creation 20 janv. 08 + * @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.ebli.calque.edition; + +import org.fudaa.ctulu.gis.GISAttributeConstants; +import org.fudaa.ctulu.gis.GISCoordinateSequenceContainerInterface; +import org.fudaa.ctulu.gis.GISZoneCollection; +import org.fudaa.ctulu.gis.GISZoneCollectionGeometry; +import org.fudaa.ebli.calque.ZCalqueAffichageDonneesInterface; +import org.fudaa.ebli.calque.ZModeleGeometry; +import org.fudaa.ebli.geometrie.GrBoite; +import org.fudaa.ebli.geometrie.GrPoint; +import org.fudaa.ebli.palette.BPaletteInfo.InfoData; + +import com.memoire.bu.BuTable; +import com.memoire.fu.FuLog; +import com.vividsolutions.jts.geom.CoordinateSequence; +import com.vividsolutions.jts.geom.Envelope; +import com.vividsolutions.jts.geom.Geometry; +import com.vividsolutions.jts.geom.LineString; + +/** + * Une impl\xE9mentation par defaut d'un mod\xE8le contenant des g\xE9om\xE9tries de tous types. + * @author Bertrand Marchand + * @version $Id$ + */ +public class ZModeleGeometryDefault implements ZModeleGeometry { + protected GISZoneCollectionGeometry geometries_; + + /** + * Constructeur + */ + public ZModeleGeometryDefault() { + geometries_=new GISZoneCollectionGeometry(); + } + + public void getDomaineForGeometry(int _idxGeom, GrBoite _target) { + if (geometries_ == null || geometries_.getNumGeometries() == 0) { + return; + } + final Geometry g = geometries_.getGeometry(_idxGeom); + final Envelope e = g.getEnvelopeInternal(); + if (_target.o_ == null) { + _target.o_ = new GrPoint(); + } + if (_target.e_ == null) { + _target.e_ = new GrPoint(); + } + if (e != null && !e.isNull()) { + _target.o_.x_ = e.getMinX(); + _target.o_.y_ = e.getMinY(); + _target.e_.x_ = e.getMaxX(); + _target.e_.y_ = e.getMaxY(); + } + } + + public int getNbPointForGeometry(int _idxGeom) { + if (geometries_ == null) { + return 0; + } + final Geometry gi = geometries_.getGeometry(_idxGeom); + return gi.getNumPoints(); + } + + public final boolean isGeometryReliee(final int _idxGeom) { + Geometry g=getGeomData().getGeometry(_idxGeom); + return (g instanceof LineString); + } + + public final boolean isGeometryFermee(final int _idxGeom) { + Geometry g=getGeomData().getGeometry(_idxGeom); + return (g instanceof LineString && ((LineString)g).isClosed()); + } + + public boolean isGeometryVisible(int _idxGeom) { + int iattVisibility=geometries_.getIndiceOf(GISAttributeConstants.VISIBILITE); + if (iattVisibility==-1) return true; + + return GISAttributeConstants.ATT_VAL_TRUE.equals(geometries_.getValue(iattVisibility, _idxGeom)); + } + + public boolean point(GrPoint _pt, int _idxGeom, int _pointIdx) { + // Pour des multipoints, on s'appuie sur la m\xE9thode GISMultiPoint.getCoordinateSequence() cr\xE9\xE9e pour l'occasion et non + // GISMultiPoint.getCoordinates() pour r\xE9cuperer les coordonn\xE9es d'un point. En effet, recup\xE9rer le tableau des coordonn\xE9es + // s'av\xE8re terriblement penalisant pour l'affichage. + final CoordinateSequence g=((GISCoordinateSequenceContainerInterface)geometries_.getGeometry(_idxGeom)).getCoordinateSequence(); + _pt.x_ = g.getX(_pointIdx); + _pt.y_ = g.getY(_pointIdx); + return true; + } + + public GISZoneCollection getGeomData() { + return geometries_; + } + + public void prepareExport() { + geometries_.prepareExport(); + } + + public BuTable createValuesTable(ZCalqueAffichageDonneesInterface _layer) { + return null; + } + + public void fillWithInfo(InfoData _d, ZCalqueAffichageDonneesInterface _layer) {} + + public GrBoite getDomaine() { + if (geometries_ == null || geometries_.getNumGeometries() == 0) { + return null; + } + final Envelope e = geometries_.getEnvelopeInternal(); + if (e == null) { + return null; + } + return new GrBoite(new GrPoint(e.getMinX(), e.getMinY(), 0), new GrPoint(e.getMaxX(), e.getMaxY(), 0)); + } + + public final int getNombre() { + return geometries_ == null ? 0 : geometries_.getNumGeometries(); + } + + public final Object getObject(final int _ind) { + return geometries_ == null ? null : geometries_.getGeometry(_ind); + } + + public boolean isValuesTableAvailable() { + return false; + } +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleGeometryDefault.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id Added: svn:eol-style + native Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectionPanel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectionPanel.java 2008-10-07 14:12:32 UTC (rev 4041) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectionPanel.java 2008-10-07 14:14:47 UTC (rev 4042) @@ -29,6 +29,7 @@ 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; @@ -36,7 +37,6 @@ import org.fudaa.ebli.trace.TraceLigneModel; import org.fudaa.ebli.trace.TraceSurface; import org.fudaa.ebli.trace.TraceSurfaceModel; -import org.fudaa.fudaa.modeleur.layer.MdlModelGeometry; import org.fudaa.fudaa.sig.FSigLib; import org.fudaa.fudaa.tr.common.TrResource; @@ -117,7 +117,7 @@ return; } - MdlModelGeometry mdl=new MdlModelGeometry(); + ZModeleGeometryDefault mdl=new ZModeleGeometryDefault(); support_=mdl.getGeomData(); for (int i=0; i<_geoms.length; i++) { Deleted: 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-07 14:12:32 UTC (rev 4041) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModelGeometry.java 2008-10-07 14:14:47 UTC (rev 4042) @@ -1,135 +0,0 @@ -/* - * @creation 20 janv. 08 - * @modification $Date: 2008/02/21 19:41:56 $ - * @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 org.fudaa.ctulu.CtuluCommandContainer; -import org.fudaa.ctulu.gis.GISAttribute; -import org.fudaa.ctulu.gis.GISAttributeConstants; -import org.fudaa.ctulu.gis.GISAttributeDouble; -import org.fudaa.ctulu.gis.GISCoordinateSequenceContainerInterface; -import org.fudaa.ctulu.gis.GISMultiPoint; -import org.fudaa.ctulu.gis.GISZoneCollection; -import org.fudaa.ctulu.gis.GISZoneCollectionGeometry; -import org.fudaa.ctulu.gis.GISZoneCollectionLigneBrisee; -import org.fudaa.ctulu.gis.GISZoneListener; -import org.fudaa.ebli.calque.ZCalqueAffichageDonneesInterface; -import org.fudaa.ebli.calque.ZModeleGeometry; -import org.fudaa.ebli.calque.edition.ZModeleLigneBriseeEditable; -import org.fudaa.ebli.geometrie.GrBoite; -import org.fudaa.ebli.geometrie.GrPoint; -import org.fudaa.ebli.palette.BPaletteInfo.InfoData; -import org.fudaa.fudaa.modeleur.MdlResource; -import org.fudaa.fudaa.sig.FSigResource; - -import com.memoire.bu.BuTable; -import com.vividsolutions.jts.geom.CoordinateSequence; -import com.vividsolutions.jts.geom.Envelope; -import com.vividsolutions.jts.geom.Geometry; -import com.vividsolutions.jts.geom.LineString; - -/** - * Un mod\xE8le contenant des g\xE9om\xE9tries de tous types, pour repr\xE9sentation unique. - * @author Bertrand Marchand - * @version $Id: MdlModel2dLevel.java,v 1.1.2.6 2008/02/21 19:41:56 bmarchan Exp $ - */ -public class MdlModelGeometry implements ZModeleGeometry { - GISZoneCollectionGeometry geometries_; - - /** - * Constructeur - */ - public MdlModelGeometry() { - geometries_=new GISZoneCollectionGeometry(); - } - - public void getDomaineForGeometry(int _idxGeom, GrBoite _target) { - if (geometries_ == null || geometries_.getNumGeometries() == 0) { - return; - } - final Geometry g = geometries_.getGeometry(_idxGeom); - final Envelope e = g.getEnvelopeInternal(); - if (_target.o_ == null) { - _target.o_ = new GrPoint(); - } - if (_target.e_ == null) { - _target.e_ = new GrPoint(); - } - if (e != null && !e.isNull()) { - _target.o_.x_ = e.getMinX(); - _target.o_.y_ = e.getMinY(); - _target.e_.x_ = e.getMaxX(); - _target.e_.y_ = e.getMaxY(); - } - } - - public int getNbPointForGeometry(int _idxGeom) { - if (geometries_ == null) { - return 0; - } - final Geometry gi = geometries_.getGeometry(_idxGeom); - return gi.getNumPoints(); - } - - public final boolean isGeometryReliee(final int _idxGeom) { - Geometry g=getGeomData().getGeometry(_idxGeom); - return (g instanceof LineString); - } - - public final boolean isGeometryFermee(final int _idxGeom) { - Geometry g=getGeomData().getGeometry(_idxGeom); - 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); - _pt.y_ = g.getY(_pointIdx); - return true; - } - - public GISZoneCollection getGeomData() { - return geometries_; - } - - public void prepareExport() { - geometries_.prepareExport(); - } - - public BuTable createValuesTable(ZCalqueAffichageDonneesInterface _layer) { - return null; - } - - public void fillWithInfo(InfoData _d, ZCalqueAffichageDonneesInterface _layer) {} - - public GrBoite getDomaine() { - if (geometries_ == null || geometries_.getNumGeometries() == 0) { - return null; - } - final Envelope e = geometries_.getEnvelopeInternal(); - if (e == null) { - return null; - } - return new GrBoite(new GrPoint(e.getMinX(), e.getMinY(), 0), new GrPoint(e.getMaxX(), e.getMaxY(), 0)); - } - - public final int getNombre() { - return geometries_ == null ? 0 : geometries_.getNumGeometries(); - } - - public final Object getObject(final int _ind) { - return geometries_ == null ? null : geometries_.getGeometry(_ind); - } - - public boolean isValuesTableAvailable() { - return false; - } -} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |