52 cellShapesPtr_(nullptr),
70 cellCentresPtr_(nullptr),
71 faceCentresPtr_(nullptr),
72 cellVolumesPtr_(nullptr),
73 faceAreasPtr_(nullptr)
80 const label nInternalFaces,
88 nInternalFaces_(nInternalFaces),
92 cellShapesPtr_(
nullptr),
110 cellCentresPtr_(
nullptr),
111 faceCentresPtr_(
nullptr),
112 cellVolumesPtr_(
nullptr),
113 faceAreasPtr_(
nullptr)
129 label& nInternalPoints,
132 const label nInternalFaces,
146 label nBoundaryPoints = 0;
147 for (label facei = nInternalFaces; facei < faces.size(); facei++)
149 const face&
f = faces[facei];
153 label pointi =
f[fp];
155 if (oldToNew[pointi] == -1)
157 oldToNew[pointi] = nBoundaryPoints++;
164 nInternalPoints =
nPoints - nBoundaryPoints;
169 if (oldToNew[pointi] != -1)
171 oldToNew[pointi] += nInternalPoints;
179 label internalPointi = 0;
183 for (label facei = 0; facei < nInternalFaces; facei++)
185 const face&
f = faces[facei];
189 label pointi =
f[fp];
191 if (oldToNew[pointi] == -1)
193 if (pointi >= nInternalPoints)
197 oldToNew[pointi] = internalPointi++;
209 const label nInternalFaces,
218 nInternal0Edges_ = -1;
219 nInternal1Edges_ = -1;
220 nInternalEdges_ = -1;
222 nInternalFaces_ = nInternalFaces;
227 label nInternalPoints;
230 bool isOrdered = calcPointOrder
241 nInternalPoints_ = nInternalPoints;
245 nInternalPoints_ = -1;
250 Pout<<
"primitiveMesh::reset : mesh reset to"
251 <<
" nInternalPoints:" << nInternalPoints_
252 <<
" nPoints:" << nPoints_
253 <<
" nEdges:" << nEdges_
254 <<
" nInternalFaces:" << nInternalFaces_
255 <<
" nFaces:" << nFaces_
256 <<
" nCells:" << nCells_
265 const label nInternalFaces,
293 faceCentres.size() != nFaces_
294 || faceAreas.size() != nFaces_
295 || cellCentres.size() != nCells_
296 || cellVolumes.size() != nCells_
300 <<
"Wrong sizes of passed in face/cell data"
307 faceCentresPtr_ =
new pointField(std::move(faceCentres));
308 faceAreasPtr_ =
new pointField(std::move(faceAreas));
309 cellCentresPtr_ =
new pointField(std::move(cellCentres));
310 cellVolumesPtr_ =
new scalarField(std::move(cellVolumes));
314 Pout<<
"primitiveMesh::resetGeometry : geometry reset for"
315 <<
" nFaces:" << faceCentresPtr_->size()
316 <<
" nCells:" << cellCentresPtr_->size() <<
endl;
330 <<
"Cannot move points: size of given point list smaller "
331 <<
"than the number of active points"
343 sweptVols[facei] =
f[facei].sweptVol(oldPoints, newPoints);
360 return *cellShapesPtr_;
367 if (!faceCentresPtr_)
369 calcFaceCentresAndAreas();
373 calcFaceCentresAndAreas();
375 if (!cellCentresPtr_)
377 calcCellCentresAndVols();
379 if (!cellVolumesPtr_)
381 calcCellCentresAndVols();