Analyzer.DConnectorMotifDetector.AddDConnectorMotif C# (CSharp) Method

AddDConnectorMotif() private static method

private static AddDConnectorMotif ( HashSet currentDConnectorMotifs, DConnectorMotif>.Dictionary verticesAlreadyInDConnectorMotifs, DConnectorMotif connectorMotifToAdd ) : void
currentDConnectorMotifs HashSet
verticesAlreadyInDConnectorMotifs DConnectorMotif>.Dictionary
connectorMotifToAdd DConnectorMotif
return void
        private static void AddDConnectorMotif
            (HashSet<Motif> currentDConnectorMotifs, Dictionary<IVertex, DConnectorMotif> verticesAlreadyInDConnectorMotifs, DConnectorMotif connectorMotifToAdd)
        {
            // Assert that there are no shared anchor and span vertices
            Debug.Assert(connectorMotifToAdd.SpanVertices.Intersect<IVertex>(connectorMotifToAdd.AnchorVertices).Count<IVertex>() == 0);

            currentDConnectorMotifs.Add(connectorMotifToAdd);

            foreach (IVertex oVertex in connectorMotifToAdd.SpanVertices)
            {
                // We do not allow overlapping span vertices so we use .Add
                verticesAlreadyInDConnectorMotifs.Add(oVertex, connectorMotifToAdd);
            }

            foreach (IVertex oVertex in connectorMotifToAdd.AnchorVertices)
            {
                // We allow overlapping anchor vertices so we use =
                verticesAlreadyInDConnectorMotifs[oVertex] = connectorMotifToAdd;
            }
        }