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)),
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),
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>
461 FaceList::shallowCopy(pp);
465 template<
class FaceList,
class Po
intField>
473 FaceList::operator=(move(pp));
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...
iterator find(const Key &)
Find and return an iterator set at the hashedEntry.
A HashTable to objects of type <T> with a label key.
A list of faces which address into the list of points.
const Field< PointType > & pointNormals() const
Return point normals for patch.
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.
std::remove_reference< PointField >::type::value_type PointType
const Map< label > & meshPointMap() const
Mesh point map. Given the global point index find its.
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.
~PrimitivePatch()
Destructor.
const Field< PointType > & faceAreas() const
Return face areas for patch.
label whichPoint(const label gp) const
Given a global point index, return the local point index.
const List< FaceType > & localFaces() const
Return patch faces addressing into local point list.
const labelList & boundaryPoints() const
Return list of boundary points,.
const labelListList & faceFaces() const
Return face-face addressing.
std::remove_reference< FaceList >::type::value_type FaceType
const labelListList & pointFaces() const
Return point-face addressing.
const labelListList & edgeFaces() const
Return edge-face addressing.
const labelListList & faceEdges() const
Return face-edge addressing.
const Field< PointType > & localPoints() const
Return pointField of points in patch.
const Field< PointType > & faceNormals() const
Return face normals for patch.
const Field< PointType > & faceCentres() const
Return face centres for patch.
PrimitivePatch(const FaceList &faces, const Field< PointType > &points)
Construct from components.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.