Go to the documentation of this file.
34 #ifndef helperFunctionsTopologyManipulation_H
35 #define helperFunctionsTopologyManipulation_H
54 template<
class faceType1,
class faceType2>
58 template<
class T,
class ListType>
62 template<
class faceType>
66 template<
class faceType1,
class faceType2>
94 template<
class faceType1,
class faceType2>
95 inline bool shareAnEdge(
const faceType1&
f1,
const faceType2& f2);
98 template<
class faceType1,
class faceType2>
99 inline edge
sharedEdge(
const faceType1&
f1,
const faceType2& f2);
102 template<
class faceType>
106 template<
class faceType1,
class faceType2>
107 inline bool shareAVertex(
const faceType1&
f1,
const faceType2& f2);
110 template<
class faceType1,
class faceType2>
114 template<
class faceListType>
118 template<
class boolListType>
edge sharedEdge(const faceType1 &f1, const faceType2 &f2)
return the edge shared by the faces
label positionInList(const T &elmt, const ListType &l)
local position of element in a list
List< label > labelList
A List of labels.
bool areFacesEqual(const faceType1 &f1, const faceType2 &f2)
check if the faces are equal
A dynamic list is a 1-D vector of objects of type T which resizes itself as necessary to accept the n...
labelList sortEdgeChain(const DynList< edge > &bEdges)
bool shareAVertex(const faceType1 &f1, const faceType2 &f2)
check if two faces share a vertex
face createFaceFromRemovedPart(const face &fOrig, const face &fCut)
create a face from the removed part
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
edgeList modifyFacesToShareOneEdge(face &f1, face &f2)
remove edges until faces share only one edge
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
face removeEdgesFromFace(const face &fOrig, const DynList< edge > &removeEdges)
remove edges from face
label sharedVertex(const faceType1 &f1, const faceType2 &f2)
shared vertex of two faces
face mergeTwoFaces(const faceType1 &f1, const faceType2 &f2)
returns a merged face
bool areElementsInChain(const boolListType &sel)
check if selected elements are in one singly-connected chain
const double e
Elementary charge.
void zipOpenChain(DynList< edge > &bEdges)
creates closed edge chains from the open chain
void findOpenEdges(const faceList &cellFaces, DynList< edge > &openEdges)
find open edges for a set of faces forming a cell
faceType reverseFace(const faceType &f)
reverse the face
label positionOfEdgeInFace(const edge &e, const faceType &f)
return the position of edge in the face, -1 otherwise
bool shareAnEdge(const faceType1 &f1, const faceType2 &f2)
check if two faces share an edge