30 template<
class FaceList,
class Po
intField>
33 const FaceList& faces,
41 boundaryPointsPtr_(
nullptr),
42 faceFacesPtr_(
nullptr),
43 edgeFacesPtr_(
nullptr),
44 faceEdgesPtr_(
nullptr),
45 pointEdgesPtr_(
nullptr),
46 pointFacesPtr_(
nullptr),
47 localFacesPtr_(
nullptr),
48 meshPointsPtr_(
nullptr),
49 meshPointMapPtr_(
nullptr),
50 edgeLoopsPtr_(
nullptr),
51 localPointsPtr_(
nullptr),
52 localPointOrderPtr_(
nullptr),
53 faceCentresPtr_(
nullptr),
54 faceAreasPtr_(
nullptr),
55 faceNormalsPtr_(
nullptr),
56 pointNormalsPtr_(
nullptr)
60 template<
class FaceList,
class Po
intField>
67 FaceList(move(faces)),
68 points_(move(points)),
71 boundaryPointsPtr_(
nullptr),
72 faceFacesPtr_(
nullptr),
73 edgeFacesPtr_(
nullptr),
74 faceEdgesPtr_(
nullptr),
75 pointEdgesPtr_(
nullptr),
76 pointFacesPtr_(
nullptr),
77 localFacesPtr_(
nullptr),
78 meshPointsPtr_(
nullptr),
79 meshPointMapPtr_(
nullptr),
80 edgeLoopsPtr_(
nullptr),
81 localPointsPtr_(
nullptr),
82 localPointOrderPtr_(
nullptr),
83 faceCentresPtr_(
nullptr),
84 faceAreasPtr_(
nullptr),
85 faceNormalsPtr_(
nullptr),
86 pointNormalsPtr_(
nullptr)
90 template<
class FaceList,
class Po
intField>
97 FaceList(move(faces)),
98 points_(move(points)),
101 boundaryPointsPtr_(
nullptr),
102 faceFacesPtr_(
nullptr),
103 edgeFacesPtr_(
nullptr),
104 faceEdgesPtr_(
nullptr),
105 pointEdgesPtr_(
nullptr),
106 pointFacesPtr_(
nullptr),
107 localFacesPtr_(
nullptr),
108 meshPointsPtr_(
nullptr),
109 meshPointMapPtr_(
nullptr),
110 edgeLoopsPtr_(
nullptr),
111 localPointsPtr_(
nullptr),
112 localPointOrderPtr_(
nullptr),
113 faceCentresPtr_(
nullptr),
114 faceAreasPtr_(
nullptr),
115 faceNormalsPtr_(
nullptr),
116 pointNormalsPtr_(
nullptr)
120 template<
class FaceList,
class Po
intField>
128 FaceList(faces, reuse),
129 points_(points, reuse),
132 boundaryPointsPtr_(
nullptr),
133 faceFacesPtr_(
nullptr),
134 edgeFacesPtr_(
nullptr),
135 faceEdgesPtr_(
nullptr),
136 pointEdgesPtr_(
nullptr),
137 pointFacesPtr_(
nullptr),
138 localFacesPtr_(
nullptr),
139 meshPointsPtr_(
nullptr),
140 meshPointMapPtr_(
nullptr),
141 edgeLoopsPtr_(
nullptr),
142 localPointsPtr_(
nullptr),
143 localPointOrderPtr_(
nullptr),
144 faceCentresPtr_(
nullptr),
145 faceAreasPtr_(
nullptr),
146 faceNormalsPtr_(
nullptr),
147 pointNormalsPtr_(
nullptr)
151 template<
class FaceList,
class Po
intField>
157 PrimitivePatchName(),
162 boundaryPointsPtr_(
nullptr),
163 faceFacesPtr_(
nullptr),
164 edgeFacesPtr_(
nullptr),
165 faceEdgesPtr_(
nullptr),
166 pointEdgesPtr_(
nullptr),
167 pointFacesPtr_(
nullptr),
168 localFacesPtr_(
nullptr),
169 meshPointsPtr_(
nullptr),
170 meshPointMapPtr_(
nullptr),
171 edgeLoopsPtr_(
nullptr),
172 localPointsPtr_(
nullptr),
173 localPointOrderPtr_(
nullptr),
174 faceCentresPtr_(
nullptr),
175 faceAreasPtr_(
nullptr),
176 faceNormalsPtr_(
nullptr),
177 pointNormalsPtr_(
nullptr)
181 template<
class FaceList,
class Po
intField>
187 PrimitivePatchName(),
189 points_(move(pp.points_)),
192 boundaryPointsPtr_(
nullptr),
193 faceFacesPtr_(
nullptr),
194 edgeFacesPtr_(
nullptr),
195 faceEdgesPtr_(
nullptr),
196 pointEdgesPtr_(
nullptr),
197 pointFacesPtr_(
nullptr),
198 localFacesPtr_(
nullptr),
199 meshPointsPtr_(
nullptr),
200 meshPointMapPtr_(
nullptr),
201 edgeLoopsPtr_(
nullptr),
202 localPointsPtr_(
nullptr),
203 localPointOrderPtr_(
nullptr),
204 faceCentresPtr_(
nullptr),
205 faceAreasPtr_(
nullptr),
206 faceNormalsPtr_(
nullptr),
207 pointNormalsPtr_(
nullptr)
211 template<
class FaceList,
class Po
intField>
222 boundaryPointsPtr_(
nullptr),
223 faceFacesPtr_(
nullptr),
224 edgeFacesPtr_(
nullptr),
225 faceEdgesPtr_(
nullptr),
226 pointEdgesPtr_(
nullptr),
227 pointFacesPtr_(
nullptr),
228 localFacesPtr_(
nullptr),
229 meshPointsPtr_(
nullptr),
230 meshPointMapPtr_(
nullptr),
231 edgeLoopsPtr_(
nullptr),
232 localPointsPtr_(
nullptr),
233 localPointOrderPtr_(
nullptr),
234 faceCentresPtr_(
nullptr),
235 faceAreasPtr_(
nullptr),
236 faceNormalsPtr_(
nullptr),
237 pointNormalsPtr_(
nullptr)
243 template<
class FaceList,
class Po
intField>
252 template<
class FaceList,
class Po
intField>
260 Pout<<
"PrimitivePatch<FaceList, PointField>::" 262 <<
"recalculating PrimitivePatch geometry following mesh motion" 270 template<
class FaceList,
class Po
intField>
282 template<
class FaceList,
class Po
intField>
290 return nInternalEdges_;
294 template<
class FaceList,
class Po
intField>
298 if (!boundaryPointsPtr_)
303 return *boundaryPointsPtr_;
307 template<
class FaceList,
class Po
intField>
317 return *faceFacesPtr_;
321 template<
class FaceList,
class Po
intField>
330 return *edgeFacesPtr_;
334 template<
class FaceList,
class Po
intField>
343 return *faceEdgesPtr_;
347 template<
class FaceList,
class Po
intField>
356 return *pointEdgesPtr_;
360 template<
class FaceList,
class Po
intField>
369 return *pointFacesPtr_;
373 template<
class FaceList,
class Po
intField>
385 return *localFacesPtr_;
389 template<
class FaceList,
class Po
intField>
398 return *meshPointsPtr_;
402 template<
class FaceList,
class Po
intField>
406 if (!meshPointMapPtr_)
411 return *meshPointMapPtr_;
415 template<
class FaceList,
class Po
intField>
422 if (!localPointsPtr_)
427 return *localPointsPtr_;
431 template<
class FaceList,
class Po
intField>
435 if (!localPointOrderPtr_)
437 calcLocalPointOrder();
440 return *localPointOrderPtr_;
444 template<
class FaceList,
class Po
intField>
452 if (fnd != meshPointMap().end())
464 template<
class FaceList,
class Po
intField>
471 if (!faceCentresPtr_)
476 return *faceCentresPtr_;
480 template<
class FaceList,
class Po
intField>
492 return *faceAreasPtr_;
496 template<
class FaceList,
class Po
intField>
503 if (!faceNormalsPtr_)
508 return *faceNormalsPtr_;
512 template<
class FaceList,
class Po
intField>
519 if (!pointNormalsPtr_)
524 return *pointNormalsPtr_;
530 template<
class FaceList,
class Po
intField>
531 void Foam::PrimitivePatch<FaceList, PointField>::operator=
538 FaceList::shallowCopy(pp);
542 template<
class FaceList,
class Po
intField>
543 void Foam::PrimitivePatch<FaceList, PointField>::operator=
550 FaceList::operator=(move(pp));
const labelListList & pointEdges() const
Return point-edge addressing.
virtual void movePoints(const Field< PointType > &)
Correct patch after moving points.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
const Field< PointType > & faceCentres() const
Return face centres for patch.
PrimitivePatch(const FaceList &faces, const Field< PointType > &points)
Construct from components.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
const labelList & boundaryPoints() const
Return list of boundary points,.
Ostream & endl(Ostream &os)
Add newline and flush stream.
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.
virtual ~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
prefixOSstream Pout(cout, "Pout")
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.