public FBPGraph GenerateFBPGraph(string filepath) { ReplacementConfiguration config = utility.ReadConfigurationFromFile(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "ICANSEEDrwReplacementConfiguration.json")); FBPGraph graph = helper.GenerateFBPGraphFromDrwFile(File.OpenRead(filepath), config); return(graph); }
//public string ExecutePreset(int cameraId, string presetId) //{ // CameraConfiguration cameraConfiguration = helper.QueryCameraDescription(cameraId); // return helper.ExecutePreset(presetId, cameraConfiguration); //} public FBPGraph ReadFBPConfiguration(string filepath) { ReplacementConfiguration config = utility.ReadConfigurationFromFile(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "ICANSEEDrwReplacementConfiguration.json")); FBPGraph graph = helper.GenerateFBPGraphFromDrwFile(File.OpenRead(filepath), config); // Debug Replacers string dumpOfConvertedValue = string.Empty; foreach (var pair in graph.GetBlockFromId) { dumpOfConvertedValue += pair.Value.description + "\r\n\r\n\r\n"; } File.WriteAllText("Debug Replacers Result.txt", dumpOfConvertedValue); return(graph); }
public FBPGraph GenerateFBPGraphFromDrwFile(Stream drwFileStream, ReplacementConfiguration configuration) { XPathDocument xmlPathDoc = new XPathDocument(drwFileStream); XPathNavigator navigator = xmlPathDoc.CreateNavigator(); XPathNodeIterator blockIterator = navigator.SelectDescendants("block", "", false); XPathNodeIterator connectionIterator = navigator.SelectDescendants("connection", "", false); int count = connectionIterator.Count; List <DrwBlock> blocks = new List <DrwBlock>(); List <DrwConnection> connections = new List <DrwConnection>(); while (blockIterator.MoveNext()) { XPathNavigator nav = blockIterator.Current.Clone(); DrwBlock block = utility.ExtractDrwBlockFromNav(nav, configuration); if (block != null) { blocks.Add(block); } } while (connectionIterator.MoveNext()) { XPathNavigator nav = connectionIterator.Current.Clone(); DrwConnection connection = utility.ExtractDrwConnectionFromNav(nav); if (connection != null) { connections.Add(connection); } } FBPGraph graph = new FBPGraph(blocks, connections); return(graph); }