示例#1
0
        public NewCuboid()
        {
            FeatureCurves    = ArrayUtils.Generate <EnhancedPrimitiveCurve>(12);
            SilhouetteCurves = ArrayUtils.Generate <PrimitiveCurve>(0);
            //The Center of the Cube
            Center = new PointParameter();
            //The <H, W, D> is the orthonomal system alligned to the Height Width and Depth of the Cuboid
            //
            H      = new VectorParameter();
            W      = new VectorParameter();
            D      = new VectorParameter();
            Height = new ValueParameter();
            Width  = new ValueParameter();
            Depth  = new ValueParameter();

            RegisterParameter(() => Center);
            RegisterParameter(() => H);
            RegisterParameter(() => W);
            RegisterParameter(() => D);
            RegisterParameter(() => Height);
            RegisterParameter(() => Width);
            RegisterParameter(() => Depth);

            ActiveCubicCorner = -1;
        }
		public void ValueParameterReturnsStoredTypeAndValue()
		{
			ValueParameter<int> x = new ValueParameter<int>(12);

			Assert.AreEqual(typeof (int), x.GetParameterType(null));
			Assert.AreEqual(12, x.GetValue(null));
		}
        public List <string> getAppropriateValues(List <string> obtainedValues, int selectionId, int parameterId)
        {
            //
            //       float valueDec = Convert.ToSingle(value.Replace(".", ","));
            //Формируем выборку для заданного параметра
            List <Entity> selectionRows = SelectionRow.where (new Query("SelectionRow").addTypeQuery(TypeQuery.select)
                                                              .addCondition("SelectionID", "=", selectionId.ToString()), typeof(SelectionRow));

            List <float> valuesForCurrParameter = new List <float>();

            foreach (Entity selRow in selectionRows)
            {
                int           selectionRowId       = selRow.ID;
                List <Entity> valueForParamFromRow = ValueParameter.where (new Query("ValueParameter").addTypeQuery(TypeQuery.select)
                                                                           .addCondition("ParameterID", "=", parameterId.ToString())
                                                                           .addCondition("SelectionRowID", "=", selectionRowId.ToString()), typeof(ValueParameter));

                string numberStr = ((ValueParameter)valueForParamFromRow[0]).Value;
                float  number    = Convert.ToSingle(numberStr.Replace(".", ","));
                valuesForCurrParameter.Add(number);
            }
            valuesForCurrParameter.Sort();
            //находим в выборке соответсвующее значение для value (переданного аргумента) и присваиваем его appropriateValue
            float         step = 0;
            List <string> appropriateValues = new List <string>();

            for (int j = 0; j < obtainedValues.Count; j++)
            {
                float obtainedValue = Convert.ToSingle(obtainedValues[j].Replace(".", ","));

                float prev = valuesForCurrParameter[0];
                for (int i = 1; i < valuesForCurrParameter.Count; i++)
                {
                    float next = valuesForCurrParameter[i];
                    step = Math.Abs(next - prev);
                    if ((obtainedValue - prev) <= (step / 2))
                    {
                        appropriateValues.Add(prev.ToString());
                        break;
                    }
                    prev = next;
                }
                //проверка на выод за границу диапозона значений в выборке ???
                if (appropriateValues[j].Equals(""))
                {
                    float firstVal = valuesForCurrParameter[0];
                    float lastVal  = valuesForCurrParameter[valuesForCurrParameter.Count - 1];
                    if (obtainedValue >= lastVal)
                    {
                        appropriateValues[j] = lastVal.ToString();
                    }
                    else if (obtainedValue <= firstVal)
                    {
                        appropriateValues[j] = firstVal.ToString();
                    }
                }
            }
            return(appropriateValues);
        }
示例#4
0
        /// <summary>
        /// Takes a <see cref="ValueParameter"/> object and formats it into an http safe GET query string.
        /// </summary>
        /// <returns>a string in the format of '{key}={value}'</returns>
        protected virtual string GetValueParameterAsHttpQueryString(ValueParameter target)
        {
            if (target == null)
            {
                throw new ArgumentNullException(nameof(target));
            }

            var delimitedQueryString = target.ToString("=");
            var uriEscapedString     = Uri.EscapeUriString(delimitedQueryString);

            return(uriEscapedString);
        }
