Public Member Functions | |
faceDecomposition (const face &, const pointField &) | |
construct components More... | |
~faceDecomposition () | |
Destructor. More... | |
bool | isFaceConvex () const |
check if the face is convex More... | |
bool | isFacePlanar () const |
check if the face is planar More... | |
bool | isFacePlanar (const scalar tol) const |
faceList | decomposeFaceIntoTriangles () const |
decompose face into triangles More... | |
faceList | decomposeFace () const |
Private Member Functions | |
label | concaveVertex () const |
faceList | decomposeFaceIntoTriangles (const label cv) const |
void | operator= (const faceDecomposition &) |
disallows bitwise construct More... | |
faceDecomposition (const faceDecomposition &) | |
copy constructor More... | |
Private Attributes | |
const face & | f_ |
const pointField & | points_ |
Definition at line 47 of file faceDecomposition.H.
|
private |
copy constructor
Referenced by faceDecomposition::decomposeFace().
faceDecomposition | ( | const face & | f, |
const pointField & | pts | ||
) |
~faceDecomposition | ( | ) |
Destructor.
Definition at line 99 of file faceDecomposition.C.
|
private |
find concave vertex and return its position in the face
Definition at line 40 of file faceDecomposition.C.
References face::edges(), Foam::exit(), faceDecomposition::f_, Foam::FatalError, FatalErrorIn, forAll, Foam::mag(), n, face::normal(), faceDecomposition::points_, and List::size().
Referenced by faceDecomposition::decomposeFace(), faceDecomposition::decomposeFaceIntoTriangles(), and faceDecomposition::isFaceConvex().
decomposes the face into triangle starting from the given vertex
Definition at line 235 of file faceDecomposition.C.
References Foam::add(), face::edges(), Foam::endl(), faceDecomposition::f_, forAll, Foam::Info, List::newElmt(), List::setSize(), and List::size().
|
private |
disallows bitwise construct
bool isFaceConvex | ( | ) | const |
check if the face is convex
Definition at line 103 of file faceDecomposition.C.
References faceDecomposition::concaveVertex().
Referenced by faceDecomposition::decomposeFace().
bool isFacePlanar | ( | ) | const |
check if the face is planar
Definition at line 130 of file faceDecomposition.C.
References Foam::constant::universal::c, face::centre(), faceDecomposition::f_, forAll, Foam::mag(), Foam::max(), and faceDecomposition::points_.
bool isFacePlanar | ( | const scalar | tol | ) | const |
Definition at line 113 of file faceDecomposition.C.
References Foam::endl(), faceDecomposition::f_, forAll, Foam::Info, Foam::mag(), face::normal(), and faceDecomposition::points_.
faceList decomposeFaceIntoTriangles | ( | ) | const |
decompose face into triangles
Definition at line 278 of file faceDecomposition.C.
References faceDecomposition::concaveVertex().
Referenced by faceDecomposition::decomposeFace().
faceList decomposeFace | ( | ) | const |
decompose face into the minimal number of convex faces
face is decomposed into 2 or 3 triangles. I am happy with that.
merge on the side of lower labels
merge from the side of higher labels
this happens if the face has odd number of edges
Definition at line 143 of file faceDecomposition.C.
References faceDecomposition::concaveVertex(), faceDecomposition::decomposeFaceIntoTriangles(), Foam::endl(), faceDecomposition::f_, faceDecomposition::faceDecomposition(), Foam::fv::ff(), Foam::Info, faceDecomposition::isFaceConvex(), Foam::help::mergeTwoFaces(), List::newElmt(), faceDecomposition::points_, List::setSize(), and List::size().
|
private |
Definition at line 50 of file faceDecomposition.H.
Referenced by faceDecomposition::concaveVertex(), faceDecomposition::decomposeFace(), faceDecomposition::decomposeFaceIntoTriangles(), and faceDecomposition::isFacePlanar().
|
private |
Definition at line 52 of file faceDecomposition.H.
Referenced by faceDecomposition::concaveVertex(), faceDecomposition::decomposeFace(), and faceDecomposition::isFacePlanar().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.