Go to the documentation of this file.
33 template<
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)
64 template<
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)
95 template<
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)
127 template<
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)
159 template<
class FaceList,
class Po
intField>
168 template<
class FaceList,
class Po
intField>
181 template<
class FaceList,
class Po
intField>
194 template<
class FaceList,
class Po
intField>
198 const edgeList& allEdges = this->edges();
203 template<
class FaceList,
class Po
intField>
207 const edgeList& allEdges = this->edges();
212 template<
class FaceList,
class Po
intField>
221 return nInternalEdges_;
225 template<
class FaceList,
class Po
intField>
229 const edgeList& allEdges = this->edges();
230 return (allEdges.size() - this->nInternalEdges());
234 template<
class FaceList,
class Po
intField>
238 if (!boundaryPointsPtr_)
243 return *boundaryPointsPtr_;
247 template<
class FaceList,
class Po
intField>
256 return *faceFacesPtr_;
260 template<
class FaceList,
class Po
intField>
269 return *edgeFacesPtr_;
273 template<
class FaceList,
class Po
intField>
282 return *faceEdgesPtr_;
286 template<
class FaceList,
class Po
intField>
295 return *pointEdgesPtr_;
299 template<
class FaceList,
class Po
intField>
308 return *pointFacesPtr_;
312 template<
class FaceList,
class Po
intField>
324 return *localFacesPtr_;
328 template<
class FaceList,
class Po
intField>
337 return *meshPointsPtr_;
341 template<
class FaceList,
class Po
intField>
345 if (!meshPointMapPtr_)
350 return *meshPointMapPtr_;
354 template<
class FaceList,
class Po
intField>
361 if (!localPointsPtr_)
366 return *localPointsPtr_;
370 template<
class FaceList,
class Po
intField>
374 if (!localPointOrderPtr_)
376 calcLocalPointOrder();
379 return *localPointOrderPtr_;
383 template<
class FaceList,
class Po
intField>
391 return meshPointMap().lookup(gp, -1);
395 template<
class FaceList,
class Po
intField>
402 if (!faceCentresPtr_)
407 return *faceCentresPtr_;
411 template<
class FaceList,
class Po
intField>
423 return *faceAreasPtr_;
427 template<
class FaceList,
class Po
intField>
431 if (!magFaceAreasPtr_)
436 return *magFaceAreasPtr_;
440 template<
class FaceList,
class Po
intField>
447 if (!faceNormalsPtr_)
452 return *faceNormalsPtr_;
456 template<
class FaceList,
class Po
intField>
463 if (!pointNormalsPtr_)
468 return *pointNormalsPtr_;
474 template<
class FaceList,
class Po
intField>
488 FaceList::shallowCopy(rhs);
494 template<
class FaceList,
class Po
intField>
508 FaceList::operator=(std::move(rhs));
const edgeList::subList internalEdges() const
Return sub-list of internal edges, address into LOCAL point list.
label nBoundaryEdges() const
Number of boundary edges == (nEdges() - nInternalEdges())
const labelListList & pointFaces() const
Return point-face addressing.
label whichPoint(const label gp) const
Given a global point index, return the local point index.
const labelListList & edgeFaces() const
Return edge-face addressing.
const edgeList & edges() const
Return list of edges, address into LOCAL point list.
A List obtained as a section of another List.
const Field< point_type > & pointNormals() const
Return point normals for patch.
A HashTable to objects of type <T> with a label key.
Ostream & endl(Ostream &os)
Add newline and flush stream.
const labelListList & faceEdges() const
Return face-edge addressing.
Checks topology of the patch.
Generic templated field type.
#define DebugInFunction
Report an information message using Foam::Info.
const Field< point_type > & faceAreas() const
Return face area vectors for patch.
std::remove_reference< PointField >::type::value_type point_type
The point type.
const labelListList & pointEdges() const
Return point-edge addressing.
Create the list of loops of outside vertices. Goes wrong on multiply connected edges (loops will be u...
Point addressing on the patch: pointEdges and pointFaces.
const List< face_type > & localFaces() const
Return patch faces addressing into local point list.
const Field< point_type > & localPoints() const
Return pointField of points in patch.
const labelList & boundaryPoints() const
Return list of boundary points, address into LOCAL point list.
This function calculates the list of patch edges, defined on the list of points supporting the patch....
label nInternalEdges() const
Number of internal edges.
For every point on the patch find the closest face on the target side. Return a target face label for...
const labelList & localPointOrder() const
Return orders the local points for most efficient search.
const edgeList::subList boundaryEdges() const
Return sub-list of boundary edges, address into LOCAL point list.
Orders the local points on the patch for most efficient search.
const Field< point_type > & faceNormals() const
Return face unit normals for patch.
const Field< scalar > & magFaceAreas() const
Return face area magnitudes for patch.
std::remove_reference< FaceList >::type::value_type face_type
The face type.
virtual void movePoints(const Field< point_type > &)
Correct patch after moving points.
const Map< label > & meshPointMap() const
Mesh point map.
const labelListList & faceFaces() const
Return face-face addressing.
const labelList & meshPoints() const
Return labelList of mesh points in patch.
const Field< point_type > & faceCentres() const
Return face centres for patch.
A list of faces which address into the list of points.
PrimitivePatch(const FaceList &faces, const PointField &points)
Construct from components.