private void Init()
 {
     this.count     = 0;
     this.minBucked = 0;
     this.hash      = new Halfedge[hashSize];
     // Dummy halfedge at the top of each hash.
     for (int i = 0; i < hashSize; i++)
     {
         this.hash[i] = Halfedge.CreateDummy();
         this.hash[i].NextInPriorityQueue = null;
     }
 }
 public void Init()
 {
     count     = 0;
     minBucked = 0;
     hash      = new Halfedge[hashSize];
     // Dummy Halfedge at the top of each hash
     for (int i = 0; i < hashSize; i++)
     {
         hash[i] = Halfedge.CreateDummy();
         hash[i].nextInPriorityQueue = null;
     }
 }
Beispiel #3
0
 public void Init()
 {
     count     = 0;
     minBucked = 0;
     hash      = manager.ObtainHalfedgeArray(hashSize);
     // Dummy Halfedge at the top of each hash
     for (int i = 0; i < hashSize; i++)
     {
         hash[i] = Halfedge.CreateDummy(manager);
         hash[i].nextInPriorityQueue = null;
     }
 }
        public void ReinitNoSizeChange(float ymin, float deltaY)
        {
            this.ymin   = ymin;
            this.deltaY = deltaY;

            // from Init()
            count     = 0;
            minBucked = 0;

            // Dummy Halfedge at the top of each hash
            for (int i = 0; i < hashSize; i++)
            {
                hash[i] = Halfedge.CreateDummy();
                hash[i].nextInPriorityQueue = null;
            }
        }
Beispiel #5
0
        public void ClearNoResize(float xmin, float deltaX)
        {
            this.xmin   = xmin;
            this.deltaX = deltaX;

            // Two dummy Halfedges:
            leftEnd  = Halfedge.CreateDummy(); // nonalloc
            rightEnd = Halfedge.CreateDummy(); // nonalloc

            leftEnd.edgeListLeftNeighbor   = null;
            leftEnd.edgeListRightNeighbor  = rightEnd;
            rightEnd.edgeListLeftNeighbor  = leftEnd;
            rightEnd.edgeListRightNeighbor = null;
            hash[0]            = leftEnd;
            hash[hashSize - 1] = rightEnd;
        }
Beispiel #6
0
        public EdgeList(float xmin, float deltaX, int sqrtSitesNb)
        {
            this.xmin   = xmin;
            this.deltaX = deltaX;
            hashSize    = 2 * sqrtSitesNb;

            hash = new Halfedge[hashSize];

            // Two dummy Halfedges:
            leftEnd  = Halfedge.CreateDummy();
            rightEnd = Halfedge.CreateDummy();
            leftEnd.edgeListLeftNeighbor   = null;
            leftEnd.edgeListRightNeighbor  = rightEnd;
            rightEnd.edgeListLeftNeighbor  = leftEnd;
            rightEnd.edgeListRightNeighbor = null;
            hash[0]            = leftEnd;
            hash[hashSize - 1] = rightEnd;
        }
Beispiel #7
0
        public void Init(float xmin, float deltaX, int sqrtSitesNb)
        {
            this.xmin   = xmin;
            this.deltaX = deltaX;
            hashSize    = 2 * sqrtSitesNb;

            hash = manager.ObtainHalfedgeArray(hashSize);

            // Two dummy Halfedges:
            leftEnd  = Halfedge.CreateDummy(manager);
            rightEnd = Halfedge.CreateDummy(manager);
            leftEnd.edgeListLeftNeighbor   = null;
            leftEnd.edgeListRightNeighbor  = rightEnd;
            rightEnd.edgeListLeftNeighbor  = leftEnd;
            rightEnd.edgeListRightNeighbor = null;
            hash[0]            = leftEnd;
            hash[hashSize - 1] = rightEnd;
        }
Beispiel #8
0
        // Methods.
        public EdgeList(float xmin, float deltaX, int sqrtSitesNb)
        {
            this.xmin     = xmin;
            this.deltaX   = deltaX;
            this.hashSize = 2 * sqrtSitesNb;

            this.hash = new Halfedge[this.hashSize];

            // Two dummy Halfedges:
            this.LeftEnd  = Halfedge.CreateDummy();
            this.RightEnd = Halfedge.CreateDummy();
            this.LeftEnd.EdgeListLeftNeighbor   = null;
            this.LeftEnd.EdgeListRightNeighbor  = this.RightEnd;
            this.RightEnd.EdgeListLeftNeighbor  = this.LeftEnd;
            this.RightEnd.EdgeListRightNeighbor = null;
            this.hash[0]            = this.LeftEnd;
            this.hash[hashSize - 1] = this.RightEnd;
        }