public AngleArcEquation(GroundedClause l, GroundedClause r) : base(l, r)
        {
            double sumL = SumSide(l.CollectTerms());
            double sumR = SumSide(r.CollectTerms());

            if (!Utilities.CompareValues(sumL, sumR))
            {
                throw new ArgumentException("Angle-Arc equation is inaccurate; sums differ: " + l + " " + r);
            }
        }
Exemple #2
0
        public AngleEquation(GroundedClause l, GroundedClause r)
            : base(l, r)
        {
            double sumL = SumSide(l.CollectTerms());
            double sumR = SumSide(r.CollectTerms());

            if (!Utilities.CompareValues(sumL, sumR))
            {
                throw new ArgumentException("Angle equation is inaccurate; sums differ: " + l + " " + r);
            }
        }
        public SegmentEquation(GroundedClause l, GroundedClause r) : base(l, r)
        {
            double sumL = SumSide(l.CollectTerms());
            double sumR = SumSide(r.CollectTerms());

            //if (!Utilities.CompareValues(sumL, sumR))
            //{
            //    throw new ArgumentException("Segment equation is inaccurate; sums differ: " + l + " = " + r);
            //}
            if (Utilities.CompareValues(sumL, 0) && Utilities.CompareValues(sumR, 0))
            {
                throw new ArgumentException("Should not have an equation that is 0 = 0: " + this.ToString());
            }
        }
Exemple #4
0
        public ArcEquation(GroundedClause l, GroundedClause r)
            : base(l, r)
        {
            double sumL = SumSide(l.CollectTerms());
            double sumR = SumSide(r.CollectTerms());

            //if (!Utilities.CompareValues(sumL, sumR))
            //{
            //    throw new ArgumentException("Segment equation is inaccurate; sums differ: " + l + " = " + r);
            //}
            if (Utilities.CompareValues(sumL, 0) && Utilities.CompareValues(sumR, 0))
            {
                throw new ArgumentException("Should not have an equation that is 0 = 0: " + this.ToString());
            }
        }
Exemple #5
0
        public override List <GroundedClause> CollectTerms()
        {
            List <GroundedClause> list = new List <GroundedClause>();

            list.AddRange(leftExp.CollectTerms());

            foreach (GroundedClause gc in rightExp.CollectTerms())
            {
                GroundedClause copyGC = gc.DeepCopy();

                list.Add(copyGC);
            }

            return(list);
        }