34 template<
class>
class FaceList,
48 pointField ePoints((nLayers + 1)*surfacePoints.size());
50 for (
label layer=0; layer<=nLayers; layer++)
52 label offset = layer*surfacePoints.size();
56 ePoints[offset + i] = model
70 template<
class Face,
template<
class>
class FaceList,
class PointField>
85 (nLayers + 1)*surfaceFaces.
size() + nLayers*surfaceEdges.
size();
93 for (
label layer=0; layer<nLayers; layer++)
95 label currentLayerOffset = layer*surfacePoints.size();
96 label nextLayerOffset = currentLayerOffset + surfacePoints.size();
99 for (
label edgeI=0; edgeI<nInternalEdges; edgeI++)
101 const edge&
e = surfaceEdges[edgeI];
104 face&
f = eFaces[facei++];
109 (edgeFaces[0] < edgeFaces[1])
110 == sameOrder(surfaceFaces[edgeFaces[0]],
e)
113 f[0] =
e[0] + currentLayerOffset;
114 f[1] =
e[1] + currentLayerOffset;
115 f[2] =
e[1] + nextLayerOffset;
116 f[3] =
e[0] + nextLayerOffset;
120 f[0] =
e[1] + currentLayerOffset;
121 f[1] =
e[0] + currentLayerOffset;
122 f[2] =
e[0] + nextLayerOffset;
123 f[3] =
e[1] + nextLayerOffset;
128 if (layer < nLayers-1)
143 for (
label layer=0; layer<nLayers; layer++)
145 label currentLayerOffset = layer*surfacePoints.size();
146 label nextLayerOffset = currentLayerOffset + surfacePoints.size();
149 for (
label edgeI=nInternalEdges; edgeI<surfaceEdges.
size(); edgeI++)
151 const edge&
e = surfaceEdges[edgeI];
154 face&
f = eFaces[facei++];
157 if (sameOrder(surfaceFaces[edgeFaces[0]],
e))
159 f[0] =
e[0] + currentLayerOffset;
160 f[1] =
e[1] + currentLayerOffset;
161 f[2] =
e[1] + nextLayerOffset;
162 f[3] =
e[0] + nextLayerOffset;
166 f[0] =
e[1] + currentLayerOffset;
167 f[1] =
e[0] + currentLayerOffset;
168 f[2] =
e[0] + nextLayerOffset;
169 f[3] =
e[1] + nextLayerOffset;
187 + nLayers*surfacePoints.size()
196 template<
class Face,
template<
class>
class FaceList,
class PointField>
214 const face&
f = surfaceFaces[i];
216 for (
label layer=0; layer<nLayers; layer++)
218 eCells[i + layer*surfaceFaces.
size()].
setSize(
f.size() + 2);
228 for (
label layer=0; layer<nLayers; layer++)
231 for (
label i=0; i<nInternalEdges; i++)
237 label cell0 = layer*surfaceFaces.
size() + edgeFaces[0];
238 label cell1 = layer*surfaceFaces.
size() + edgeFaces[1];
240 eCells[cell0][nCellFaces[cell0]++] = facei;
241 eCells[cell1][nCellFaces[cell1]++] = facei;
247 if (layer < nLayers-1)
251 label cell0 = layer*surfaceFaces.
size() + i;
252 label cell1 = (layer+1)*surfaceFaces.
size() + i;
254 eCells[cell0][nCellFaces[cell0]++] = facei;
255 eCells[cell1][nCellFaces[cell1]++] = facei;
263 for (
label layer=0; layer<nLayers; layer++)
266 for (
label i=nInternalEdges; i<surfaceEdges.
size(); i++)
272 label cell0 = layer*surfaceFaces.
size() + edgeFaces[0];
274 eCells[cell0][nCellFaces[cell0]++] = facei;
283 eCells[i][nCellFaces[i]++] = facei;
291 label cell0 = (nLayers-1)*surfaceFaces.
size() + i;
293 eCells[cell0][nCellFaces[cell0]++] = facei;
308 template<
class>
class FaceList,
321 extrudedPoints(extrudePatch, model),
322 extrudedFaces(extrudePatch, model),
323 extrudedCells(extrudePatch, model)
329 label facei = nInternalFaces();
342 wallPolyPatch::typeName
357 facei += extrudePatch.size();