예제 #1
0
        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);
            }
        }
예제 #2
0
        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);
        }