📄 ibgocube.cxx
字号:
#include "ibgoctree.hxx"
void ibgOctree::noteEdgeOnCube(ibgIndex p, ibgIndex e, ibgIndex s)
{
int c;
if((c=pCell[s][p])<0) c = createSimpleBoundaryCube(-c);
if(c){ // else we are outside.
bcEdge[bcType[c]][c] = e;
bcType[c]++;
}
}
ibgIndex ibgOctree::createSimpleBoundaryCube(ibgIndex base)
{
int i,j,t,c,bc,n,p;
wzAssert(cBoundary[base]==0);
bc = bcells.create();
bcBase[bc] = base;
cBoundary[base] = bc;
bcType[bc] = 0;
bcVertex[bc] = 0;
for(i=0;i<Corners;i++){
n = nBoundary[cNode[i][base]];
if(!n) n=createSimpleBoundaryNode(cNode[i][base]);
for(j=0;j<3;j++){
p = bnPlane[csPlane[i][j]][n]; if(!p) continue;
t = csPlaneSide[i][j];
c = pCell[t][p];
if(c == bc) continue;
wzAssert(c == -base);
pCell[t][p] = bc;
}
}
return bc;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -