UUtil.log("USubdividor - "+input.faceNum+" faces => "+g.faceNum);
return g;
}
public UGeometry build(UGeometry input) {
UProgressInfo prog=new UProgressInfo();
UGeometry g=new UGeometry();
if(input.doNoDuplicates) g.noDuplicates();
ArrayList<UFace> fl=new ArrayList<UFace>();
for(int i=0; i<input.faceNum; i++) {
prog.update(null, 100f*(float)i/(float)input.faceNum);
UFace ff[]=subdivideFace(input.face[i]);
for(int j=0; j<ff.length; j++) fl.add(ff[j]);
UUtil.log(""+prog.elapsed);
}
prog.start();
float cnt=0,maxCnt=fl.size();
for(UFace f:fl) {
prog.update(null, 100f*cnt/maxCnt);
if(prog.elapsed>2000 && (int)cnt%10==0) UUtil.log(prog.lastUpdate+" "+g.faceNum+" faces built.");
g.add(f);
cnt++;
}