protected List<String> organizeFrames(String rpfDir){
  RpfTocHandler toc=new RpfTocHandler(rpfDir);
  List<String> frameList=new LinkedList<String>();
  if (toc.isValid()) {
    RpfTocEntry[] entries=toc.getEntries();
    if (verbose) {
      Debug.output("Figuring out which frames fit the criteria...");
    }
    for (int i=0; i < entries.length; i++) {
      RpfTocEntry entry=entries[i];
      toc.loadFrameInformation(entry);
      double udinterval=(entry.coverage.nw_lat - entry.coverage.se_lat) / entry.vertFrames;
      double rlinterval=(entry.coverage.se_lon - entry.coverage.nw_lon) / entry.horizFrames;
      if (scale > 0) {
        float rectScale=(float)RpfTocHandler.textScaleToLong(entry.scale);
        if (rectScale == RpfProductInfo.UK.scale) {
          if (verbose) {
            Debug.output("  RpfTocEntry[" + i + "] scale unknown ("+ entry.coverage.chartCode+ "), skipping");
          }
          continue;
        }
switch (scaleDelim) {
case SCALE_EQUALS:
          if (scale == rectScale)           frameList.addAll(getFrameList(entry,rlinterval,udinterval));
        break;
case SCALE_GREATERTHAN:
      if (scale >= rectScale)       frameList.addAll(getFrameList(entry,rlinterval,udinterval));
    break;
case SCALE_LESSTHAN:
  if (scale <= rectScale)   frameList.addAll(getFrameList(entry,rlinterval,udinterval));
break;
case SCALE_NOTEQUALS:
if (scale != rectScale) frameList.addAll(getFrameList(entry,rlinterval,udinterval));
default :
break;
}
}
 else {
frameList.addAll(getFrameList(entry,rlinterval,udinterval));
}
}
}
return frameList;
}

protected List < String > organizeFrames ( String rpfDir ) { RpfTocHandler toc = new RpfTocHandler ( rpfDir ) ; List < String > frameList = new LinkedList < String > ( ) ; if ( toc . isValid ( ) ) { RpfTocEntry [ ] entries = toc . getEntries ( ) ; if ( verbose ) { Debug . output ( "Figuring out which frames fit the criteria..." ) ; } for ( int i = 0 ; i < entries . length ; i ++ ) { RpfTocEntry entry = entries [ i ] ; toc . loadFrameInformation ( entry ) ; double udinterval = ( entry . coverage . nw_lat - entry . coverage . se_lat ) / entry . vertFrames ; double rlinterval = ( entry . coverage . se_lon - entry . coverage . nw_lon ) / entry . horizFrames ; if ( scale > 0 ) { float rectScale = ( float ) RpfTocHandler . textScaleToLong ( entry . scale ) ; if ( rectScale == RpfProductInfo . UK . scale ) { if ( verbose ) { Debug . output ( "  RpfTocEntry[" + i + "] scale unknown (" + entry . coverage . chartCode + "), skipping" ) ; } continue ; } switch ( scaleDelim ) { case SCALE_EQUALS : if ( scale == rectScale ) frameList . addAll ( getFrameList ( entry , rlinterval , udinterval ) ) ; break ; case SCALE_GREATERTHAN : if ( scale >= rectScale ) frameList . addAll ( getFrameList ( entry , rlinterval , udinterval ) ) ; break ; case SCALE_LESSTHAN : if ( scale <= rectScale ) frameList . addAll ( getFrameList ( entry , rlinterval , udinterval ) ) ; break ; case SCALE_NOTEQUALS : if ( scale != rectScale ) frameList . addAll ( getFrameList ( entry , rlinterval , udinterval ) ) ; default : break ; } } else { frameList . addAll ( getFrameList ( entry , rlinterval , udinterval ) ) ; } } } return frameList ; }
creates the list of frames to consider , based on settings . this method does a cursory check of scale settings before moving to geographical settings .
