Пример #1
0
        void GRGEN_LIBGR.IAction.Filter(GRGEN_LIBGR.IActionExecutionEnvironment actionEnv, GRGEN_LIBGR.IMatches matches, GRGEN_LIBGR.FilterCall filter)
        {
            if (filter.IsAutoSupplied)
            {
                switch (filter.Name)
                {
                case "keepFirst": matches.FilterKeepFirst((int)(filter.ArgumentExpressions[0] != null ? filter.ArgumentExpressions[0].Evaluate((GRGEN_LIBGR.IGraphProcessingEnvironment)actionEnv) : filter.Arguments[0])); break;

                case "keepLast": matches.FilterKeepLast((int)(filter.ArgumentExpressions[0] != null ? filter.ArgumentExpressions[0].Evaluate((GRGEN_LIBGR.IGraphProcessingEnvironment)actionEnv) : filter.Arguments[0])); break;

                case "keepFirstFraction": matches.FilterKeepFirstFraction((double)(filter.ArgumentExpressions[0] != null ? filter.ArgumentExpressions[0].Evaluate((GRGEN_LIBGR.IGraphProcessingEnvironment)actionEnv) : filter.Arguments[0])); break;

                case "keepLastFraction": matches.FilterKeepLastFraction((double)(filter.ArgumentExpressions[0] != null ? filter.ArgumentExpressions[0].Evaluate((GRGEN_LIBGR.IGraphProcessingEnvironment)actionEnv) : filter.Arguments[0])); break;

                case "removeFirst": matches.FilterRemoveFirst((int)(filter.ArgumentExpressions[0] != null ? filter.ArgumentExpressions[0].Evaluate((GRGEN_LIBGR.IGraphProcessingEnvironment)actionEnv) : filter.Arguments[0])); break;

                case "removeLast": matches.FilterRemoveLast((int)(filter.ArgumentExpressions[0] != null ? filter.ArgumentExpressions[0].Evaluate((GRGEN_LIBGR.IGraphProcessingEnvironment)actionEnv) : filter.Arguments[0])); break;

                case "removeFirstFraction": matches.FilterRemoveFirstFraction((double)(filter.ArgumentExpressions[0] != null ? filter.ArgumentExpressions[0].Evaluate((GRGEN_LIBGR.IGraphProcessingEnvironment)actionEnv) : filter.Arguments[0])); break;

                case "removeLastFraction": matches.FilterRemoveLastFraction((double)(filter.ArgumentExpressions[0] != null ? filter.ArgumentExpressions[0].Evaluate((GRGEN_LIBGR.IGraphProcessingEnvironment)actionEnv) : filter.Arguments[0])); break;

                default: throw new Exception("Unknown auto supplied filter name!");
                }
                return;
            }
            switch (filter.FullName)
            {
            default: throw new Exception("Unknown filter name!");
            }
        }
Пример #2
0
 public List <object[]> ModifyAll(GRGEN_LIBGR.IActionExecutionEnvironment actionEnv, GRGEN_LIBGR.IMatches matches)
 {
     ModifyAll(actionEnv, (GRGEN_LIBGR.IMatchesExact <Rule_testRule.IMatch_testRule>)matches);
     while (AvailableReturnArrays.Count < matches.Count)
     {
         AvailableReturnArrays.Add(new object[0]);
     }
     ReturnArrayListForAll.Clear();
     for (int i = 0; i < matches.Count; ++i)
     {
         ReturnArrayListForAll.Add(AvailableReturnArrays[i]);
     }
     return(ReturnArrayListForAll);
 }