34 void Foam::faAreaMapper::calcAddressing()
const
39 || newFaceLabelsMapPtr_
41 || interpolationAddrPtr_
43 || insertedObjectLabelsPtr_
47 <<
"Addressing already calculated"
64 newFaceLabelsPtr_ =
new labelList(mesh_().nBoundaryFaces(), -1);
67 newFaceLabelsMapPtr_ =
new labelList(mesh_().nBoundaryFaces(), -1);
71 Info<<
"Old face list size: " << oldFaces.size()
80 if (reverseFaceMap[oldFaces[faceI]] > -1)
124 for (label addrI = 0; addrI < nNewFaces; ++addrI)
145 const labelList& mo = ffp[ffpI].masterObjects();
153 if (oldFaceLookup.found(mo[moI]))
155 validMo[nValidMo] = oldFaceLookup[mo[moI]];
169 addr[nNewFaces] = validMo;
170 w[nNewFaces] =
scalarList(validMo.size(), 1.0/validMo.size());
181 const labelList& mo = ffe[ffeI].masterObjects();
189 if (oldFaceLookup.found(mo[moI]))
191 validMo[nValidMo] = oldFaceLookup[mo[moI]];
205 addr[nNewFaces] = validMo;
206 w[nNewFaces] =
scalarList(validMo.size(), 1.0/validMo.size());
217 const labelList& mo = fff[fffI].masterObjects();
225 if (oldFaceLookup.found(mo[moI]))
227 validMo[nValidMo] = oldFaceLookup[mo[moI]];
241 addr[nNewFaces] = validMo;
242 w[nNewFaces] =
scalarList(validMo.size(), 1.0/validMo.size());
251 addr.setSize(nNewFaces);
252 w.setSize(nNewFaces);
253 Info<<
"addr: " << addr <<
nl
254 <<
"w: " << w <<
endl;
259 insertedObjectLabelsPtr_ =
new labelList(0);
263 void Foam::faAreaMapper::clearOut()
273 hasUnmapped_ =
false;
279 Foam::faAreaMapper::faAreaMapper
290 newFaceLabelsPtr_(
nullptr),
291 newFaceLabelsMapPtr_(
nullptr),
292 directAddrPtr_(
nullptr),
293 interpolationAddrPtr_(
nullptr),
294 weightsPtr_(
nullptr),
295 insertedObjectLabelsPtr_(
nullptr)
300 mpm_.facesFromPointsMap().empty()
301 && mpm_.facesFromEdgesMap().empty()
302 && mpm_.facesFromFacesMap().empty()
328 if (!newFaceLabelsPtr_)
333 return *newFaceLabelsPtr_;
339 if (!newFaceLabelsMapPtr_)
344 return *newFaceLabelsMapPtr_;
353 <<
"Requested direct addressing for an interpolative mapper."
362 return *directAddrPtr_;
371 <<
"Requested interpolative addressing for a direct mapper."
375 if (!interpolationAddrPtr_)
380 return *interpolationAddrPtr_;
389 <<
"Requested interpolative weights for a direct mapper."
404 if (!insertedObjectLabelsPtr_)
409 return *insertedObjectLabelsPtr_;