private static void AddVertRef(int key, int value, TssVertexRefMap refMap) { List <int> refLst; if (refMap.TryGetValue(key, out refLst)) { refLst.Add(value); } else { refLst = new List <int>(); refLst.Add(value); refMap.Add(key, refLst); } }
public TssTriangle(int idx1, int idx2, int idx3, TssLineMap lineMap, TssTriangleBuffer triBuf, TssVertexRefMap refMap) { vertIdx1 = idx1; vertIdx2 = idx2; vertIdx3 = idx3; AddVertRef(vertIdx1, vertIdx2, refMap); AddVertRef(vertIdx1, vertIdx3, refMap); AddVertRef(vertIdx2, vertIdx1, refMap); AddVertRef(vertIdx2, vertIdx3, refMap); AddVertRef(vertIdx3, vertIdx1, refMap); AddVertRef(vertIdx3, vertIdx2, refMap); line1 = MakeLineKey(vertIdx1, vertIdx2); CheckAddLineMap(lineMap, triBuf, vertIdx1, vertIdx2); line2 = MakeLineKey(vertIdx2, vertIdx3); CheckAddLineMap(lineMap, triBuf, vertIdx2, vertIdx3); line3 = MakeLineKey(vertIdx3, vertIdx1); CheckAddLineMap(lineMap, triBuf, vertIdx3, vertIdx1); }