Go to the documentation of this file.
47 Info <<
"Finding new faces " <<
endl;
71 Info <<
"Creating new face from face " << fI
72 <<
" consisting of edges " <<
f <<
endl;
83 Info <<
"Vertex types for face edge " << eI <<
" are "
93 Info <<
"Orig edge " << eI <<
" " << edges[
f[eI]]
94 <<
" is replaced with " << cEdges[edgeLabel] <<
endl;
97 const edge&
e = cEdges[edgeLabel];
100 newFace.
append(edgeLabel);
104 if( newFace.
size() > 1 )
108 if( pointUsage[pI] == 1 )
111 if( newEdge.
size() == 2 )
114 Info <<
"Storing new edge " << newEdge <<
endl;
120 else if( newEdge.
size() > 2 )
123 Info <<
"New edge " << newEdge <<
endl;
133 "void meshUntangler::cutRegion::findNewFaces()"
134 ) <<
"Edge has more than two nodes!"
142 if( !finished )
continue;
157 if( edgeUsage[eI] == 1 )
160 if( faceInPlane.
size() > 2 )
163 Info <<
"Adding face in plane " << faceInPlane <<
endl;
164 Info <<
"Face in plane consists of edges " <<
endl;
166 Info <<
"Edge " << eI <<
" is "
167 << cEdges[faceInPlane[eI]] <<
endl;
170 cFaces.
append(faceInPlane);
174 Info <<
"cEdges " << cEdges <<
endl;
175 Info <<
"Number of faces before cutting " << fcs.
size() <<
endl;
176 Info <<
"Found " << cFaces.
size() <<
" new faces" <<
endl;
179 Info <<
"Old face " << fI <<
" contains edges " << fcs[fI] <<
endl;
184 Info <<
"New face " << fI <<
" contains edges " << cFaces[fI] <<
endl;
196 if( eFaces.
size() > 5 )
198 if( eFaces[fI].size() != 2 )
200 Info <<
"eFaces " << eFaces <<
endl;
201 Info <<
"cEdges " << cEdges <<
endl;
202 Info <<
"cFaces " << cFaces <<
endl;
206 "void meshOptimizer::meshUntangler::"
207 "cutRegion::findNewFaces()"
212 }
while( !finished );
DynList< direction, 64 > vertexTypes_
#define forAll(list, i)
Loop across all elements in list.
DynList< DynList< label, 8 >, 64 > * facesPtr_
Template functions to aid in the implementation of demand driven data.
An edge is a list of two point labels. The functionality it provides supports the discretisation on a...
DynList< edge, 128 > * edgesPtr_
Ostream & endl(Ostream &os)
Add newline and flush stream.
void tieBreak(const DynList< label, 8 > &f)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
void append(const T &)
Append an element at the end of the list.
DynList< DynList< label, 8 >, 64 > * cFacesPtr_
DynList< label, 128 > newEdgeLabel_
errorManip< error > abort(error &err)
const double e
Elementary charge.
DynList< edge, 128 > * cEdgesPtr_
DynList< point, 64 > * cPtsPtr_
helper data
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
void setSize(const label)
Reset size of List.
#define FatalErrorIn(functionName)
Report an error message using Foam::FatalError.
void size(const label)
Override size to be inconsistent with allocated storage.
void append(const T &e)
Append an element at the end of the list.