Smrf.NodeXL.Visualization.Wpf.GraphDrawer.TryGetVertexFromPoint C# (CSharp) Method

TryGetVertexFromPoint() public method

public TryGetVertexFromPoint ( Point point, IVertex &vertex ) : System.Boolean
point Point
vertex IVertex
return System.Boolean
    TryGetVertexFromPoint
    (
        Point point,
        out IVertex vertex
    )
    {
        AssertValid();

        vertex = null;

        if (m_oAllVertexDrawingVisuals == null)
        {
            // The graph hasn't been drawn yet.

            return (false);
        }

        // The vertices are represented by DrawingVisual child objects of
        // m_oAllVertexDrawingVisuals.

        HitTestResult oHitTestResult =
            m_oAllVertexDrawingVisuals.HitTest(point);

        if (oHitTestResult != null)
        {
            DependencyObject oVisualHit = oHitTestResult.VisualHit;

            if ( typeof(DrawingVisual).IsInstanceOfType(oVisualHit) )
            {
                // Retrieve the vertex.

                vertex = RetrieveVertexFromDrawingVisual(
                    (DrawingVisual)oVisualHit);

                return (true);
            }
        }

        return (false);
    }