33 template<
class FaceList,
class Po
intField>
36 const scalar mergeDist,
63 mergedPoints = ListListOps::combine<Field<PointType>>
82 ListListOps::combineOffset<List<FaceType>>
113 mergedPoints.transfer(newPoints);
127 template<
class FaceList>
131 const FaceList& localFaces,
143 typedef typename FaceList::value_type FaceType;
153 uniqueMeshPointLabels
169 mergedFaces.
setSize(globalFacesPtr().size());
170 mergedPoints.
setSize(globalPointsPtr().size());
188 label pOffset = globalPointsPtr().offset(slave);
192 label fOffset = globalFacesPtr().offset(slave);
215 toMaster << myPoints << myFaces;
221 uniqueMeshPointLabels = pointToGlobal;
226 mergedFaces = localFaces;
#define forAll(list, i)
Loop across all elements in list.
Pre-declare SubField and related Field type.
Input inter-processor communications stream.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
void transfer(List< T > &)
Transfer the contents of the argument List into this list.
void size(const label)
Override size to be inconsistent with allocated storage.
void setSize(const label)
Reset size of List.
Output inter-processor communications stream.
A list of faces which address into the list of points.
std::remove_reference< PointField >::type::value_type PointType
std::remove_reference< FaceList >::type::value_type FaceType
static void gatherList(const List< commsStruct > &comms, List< T > &Values, const int tag, const label comm)
Gather data but keep individual values separate.
A List obtained as a section of another List.
std::streamsize byteSize() const
Return the binary size in number of characters of the UList.
static int masterNo()
Process index of the master.
static bool master(const label communicator=0)
Am I the master process.
static label nProcs(const label communicator=0)
Number of processes in parallel run.
static bool & parRun()
Is this a parallel run?
static int myProcNo(const label communicator=0)
Number of this process (starting from masterNo() = 0)
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
void reset(T *=nullptr)
If object pointer already set, delete object and set to given.
Calculates a unique integer (label so might not have enough room - 2G max) for processor + local inde...
autoPtr< globalIndex > mergePoints(labelList &pointToGlobal, labelList &uniquePoints) const
Helper for merging (collocated!) mesh point data.
Mesh consisting of general polyhedral cells.
const globalMeshData & globalData() const
Return parallel info.
virtual const pointField & points() const
Return raw points.
labelList subSizes(const List< T > &, AccessOp aop=accessOp< T >())
Gets sizes of sublists.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
vectorField pointField
pointField is a vectorField.
label mergePoints(const UList< Type > &points, const scalar mergeTol, const bool verbose, labelList &pointMap, const Type &origin=Type::zero)
Sorts and merges points. All points closer than/equal mergeTol get merged.
void inplaceRenumber(const labelUList &oldToNew, ListType &)
Inplace renumber the values of a list.
labelList identityMap(const label len)
Create identity map (map[i] == i) of given length.