コード例 #1
0
        ///
        ///	 <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);
        }
コード例 #2
0
ファイル: JDFNumberStateTest.cs プロジェクト: cip4/JDFLibNet
        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());
        }