当前位置: 首页>>代码示例>>C#>>正文


C# Octree.TrackPrevious方法代码示例

本文整理汇总了C#中Octree.TrackPrevious方法的典型用法代码示例。如果您正苦于以下问题:C# Octree.TrackPrevious方法的具体用法?C# Octree.TrackPrevious怎么用?C# Octree.TrackPrevious使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Octree的用法示例。


在下文中一共展示了Octree.TrackPrevious方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: AddColor

                /// <summary>
                /// Add a color into the tree
                /// </summary>
                /// <param name="pixel">
                /// The color
                /// </param>
                /// <param name="colorBits">
                /// The number of significant color bits
                /// </param>
                /// <param name="level">
                /// The level in the tree
                /// </param>
                /// <param name="octree">
                /// The tree to which this node belongs
                /// </param>
                public void AddColor(Color32* pixel, int colorBits, int level, Octree octree)
                {
                    // Update the color information if this is a leaf
                    if (this.leaf)
                    {
                        this.Increment(pixel);

                        // Setup the previous node
                        octree.TrackPrevious(this);
                    }
                    else
                    {
                        // Go to the next level down in the tree
                        int shift = 7 - level;
                        int index = ((pixel->R & Mask[level]) >> (shift - 2)) |
                                    ((pixel->G & Mask[level]) >> (shift - 1)) |
                                    ((pixel->B & Mask[level]) >> shift);

                        OctreeNode child = this.children[index];

                        if (null == child)
                        {
                            // Create a new child node & store in the array
                            child = new OctreeNode(level + 1, colorBits, octree);
                            this.children[index] = child;
                        }

                        // Add the color to the child node
                        child.AddColor(pixel, colorBits, level + 1, octree);
                    }
                }
开发者ID:ruanzx,项目名称:ImageProcessor,代码行数:46,代码来源:OctreeQuantizer.cs

示例2: AddColor

 public void AddColor(Color2 pixel, int colorBits, int level, Octree octree)
 {
     if (leaf){
         Increment(pixel);
         octree.TrackPrevious(this);
     } else{
         int shift = 7 - level;
         byte[] components = pixel.ToBytes();
         int index = ((components[2] & Mask[level]) >> (shift - 2)) | ((components[1] & Mask[level]) >> (shift - 1)) |
                     ((components[0] & Mask[level]) >> shift);
         OctreeNode child = children[index];
         if (child == null){
             child = new OctreeNode(level + 1, colorBits, octree);
             children[index] = child;
         }
         child.AddColor(pixel, colorBits, level + 1, octree);
     }
 }
开发者ID:JurgenCox,项目名称:compbio-base,代码行数:18,代码来源:OctreeQuantizer.cs


注:本文中的Octree.TrackPrevious方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。