46 "(tetra4 pyramid5 penta6 hexa8 nfaced)"
53 void Foam::ensightPartCells::classify(
const labelList& idList)
65 size_ = mesh.nCells();
71 size_ = idList.size();
88 for (label listI = 0; listI <
size_; ++listI)
93 cellId = idList[listI];
96 const cellShape& cellShape = cellShapes[cellId];
97 const cellModel& cellModel = cellShape.model();
103 else if (cellModel == pyr)
107 else if (cellModel == prism)
111 else if (cellModel == hex)
121 const cell& cFaces = mesh.cells()[cellI];
125 const face&
f = mesh.faces()[cFaces[cFaceI]];
129 f.nTrianglesQuads(mesh.points(), nTris, nQuads);
132 nPyrDecomp += nQuads;
156 for (label listI = 0; listI <
size_; ++listI)
158 label cellId = listI;
161 cellId = idList[listI];
164 const cellShape& cellShape = cellShapes[cellId];
165 const cellModel& cellModel = cellShape.model();
167 if (cellModel == tet)
169 tetCells[nTet++] = cellId;
171 else if (cellModel == pyr)
173 pyramidCells[nPyr++] = cellId;
175 else if (cellModel == prism)
177 prismCells[nPrism++] = cellId;
179 else if (cellModel == hex)
181 hexCells[nHex++] = cellId;
185 polyCells[nPoly++] = cellId;
190 addPointCellLabels_[api] = cellId;
192 const cell& cFaces = mesh.cells()[cellId];
196 const face&
f = mesh.faces()[cFaces[cFaceI]];
200 f.nTrianglesQuads(mesh.points(), nTris, nQuads);
203 nPyrDecomp += nQuads;
229 const string& partDescription
300 localPoints ptList(mesh);
306 const labelList& idList = elemLists_[typeI];
311 label
id = idList[i] + offset_;
320 if (usedPoints[f[fp]] == -1)
322 usedPoints[f[fp]] = nPoints++;
333 if (usedPoints[ptI] > -1)
335 usedPoints[ptI] = nPoints++;
344 void Foam::ensightPartCells::writeConnectivity
352 os.writeKeyword(key);
353 os.write(idList.size());
356 const polyMesh& mesh = *meshPtr_;
359 if (word(key) ==
"nfaced")
361 const faceList& meshFaces = mesh.faces();
366 label
id = idList[i] + offset_;
367 const labelList& cFace = mesh.cells()[id];
369 os.write( cFace.size() );
376 label
id = idList[i] + offset_;
377 const labelList& cFace = mesh.cells()[id];
381 const face& cf = meshFaces[cFace[faceI]];
383 os.write( cf.size() );
391 label
id = idList[i] + offset_;
392 const labelList& cFace = mesh.cells()[id];
396 const face& cf = meshFaces[cFace[faceI]];
402 os.write( pointMap[cf[ptI]] + 1);
415 label
id = idList[i] + offset_;
416 const cellShape& cellPoints = cellShapes[id];
422 os.write( pointMap[cellPoints[ptI]] + 1 );