コード例 #1
0
ファイル: UIExtensions.cs プロジェクト: darkmice/RapidCMS
        private static void PopulateProperties(ExpressionFieldUI ui, ExpressionField field)
        {
            PopulateBaseProperties(ui, field);

            ui.Expression = field.Expression;
            ui.Type       = field.DisplayType;
        }
コード例 #2
0
        public ClLinearInequality(ClLinearExpression cle1, Cl.Operator op, ClLinearExpression cle2, ClStrength strength, double weight = 1.0)
            : base(cle2.Clone(), strength, weight)
            /* throws ExClInternalError */
        {
            const double EPSILON = 1e-8;

            switch (op)
            {
            case Cl.Operator.GreaterThanOrEqualTo:
                SetupGreaterThanOrEqualTo(cle1);
                break;

            case Cl.Operator.GreaterThan:
                SetupGreaterThanOrEqualTo(cle1);
                ExpressionField.IncrementConstant(-EPSILON);
                break;

            case Cl.Operator.LessThanOrEqualTo:
                SetupLessThanOrEqualTo(cle1);
                break;

            case Cl.Operator.LessThan:
                SetupLessThanOrEqualTo(cle1);
                ExpressionField.IncrementConstant(-EPSILON);
                break;

            default:
                // invalid operator
                throw new CassowaryInternalException("Invalid operator in ClLinearInequality constructor");
            }
        }
コード例 #3
0
 public ClLinearEquation(ClLinearExpression cle1, ClLinearExpression cle2, ClStrength strength, double weight = 1.0)
     : base(cle1.Clone(), strength, weight)
 {
     ExpressionField.AddExpression(cle2, -1.0);
 }
コード例 #4
0
 public ClLinearEquation(ClLinearExpression cle, ClAbstractVariable clv, ClStrength strength, double weight = 1.0)
     : base(cle.Clone(), strength, weight)
 {
     ExpressionField.AddVariable(clv, -1.0);
 }
コード例 #5
0
 public ClLinearEquation(ClAbstractVariable clv, double val, ClStrength strength, double weight = 1.0)
     : base(new ClLinearExpression(val), strength, weight)
 {
     ExpressionField.AddVariable(clv, -1.0);
 }
コード例 #6
0
 private void SetupLessThanOrEqualTo(ClLinearExpression expr)
 {
     ExpressionField.AddExpression(expr, -1.0);
 }
コード例 #7
0
 private void SetupGreaterThanOrEqualTo(ClLinearExpression expr)
 {
     ExpressionField.MultiplyMe(-1.0);
     ExpressionField.AddExpression(expr);
 }