private static OneIndexLineSearcher GetLineSearcher(DrawMode mode) { if (lineSearcherDict == null) { var triangle = new OneIndexLineInTriangleSearcher(); var quad = new OneIndexLineInQuadSearcher(); var polygon = new OneIndexLineInPolygonSearcher(); var dict = new Dictionary<DrawMode, OneIndexLineSearcher>(); dict.Add(DrawMode.Triangles, triangle); dict.Add(DrawMode.TrianglesAdjacency, triangle); dict.Add(DrawMode.TriangleStrip, triangle); dict.Add(DrawMode.TriangleStripAdjacency, triangle); dict.Add(DrawMode.TriangleFan, triangle); dict.Add(DrawMode.Quads, quad); dict.Add(DrawMode.QuadStrip, quad); dict.Add(DrawMode.Polygon, polygon); lineSearcherDict = dict; } OneIndexLineSearcher result = null; if (lineSearcherDict.TryGetValue(mode, out result)) { return result; } else { return null; } }
private static OneIndexLineSearcher GetLineSearcher(DrawMode mode) { if (lineSearcherDict == null) { var triangle = new OneIndexLineInTriangleSearcher(); var quad = new OneIndexLineInQuadSearcher(); var polygon = new OneIndexLineInPolygonSearcher(); var dict = new Dictionary <DrawMode, OneIndexLineSearcher>(); dict.Add(DrawMode.Triangles, triangle); dict.Add(DrawMode.TrianglesAdjacency, triangle); dict.Add(DrawMode.TriangleStrip, triangle); dict.Add(DrawMode.TriangleStripAdjacency, triangle); dict.Add(DrawMode.TriangleFan, triangle); dict.Add(DrawMode.Quads, quad); dict.Add(DrawMode.QuadStrip, quad); dict.Add(DrawMode.Polygon, polygon); lineSearcherDict = dict; } OneIndexLineSearcher result = null; if (lineSearcherDict.TryGetValue(mode, out result)) { return(result); } else { return(null); } }