Beispiel #1
0
            public Frontier(Delaunay.Triangle _firstTri, CircleSweep _cs)
            {
                CS = _cs;

                var ftPts = new List <FrontierPt>
                {
                    new FrontierPt(_firstTri.Edge0, CS),
                    new FrontierPt(_firstTri.Edge1, CS),
                    new FrontierPt(_firstTri.Edge2, CS)
                };

                ftPts[0].Right = ftPts[1];
                ftPts[0].Left  = ftPts[2];
                ftPts[1].Right = ftPts[2];
                ftPts[1].Left  = ftPts[0];
                ftPts[2].Right = ftPts[0];
                ftPts[2].Left  = ftPts[1];

                CS.m_PolPos[ftPts[0].VertIdx].thetaGroup.Add(ftPts[0]);
                CS.m_PolPos[ftPts[1].VertIdx].thetaGroup.Add(ftPts[1]);
                CS.m_PolPos[ftPts[2].VertIdx].thetaGroup.Add(ftPts[2]);
            }
Beispiel #2
0
 public FrontierPt(Delaunay.Triangle.HalfEdge _edge, CircleSweep _cs)
 {
     EdgeRight = _edge;
     CS        = _cs;
 }