33template<
class FaceList,
class Po
intField>
36 const FaceList& faces,
44 boundaryPointsPtr_(nullptr),
45 faceFacesPtr_(nullptr),
46 edgeFacesPtr_(nullptr),
47 faceEdgesPtr_(nullptr),
48 pointEdgesPtr_(nullptr),
49 pointFacesPtr_(nullptr),
50 localFacesPtr_(nullptr),
51 meshPointsPtr_(nullptr),
52 meshPointMapPtr_(nullptr),
53 edgeLoopsPtr_(nullptr),
54 localPointsPtr_(nullptr),
55 localPointOrderPtr_(nullptr),
56 faceCentresPtr_(nullptr),
57 faceAreasPtr_(nullptr),
58 magFaceAreasPtr_(nullptr),
59 faceNormalsPtr_(nullptr),
60 pointNormalsPtr_(nullptr)
64template<
class FaceList,
class Po
intField>
71 FaceList(std::move(faces)),
75 boundaryPointsPtr_(nullptr),
76 faceFacesPtr_(nullptr),
77 edgeFacesPtr_(nullptr),
78 faceEdgesPtr_(nullptr),
79 pointEdgesPtr_(nullptr),
80 pointFacesPtr_(nullptr),
81 localFacesPtr_(nullptr),
82 meshPointsPtr_(nullptr),
83 meshPointMapPtr_(nullptr),
84 edgeLoopsPtr_(nullptr),
85 localPointsPtr_(nullptr),
86 localPointOrderPtr_(nullptr),
87 faceCentresPtr_(nullptr),
88 faceAreasPtr_(nullptr),
89 magFaceAreasPtr_(nullptr),
90 faceNormalsPtr_(nullptr),
91 pointNormalsPtr_(nullptr)
95template<
class FaceList,
class Po
intField>
103 FaceList(faces, reuse),
107 boundaryPointsPtr_(nullptr),
108 faceFacesPtr_(nullptr),
109 edgeFacesPtr_(nullptr),
110 faceEdgesPtr_(nullptr),
111 pointEdgesPtr_(nullptr),
112 pointFacesPtr_(nullptr),
113 localFacesPtr_(nullptr),
114 meshPointsPtr_(nullptr),
115 meshPointMapPtr_(nullptr),
116 edgeLoopsPtr_(nullptr),
117 localPointsPtr_(nullptr),
118 localPointOrderPtr_(nullptr),
119 faceCentresPtr_(nullptr),
120 faceAreasPtr_(nullptr),
121 magFaceAreasPtr_(nullptr),
122 faceNormalsPtr_(nullptr),
123 pointNormalsPtr_(nullptr)
127template<
class FaceList,
class Po
intField>
137 boundaryPointsPtr_(nullptr),
138 faceFacesPtr_(nullptr),
139 edgeFacesPtr_(nullptr),
140 faceEdgesPtr_(nullptr),
141 pointEdgesPtr_(nullptr),
142 pointFacesPtr_(nullptr),
143 localFacesPtr_(nullptr),
144 meshPointsPtr_(nullptr),
145 meshPointMapPtr_(nullptr),
146 edgeLoopsPtr_(nullptr),
147 localPointsPtr_(nullptr),
148 localPointOrderPtr_(nullptr),
149 faceCentresPtr_(nullptr),
150 faceAreasPtr_(nullptr),
151 magFaceAreasPtr_(nullptr),
152 faceNormalsPtr_(nullptr),
153 pointNormalsPtr_(nullptr)
159template<
class FaceList,
class Po
intField>
168template<
class FaceList,
class Po
intField>
181template<
class FaceList,
class Po
intField>
194template<
class FaceList,
class Po
intField>
198 const edgeList& allEdges = this->edges();
203template<
class FaceList,
class Po
intField>
207 const edgeList& allEdges = this->edges();
212template<
class FaceList,
class Po
intField>
221 return nInternalEdges_;
225template<
class FaceList,
class Po
intField>
229 const edgeList& allEdges = this->edges();
230 return (allEdges.
size() - this->nInternalEdges());
234template<
class FaceList,
class Po
intField>
238 if (!boundaryPointsPtr_)
243 return *boundaryPointsPtr_;
247template<
class FaceList,
class Po
intField>
256 return *faceFacesPtr_;
260template<
class FaceList,
class Po
intField>
269 return *edgeFacesPtr_;
273template<
class FaceList,
class Po
intField>
282 return *faceEdgesPtr_;
286template<
class FaceList,
class Po
intField>
295 return *pointEdgesPtr_;
299template<
class FaceList,
class Po
intField>
308 return *pointFacesPtr_;
312template<
class FaceList,
class Po
intField>
324 return *localFacesPtr_;
328template<
class FaceList,
class Po
intField>
337 return *meshPointsPtr_;
341template<
class FaceList,
class Po
intField>
345 if (!meshPointMapPtr_)
350 return *meshPointMapPtr_;
354template<
class FaceList,
class Po
intField>
361 if (!localPointsPtr_)
366 return *localPointsPtr_;
370template<
class FaceList,
class Po
intField>
374 if (!localPointOrderPtr_)
376 calcLocalPointOrder();
379 return *localPointOrderPtr_;
383template<
class FaceList,
class Po
intField>
391 return meshPointMap().lookup(gp, -1);
395template<
class FaceList,
class Po
intField>
402 if (!faceCentresPtr_)
407 return *faceCentresPtr_;
411template<
class FaceList,
class Po
intField>
423 return *faceAreasPtr_;
427template<
class FaceList,
class Po
intField>
431 if (!magFaceAreasPtr_)
436 return *magFaceAreasPtr_;
440template<
class FaceList,
class Po
intField>
447 if (!faceNormalsPtr_)
452 return *faceNormalsPtr_;
456template<
class FaceList,
class Po
intField>
463 if (!pointNormalsPtr_)
468 return *pointNormalsPtr_;
474template<
class FaceList,
class Po
intField>
488 FaceList::shallowCopy(rhs);
494template<
class FaceList,
class Po
intField>
508 FaceList::operator=(std::move(rhs));
This function calculates the list of patch edges, defined on the list of points supporting the patch....
Checks topology of the patch.
Create the list of loops of outside vertices. Goes wrong on multiply connected edges (loops will be u...
Orders the local points on the patch for most efficient search.
Point addressing on the patch: pointEdges and pointFaces.
For every point on the patch find the closest face on the target side. Return a target face label for...
Generic templated field type.
SubList< edge > subList
Declare type of subList.
A HashTable to objects of type <T> with a label key.
A list of faces which address into the list of points.
label nBoundaryEdges() const
Number of boundary edges == (nEdges() - nInternalEdges())
const labelListList & pointEdges() const
Return point-edge addressing.
const edgeList & edges() const
Return list of edges, address into LOCAL point list.
label nInternalEdges() const
Number of internal edges.
const Map< label > & meshPointMap() const
Mesh point map.
const edgeList::subList internalEdges() const
Return sub-list of internal edges, address into LOCAL point list.
const labelList & meshPoints() const
Return labelList of mesh points in patch.
const Field< point_type > & localPoints() const
Return pointField of points in patch.
const Field< point_type > & faceNormals() const
Return face unit normals for patch.
const labelList & localPointOrder() const
Return orders the local points for most efficient search.
const Field< point_type > & pointNormals() const
Return point normals for patch.
const edgeList::subList boundaryEdges() const
Return sub-list of boundary edges, address into LOCAL point list.
std::remove_reference< PointField >::type::value_type point_type
The point type.
const Field< point_type > & faceAreas() const
Return face area vectors for patch.
label whichPoint(const label gp) const
Given a global point index, return the local point index.
const labelList & boundaryPoints() const
Return list of boundary points, address into LOCAL point list.
const Field< point_type > & faceCentres() const
Return face centres for patch.
const labelListList & faceFaces() const
Return face-face addressing.
const labelListList & pointFaces() const
Return point-face addressing.
std::remove_reference< FaceList >::type::value_type face_type
The face type.
const labelListList & edgeFaces() const
Return edge-face addressing.
const labelListList & faceEdges() const
Return face-edge addressing.
const Field< scalar > & magFaceAreas() const
Return face area magnitudes for patch.
const List< face_type > & localFaces() const
Return patch faces addressing into local point list.
A List obtained as a section of another List.
void size(const label n)
Older name for setAddressableSize.
void movePoints()
Update for new mesh geometry.
#define DebugInFunction
Report an information message using Foam::Info.
Ostream & endl(Ostream &os)
Add newline and flush stream.