/// /// <summary> * fitsXYZTolerance - checks whether this Evaluation has a specified /// * Tolerance that it is not equal "0 0", and expands the original rangelist /// * to the rangelist that fits the Tolerance. /// * </summary> /// * <param name="rangeList"> /// * original rangelist </param> /// * <returns> JDFNumberRangeList - expanded rangelist, returns original range /// * if Tolerance=="0 0" </returns> /// public virtual JDFNumberRangeList fitsXYZTolerance(JDFNumberRangeList origRangeList) { double nt = getTolerance().X; // negative tolerance double pt = getTolerance().Y; // positive tolerance if ((nt == 0) && (pt == 0)) { return(origRangeList); } // expand our original range into the range +/- Tolerance JDFNumberRangeList rangeList = new JDFNumberRangeList(origRangeList); JDFNumberRangeList tolRangeList = new JDFNumberRangeList(); int size = rangeList.Count; for (int i = 0; i < size; i++) { JDFNumberRange range = (JDFNumberRange)rangeList[i]; JDFNumberRange r = new JDFNumberRange(); r.Left = range.Left - nt; r.Right = range.Right + pt; tolRangeList.Append(r); } return(tolRangeList); }
public void testFitsValue() { JDFParser p = new JDFParser(); string strNode = "<NumberState Name=\"BitDepth\" DefaultValue=\"1\" AllowedValueList=\"1 8.5 12\"/>"; JDFDoc jdfDoc = p.parseString(strNode); JDFNumberState state = (JDFNumberState)jdfDoc.getRoot(); JDFNumberRangeList list = new JDFNumberRangeList(); list.Append(new JDFNumberRange(1, 12.5)); // 1~12 // list.append(12); state.setListType(EnumListType.RangeList); Assert.IsFalse(state.fitsValue(list.ToString(), EnumFitsValue.Allowed), "ListType=RangeList"); JDFNumberRangeList list2 = new JDFNumberRangeList(); list2.Append(new JDFNumberRange(1, 12.5)); // 1~-2 JDFNumberRangeList allowedVL = new JDFNumberRangeList(); allowedVL.Append(new JDFNumberRange(1, 32.666)); // 1~32 state.setAllowedValueList(allowedVL); // new AllowedVlaueList Assert.IsTrue(state.fitsValue(list2.ToString(), EnumFitsValue.Allowed)); list.erase(list.Count - 1); // erase "1~12" list.Append(2); list.Append(12); list.Append(22); state.setListType(EnumListType.List); state.setAllowedValueMod(new JDFXYPair(10, 2)); Assert.IsTrue(state.fitsValue(list.ToString(), EnumFitsValue.Allowed), "ListType=List, ValueMod=" + state.getAllowedValueMod()); }