示例#5
0
        public NewCylindricalPrimitive()
        {
            FeatureCurves    = ArrayUtils.Generate <PrimitiveCurve>(2);
            SilhouetteCurves = ArrayUtils.Generate <PrimitiveCurve>(2);

            Center = new PointParameter();
            Axis   = new VectorParameter();
            Length = new ValueParameter();

            RegisterParameter(() => Center);
            RegisterParameter(() => Axis);
            RegisterParameter(() => Length);
        }
示例#6
0
文件: KppImpl.cs 项目: desla/AREVA
        public ValueParameter GetValue(QueryParameter aParameter)
        {
            foreach (var opcTag in opcTags) {
                if (opcTag.Name == aParameter.OpcTag) {
                    var valueParameter = new ValueParameter();
                    valueParameter.Name = aParameter.Name;
                    valueParameter.Value = Convert.ToDouble(opcTag.ReadCurrentValue());
                    return valueParameter;
                }
            }

            throw new ArgumentException("Не найден ОРС тег " + aParameter.OpcTag);
        }
示例#7
0
        public List <List <Object> > getListValues(int selectionId)
        {
            Selection     selection      = ((Selection)dms.services.DatabaseManager.SharedManager.entityById(selectionId, typeof(Selection)));
            int           taskTemplateId = selection.ID;
            List <Entity> parameters     = dms.models.Parameter.where (new Query("Parameter").addTypeQuery(TypeQuery.select)
                                                                       .addCondition("TaskTemplateID", "=", taskTemplateId.ToString()), typeof(dms.models.Parameter));
            List <Entity> selectionRows = SelectionRow.where (new Query("SelectionRow").addTypeQuery(TypeQuery.select)
                                                              .addCondition("SelectionID", "=", selectionId.ToString()), typeof(SelectionRow));

            List <List <Object> > values = new List <List <Object> >();

            int stepRow = 0;

            foreach (Entity selRow in selectionRows)
            {
                int selectionRowId = selRow.ID;
                int stepParam      = 0;
                foreach (Entity param in parameters)
                {
                    TypeParameter type = ((dms.models.Parameter)param).Type;

                    int           paramId = param.ID;
                    List <Entity> value   = ValueParameter.where (new Query("ValueParameter").addTypeQuery(TypeQuery.select)
                                                                  .addCondition("ParameterID", "=", paramId.ToString()).
                                                                  addCondition("SelectionRowID", "=", selectionRowId.ToString()), typeof(ValueParameter));

                    switch (type)
                    {
                    case TypeParameter.Real:
                        values[stepRow][stepParam] = Convert.ToDouble((((ValueParameter)value[0]).Value).Replace(".", ","));
                        break;

                    case TypeParameter.Int:
                        values[stepRow][stepParam] = Convert.ToInt32(((ValueParameter)value[0]).Value);
                        break;

                    case TypeParameter.Enum:
                        values[stepRow][stepParam] = ((ValueParameter)value[0]).Value;
                        break;

                    default:
                        break;
                    }

                    stepParam++;
                }
                stepRow++;
            }

            return(values);
        }
示例#8
0
        internal static KotlinValueParameter FromProtobuf(ValueParameter vp, JvmNameResolver resolver)
        {
            if (vp is null)
            {
                return(null);
            }

            return(new KotlinValueParameter {
                Flags = vp.Flags,
                Name = resolver.GetString(vp.Name),
                Type = KotlinType.FromProtobuf(vp.Type, resolver),
                TypeId = vp.TypeId,
                VarArgElementType = KotlinType.FromProtobuf(vp.VarargElementType, resolver),
                VarArgElementTypeId = vp.VarargElementTypeId
            });
        }
