//============================================================ // <T>构造八叉树节点。</T> //============================================================ public FOctreeNode(FOctreeQuantizer quantizer, int level) { if (level < 7) { quantizer.AddLevelNode(level, this); } }
//============================================================ // <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); } }