/** * 文件名称:ITableConstants.java * * <p>类型描述:表格常量类。 * * <p>版权所有:版权所有(C)2001-2004。 * * <p>公 司:菠萝梨。 * * <p>内容摘要: * * <p>其他说明: * * <p>完成日期:2008-4-25 * * <p>修改记录: * * <pre> * 修改日期: * 版 本 号: * 修 改 人: * 修改内容: * </pre> * * @version 1.0 * @author 李镇 */ public interface ITableConstants { /*------------------------------------- Public Static Final Field -------------------------------------*/ /** 缺省的行号列宽度。 */ public static final int DEFAULT_ROWIDWIDTH = 50; /** 缺省的定制文件名,注意:此文件将放在TTableUtilities.class所在的类路径(Jar包)一级的目录中。 */ public static final String DEFAULT_CUSTOMFILENAME = "default-tablecustom.xml"; /** 客户端属性------列表定制。 */ public static final String CP_TABLECUSTOM = "TableCustom"; /** 客户端属性------缺省列表定制。 */ public static final String CP_TableDefaultCustom = "TableDefaultCustom"; /** 国际化信息------列表定制。 */ public static final String I18N_INFO_TABLECUSTOM = TableUtilities.getI18nMessage("tableCustom"); /** 国际化信息------行号。 */ public static final String I18N_INFO_ROWID = TableUtilities.getI18nMessage("rowId"); /** 国际化信息------行头(固定列集合)。 */ public static final String I18N_INFO_ROWHEADER = TableUtilities.getI18nMessage("rowHeader"); /** 国际化信息------表体(可拖动列集合)。 */ public static final String I18N_INFO_BODY = TableUtilities.getI18nMessage("body"); /** 国际化信息------列名。 */ public static final String I18N_INFO_COLUMNNAME = TableUtilities.getI18nMessage("columnName"); /** 国际化信息------显示。 */ public static final String I18N_INFO_VISIBLE = TableUtilities.getI18nMessage("visible"); /** 国际化信息------列宽。 */ public static final String I18N_INFO_WIDTH = TableUtilities.getI18nMessage("width"); /** 国际化信息------全局列宽。 */ public static final String I18N_INFO_ALLWIDTH = TableUtilities.getI18nMessage("allWidth"); /** 国际化信息------显示列。 */ public static final String I18N_INFO_SHOW = TableUtilities.getI18nMessage("show"); /** 国际化信息------隐藏列。 */ public static final String I18N_INFO_HIDE = TableUtilities.getI18nMessage("hide"); /** 图标------列表定制。 */ public static final Icon ICON_TABLECUSTOM = TableUtilities.getIcon("table-custom.gif"); /*------------------------------------- Public Abstract Method -------------------------------------*/ /* Add Public Abstract Method */ }
/* does it */ public void doit() throws Exception { ParameterPoint pp = (ParameterPoint) pullInput(0); ExampleTable varET = (ExampleTable) pullInput(1); ParameterSpace ps = (new VariogramParamSpace()).getDefaultSpace(); // not including the last param, PowerExponent int numParams = 9; // whether the parameter at index i is // coefficient (true) vs range (false) boolean[] cvr = new boolean[numParams]; cvr[0] = true; cvr[1] = true; cvr[2] = false; cvr[3] = true; cvr[4] = false; cvr[5] = true; cvr[6] = false; cvr[7] = true; cvr[8] = true; double[] range = TableUtilities.getMinMax(varET, varET.getInputFeatures()[0]); double rMax = range[1]; range = TableUtilities.getMinMax(varET, varET.getOutputFeatures()[0]); double cMax = range[1]; if (debug) { System.out.println(this.getAlias() + ": Range Max:" + rMax + ", Coefficient Max:" + cMax); } double val = Double.NEGATIVE_INFINITY; double max = val; for (int i = 0; i < numParams; i++) { val = pp.getValue(i); if (cvr[i]) { max = cMax; } else { max = rMax; } if (Double.isNaN(val)) { ps.setMinValue(i, 0.0); ps.setMaxValue(i, max); ps.setResolution(i, this.allParametersResolution); } else { ps.setMinValue(i, val); ps.setMaxValue(i, val); ps.setResolution(i, 1); } } // the special case for the exponent if (Double.isNaN(val)) { int expIdx = 8; // leave the min at zero, change the max to 3 ps.setMaxValue(expIdx, 3); ps.setResolution(expIdx, 30); } pushOutput(ps, 0); }