Delaunay.Edge.Create C# (CSharp) Method

Create() private static method

private static Create ( ) : Edge
return Edge
        private static Edge Create()
        {
            Edge edge;
            if (_pool.Count > 0)
            {
                edge = _pool.Pop();
                edge.Init();
            }
            else
            {
                edge = new Edge(typeof(PrivateConstructorEnforcer));
            }
            return edge;
        }

Usage Example

コード例 #1
0
        /**
         * This is the only way to create a new Edge
         * @param site0
         * @param site1
         * @return
         *
         */
        internal static Edge CreateBisectingEdge(Site site0, Site site1)
        {
            float dx, dy, absdx, absdy;
            float a, b, c;

            dx    = site1.X - site0.X;
            dy    = site1.Y - site0.Y;
            absdx = dx > 0 ? dx : -dx;
            absdy = dy > 0 ? dy : -dy;
            c     = site0.X * dx + site0.Y * dy + (dx * dx + dy * dy) * 0.5f;
            if (absdx > absdy)
            {
                a = 1.0f; b = dy / dx; c /= dx;
            }
            else
            {
                b = 1.0f; a = dx / dy; c /= dy;
            }

            Edge edge = Edge.Create();

            edge.LeftSite  = site0;
            edge.RightSite = site1;
            site0.AddEdge(edge);
            site1.AddEdge(edge);

            edge._leftVertex  = null;
            edge._rightVertex = null;

            edge.a = a; edge.b = b; edge.c = c;
            //trace("createBisectingEdge: a ", edge.a, "b", edge.b, "c", edge.c);

            return(edge);
        }
All Usage Examples Of Delaunay.Edge::Create