31 template<
class FaceList,
class Po
intField>
34 const FaceList& faces,
42 boundaryPointsPtr_(
nullptr),
43 faceFacesPtr_(
nullptr),
44 edgeFacesPtr_(
nullptr),
45 faceEdgesPtr_(
nullptr),
46 pointEdgesPtr_(
nullptr),
47 pointFacesPtr_(
nullptr),
48 localFacesPtr_(
nullptr),
49 meshPointsPtr_(
nullptr),
50 meshPointMapPtr_(
nullptr),
51 edgeLoopsPtr_(
nullptr),
52 localPointsPtr_(
nullptr),
53 localPointOrderPtr_(
nullptr),
54 faceCentresPtr_(
nullptr),
55 faceAreasPtr_(
nullptr),
56 faceNormalsPtr_(
nullptr),
57 pointNormalsPtr_(
nullptr)
61 template<
class FaceList,
class Po
intField>
68 FaceList(move(faces)),
69 points_(move(points)),
72 boundaryPointsPtr_(
nullptr),
73 faceFacesPtr_(
nullptr),
74 edgeFacesPtr_(
nullptr),
75 faceEdgesPtr_(
nullptr),
76 pointEdgesPtr_(
nullptr),
77 pointFacesPtr_(
nullptr),
78 localFacesPtr_(
nullptr),
79 meshPointsPtr_(
nullptr),
80 meshPointMapPtr_(
nullptr),
81 edgeLoopsPtr_(
nullptr),
82 localPointsPtr_(
nullptr),
83 localPointOrderPtr_(
nullptr),
84 faceCentresPtr_(
nullptr),
85 faceAreasPtr_(
nullptr),
86 faceNormalsPtr_(
nullptr),
87 pointNormalsPtr_(
nullptr)
91 template<
class FaceList,
class Po
intField>
99 FaceList(faces, reuse),
100 points_(points, reuse),
103 boundaryPointsPtr_(
nullptr),
104 faceFacesPtr_(
nullptr),
105 edgeFacesPtr_(
nullptr),
106 faceEdgesPtr_(
nullptr),
107 pointEdgesPtr_(
nullptr),
108 pointFacesPtr_(
nullptr),
109 localFacesPtr_(
nullptr),
110 meshPointsPtr_(
nullptr),
111 meshPointMapPtr_(
nullptr),
112 edgeLoopsPtr_(
nullptr),
113 localPointsPtr_(
nullptr),
114 localPointOrderPtr_(
nullptr),
115 faceCentresPtr_(
nullptr),
116 faceAreasPtr_(
nullptr),
117 faceNormalsPtr_(
nullptr),
118 pointNormalsPtr_(
nullptr)
122 template<
class FaceList,
class Po
intField>
128 PrimitivePatchName(),
133 boundaryPointsPtr_(
nullptr),
134 faceFacesPtr_(
nullptr),
135 edgeFacesPtr_(
nullptr),
136 faceEdgesPtr_(
nullptr),
137 pointEdgesPtr_(
nullptr),
138 pointFacesPtr_(
nullptr),
139 localFacesPtr_(
nullptr),
140 meshPointsPtr_(
nullptr),
141 meshPointMapPtr_(
nullptr),
142 edgeLoopsPtr_(
nullptr),
143 localPointsPtr_(
nullptr),
144 localPointOrderPtr_(
nullptr),
145 faceCentresPtr_(
nullptr),
146 faceAreasPtr_(
nullptr),
147 faceNormalsPtr_(
nullptr),
148 pointNormalsPtr_(
nullptr)
152 template<
class FaceList,
class Po
intField>
158 PrimitivePatchName(),
160 points_(move(pp.points_)),
163 boundaryPointsPtr_(
nullptr),
164 faceFacesPtr_(
nullptr),
165 edgeFacesPtr_(
nullptr),
166 faceEdgesPtr_(
nullptr),
167 pointEdgesPtr_(
nullptr),
168 pointFacesPtr_(
nullptr),
169 localFacesPtr_(
nullptr),
170 meshPointsPtr_(
nullptr),
171 meshPointMapPtr_(
nullptr),
172 edgeLoopsPtr_(
nullptr),
173 localPointsPtr_(
nullptr),
174 localPointOrderPtr_(
nullptr),
175 faceCentresPtr_(
nullptr),
176 faceAreasPtr_(
nullptr),
177 faceNormalsPtr_(
nullptr),
178 pointNormalsPtr_(
nullptr)
184 template<
class FaceList,
class Po
intField>
193 template<
class FaceList,
class Po
intField>
205 template<
class FaceList,
class Po
intField>
213 return nInternalEdges_;
217 template<
class FaceList,
class Po
intField>
221 if (!boundaryPointsPtr_)
226 return *boundaryPointsPtr_;
230 template<
class FaceList,
class Po
intField>
240 return *faceFacesPtr_;
244 template<
class FaceList,
class Po
intField>
253 return *edgeFacesPtr_;
257 template<
class FaceList,
class Po
intField>
266 return *faceEdgesPtr_;
270 template<
class FaceList,
class Po
intField>
279 return *pointEdgesPtr_;
283 template<
class FaceList,
class Po
intField>
292 return *pointFacesPtr_;
296 template<
class FaceList,
class Po
intField>
308 return *localFacesPtr_;
312 template<
class FaceList,
class Po
intField>
321 return *meshPointsPtr_;
325 template<
class FaceList,
class Po
intField>
329 if (!meshPointMapPtr_)
334 return *meshPointMapPtr_;
338 template<
class FaceList,
class Po
intField>
345 if (!localPointsPtr_)
350 return *localPointsPtr_;
354 template<
class FaceList,
class Po
intField>
358 if (!localPointOrderPtr_)
360 calcLocalPointOrder();
363 return *localPointOrderPtr_;
367 template<
class FaceList,
class Po
intField>
375 if (fnd != meshPointMap().end())
387 template<
class FaceList,
class Po
intField>
394 if (!faceCentresPtr_)
399 return *faceCentresPtr_;
403 template<
class FaceList,
class Po
intField>
415 return *faceAreasPtr_;
419 template<
class FaceList,
class Po
intField>
426 if (!faceNormalsPtr_)
431 return *faceNormalsPtr_;
435 template<
class FaceList,
class Po
intField>
442 if (!pointNormalsPtr_)
447 return *pointNormalsPtr_;
453 template<
class FaceList,
class Po
intField>
454 void Foam::PrimitivePatch<FaceList, PointField>::operator=
461 FaceList::shallowCopy(pp);
465 template<
class FaceList,
class Po
intField>
466 void Foam::PrimitivePatch<FaceList, PointField>::operator=
473 FaceList::operator=(move(pp));
const labelListList & pointEdges() const
Return point-edge addressing.
const Field< PointType > & faceCentres() const
Return face centres for patch.
PrimitivePatch(const FaceList &faces, const Field< PointType > &points)
Construct from components.
const labelList & boundaryPoints() const
Return list of boundary points,.
label nInternalEdges() const
Number of internal edges.
const Field< PointType > & localPoints() const
Return pointField of points in patch.
const Field< PointType > & faceAreas() const
Return face areas for patch.
const labelList & meshPoints() const
Return labelList of mesh points in patch. They are constructed.
const labelList & localPointOrder() const
Return orders the local points for most efficient search.
iterator find(const Key &)
Find and return an iterator set at the hashedEntry.
For every point on the patch find the closest face on the target side. Return a target face label for...
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.
const labelListList & faceFaces() const
Return face-face addressing.
const Map< label > & meshPointMap() const
Mesh point map. Given the global point index find its.
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...
const Field< PointType > & faceNormals() const
Return face normals for patch.
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.
Checks topology of the patch.
~PrimitivePatch()
Destructor.
const Field< PointType > & pointNormals() const
Return point normals for patch.
Orders the local points on the patch for most efficient search.
std::remove_reference< FaceList >::type::value_type FaceType
const List< FaceType > & localFaces() const
Return patch faces addressing into local point list.
const labelListList & faceEdges() const
Return face-edge addressing.
std::remove_reference< PointField >::type::value_type PointType
A HashTable to objects of type <T> with a label key.