public static int ProcessArgs(string argsInString) { List <string> commands = new List <string>(); foreach (string command in SplitCommandLine.DoSplit(argsInString)) { commands.Add(command); } string[] args = commands.ToArray(); return(ProcessArgs(args)); }
public static int ProcessArgs(string[] args, ConfigSettings config, FffProcessor processor) { for (int argn = 0; argn < args.Length; argn++) { string str = args[argn]; if (str[0] == '-') { for (int stringIndex = 1; stringIndex < str.Length; stringIndex++) { switch (str[stringIndex]) { case 'h': print_usage(); return(0); case 'v': LogOutput.verbose_level++; break; case 'o': argn++; if (!processor.SetTargetFile(args[argn])) { LogOutput.LogError("Failed to open {0} for output.\n".FormatWith(args[argn])); return(1); } break; case 'c': { // Read a config file from the given path argn++; if (!config.ReadSettings(args[argn])) { LogOutput.LogError("Failed to read config '{0}'\n".FormatWith(args[argn])); } // process any matrix and mesh requested by config file List <string> commands = new List <string>(); foreach (string command in SplitCommandLine.DoSplit(config.AdditionalArgsToProcess)) { commands.Add(command); } string[] subArgs = commands.ToArray(); ProcessArgs(subArgs, config, processor); } break; case 'd': config.DumpSettings("settings.ini"); break; case 's': { argn++; int equalsPos = args[argn].IndexOf('='); if (equalsPos != -1) { string key = args[argn].Substring(0, equalsPos); string value = args[argn].Substring(equalsPos + 1); if (key.Length > 1) { if (!config.SetSetting(key, value)) { LogOutput.LogError("Setting not found: {0} {1}\n".FormatWith(key, value)); } } } } break; case 'm': argn++; string[] matrixValues = args[argn].Split(','); var loadedMatrix = Matrix4X4.Identity; for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { string valueString = matrixValues[i * 4 + j]; double value; if (double.TryParse(valueString, out value)) { loadedMatrix[i, j] = value; } } } config.ModelMatrix = loadedMatrix; break; default: throw new NotImplementedException("Unknown option: {0}\n".FormatWith(str)); // LogOutput.logError("Unknown option: {0}\n".FormatWith(str)); // break; } } } else { using (new QuickTimer2("LoadStlFile")) { processor.LoadStlFile(args[argn]); } } } return(1); }