Exemplo n.º 1
0
        private IAgCrdnCondition CreateCondition(IAgStkObject stkObject, string name, IAgCrdnCalcScalar scalar, AgECrdnConditionThresholdOption operation, double value)
        {
            IAgCrdnConditionFactory factory = stkObject.Vgt.Conditions.Factory;

            // Check if component exists.
            CheckExistingVgtComponent(stkObject.Vgt.Conditions, name);

            IAgCrdnConditionScalarBounds condition = factory.CreateConditionScalarBounds(name, "") as IAgCrdnConditionScalarBounds;

            condition.Scalar    = scalar;
            condition.Operation = operation;

            // Min/Max must be IAgQuantity
            IAgQuantity valueQuantity = CommonData.StkRoot.ConversionUtility.NewQuantity("Angle", "deg", value);

            if (operation == AgECrdnConditionThresholdOption.eCrdnConditionThresholdOptionAboveMin)
            {
                condition.SetMinimum(valueQuantity);
            }
            else if (operation == AgECrdnConditionThresholdOption.eCrdnConditionThresholdOptionBelowMax)
            {
                condition.SetMaximum(valueQuantity);
            }

            return(condition as IAgCrdnCondition);
        }
Exemplo n.º 2
0
        private IAgCrdnCondition CreateCondition(IAgStkObject stkObject, string name, IAgCrdnCalcScalar scalar, AgECrdnConditionThresholdOption operation, double minimum, double maximum)
        {
            IAgCrdnConditionFactory factory = stkObject.Vgt.Conditions.Factory;

            // Check if component exists.
            CheckExistingVgtComponent(stkObject.Vgt.Conditions, name);

            IAgCrdnConditionScalarBounds condition = factory.CreateConditionScalarBounds(name, "") as IAgCrdnConditionScalarBounds;

            condition.Scalar    = scalar;
            condition.Operation = operation;

            // Min/Max must be IAgQuantity
            IAgQuantity minQuantity = CommonData.StkRoot.ConversionUtility.NewQuantity("Angle", "deg", minimum);
            IAgQuantity maxQuantity = CommonData.StkRoot.ConversionUtility.NewQuantity("Angle", "deg", maximum);

            condition.Set(minQuantity, maxQuantity);

            return(condition as IAgCrdnCondition);
        }
Exemplo n.º 3
0
        public static IAgCrdnConditionScalarBounds GetCreateConditionScalarBounds(IAgCrdnProvider vgtPrv, IAgCrdnCalcScalar cScalar, string conditionName, AgECrdnConditionThresholdOption option)
        {
            IAgCrdnConditionScalarBounds condition;

            //create condition
            if (vgtPrv.Conditions.Contains(conditionName))
            {
                condition = (IAgCrdnConditionScalarBounds)vgtPrv.Conditions[conditionName];
            }
            else
            {
                condition = (IAgCrdnConditionScalarBounds)vgtPrv.Conditions.Factory
                            .CreateConditionScalarBounds(conditionName, "");
            }
            condition.Operation = option;
            condition.Scalar    = cScalar;

            return(condition);
        }