53 cellShapesPtr_(nullptr),
71 cellCentresPtr_(nullptr),
72 faceCentresPtr_(nullptr),
73 cellVolumesPtr_(nullptr),
74 faceAreasPtr_(nullptr)
81 const label nInternalFaces,
89 nInternalFaces_(nInternalFaces),
93 cellShapesPtr_(
nullptr),
111 cellCentresPtr_(
nullptr),
112 faceCentresPtr_(
nullptr),
113 cellVolumesPtr_(
nullptr),
114 faceAreasPtr_(
nullptr)
130 label& nInternalPoints,
133 const label nInternalFaces,
147 label nBoundaryPoints = 0;
148 for (label facei = nInternalFaces; facei < faces.size(); facei++)
150 const face&
f = faces[facei];
154 label pointi =
f[fp];
156 if (oldToNew[pointi] == -1)
158 oldToNew[pointi] = nBoundaryPoints++;
165 nInternalPoints =
nPoints - nBoundaryPoints;
170 if (oldToNew[pointi] != -1)
172 oldToNew[pointi] += nInternalPoints;
180 label internalPointi = 0;
184 for (label facei = 0; facei < nInternalFaces; facei++)
186 const face&
f = faces[facei];
190 label pointi =
f[fp];
192 if (oldToNew[pointi] == -1)
194 if (pointi >= nInternalPoints)
198 oldToNew[pointi] = internalPointi++;
210 const label nInternalFaces,
219 nInternal0Edges_ = -1;
220 nInternal1Edges_ = -1;
221 nInternalEdges_ = -1;
223 nInternalFaces_ = nInternalFaces;
228 label nInternalPoints;
231 bool isOrdered = calcPointOrder
242 nInternalPoints_ = nInternalPoints;
246 nInternalPoints_ = -1;
251 Pout<<
"primitiveMesh::reset : mesh reset to"
252 <<
" nInternalPoints:" << nInternalPoints_
253 <<
" nPoints:" << nPoints_
254 <<
" nEdges:" << nEdges_
255 <<
" nInternalFaces:" << nInternalFaces_
256 <<
" nFaces:" << nFaces_
257 <<
" nCells:" << nCells_
266 const label nInternalFaces,
294 faceCentres.size() != nFaces_
295 || faceAreas.size() != nFaces_
296 || cellCentres.size() != nCells_
297 || cellVolumes.size() != nCells_
301 <<
"Wrong sizes of passed in face/cell data"
308 faceCentresPtr_ =
new pointField(std::move(faceCentres));
309 faceAreasPtr_ =
new pointField(std::move(faceAreas));
310 cellCentresPtr_ =
new pointField(std::move(cellCentres));
311 cellVolumesPtr_ =
new scalarField(std::move(cellVolumes));
315 Pout<<
"primitiveMesh::resetGeometry : geometry reset for"
316 <<
" nFaces:" << faceCentresPtr_->size()
317 <<
" nCells:" << cellCentresPtr_->size() <<
endl;
331 <<
"Cannot move points: size of given point list smaller "
332 <<
"than the number of active points"
344 sweptVols[facei] =
f[facei].sweptVol(oldPoints, newPoints);
361 return *cellShapesPtr_;
368 if (!faceCentresPtr_)
370 calcFaceCentresAndAreas();
374 calcFaceCentresAndAreas();
376 if (!cellCentresPtr_)
378 calcCellCentresAndVols();
380 if (!cellVolumesPtr_)
382 calcCellCentresAndVols();