void fireMapAreaEvent() {
    if (debugZoom)
      System.out.println("NP.fireMapAreaEvent ");

     // decide if we need a new Projection: for LatLonProjection only
    if (project.isLatLon()) {
      LatLonProjection llproj = (LatLonProjection) project;
      ProjectionRect box = getMapArea();
      double center = llproj.getCenterLon();
      double lonBeg = LatLonPointImpl.lonNormal(box.getMinX(), center);
      double lonEnd = lonBeg + box.getMaxX() - box.getMinX();
      boolean showShift = Debug.isSet("projection/LatLonShift") || debugNewProjection;
      if (showShift) System.out.println("projection/LatLonShift: min,max = "+ box.getMinX()+" "+
            box.getMaxX()+" beg,end= "+lonBeg+" "+lonEnd+ " center = "+center);

      if ( (lonBeg < center-180) || (lonEnd > center+180)) {  // got to do it
        double wx0 = box.getX() + box.getWidth()/2;
        llproj.setCenterLon( wx0);              // shift cylinder seam
        double newWx0 = llproj.getCenterLon();  // normalize wx0 to [-180,180]
        setWorldCenterX(newWx0);             // tell navigation panel to shift
        if (showShift)
          System.out.println("projection/LatLonShift: shift center to "+wx0+"->"+newWx0);

        // send projection event instead of map area event
        lmProject.sendEvent( new NewProjectionEvent(this, llproj));
        return;
      }
    }

    // send new map area event
    lmMapArea.sendEvent( new NewMapAreaEvent( this, getMapArea()));
  }
void fireMapAreaEvent() {
    if (debugZoom)
      System.out.println("NP.fireMapAreaEvent ");

     
    if (project.isLatLon()) {
      LatLonProjection llproj = (LatLonProjection) project;
      ProjectionRect box = getMapArea();
      double center = llproj.getCenterLon();
      double lonBeg = LatLonPointImpl.lonNormal(box.getMinX(), center);
      double lonEnd = lonBeg + box.getMaxX() - box.getMinX();
      boolean showShift = Debug.isSet("projection/LatLonShift") || debugNewProjection;
      if (showShift) System.out.println("projection/LatLonShift: min,max = "+ box.getMinX()+" "+
            box.getMaxX()+" beg,end= "+lonBeg+" "+lonEnd+ " center = "+center);

      if ( (lonBeg < center-180) || (lonEnd > center+180)) {  
        double wx0 = box.getX() + box.getWidth()/2;
        llproj.setCenterLon( wx0);              
        double newWx0 = llproj.getCenterLon();  
        setWorldCenterX(newWx0);             
        if (showShift)
          System.out.println("projection/LatLonShift: shift center to "+wx0+"->"+newWx0);

        
        lmProject.sendEvent( new NewProjectionEvent(this, llproj));
        return;
      }
    }

    
    lmMapArea.sendEvent( new NewMapAreaEvent( this, getMapArea()));
  }
void fireMapAreaEvent ( ) { if ( debugZoom ) System . out . println ( "NP.fireMapAreaEvent " ) ; // decide if we need a new Projection: for LatLonProjection only if ( project . isLatLon ( ) ) { LatLonProjection llproj = ( LatLonProjection ) project ; ProjectionRect box = getMapArea ( ) ; double center = llproj . getCenterLon ( ) ; double lonBeg = LatLonPointImpl . lonNormal ( box . getMinX ( ) , center ) ; double lonEnd = lonBeg + box . getMaxX ( ) - box . getMinX ( ) ; boolean showShift = Debug . isSet ( "projection/LatLonShift" ) || debugNewProjection ; if ( showShift ) System . out . println ( "projection/LatLonShift: min,max = " + box . getMinX ( ) + " " + box . getMaxX ( ) + " beg,end= " + lonBeg + " " + lonEnd + " center = " + center ) ; if ( ( lonBeg < center - 180 ) || ( lonEnd > center + 180 ) ) { // got to do it double wx0 = box . getX ( ) + box . getWidth ( ) / 2 ; llproj . setCenterLon ( wx0 ) ; // shift cylinder seam double newWx0 = llproj . getCenterLon ( ) ; // normalize wx0 to [-180,180] setWorldCenterX ( newWx0 ) ; // tell navigation panel to shift if ( showShift ) System . out . println ( "projection/LatLonShift: shift center to " + wx0 + "->" + newWx0 ) ; // send projection event instead of map area event lmProject . sendEvent ( new NewProjectionEvent ( this , llproj ) ) ; return ; } } // send new map area event lmMapArea . sendEvent ( new NewMapAreaEvent ( this , getMapArea ( ) ) ) ; }
called by Navigation
called by Navigation