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(), NamedEnum< compressibleField, 8 >::names(), STARCDsurfaceFormat< Face >::read(), faceAreaIntersect::triangulate(), MeshedSurface< Foam::face >::triangulate(), polygonTriangulate::triPoints(), and patchInjectionBase::updateMesh().

|
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().
