CSharpGL.ZeroIndexRenderer.GetPointSearcher C# (CSharp) Method

GetPointSearcher() private static method

private static GetPointSearcher ( DrawMode mode ) : ZeroIndexPointSearcher
mode DrawMode
return ZeroIndexPointSearcher
        private static ZeroIndexPointSearcher GetPointSearcher(DrawMode mode)
        {
            if (pointSearcherDict == null)
            {
                var dict = new Dictionary<DrawMode, ZeroIndexPointSearcher>();
                dict.Add(DrawMode.Triangles, new ZeroIndexPointInTriangleSearcher());
                dict.Add(DrawMode.TrianglesAdjacency, new ZeroIndexPointInTrianglesAdjacencySearcher());
                dict.Add(DrawMode.TriangleStrip, new ZeroIndexPointInTriangleStripSearcher());
                dict.Add(DrawMode.TriangleStripAdjacency, new ZeroIndexPointInTriangleStripAdjacencySearcher());
                dict.Add(DrawMode.TriangleFan, new ZeroIndexPointInTriangleFanSearcher());
                dict.Add(DrawMode.Quads, new ZeroIndexPointInQuadSearcher());
                dict.Add(DrawMode.QuadStrip, new ZeroIndexPointInQuadStripSearcher());
                dict.Add(DrawMode.Polygon, new ZeroIndexPointInPolygonSearcher());

                pointSearcherDict = dict;
            }

            ZeroIndexPointSearcher result = null;
            if (pointSearcherDict.TryGetValue(mode, out result))
            { return result; }
            else
            { return null; }
        }
    }