33 template<
class FaceList,
class Po
intField>
36 const FaceList& faces,
46 template<
class FaceList,
class Po
intField>
53 FaceList(
std::move(faces)),
59 template<
class FaceList,
class Po
intField>
67 FaceList(faces, reuse),
73 template<
class FaceList,
class Po
intField>
87 template<
class FaceList,
class Po
intField>
96 template<
class FaceList,
class Po
intField>
109 template<
class FaceList,
class Po
intField>
122 template<
class FaceList,
class Po
intField>
131 template<
class FaceList,
class Po
intField>
140 template<
class FaceList,
class Po
intField>
149 return nInternalEdges_;
153 template<
class FaceList,
class Po
intField>
158 return (allEdges.
size() - this->nInternalEdges());
162 template<
class FaceList,
class Po
intField>
166 if (!boundaryPointsPtr_)
171 return *boundaryPointsPtr_;
175 template<
class FaceList,
class Po
intField>
184 return *faceFacesPtr_;
188 template<
class FaceList,
class Po
intField>
197 return *edgeFacesPtr_;
201 template<
class FaceList,
class Po
intField>
210 return *faceEdgesPtr_;
214 template<
class FaceList,
class Po
intField>
223 return *pointEdgesPtr_;
227 template<
class FaceList,
class Po
intField>
236 return *pointFacesPtr_;
240 template<
class FaceList,
class Po
intField>
252 return *localFacesPtr_;
256 template<
class FaceList,
class Po
intField>
265 return *meshPointsPtr_;
269 template<
class FaceList,
class Po
intField>
273 if (!meshPointMapPtr_)
278 return *meshPointMapPtr_;
282 template<
class FaceList,
class Po
intField>
289 if (!localPointsPtr_)
294 return *localPointsPtr_;
298 template<
class FaceList,
class Po
intField>
302 if (!localPointOrderPtr_)
304 calcLocalPointOrder();
307 return *localPointOrderPtr_;
311 template<
class FaceList,
class Po
intField>
319 return meshPointMap().lookup(gp, -1);
323 template<
class FaceList,
class Po
intField>
330 if (!faceCentresPtr_)
335 return *faceCentresPtr_;
339 template<
class FaceList,
class Po
intField>
351 return *faceAreasPtr_;
355 template<
class FaceList,
class Po
intField>
359 if (!magFaceAreasPtr_)
364 return *magFaceAreasPtr_;
368 template<
class FaceList,
class Po
intField>
375 if (!faceNormalsPtr_)
380 return *faceNormalsPtr_;
384 template<
class FaceList,
class Po
intField>
391 if (!pointNormalsPtr_)
396 return *pointNormalsPtr_;
402 template<
class FaceList,
class Po
intField>
416 FaceList::shallowCopy(rhs);
422 template<
class FaceList,
class Po
intField>
436 FaceList::operator=(std::move(rhs));
const labelListList & pointEdges() const
Return point-edge addressing.
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 List< face_type > & localFaces() const
Return patch faces addressing into local point list.
void size(const label n)
Older name for setAddressableSize.
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.
Ostream & endl(Ostream &os)
Add newline and flush stream.
label nInternalEdges() const
Number of internal edges.
const Field< scalar > & magFaceAreas() const
Return face area magnitudes for patch.
std::remove_reference< FaceList >::type::value_type face_type
The face type.
const edgeList::subList boundaryEdges() const
Return sub-list of boundary edges, address into LOCAL point list.
const labelList & meshPoints() const
Return labelList of mesh points in patch.
const labelList & localPointOrder() const
Return orders the local points for most efficient search.
For every point on the patch find the closest face on the target side. Return a target face label for...
virtual void movePoints(const Field< point_type > &)
Correct patch after moving points.
const Field< point_type > & faceNormals() const
Return face unit normals for patch.
This function calculates the list of patch edges, defined on the list of points supporting the patch...
A list of faces which address into the list of points.
A non-owning sub-view of a List (allocated or unallocated storage).
const labelListList & faceFaces() const
Return face-face addressing.
const Map< label > & meshPointMap() const
Mesh point map.
PrimitivePatch(const FaceList &faces, const PointField &points)
Construct from components.
Generic templated field type.
const edgeList::subList internalEdges() const
Return sub-list of internal edges, address into LOCAL point list.
#define DebugInFunction
Report an information message using Foam::Info.
const Field< point_type > & faceCentres() const
Return face centres for patch.
const labelListList & edgeFaces() const
Return edge-face addressing.
const edgeList & edges() const
Return list of edges, address into LOCAL point list.
Create the list of loops of outside vertices. Goes wrong on multiply connected edges (loops will be u...
label nBoundaryEdges() const
Number of boundary edges == (nEdges() - nInternalEdges())
Point addressing on the patch: pointEdges and pointFaces.
label whichPoint(const label gp) const
Given a global point index, return the local point index.
const labelListList & pointFaces() const
Return point-face addressing.
const Field< point_type > & pointNormals() const
Return point normals for patch.
Checks topology of the patch.
Orders the local points on the patch for most efficient search.
const labelListList & faceEdges() const
Return face-edge addressing.
uindirectPrimitivePatch pp(UIndirectList< face >(mesh.faces(), faceLabels), mesh.points())
A HashTable to objects of type <T> with a label key.