[Talk-de] So geht's: Wege mit gemeinsamen Knoten leicht trennen

Peter Peter.Osm at gmx.net
Mi Jun 8 18:31:09 UTC 2011


Argh, Anhänge kommen nicht durch.
Hier der Code, dürfte falsch umbrochen werden:-(
Ich find' bei dem Drecksprogramm nicht den schalter für den
Umbruch.

Peter
-------------------------------------------------------------------------

importClass(Packages.org.openstreetmap.josm.Main);
importClass(Packages.org.openstreetmap.josm.data.osm.Way);
importClass(Packages.org.openstreetmap.josm.data.osm.OsmPrimitive);

var POSM={};
POSM.getCurrentDataSet = function(){ return Main.main.getCurrentDataSet();}
POSM.setSelected = function(col){ return 
this.getCurrentDataSet().setSelected(col);}// a java collection
POSM.filter= function(col, type){ return 
OsmPrimitive.getFilteredSet(col, type); }

POSM.getSelected = function(filterType /*optional*/){
   var s = this.getCurrentDataSet().getSelected();
   return filterType? this.filter(s, filterType) : s;
   }
POSM.intersectionNodes = function(iterable){
   var i = iterable.iterator();
   if(!i.hasNext()) return Packages.java.util.Collections.emptyList();

   var nodes= i.next().nodes;
   for( ;i.hasNext(); ){ nodes.retainAll(i.next().nodes); }
   return nodes;
   }

// ------------------------------------------------
// get all selected ways (at least one), create intersection of
// all nodes, afterwards set selection to those nodes that
// are in every way. So if only one is selected it's nodes are
// selected afterwards.

POSM.setSelected( POSM.intersectionNodes( POSM.getSelected(Way) ) );






Mehr Informationen über die Mailingliste Talk-de