本文整理汇总了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;
}
}
}