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; }
}
}