コード例 #1
0
        public PriorityQSort(Mogre.Utils.GluTesselator.PriorityQ.Leq leq)
        {
            heap = new Mogre.Utils.GluTesselator.PriorityQHeap(leq);

            keys = new System.Object[Mogre.Utils.GluTesselator.PriorityQ.INIT_SIZE];

            size        = 0;
            max         = Mogre.Utils.GluTesselator.PriorityQ.INIT_SIZE;
            initialized = false;
            this.leq    = leq;
        }
コード例 #2
0
        /* really __gl_pqHeapNewPriorityQ */
        public PriorityQHeap(Mogre.Utils.GluTesselator.PriorityQ.Leq leq)
        {
            size  = 0;
            max   = Mogre.Utils.GluTesselator.PriorityQ.INIT_SIZE;
            nodes = new Mogre.Utils.GluTesselator.PriorityQ.PQnode[Mogre.Utils.GluTesselator.PriorityQ.INIT_SIZE + 1];
            for (int i = 0; i < nodes.Length; i++)
            {
                nodes[i] = new PQnode();
            }
            handles = new Mogre.Utils.GluTesselator.PriorityQ.PQhandleElem[Mogre.Utils.GluTesselator.PriorityQ.INIT_SIZE + 1];
            for (int i = 0; i < handles.Length; i++)
            {
                handles[i] = new PQhandleElem();
            }
            initialized = false;
            freeList    = 0;
            this.leq    = leq;

            nodes[1].handle = 1;             /* so that Minimum() returns NULL */
            handles[1].key  = null;
        }
コード例 #3
0
        /* really __gl_pqHeapNewPriorityQ */
        public PriorityQHeap(Mogre.Utils.GluTesselator.PriorityQ.Leq leq)
        {
            size = 0;
            max = Mogre.Utils.GluTesselator.PriorityQ.INIT_SIZE;
            nodes = new Mogre.Utils.GluTesselator.PriorityQ.PQnode[Mogre.Utils.GluTesselator.PriorityQ.INIT_SIZE + 1];
            for (int i = 0; i < nodes.Length; i++)
            {
                nodes[i] = new PQnode();
            }
            handles = new Mogre.Utils.GluTesselator.PriorityQ.PQhandleElem[Mogre.Utils.GluTesselator.PriorityQ.INIT_SIZE + 1];
            for (int i = 0; i < handles.Length; i++)
            {
                handles[i] = new PQhandleElem();
            }
            initialized = false;
            freeList = 0;
            this.leq = leq;

            nodes[1].handle = 1; /* so that Minimum() returns NULL */
            handles[1].key = null;
        }
コード例 #4
0
 private static bool GT(Mogre.Utils.GluTesselator.PriorityQ.Leq leq, System.Object x, System.Object y)
 {
     return(!Mogre.Utils.GluTesselator.PriorityQHeap.LEQ(leq, x, y));
 }