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


C++ UList::back方法代码示例

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


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

示例1: prepare

void prepare(UDataset &ds)
{
    uint sx,sy,sz;
    ds.size(sx,sy,sz);
    UDataset flag(sx,sy,sz);
    Byte bgc=ds(1,1,1,1)+10;
    Point* pt=new Point(1,1,1);
    flag(1,1,1)=1;
    UList stack;
    stack.append(pt);
    while(stack.count()>0)
    {
        pt=(Point*)stack.back();
        stack.pop_back();
        uint x=pt->x,y=pt->y,z=pt->z;
        if(ds(x,y,z)<=bgc)
        {
            ds(x,y,z)=255;
            for(int dx=-1;dx<=1;dx++)for(int dy=-1;dy<=1;dy++)for(int dz=-1;dz<=1;dz++)
            {
                uint tx=x+dx,ty=y+dy,tz=z+dz;
                if(tx<1||ty<1||tz<1||tx>sx||ty>sy||tz>sz||flag(tx,ty,tz))
                    continue;
                if(ds(tx,ty,tz)<=bgc)
                {
                    stack.append(new Point(tx,ty,tz));
                }
                flag(tx,ty,tz)=1;
            }
        }
        delete pt;
    }


    for(uint x=1;x<=sx;x++)for(uint y=1;y<=sy;y++)for(uint z=1;z<=sz;z++)
    {
        int c=0,m=0,t;
        if(ds(x,y,z))
        {
            int dz=0;
            for(int dx=-1;dx<=1;dx++)for(int dy=-1;dy<=1;dy++)
            {
                uint tx=x+dx,ty=y+dy,tz=z+dz;
                if(tx<1||ty<1||tz<1||tx>sx||ty>sy||tz>sz)
                    continue;
                c++;
                t=ds(tx,ty,tz);
                if(t>180)
                    t=180;
                m+=255*t/180;
            }
            ds(x,y,z)=m/c;
        }
    }
}
开发者ID:zhming0,项目名称:Uranus,代码行数:55,代码来源:main.cpp


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