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!"); } }
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); }