public DAGMask execute(int width, int height) { List<int> outputNodes = findIndexesOfNodesOfType(typeof(Device_ToCurrentMask)); if(outputNodes.Count ==0) { MessageBox.Show("Error: Cannot compute graph:\n Missing ToCurrentMask output node", "Cannot execute graph", MessageBoxButtons.OK, MessageBoxIcon.Error); return null; } else if (outputNodes.Count > 1) { MessageBox.Show("Error: Cannot compute graph:\n Multiple ToCurrentMask output nodes found.", "Cannot execute graph", MessageBoxButtons.OK, MessageBoxIcon.Error); return null; } Device_ToCurrentMask dcm = mNodes[outputNodes[0]] as Device_ToCurrentMask; OutputGenerationParams ogp = new OutputGenerationParams(); ogp.Width = width; ogp.Height = height; if (!dcm.computeOutput(null, ogp)) return null; DAGMask dMask = dcm.ResultMask.Clone(); return dMask; }
private void toCurrentMaskOutputToolStripMenuItem_Click(object sender, EventArgs e) { Device_ToCurrentMask gn = new Device_ToCurrentMask(this); mNodes.Add(gn); }