Changeset 28326 in osm for applications/editors


Ignore:
Timestamp:
2012-04-19T19:58:40+02:00 (12 years ago)
Author:
roland
Message:

Fixed bug 7422.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/public_transport/src/public_transport/RoutePatternAction.java

    r28318 r28326  
    11641164
    11651165      // Temp
    1166       if (firstNode != null)
     1166/*      if (firstNode != null)
    11671167      {
    11681168        Vector< AStarAlgorithm.Edge > path = new PublicTransportAStar(firstNode, lastNode).shortestPath();
     
    11781178          System.out.print("\n");
    11791179        }
    1180       }
     1180      }*/
    11811181    }
    11821182    else if ("routePattern.overviewDelete".equals(event.getActionCommand()))
     
    15701570          StopReference sr = detectMinDistance
    15711571              (curMember.getNode(), segmentMetrics, cbRight.isSelected(), cbLeft.isSelected());
    1572           double offset = segmentMetrics.elementAt((sr.index+1) / 2).distance;
    1573           if (sr.index % 2 == 0)
    1574             offset += sr.pos;
    1575           stoplistData.insertRow(insPos, curMember.getNode(), curMember.getRole(), offset);
     1572          stoplistData.insertRow(insPos, curMember.getNode(), curMember.getRole(),
     1573              calcOffset(sr, segmentMetrics));
    15761574          if (insPos >= 0)
    15771575            ++insPos;
     
    15911589          StopReference sr = detectMinDistance
    15921590              (curMember, segmentMetrics, cbRight.isSelected(), cbLeft.isSelected());
    1593           double offset = segmentMetrics.elementAt((sr.index+1) / 2).distance;
    1594           if (sr.index % 2 == 0)
    1595             offset += sr.pos;
    1596           stoplistData.insertRow(insPos, curMember, "", offset);
     1591          stoplistData.insertRow(insPos, curMember, "", calcOffset(sr, segmentMetrics));
    15971592          if (insPos >= 0)
    15981593            ++insPos;
     
    16401635          {
    16411636            StopReference sr = detectMinDistance
    1642             (stoplistData.nodes.elementAt(i), segmentMetrics,
    1643             cbRight.isSelected(), cbLeft.isSelected());
     1637                (stoplistData.nodes.elementAt(i), segmentMetrics,
     1638                cbRight.isSelected(), cbLeft.isSelected());
    16441639            if (sr != null)
    16451640            {
    16461641              if (sr.distance <
    1647                 Double.parseDouble(tfSuggestStopsLimit.getText()) * 9.0 / 1000000.0 )
     1642                  Double.parseDouble(tfSuggestStopsLimit.getText()) * 9.0 / 1000000.0 )
    16481643              {
    1649             sr.role = (String)stoplistData.getValueAt(i, STOPLIST_ROLE_COLUMN);
    1650             srm.addElement(sr);
     1644                sr.role = (String)stoplistData.getValueAt(i, STOPLIST_ROLE_COLUMN);
     1645                srm.addElement(sr);
    16511646              }
    16521647              else
    16531648              {
    1654             sr.role = (String)stoplistData.getValueAt(i, STOPLIST_ROLE_COLUMN);
    1655             sr.index = segmentMetrics.size()*2;
    1656             sr.pos = 0;
    1657             srm.addElement(sr);
     1649                sr.role = (String)stoplistData.getValueAt(i, STOPLIST_ROLE_COLUMN);
     1650                sr.index = segmentMetrics.size()*2;
     1651                sr.pos = 0;
     1652                srm.addElement(sr);
    16581653              }
    16591654
     
    17011696        StopReference sr = detectMinDistance
    17021697            (srm.elementAt(i).node, segmentMetrics, cbRight.isSelected(), cbLeft.isSelected());
    1703         double offset = segmentMetrics.elementAt((sr.index+1) / 2).distance;
    1704         if (sr.index % 2 == 0)
    1705           offset += sr.pos;
    1706         stoplistData.insertRow(insPos, srm.elementAt(i).node, srm.elementAt(i).role, offset);
     1698        stoplistData.insertRow(insPos, srm.elementAt(i).node, srm.elementAt(i).role,
     1699            calcOffset(sr, segmentMetrics));
    17071700        if (insPos >= 0)
    17081701          ++insPos;
     
    17551748          StopReference sr = detectMinDistance
    17561749              (curMember.getNode(), segmentMetrics, cbRight.isSelected(), cbLeft.isSelected());
    1757           double offset = segmentMetrics.elementAt((sr.index+1) / 2).distance;
    1758           if (sr.index % 2 == 0)
    1759             offset += sr.pos;
    1760           stoplistData.insertRow(insPos, curMember.getNode(), curMember.getRole(), offset);
     1750          stoplistData.insertRow(insPos, curMember.getNode(), curMember.getRole(),
     1751              calcOffset(sr, segmentMetrics));
    17611752          if (insPos >= 0)
    17621753            ++insPos;
     
    18211812          {
    18221813            StopReference sr = detectMinDistance
    1823             (currentNode, segmentMetrics,
    1824             cbRight.isSelected(), cbLeft.isSelected());
     1814                (currentNode, segmentMetrics, cbRight.isSelected(), cbLeft.isSelected());
    18251815            if ((sr != null) && (sr.distance <
    18261816                Double.parseDouble(tfSuggestStopsLimit.getText()) * 9.0 / 1000000.0 ))
     
    18431833        StopReference sr = detectMinDistance
    18441834            (srm.elementAt(i).node, segmentMetrics, cbRight.isSelected(), cbLeft.isSelected());
    1845         double offset = segmentMetrics.elementAt((sr.index+1) / 2).distance;
    1846         if (sr.index % 2 == 0)
    1847           offset += sr.pos;
    1848         stoplistData.addRow(srm.elementAt(i).node, srm.elementAt(i).role, offset);
     1835        stoplistData.addRow(srm.elementAt(i).node, srm.elementAt(i).role,
     1836            calcOffset(sr, segmentMetrics));
    18491837      }
    18501838
     
    21342122  }
    21352123
     2124  private double calcOffset(StopReference sr, Vector< SegmentMetric > segmentMetrics)
     2125  {
     2126    double offset = 0;
     2127    if ((sr.index+1) / 2 < segmentMetrics.size())
     2128    {
     2129      offset = segmentMetrics.elementAt((sr.index+1) / 2).distance;
     2130      if (sr.index % 2 == 0)
     2131        offset += sr.pos;
     2132    }
     2133    else
     2134      offset = segmentMetrics.elementAt(segmentMetrics.size() - 1).distance
     2135          + segmentMetrics.elementAt(segmentMetrics.size() - 1).length;
     2136
     2137    return offset;
     2138  }
     2139
    21362140  private void fillStoplistTable
    21372141      (Iterator<RelationMember> relIter, int insPos) {
     
    21482152        else
    21492153        {
    2150           double offset = segmentMetrics.elementAt((sr.index+1) / 2).distance;
    2151           if (sr.index % 2 == 0)
    2152             offset += sr.pos;
    2153           stoplistData.insertRow(insPos, curMember.getNode(), curMember.getRole(), offset);
     2154          stoplistData.insertRow(insPos, curMember.getNode(), curMember.getRole(),
     2155              calcOffset(sr, segmentMetrics));
    21542156          if (insPos >= 0)
    21552157            ++insPos;
Note: See TracChangeset for help on using the changeset viewer.