58 #ifndef PointEdgeWave_H 59 #define PointEdgeWave_H 85 template<
class Type,
class TrackingData =
int>
88 public PointEdgeWaveName
95 static scalar propagationTol_;
99 static int dummyTrackData_;
123 label nChangedPoints_;
128 label nChangedEdges_;
131 label nCyclicPatches_;
137 label nUnvisitedPoints_;
138 label nUnvisitedEdges_;
172 const label neighbourEdgeI,
173 const Type& neighbourInfo,
182 const Type& neighbourInfo,
191 const label neighbourPointi,
192 const Type& neighbourInfo,
199 template<
class PatchType>
200 label countPatchType()
const;
203 void handleProcPatches();
206 void handleCyclicPatches();
209 label handleCollocatedPoints();
219 return propagationTol_;
225 propagationTol_ = tol;
244 TrackingData& td = dummyTrackData_
254 TrackingData& td = dummyTrackData_
270 return allPointInfo_;
280 const TrackingData&
data()
const 328 template<
class Type,
class TrackingData =
int>
350 x[i].updatePoint(y[i], tol_, td_);
TemplateName(blendedSchemeBase)
#define forAll(list, i)
Loop across all elements in list.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
label pointToEdge()
Propagate from point to edge. Returns total number of edges.
UList< Type > & allEdgeInfo() const
Access allEdgeInfo.
label iterate(const label maxIter)
Iterate until no changes or maxIter reached. Returns actual.
PointEdgeWave(const polyMesh &mesh, const labelList &initialPoints, const List< Type > &initialPointsInfo, UList< Type > &allPointInfo, UList< Type > &allEdgeInfo, const label maxIter, TrackingData &td=dummyTrackData_)
Construct from mesh, list of changed points with the Type.
label edgeToPoint()
Propagate from edge to point. Returns total number of points.
UList< Type > & allPointInfo() const
Access allPointInfo.
~PointEdgeWave()
Destructor.
void setPointInfo(const labelList &changedPoints, const List< Type > &changedPointsInfo)
Copy initial data into allPointInfo_.
void operator=(const PointEdgeWave &)=delete
Disallow default bitwise assignment.
static void setPropagationTol(const scalar tol)
Change tolerance.
const TrackingData & data() const
Additional data to be passed into container.
Mesh consisting of general polyhedral cells.
label getUnsetPoints() const
A patch is a list of labels that address the faces in the global face list.
Wave propagation of information through grid. Every iteration information goes through one layer of e...
static scalar propagationTol()
Access to tolerance.
label getUnsetEdges() const
Get number of unvisited edges, i.e. edges that were not (yet)