Go to the documentation of this file.
47 <<
"Addressing already calculated."
64 label nInsertedPoints = 0;
68 if (directAddr[pointI] < 0)
71 directAddr[pointI] = 0;
72 insertedPoints[nInsertedPoints] = pointI;
77 insertedPoints.
setSize(nInsertedPoints);
95 const labelList& mo = cfc[cfcI].masterObjects();
97 label pointI = cfc[cfcI].index();
99 if (addr[pointI].
size())
102 <<
"Master point " << pointI
103 <<
" mapped from points " << mo
120 if (cm[pointI] > -1 && addr[pointI].empty())
133 label nInsertedPoints = 0;
137 if (addr[pointI].empty())
143 insertedPoints[nInsertedPoints] = pointI;
148 insertedPoints.
setSize(nInsertedPoints);
169 insertedPoints_(true),
171 directAddrPtr_(NULL),
172 interpolationAddrPtr_(NULL),
174 insertedPointLabelsPtr_(NULL)
203 cm[cfc[cfcI].index()] = 0;
226 return mpm_.pointMap().size();
232 return mpm_.nOldPoints();
241 <<
"Requested direct addressing for an interpolative mapper."
245 if (!insertedObjects())
248 return mpm_.pointMap();
257 return *directAddrPtr_;
267 <<
"Requested interpolative addressing for a direct mapper."
271 if (!interpolationAddrPtr_)
276 return *interpolationAddrPtr_;
285 <<
"Requested interpolative weights for a direct mapper."
300 if (!insertedPointLabelsPtr_)
302 if (!insertedObjects())
305 insertedPointLabelsPtr_ =
new labelList(0);
313 return *insertedPointLabelsPtr_;
const List< objectMap > & pointsFromPointsMap() const
Points originating from points.
List< scalar > scalarList
A List of scalars.
labelList * insertedPointLabelsPtr_
Inserted points.
volScalarField w(IOobject("w", runTime.timeName(), mesh, IOobject::READ_IF_PRESENT, IOobject::NO_WRITE), mesh, dimensionedScalar("w", dimensionSet(0, 0, 0, 0, 0, 0, 0), 0.0))
virtual ~pointMapper()
Destructor.
pointMapper(const pointMapper &)
Disallow default bitwise copy construct.
List< label > labelList
A List of labels.
const pointMesh & pMesh_
Reference to pointMesh.
#define forAll(list, i)
Loop across all elements in list.
Template functions to aid in the implementation of demand driven data.
virtual bool direct() const
Is the mapping direct.
labelList * directAddrPtr_
Direct addressing (only one for of addressing is used)
scalarListList * weightsPtr_
Interpolation weights.
virtual const labelUList & directAddressing() const
Return direct addressing.
void deleteDemandDrivenData(DataPtr &dataPtr)
virtual label sizeBeforeMapping() const
Return size before mapping.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
bool direct_
Is the mapping direct.
const labelList & insertedObjectLabels() const
Return list of inserted points.
labelListList * interpolationAddrPtr_
Interpolated addressing (only one for of addressing is used)
Mesh representing a set of points created from polyMesh.
errorManip< error > abort(error &err)
void setSize(const label)
Reset size of List.
List< labelList > labelListList
A List of labelList.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
void calcAddressing() const
Calculate addressing for mapping with inserted points.
label size() const
Return number of points.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
const labelList & pointMap() const
Old point map.
virtual label size() const
Return size.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
bool insertedPoints_
Are there any inserted (unmapped) points.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
const mapPolyMesh & mpm_
Reference to mapPolyMesh.
void size(const label)
Override size to be inconsistent with allocated storage.
List< scalarList > scalarListList
virtual const scalarListList & weights() const
Return interpolaion weights.
void clearOut()
Clear out local storage.
dimensioned< Type > min(const dimensioned< Type > &, const dimensioned< Type > &)
virtual const labelListList & addressing() const
Return interpolated addressing.