| FUNCTION DetectSkinSurface(): |
| DEFINEminSkinDensity = -449 |
| DEFINEmaxSkinDensity = 6 |
| CALLAlphaTable(minSkinDensity, maxSkinDensity) |
| FOR each tet intets: |
| INITairVertexCount = 0 |
| INITairVertexIndices = [-1, -1, -1, -1] |
| INITskinVertices = [] |
| GET i1, i2, i3, i4 from tet |
| DEFINEarr = [i1, i2, i3, i4] |
| FOR each idx inarr: |
| IFAlphaTable[density(idx)] ≡ 0: |
| airVertexIndices[airVertexCount] = idx |
| airVertexCount += 1 |
| IFairVertexCount ≡ 1: |
| FOR each idx in arr: |
| IF idx ≠ airVertexIndices[0]: |
| skinVertices.append(idx) |
| IF skinVertices.size ≡ 3: |
| CALL InitSkinSurface(skinVertices[0], |
| skinVertices[1], skinVertices[2]) |