Ejemplo n.º 1
0
        /// <summary>
        /// Surfaces call this method when needing to be subdivided. Adds it to queue.
        /// </summary>
        public void QueueForSubdivision(Surface s)
        {
            if (!subdivisionQueue.Contains(s))
            {
                subdivisionQueue.Add(s);
            }

            s.CalculatePriority();

            // sort queue to find highest priority surfaces
            if (surfaceComparer == null)
            {
                surfaceComparer = new SurfacePriorityComparer();
            }
            subdivisionQueue.Sort(surfaceComparer);
        }