Triangulation of faces. Handles concave polygons as well (inefficiently) More...
Public Member Functions | |
faceTriangulation () | |
Construct null. More... | |
faceTriangulation (const pointField &points, const face &f, const bool fallBack=false) | |
Construct from face and points. Decomposition based on average. More... | |
faceTriangulation (const pointField &points, const face &f, const vector &n, const bool fallBack=false) | |
Construct from face and points and user supplied (unit) normal. More... | |
faceTriangulation (Istream &) | |
Construct from Istream. More... | |
![]() | |
constexpr | List () noexcept |
Default construct. More... | |
List (const label len) | |
Construct with given size. More... | |
List (const label len, const T &val) | |
Construct with given size and value for all elements. More... | |
List (const label len, const Foam::zero) | |
Construct with given size initializing all elements to zero. More... | |
List (const Foam::one, const T &val) | |
Construct with length=1, copying the value as the only content. More... | |
List (const Foam::one, T &&val) | |
Construct with length=1, moving the value as the only content. More... | |
List (const Foam::one, const Foam::zero) | |
Construct with length=1, initializing content to zero. More... | |
List (const List< T > &a) | |
Copy construct from list. More... | |
List (const UList< T > &a) | |
Copy construct contents from list. More... | |
List (List< T > &a, bool reuse) | |
Construct as copy or re-use as specified. More... | |
List (const UList< T > &list, const labelUList &indices) | |
Copy construct subset of list. More... | |
template<unsigned N> | |
List (const UList< T > &list, const FixedList< label, N > &indices) | |
Copy construct subset of list. More... | |
template<unsigned N> | |
List (const FixedList< T, N > &list) | |
Construct as copy of FixedList<T, N> More... | |
List (const PtrList< T > &list) | |
Construct as copy of PtrList<T> More... | |
List (const SLList< T > &list) | |
Construct as copy of SLList<T> More... | |
template<class Addr > | |
List (const IndirectListBase< T, Addr > &list) | |
Construct as copy of IndirectList contents. More... | |
List (std::initializer_list< T > list) | |
Construct from an initializer list. More... | |
List (List< T > &&list) | |
Move construct from List. More... | |
template<int SizeMin> | |
List (DynamicList< T, SizeMin > &&list) | |
Move construct from DynamicList. More... | |
List (SortableList< T > &&list) | |
Move construct from SortableList. More... | |
List (SLList< T > &&list) | |
Move construct from SLList. More... | |
List (Istream &is) | |
Construct from Istream. More... | |
autoPtr< List< T > > | clone () const |
Clone. More... | |
~List () | |
Destructor. More... | |
void | clear () |
Clear the list, i.e. set size to zero. More... | |
void | resize (const label len) |
Adjust allocated size of list. More... | |
void | resize (const label len, const T &val) |
Adjust allocated size of list and set val for new elements. More... | |
void | resize_nocopy (const label len) |
Adjust allocated size of list without necessarily. More... | |
void | setSize (const label n) |
Alias for resize() More... | |
void | setSize (const label n, const T &val) |
Alias for resize() More... | |
void | append (const T &val) |
Append an element at the end of the list. More... | |
void | append (T &&val) |
Move append an element at the end of the list. More... | |
void | append (const UList< T > &list) |
Append a List to the end of this list. More... | |
template<class Addr > | |
void | append (const IndirectListBase< T, Addr > &list) |
Append IndirectList contents at the end of this list. More... | |
label | appendUniq (const T &val) |
Append an element if not already in the list. More... | |
void | transfer (List< T > &list) |
template<int SizeMin> | |
void | transfer (DynamicList< T, SizeMin > &list) |
void | transfer (SortableList< T > &list) |
T & | newElmt (const label i) |
void | operator= (const UList< T > &a) |
Assignment to UList operator. Takes linear time. More... | |
void | operator= (const List< T > &list) |
Assignment operator. Takes linear time. More... | |
void | operator= (const SLList< T > &list) |
Assignment to SLList operator. Takes linear time. More... | |
template<class Addr > | |
void | operator= (const IndirectListBase< T, Addr > &list) |
Assignment from IndirectList. Takes linear time. More... | |
template<unsigned N> | |
void | operator= (const FixedList< T, N > &list) |
Copy assignment from FixedList. More... | |
void | operator= (std::initializer_list< T > list) |
Assignment to an initializer list. More... | |
void | operator= (const T &val) |
Assignment of all entries to the given value. More... | |
void | operator= (const Foam::zero) |
Assignment of all entries to zero. More... | |
void | operator= (List< T > &&list) |
Move assignment. Takes constant time. More... | |
template<int SizeMin> | |
void | operator= (DynamicList< T, SizeMin > &&list) |
Move assignment. Takes constant time. More... | |
void | operator= (SortableList< T > &&list) |
Move assignment. Takes constant time. More... | |
void | operator= (SLList< T > &&list) |
Move assignment. Takes constant time. More... | |
Istream & | readList (Istream &is) |
Read List from Istream, discarding contents of existing List. More... | |
void | shallowCopy (const UList< T > &)=delete |
No shallowCopy permitted. More... | |
template<class TypeT = T> | |
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type | set (const label i, bool val=true) |
A bitSet::set() method for a list of bool. More... | |
template<> | |
Istream & | readList (Istream &is) |
template<> | |
void | resize (const label newLen) |
template<> | |
Istream & | readList (Istream &is) |
Additional Inherited Members | |
![]() | |
typedef SubList< T > | subList |
Declare type of subList. More... | |
![]() | |
static const List< T > & | null () |
Return a null List. More... | |
Triangulation of faces. Handles concave polygons as well (inefficiently)
Works by trying to subdivide the face at the vertex with 'flattest' internal angle (i.e. closest to 180 deg).
Based on routine 'Diagonal' in
"Efficient Triangulation of Simple Polygons" Godfried Toussaint, McGill University.
After construction is the list of triangles the face is decomposed into. (Or empty list if no valid triangulation could be found).
Definition at line 67 of file faceTriangulation.H.
Construct null.
Definition at line 600 of file faceTriangulation.C.
faceTriangulation | ( | const pointField & | points, |
const face & | f, | ||
const bool | fallBack = false |
||
) |
Construct from face and points. Decomposition based on average.
normal. After construction *this is size 0 or holds the triangles. If fallBack and triangulation fails does naive triangulation and never returns 0 size.
Definition at line 607 of file faceTriangulation.C.
References f(), points, setSize(), and split().
faceTriangulation | ( | const pointField & | points, |
const face & | f, | ||
const vector & | n, | ||
const bool | fallBack = false |
||
) |
Construct from face and points and user supplied (unit) normal.
After construction *this is size 0 or holds the triangles. If fallBack and triangulation fails does naive triangulation and never returns 0 size.
Definition at line 629 of file faceTriangulation.C.
References f(), n, points, setSize(), and split().
faceTriangulation | ( | Istream & | is | ) |
Construct from Istream.
Definition at line 649 of file faceTriangulation.C.