Triangulation of three-dimensional polygons. More...
Public Member Functions | |
polygonTriangulate () | |
Construct null. More... | |
polygonTriangulate (const polygonTriangulate &)=delete | |
Disallow default bitwise copy construction. More... | |
~polygonTriangulate () | |
Destructor. More... | |
const UList< triFace > & | triPoints () const |
Get the triangles' points. More... | |
List< triFace > | triPoints (const UList< label > &polyPoints) const |
Get the triangles' renumbered points. More... | |
triFace | triPoints (const label trii, const UList< label > &polyPoints) const |
Get a triangle's renumbered points. More... | |
const UList< FixedList< label, 3 > > & | triEdges () const |
Get the triangles' edges. More... | |
List< FixedList< label, 3 > > | triEdges (const UList< label > &polyEdges) const |
Get the triangles' renumbered edges. More... | |
FixedList< label, 3 > | triEdges (const label trii, const UList< label > &polyEdges) const |
Get a triangle's renumbered edges. More... | |
const UList< triFace > & | triangulate (const UList< point > &points, const vector &normal, const bool simple=false, const bool optimal=true) |
Perform triangulation of the given polygon. More... | |
const UList< triFace > & | triangulate (const UList< point > &points, const bool simple=false, const bool optimal=true) |
Perform triangulation of the given polygon. More... | |
const UList< triFace > & | triangulate (const UIndirectList< point > &points, const vector &normal, const bool simple=false, const bool optimal=true) |
Perform triangulation of the given polygon. More... | |
const UList< triFace > & | triangulate (const UIndirectList< point > &points, const bool simple=false, const bool optimal=true) |
Perform triangulation of the given polygon. More... | |
void | operator= (const polygonTriangulate &)=delete |
Disallow default bitwise assignment. More... | |
template<class PointField > | |
Foam::scalar | area (const triFace &triPoints, const PointField &points, const vector &normal) |
template<class PointField > | |
Foam::scalar | quality (const triFace &triPoints, const PointField &points, const vector &normal) |
template<class PointField > | |
Foam::label | nIntersections (const edge &edgePoints, const PointField &points, const vector &normal) |
template<class PointField > | |
Foam::scalar | angle (const label pointi, const PointField &points, const vector &normal) |
Static Public Member Functions | |
static List< point > | randomPolygon (Random &rndGen, const label n, const scalar error) |
Generate a random polygon for testing purposes. More... | |
Triangulation of three-dimensional polygons.
Definition at line 51 of file polygonTriangulate.H.
Construct null.
Definition at line 845 of file polygonTriangulate.C.
|
delete |
Disallow default bitwise copy construction.
~polygonTriangulate | ( | ) |
Destructor.
Definition at line 863 of file polygonTriangulate.C.
|
static |
Generate a random polygon for testing purposes.
Definition at line 188 of file polygonTriangulate.C.
References Foam::DelaunayMeshTools::allPoints(), Foam::cos(), UList< T >::fcIndex(), Foam::findIndex(), Foam::findMin(), FixedList< T, Size >::first(), forAll, Foam::identity(), Foam::inplaceReverseList(), Foam::inplaceRotateList(), Foam::max(), Foam::min(), n, Foam::negPart(), Foam::constant::mathematical::pi(), points, UList< T >::rcIndex(), DynamicList< T, SizeInc, SizeMult, SizeDiv >::resize(), Random::sample01(), DynamicList< T, SizeInc, SizeMult, SizeDiv >::setSize(), simple(), Foam::sin(), List< T >::size(), UList< T >::size(), Foam::sqrt(), polygonTriangulate::triEdges(), and triFace().
Referenced by polygonTriangulate::angle().
|
inline |
Get the triangles' points.
Definition at line 59 of file polygonTriangulateI.H.
Referenced by meshTriangulation::meshTriangulation(), STARCDsurfaceFormat< Face >::read(), patchInjectionBase::topoChange(), faceAreaIntersect::triangulate(), MeshedSurface< Foam::face >::triangulate(), and polygonTriangulate::triPoints().
|
inline |
Get the triangles' renumbered points.
Definition at line 66 of file polygonTriangulateI.H.
References polygonTriangulate::triPoints().
|
inline |
Get a triangle's renumbered points.
Definition at line 75 of file polygonTriangulateI.H.
|
inline |
Get the triangles' edges.
Definition at line 85 of file polygonTriangulateI.H.
Referenced by polygonTriangulate::randomPolygon(), and polygonTriangulate::triEdges().
|
inline |
Get the triangles' renumbered edges.
Definition at line 93 of file polygonTriangulateI.H.
References polygonTriangulate::triEdges().
|
inline |
Get a triangle's renumbered edges.
Definition at line 102 of file polygonTriangulateI.H.
const Foam::UList< Foam::triFace > & triangulate | ( | const UList< point > & | points, |
const vector & | normal, | ||
const bool | simple = false , |
||
const bool | optimal = true |
||
) |
Perform triangulation of the given polygon.
Definition at line 870 of file polygonTriangulate.C.
References UList< T >::size().
const Foam::UList< Foam::triFace > & triangulate | ( | const UList< point > & | points, |
const bool | simple = false , |
||
const bool | optimal = true |
||
) |
Perform triangulation of the given polygon.
Definition at line 902 of file polygonTriangulate.C.
References face::area(), and Foam::normalised().
|
inline |
Perform triangulation of the given polygon.
Definition at line 112 of file polygonTriangulateI.H.
References points.
|
inline |
Perform triangulation of the given polygon.
Definition at line 126 of file polygonTriangulateI.H.
References points.
|
delete |
Disallow default bitwise assignment.
Foam::scalar area | ( | const triFace & | triPoints, |
const PointField & | points, | ||
const vector & | normal | ||
) |
Definition at line 33 of file polygonTriangulate.C.
Foam::scalar quality | ( | const triFace & | triPoints, |
const PointField & | points, | ||
const vector & | normal | ||
) |
Definition at line 49 of file polygonTriangulate.C.
References Foam::cmptMax(), Foam::cmptMin(), Foam::cof(), Foam::det(), forAll, M, Foam::mag(), Foam::magSqr(), Foam::perpendicular(), Foam::sign(), and Foam::sqrt().
Foam::label nIntersections | ( | const edge & | edgePoints, |
const PointField & | points, | ||
const vector & | normal | ||
) |
Definition at line 107 of file polygonTriangulate.C.
References edge::commonVertex(), UList< T >::fcIndex(), forAll, n, and Foam::constant::mathematical::pi().
Foam::scalar angle | ( | const label | pointi, |
const PointField & | points, | ||
const vector & | normal | ||
) |
Definition at line 131 of file polygonTriangulate.C.
References Foam::atan2(), Foam::det(), UList< T >::fcIndex(), Foam::constant::mathematical::pi(), polygonTriangulate::randomPolygon(), UList< T >::rcIndex(), Foam::T(), Tensor< Cmpt >::T(), Vector< Cmpt >::x(), Tensor< Cmpt >::x(), Vector< Cmpt >::y(), Tensor< Cmpt >::y(), and Tensor< Cmpt >::z().