48 normalToFace::typeName,
49 "\n Usage: normalToFace (nx ny nz) <tol>\n\n"
50 " Select faces with normal aligned to unit vector (nx ny nz)\n"
57 void Foam::normalToFace::setNormal()
59 normal_ /=
mag(normal_) + VSMALL;
61 Info<<
" normalToFace : Normalized vector to " << normal_ <<
endl;
63 if (tol_ < -1 || tol_ > 1)
67 "normalToFace::normalToFace(const polyMesh&, const vector&"
69 ) <<
"tolerance not within range -1..1 : " << tol_
97 normal_(dict.lookup(
"normal")),
108 normal_(checkIs(is)),
131 Info<<
" Adding faces according to normal being aligned with "
132 << normal_ <<
" (to within " << tol_ <<
") ..." <<
endl;
134 forAll(mesh_.faceAreas(), faceI)
136 vector n = mesh_.faceAreas()[faceI];
137 n /=
mag(n) + VSMALL;
139 if (
mag(1 - (n & normal_)) < tol_)
147 Info<<
" Removing faces according to normal being aligned with "
148 << normal_ <<
" (to within " << tol_ <<
") ..." <<
endl;
155 label faceI = iter.key();
157 vector n = mesh_.faceAreas()[faceI];
158 n /=
mag(n) + VSMALL;
160 if (
mag(1 - (n & normal_)) < tol_)
162 toBeRemoved.
append(faceI);
168 set.erase(toBeRemoved[i]);