示例#1
0
 //============================================================
 // <T>构造八叉树节点。</T>
 //============================================================
 public FOctreeNode(FOctreeQuantizer quantizer, int level)
 {
     if (level < 7)
     {
         quantizer.AddLevelNode(level, this);
     }
 }
示例#2
0
 //============================================================
 // <T>增加颜色。</T>
 //============================================================
 public void AddColor(Color color, int level, FOctreeQuantizer quantizer)
 {
     if (level == 8)
     {
         _red   += color.R;
         _green += color.G;
         _blue  += color.B;
         _pixelCount++;
     }
     else if (level < 8)
     {
         int         index = GetColorIndexAtLevel(color, level);
         FOctreeNode node  = _nodes[index];
         if (null == node)
         {
             node          = new FOctreeNode(quantizer, level);
             _nodes[index] = node;
         }
         node.AddColor(color, level + 1, quantizer);
     }
 }