public override object Read(string path) { var obj = new DecomposeParDictData(); string txt = Load(path); var grammar = new OpenFoamGrammar(); var parser = new Parser(grammar); var tree = parser.Parse(txt); foreach (ParseTreeNode rootEntryNode in tree.Root.FindDictEntries(null)) { var identifier = rootEntryNode.GetEntryIdentifier(); switch (identifier) { case "numberOfSubdomains": obj.numberOfSubdomains = rootEntryNode.GetBasicValInt(); break; case "method": obj.method = rootEntryNode.GetBasicValEnum<DecompositionMethod>(); break; case "hierarchicalCoeffs": obj.hCoefs = GetHierarchicalCoeffs(rootEntryNode.GetDictContent()); break; } } return obj; }
public override object Read(string path) { var obj = new DecomposeParDictData(); string txt = Load(path); var grammar = new OpenFoamGrammar(); var parser = new Parser(grammar); var tree = parser.Parse(txt); foreach (ParseTreeNode rootEntryNode in tree.Root.FindDictEntries(null)) { var identifier = rootEntryNode.GetEntryIdentifier(); switch (identifier) { case "numberOfSubdomains": obj.numberOfSubdomains = rootEntryNode.GetBasicValInt(); break; case "method": obj.method = rootEntryNode.GetBasicValEnum <DecompositionMethod>(); break; case "hierarchicalCoeffs": obj.hCoefs = GetHierarchicalCoeffs(rootEntryNode.GetDictContent()); break; } } return(obj); }