コード例 #1
0
ファイル: Params.java プロジェクト: flannelbum/GiantTrees
  public Params(Params other) {

    // copy values from other
    debug = other.debug;
    verbose = other.verbose;
    ignoreVParams = other.ignoreVParams;
    stopLevel = other.stopLevel;
    Species = other.Species;
    WoodType = other.WoodType;
    Seed = other.Seed;
    Smooth = other.Smooth;

    // create paramDB
    paramDB = new Hashtable();
    levelParams = new LevelParams[4];
    for (int l = 0; l < 4; l++) {
      levelParams[l] = new LevelParams(l, paramDB);
    }
    registerParams();

    // copy param values
    for (Enumeration e = paramDB.elements(); e.hasMoreElements(); ) {
      AbstractParam p = ((AbstractParam) e.nextElement());
      try {
        AbstractParam otherParam = other.getParam(p.name);
        if (!otherParam.empty()) {
          p.setValue(otherParam.getValue());
        } // else use default value
      } catch (ParamError err) {
        System.err.println("Error copying params: " + err.getMessage());
      }
    }
  }
コード例 #2
0
ファイル: Params.java プロジェクト: flannelbum/GiantTrees
  public void setParam(String name, String value) throws ParamError {
    AbstractParam p = (AbstractParam) paramDB.get(name);
    if (p != null) {
      p.setValue(value);
      if (debug) {
        System.err.println("Params.setParam(): set " + name + " to " + value);
      }

    } else {
      throw new ParamError("Unknown parameter " + name + "!");
    }
  }