示例#9
0
        public void DefaultValue_Test()
        {
            ValueParameter av = new ValueParameter("av", "tt", true);
            ValueParameter bv = new ValueParameter("bv", "bv", "ttbv");

            Parser arg = new Parser();

            arg.AddArguments(av, bv)
            ;
            arg.Parse(new string[] {
                "mwwtools", "io", "synch", @"/a", @"tt"
            });

            Assert.IsTrue(av.Defined);
            Assert.AreEqual("tt", av.Value);
            Assert.IsTrue(bv.Defined);
            Assert.AreEqual("ttbv", bv.Value);
        }
示例#10
0
        public Object[][] getValues(int selectionId)
        {
            Selection     selection      = ((Selection)dms.services.DatabaseManager.SharedManager.entityById(selectionId, typeof(Selection)));
            int           taskTemplateId = selection.ID;
            List <Entity> parameters     = dms.models.Parameter.where (new Query("Parameter").addTypeQuery(TypeQuery.select)
                                                                       .addCondition("TaskTemplateID", "=", taskTemplateId.ToString()), typeof(dms.models.Parameter));
            List <Entity> inputParams  = new List <Entity>();
            List <Entity> outputParams = new List <Entity>();

            foreach (Entity param in parameters)
            {
                models.Parameter p = (models.Parameter)param;
                if (p.IsOutput == 0)
                {
                    inputParams.Add(param);
                }
                else
                {
                    outputParams.Add(param);
                }
            }

            List <Entity> selectionRows = SelectionRow.where (new Query("SelectionRow").addTypeQuery(TypeQuery.select)
                                                              .addCondition("SelectionID", "=", selectionId.ToString()), typeof(SelectionRow));

            Object[][] valuesX = new Object[selectionRows.Count][];
            Object[][] valuesY = new Object[selectionRows.Count][];

            int stepRow = 0;

            foreach (Entity selRow in selectionRows)
            {
                for (int i = 0; i < 2; i++)
                {
                    if (i == 0)
                    {
                        valuesX[stepRow] = new Object[inputParams.Count];
                        parameters       = inputParams;
                    }
                    else
                    {
                        valuesY[stepRow] = new Object[outputParams.Count];
                        parameters       = outputParams;
                    }

                    int selectionRowId = selRow.ID;
                    int stepParam      = 0;
                    foreach (Entity param in parameters)
                    {
                        TypeParameter type = ((dms.models.Parameter)param).Type;

                        int           paramId = param.ID;
                        List <Entity> value   = ValueParameter.where (new Query("ValueParameter").addTypeQuery(TypeQuery.select)
                                                                      .addCondition("ParameterID", "=", paramId.ToString()).
                                                                      addCondition("SelectionRowID", "=", selectionRowId.ToString()), typeof(ValueParameter));
                        if (i == 0)
                        {
                            switch (type)
                            {
                            case TypeParameter.Real:
                                valuesX[stepRow][stepParam] = Convert.ToDouble((((ValueParameter)value[0]).Value).Replace(".", ","));
                                break;

                            case TypeParameter.Int:
                                valuesX[stepRow][stepParam] = Convert.ToInt32(((ValueParameter)value[0]).Value);
                                break;

                            case TypeParameter.Enum:
                                valuesX[stepRow][stepParam] = ((ValueParameter)value[0]).Value;
                                break;

                            default:
                                break;
                            }
                        }
                        else
                        {
                            switch (type)
                            {
                            case TypeParameter.Real:
                                valuesY[stepRow][stepParam] = Convert.ToDouble((((ValueParameter)value[0]).Value).Replace(".", ","));
                                break;

                            case TypeParameter.Int:
                                valuesY[stepRow][stepParam] = Convert.ToInt32(((ValueParameter)value[0]).Value);
                                break;

                            case TypeParameter.Enum:
                                valuesY[stepRow][stepParam] = ((ValueParameter)value[0]).Value;
                                break;

                            default:
                                break;
                            }
                        }
                        stepParam++;
                    }
                }
                stepRow++;
            }

            return(null);//values;
        }
 public int VisitValueParameter(ValueParameter ast, Frame frame)
 {
     return(ast.Expression.Visit(this, frame));
 }