public void AddListSite(string junctionName, ProbeOrientation orientation, ProbeFunction function, Point location) { var newPoint = new ProbeSite { JunctionName = junctionName, Orientation = orientation.ToString(), Function = function.ToDescription(), Position = location }; ExistingData.Add(newPoint); dataGridView1.Rows.Add(newPoint.JunctionName, newPoint.Position.X + "," + newPoint.Position.Y, newPoint.Function, 0, 0, 0, newPoint.TopWidth, newPoint.BottomWidth, newPoint.Area); GetFirstCorner(); }
public void Probe(List <Token> tokens) { var listStack = new Stack <List <Token> >(); listStack.Push(tokens); while (listStack.Count > 0) { var currentTokens = listStack.Pop(); for (int i = 0; i < currentTokens.Count; i++) { var token = currentTokens[i]; if (token is CollectionToken collection) { listStack.Push(collection.Children); } switch (token.Type) { case TokenType.Function: ProbeFunction?.Invoke((FunctionToken)token); break; case TokenType.Name: ProbeReference?.Invoke((ValueToken)token); break; case TokenType.Operator: { var left = i > 0 ? currentTokens[i - 1] : default; var right = i + 1 < currentTokens.Count ? currentTokens[i + 1] : default; ProbeOperator?.Invoke((ValueToken)token, left, right); break; } } } } }