Classes | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
edge Class Reference

An edge is a list of two point labels. The functionality it provides supports the discretisation on a 2-D flat mesh. More...

Inheritance diagram for edge:
Inheritance graph
[legend]
Collaboration diagram for edge:
Collaboration graph
[legend]

Classes

struct  Hash
 Deprecated(2021-04) hashing functor. Use hasher() More...
 
struct  hasher
 Hashing functor for edge (commutative) More...
 

Public Member Functions

 edge ()
 Default construct, with invalid point labels (-1) More...
 
 edge (const label from, const label to)
 Construct from two point labels. More...
 
 edge (const labelPair &pair)
 Construct from pair of point labels. More...
 
 edge (const FixedList< label, 2 > &list)
 Construct from list of point labels. More...
 
 edge (const label from, const label to, const bool doSort)
 Construct from two point labels, sorted with first less-than second. More...
 
 edge (const FixedList< label, 2 > &list, const bool doSort)
 Construct from list, sorted with first less-than second. More...
 
 edge (const UList< label > &list, const FixedList< label, 2 > &indices)
 Copy construct from a subset of point labels. More...
 
 edge (Istream &is)
 Construct from Istream. More...
 
label a () const noexcept
 The first vertex. More...
 
label b () const noexcept
 The second vertex. More...
 
label & a () noexcept
 The first vertex. More...
 
label & b () noexcept
 The second vertex. More...
 
label start () const noexcept
 The start (first) vertex label. More...
 
label end () const noexcept
 The end (last/second) vertex label. More...
 
label & start () noexcept
 The start (first) vertex label. More...
 
label & end () noexcept
 The end (second/last) vertex label. More...
 
edge reverseEdge () const
 Return reverse edge as copy. More...
 
label minVertex () const
 Return the smallest point label used by the edge. More...
 
label maxVertex () const
 Return the largest point label used by the edge. More...
 
bool good () const noexcept
 True if the vertices are unique and non-negative. More...
 
bool valid () const noexcept
 True if the vertices are unique and non-negative. More...
 
bool found (const label pointLabel) const
 Return true if point label is found in edge. More...
 
label which (const label pointLabel) const
 Return local index (0,1) of point label in edge -1 on failure. More...
 
bool connected (const edge &other) const
 True if the edge has at least one vertex in common with other. More...
 
label commonVertex (const edge &other) const
 Return vertex common with other edge or -1 on failure. More...
 
label otherVertex (const label pointLabel) const
 Given the point label for one vertex, return the other one. More...
 
bool connects (const edge &other) const
 Do the edges share a common vertex index? More...
 
label collapse ()
 'Collapse' edge by marking duplicate point labels as '-1', the lower vertex is retained. More...
 
label count () const
 Return the number of unique, valid (non -1) point labels. More...
 
bool empty () const
 Return true if edge has no valid point labels. More...
 
void clear ()
 'Clears' edge by setting both ends to invalid point labels. More...
 
bool insert (const label index)
 Fill any open slot with the index if it did not previously exist. More...
 
template<class InputIterator >
label insert (InputIterator begIter, InputIterator endIter)
 Insert values, using begin/end iterators. More...
 
label insert (std::initializer_list< label > list)
 Fill open slots with the indices if they did not previously exist. More...
 
template<unsigned N>
label insert (const FixedList< label, N > &list)
 Fill open slots with the indices if they did not previously exist. More...
 
label insert (const labelUList &list)
 Fill open slots with the indices if they did not previously exist. More...
 
label erase (const label index)
 Remove an existing index from the edge and set its location to '-1'. More...
 
template<class InputIterator >
label erase (InputIterator begIter, InputIterator endIter)
 Remove values, using begin/end iterators. More...
 
label erase (std::initializer_list< label > list)
 Remove existing indices from the edge and set locations to '-1'. More...
 
template<unsigned N>
label erase (const FixedList< label, N > &list)
 Remove existing indices from the edge and set locations to '-1'. More...
 
label erase (const labelUList &list)
 Remove existing indices from the edge and set locations to '-1'. More...
 
point centre (const UList< point > &pts) const
 Return centre point (centroid) of the edge. More...
 
vector vec (const UList< point > &pts) const
 Return the vector (end - start) More...
 
vector unitVec (const UList< point > &pts) const
 Return the unit vector (end - start) More...
 
scalar mag (const UList< point > &pts) const
 Return scalar magnitude of the edge. More...
 
Pair< pointbox (const UList< point > &pts) const
 The enclosing (bounding) box for the edge. More...
 
linePointRef line (const UList< point > &pts) const
 Return edge line. More...
 
label & operator[] (const label i)
 Return edge element. Index should be limited to 0/1. More...
 
const label & operator[] (const label i) const
 Return constant edge element. Index should be limited to 0/1. More...
 
unsigned hash_code (unsigned seed=0) const
 The (commutative) hash value for edge, hashes lower value first. More...
 
template<class InputIterator>
Foam::label insert (InputIterator begIter, InputIterator endIter)
 
template<unsigned N>
Foam::label insert (const FixedList< label, N > &list)
 
template<class InputIterator>
Foam::label erase (InputIterator begIter, InputIterator endIter)
 
template<unsigned N>
Foam::label erase (const FixedList< label, N > &list)
 
- Public Member Functions inherited from Pair< label >
 Pair ()=default
 Default construct. More...
 
 Pair (const label &f, const label &s)
 Copy construct from components. More...
 
 Pair (label &&f, label &&s)
 Move construct from components. More...
 
 Pair (const std::pair< label, label > &vals)
 Copy construct from std::pair. More...
 
 Pair (std::pair< label, label > &&vals)
 Move construct from std::pair. More...
 
 Pair (const FixedList< label, 2 > &list)
 Copy construct FixedList of two items. More...
 
 Pair (const label &f, const label &s, const bool doSort)
 Copy construct, optionally sorted with first less-than second. More...
 
 Pair (const FixedList< label, 2 > &list, const bool doSort)
 Copy construct, optionally sorted with first less-than second. More...
 
 Pair (Istream &is)
 Construct from Istream. More...
 
void front ()=delete
 The front() accessor (from FixedList) has no purpose. More...
 
void back ()=delete
 The back() accessor (from FixedList) has no purpose. More...
 
const label & first () const noexcept
 Access the first element. More...
 
label & first () noexcept
 Access the first element. More...
 
const label & second () const noexcept
 Access the second element. More...
 
label & second () noexcept
 Access the second element. More...
 
const label & other (const label &a) const
 Return other element. More...
 
bool sorted () const
 True if first() is less-than second() More...
 
void flip ()
 Flip the Pair in-place. More...
 
void sort ()
 Sort so that first() is less-than second() More...
 
- Public Member Functions inherited from FixedList< label, 2 >
void writeEntry (const word &keyword, Ostream &os) const
 Write the list as a dictionary entry with keyword. More...
 
 FixedList ()=default
 Default construct. More...
 
 FixedList (const label &val)
 Construct and initialize all entries to given value. More...
 
 FixedList (const Foam::zero)
 Construct and initialize all entries to zero. More...
 
 FixedList (const label list[N])
 Copy construct from C-array (deprecated) More...
 
 FixedList (const FixedList< label, N > &list)
 Copy construct. More...
 
 FixedList (FixedList< label, N > &&list)
 Move construct by using move assignment for the individual list elements. More...
 
 FixedList (std::initializer_list< label > list)
 Construct from an initializer list. Runtime size check. More...
 
 FixedList (const UList< label > &list)
 Construct from UList. Runtime size check. More...
 
 FixedList (const FixedList< label, AnyNum > &list, const FixedList< label, N > &indices)
 Copy construct from a subset of the input. No size check. More...
 
 FixedList (const UList< label > &list, const FixedList< label, N > &indices)
 Copy construct from a subset of the input. No size check. More...
 
 FixedList (const SLList< label > &list)
 Construct from SLList. Runtime size check. More...
 
 FixedList (Istream &is)
 Construct from Istream. More...
 
autoPtr< FixedList< label, N > > clone () const
 Clone. More...
 
const label * cdata () const noexcept
 Return pointer to the underlying array serving as data storage. More...
 
label * data () noexcept
 Return pointer to the underlying array serving as data storage. More...
 
const char * cdata_bytes () const noexcept
 Return pointer to the underlying array serving as data storage,. More...
 
char * data_bytes () noexcept
 Return pointer to the underlying array serving as data storage,. More...
 
label & get () noexcept
 Element access using compile-time indexing. More...
 
const label & get () const noexcept
 Element access using compile-time indexing. More...
 
label & front () noexcept
 Access first element of the list, position [0]. More...
 
const label & front () const noexcept
 Access first element of the list, position [0]. More...
 
label & back () noexcept
 Access last element of the list, position [N-1]. More...
 
const label & back () const noexcept
 Access last element of the list, position [N-1]. More...
 
label fcIndex (const label i) const
 Return the forward circular index, i.e. next index which returns to the first at the end of the list. More...
 
const label & fcValue (const label i) const
 Return forward circular value (ie, next value in the list) More...
 
label & fcValue (const label i)
 Return forward circular value (ie, next value in the list) More...
 
label rcIndex (const label i) const
 Return the reverse circular index, i.e. previous index which returns to the last at the beginning of the list. More...
 
const label & rcValue (const label i) const
 Return reverse circular value (ie, previous value in the list) More...
 
label & rcValue (const label i)
 Return reverse circular value (ie, previous value in the list) More...
 
void checkStart (const label start) const
 Check start is within valid range [0,size) More...
 
void checkSize (const label size) const
 Check size is identical to template parameter N. More...
 
void checkIndex (const label i) const
 Check index is within valid range [0,N) More...
 
bool uniform () const
 True if all entries have identical values, and list is non-empty. More...
 
label find (const label &val, label pos=0) const
 Find index of the first occurrence of the value. More...
 
label rfind (const label &val, label pos=-1) const
 Find index of the last occurrence of the value. More...
 
bool found (const label &val, label pos=0) const
 True if the value if found in the list. More...
 
void resize (const label n)
 Dummy function, to make FixedList consistent with List. More...
 
void resize_nocopy (const label n)
 Dummy function, to make FixedList consistent with List. More...
 
void setSize (const label n)
 Dummy function, to make FixedList consistent with List. More...
 
void fill (const label &val)
 Assign all entries to the given value. More...
 
void fill (const Foam::zero)
 Assign all entries to zero. More...
 
void moveFirst (const label i)
 Move element to the first position. More...
 
void moveLast (const label i)
 Move element to the last position. More...
 
void swapFirst (const label i)
 Swap element with the first element. More...
 
void swapLast (const label i)
 Swap element with the last element. More...
 
void transfer (FixedList< label, N > &list)
 Transfer by swapping using a move assignment for the content of the individual list elements. More...
 
label & operator[] (const label i)
 Return element of FixedList. More...
 
const label & operator[] (const label i) const
 Return element of constant FixedList. More...
 
void operator= (const label list[N])
 Assignment to array operator. Takes linear time. More...
 
void operator= (const UList< label > &list)
 Assignment to UList operator. Takes linear time. More...
 
void operator= (const SLList< label > &list)
 Assignment to SLList operator. Takes linear time. More...
 
void operator= (std::initializer_list< label > list)
 Assignment to an initializer list. Takes linear time. More...
 
void operator= (const label &val)
 Assign all entries to the given value. fill() More...
 
void operator= (const Foam::zero)
 Assign all entries to zero. fill() More...
 
void operator= (const FixedList< label, N > &list)
 Copy assignment. More...
 
void operator= (FixedList< label, N > &&list)
 Move assignment. More...
 
iterator begin () noexcept
 Return an iterator to begin traversing the FixedList. More...
 
const_iterator begin () const noexcept
 Return const_iterator to begin traversing the constant FixedList. More...
 
iterator end () noexcept
 Return an iterator to end traversing the FixedList. More...
 
const_iterator end () const noexcept
 Return const_iterator to end traversing the constant FixedList. More...
 
const_iterator cbegin () const noexcept
 Return const_iterator to begin traversing the constant FixedList. More...
 
const_iterator cend () const noexcept
 Return const_iterator to end traversing the constant FixedList. More...
 
reverse_iterator rbegin ()
 Return reverse_iterator to begin reverse traversing the FixedList. More...
 
const_reverse_iterator rbegin () const
 Return const_reverse_iterator to begin reverse traversing FixedList. More...
 
reverse_iterator rend ()
 Return reverse_iterator to end reverse traversing the FixedList. More...
 
const_reverse_iterator rend () const
 Return const_reverse_iterator to end reverse traversing FixedList. More...
 
const_reverse_iterator crbegin () const
 Return const_reverse_iterator to begin reverse traversing FixedList. More...
 
const_reverse_iterator crend () const
 Return const_reverse_iterator to end reverse traversing FixedList. More...
 
void swap (FixedList< label, N > &other)
 Swap lists by swapping the content of the individual list elements. More...
 
bool operator== (const FixedList< label, N > &list) const
 Equality operation on FixedLists of the same type. More...
 
bool operator!= (const FixedList< label, N > &list) const
 The opposite of the equality operation. Takes linear time. More...
 
bool operator< (const FixedList< label, N > &list) const
 Compare two FixedLists lexicographically. Takes linear time. More...
 
bool operator> (const FixedList< label, N > &list) const
 Compare two FixedLists lexicographically. Takes linear time. More...
 
bool operator<= (const FixedList< label, N > &list) const
 Return true if !(a > b). Takes linear time. More...
 
bool operator>= (const FixedList< label, N > &list) const
 Return true if !(a < b). Takes linear time. More...
 
IstreamreadList (Istream &is)
 Read from Istream, discarding contents of existing List. More...
 
OstreamwriteList (Ostream &os, const label shortLen=0) const
 Write List, with line-breaks in ASCII when length exceeds shortLen. More...
 
label & first () noexcept
 Access first element of the list, position [0] - front() More...
 
const label & first () const noexcept
 Access first element of the list, position [0] - front() More...
 
label & last () noexcept
 Access last element of the list, position [N-1] - back() More...
 
const label & last () const noexcept
 Access last element of the list, position [N-1] - back() More...
 

Static Public Member Functions

static int compare (const edge &a, const edge &b)
 Compare edges. More...
 
- Static Public Member Functions inherited from Pair< label >
static int compare (const Pair< label > &a, const Pair< label > &b)
 Compare Pairs. More...
 
- Static Public Member Functions inherited from FixedList< label, 2 >
static const FixedList< label, N > & null ()
 Return a null FixedList. More...
 
static std::streamsize size_bytes () noexcept
 Number of contiguous bytes for the list data,. More...
 
static std::streamsize byteSize ()
 Number of contiguous bytes for the list data, runtime FatalError if type is not contiguous. More...
 
static constexpr bool empty () noexcept
 Always false since zero-sized FixedList is compile-time disabled. More...
 
static constexpr label size () noexcept
 Return the number of elements in the FixedList. More...
 
static constexpr unsigned max_size () noexcept
 The dimensioned size (template parameter N) of the FixedList. More...
 

Static Public Attributes

static const char *const typeName = "edge"
 

Additional Inherited Members

- Public Types inherited from FixedList< label, 2 >
typedef label value_type
 The value type the FixedList contains. More...
 
typedef label * pointer
 The pointer type for non-const access to value_type items. More...
 
typedef const label * const_pointer
 The pointer type for const access to value_type items. More...
 
typedef label & reference
 The type used for storing into value_type objects. More...
 
typedef const label & const_reference
 The type used for reading from constant value_type objects. More...
 
typedef label * iterator
 Random access iterator for traversing FixedList. More...
 
typedef const label * const_iterator
 Random access iterator for traversing FixedList. More...
 
typedef label size_type
 The type to represent the size of a FixedList. More...
 
typedef label difference_type
 The difference between iterator objects. More...
 
typedef std::reverse_iterator< iteratorreverse_iterator
 Reverse iterator (non-const access) More...
 
typedef std::reverse_iterator< const_iteratorconst_reverse_iterator
 Reverse iterator (const access) More...
 
- Protected Member Functions inherited from FixedList< label, 2 >
void writeEntry (Ostream &os) const
 Write the FixedList with its compound type. More...
 

Detailed Description

An edge is a list of two point labels. The functionality it provides supports the discretisation on a 2-D flat mesh.

The edge is implemented as a Pair/FixedList of labels. As well as geometrically relevant methods, it also provides methods similar to HashSet for additional convenience. Valid point labels are always non-negative (since they correspond to addressing within the mesh). The value '-1' is used to tag invalid point labels that correspond conceptually to open 'slots', which can be filled with a HashSet-like functionality.

Source files

Definition at line 59 of file edge.H.

Constructor & Destructor Documentation

◆ edge() [1/8]

edge ( )
inline

Default construct, with invalid point labels (-1)

Definition at line 34 of file edgeI.H.

Referenced by cellShape::edge().

Here is the caller graph for this function:

◆ edge() [2/8]

edge ( const label  from,
const label  to 
)
inline

Construct from two point labels.

Definition at line 40 of file edgeI.H.

◆ edge() [3/8]

edge ( const labelPair pair)
inline

Construct from pair of point labels.

Definition at line 46 of file edgeI.H.

◆ edge() [4/8]

edge ( const FixedList< label, 2 > &  list)
inline

Construct from list of point labels.

Definition at line 52 of file edgeI.H.

◆ edge() [5/8]

edge ( const label  from,
const label  to,
const bool  doSort 
)
inline

Construct from two point labels, sorted with first less-than second.

Definition at line 58 of file edgeI.H.

◆ edge() [6/8]

edge ( const FixedList< label, 2 > &  list,
const bool  doSort 
)
inline

Construct from list, sorted with first less-than second.

Definition at line 64 of file edgeI.H.

◆ edge() [7/8]

edge ( const UList< label > &  list,
const FixedList< label, 2 > &  indices 
)
inline

Copy construct from a subset of point labels.

Definition at line 71 of file edgeI.H.

◆ edge() [8/8]

edge ( Istream is)
inline

Construct from Istream.

Definition at line 80 of file edgeI.H.

Member Function Documentation

◆ a() [1/2]

label a ( ) const
inlinenoexcept

The first vertex.

Definition at line 124 of file edge.H.

References Pair< label >::first().

Referenced by edge::compare().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ b() [1/2]

label b ( ) const
inlinenoexcept

The second vertex.

Definition at line 129 of file edge.H.

References Pair< label >::second().

Referenced by edge::compare().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ a() [2/2]

label& a ( )
inlinenoexcept

The first vertex.

Definition at line 134 of file edge.H.

References Pair< label >::first().

Here is the call graph for this function:

◆ b() [2/2]

label& b ( )
inlinenoexcept

The second vertex.

Definition at line 139 of file edge.H.

References Pair< label >::second().

Here is the call graph for this function:

◆ start() [1/2]

label start ( ) const
inlinenoexcept

◆ end() [1/2]

label end ( ) const
inlinenoexcept

The end (last/second) vertex label.

Definition at line 149 of file edge.H.

References Pair< label >::second().

Referenced by cellFeatures::isFeaturePoint(), slidingInterface::modifyMotionPoints(), line< Point, PointRef >::nearestDist(), Foam::polyMeshZipUpCells(), PatchTools::sortedPointEdges(), and extendedEdgeMesh::sortPointsAndEdges().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ start() [2/2]

label& start ( )
inlinenoexcept

The start (first) vertex label.

Definition at line 154 of file edge.H.

References Pair< label >::first().

Here is the call graph for this function:

◆ end() [2/2]

label& end ( )
inlinenoexcept

The end (second/last) vertex label.

Definition at line 159 of file edge.H.

References Pair< label >::second().

Here is the call graph for this function:

◆ reverseEdge()

Foam::edge reverseEdge ( ) const
inline

Return reverse edge as copy.

No special handling of negative point labels.

Definition at line 195 of file edgeI.H.

Referenced by hexCell::reverseEdge(), and tetCell::reverseEdge().

Here is the caller graph for this function:

◆ minVertex()

Foam::label minVertex ( ) const
inline

Return the smallest point label used by the edge.

No special handling of negative point labels.

Definition at line 88 of file edgeI.H.

◆ maxVertex()

Foam::label maxVertex ( ) const
inline

Return the largest point label used by the edge.

No special handling of negative point labels.

Definition at line 94 of file edgeI.H.

◆ good()

bool good ( ) const
inlinenoexcept

True if the vertices are unique and non-negative.

Definition at line 100 of file edgeI.H.

Referenced by edge::valid().

Here is the caller graph for this function:

◆ valid()

bool valid ( ) const
inlinenoexcept

True if the vertices are unique and non-negative.

Definition at line 194 of file edge.H.

References edge::good().

Referenced by multiWorldConnections::addConnectionById(), multiWorldConnections::addConnectionByName(), multiWorldConnections::getCommById(), and multiWorldConnections::getCommByName().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ found()

bool found ( const label  pointLabel) const
inline

Return true if point label is found in edge.

Always false for a negative label.

Definition at line 106 of file edgeI.H.

Referenced by edge::commonVertex(), edge::connected(), intersectedSurface::intersectedSurface(), patchEdgeFaceRegions::updateEdge(), and patchEdgeFaceRegions::updateFace().

Here is the caller graph for this function:

◆ which()

Foam::label which ( const label  pointLabel) const
inline

Return local index (0,1) of point label in edge -1 on failure.

Always return -1 for a negative label.

Definition at line 117 of file edgeI.H.

◆ connected()

bool connected ( const edge other) const
inline

True if the edge has at least one vertex in common with other.

Definition at line 136 of file edgeI.H.

References edge::found().

Referenced by Foam::calcProximityOfFeatureEdges(), and edge::connects().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ commonVertex()

Foam::label commonVertex ( const edge other) const
inline

Return vertex common with other edge or -1 on failure.

Negative point labels are never considered common between edges.

Definition at line 142 of file edgeI.H.

References edge::found().

Referenced by removePoints::countPointUsage(), and GTSsurfaceFormat< Face >::read().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ otherVertex()

Foam::label otherVertex ( const label  pointLabel) const
inline

Given the point label for one vertex, return the other one.

No special treatment for negative point labels.

Definition at line 158 of file edgeI.H.

Referenced by removePoints::countPointUsage(), searchableExtrudedCircle::findParametricNearest(), and GTSsurfaceFormat< Face >::read().

Here is the caller graph for this function:

◆ connects()

bool connects ( const edge other) const
inline

Do the edges share a common vertex index?

Negative point labels never connect.

Definition at line 234 of file edge.H.

References edge::connected(), and Pair< label >::other().

Here is the call graph for this function:

◆ collapse()

Foam::label collapse ( )
inline

'Collapse' edge by marking duplicate point labels as '-1', the lower vertex is retained.

Return the effective size after collapsing.

Definition at line 174 of file edgeI.H.

References n.

◆ count()

Foam::label count ( ) const
inline

Return the number of unique, valid (non -1) point labels.

Similar to a HashTable::size().

Definition at line 208 of file edgeI.H.

References n.

◆ empty()

bool empty ( ) const
inline

Return true if edge has no valid point labels.

Definition at line 224 of file edgeI.H.

◆ clear()

void clear ( )
inline

'Clears' edge by setting both ends to invalid point labels.

Definition at line 201 of file edgeI.H.

◆ insert() [1/7]

bool insert ( const label  index)
inline

Fill any open slot with the index if it did not previously exist.

Returns true on success. A negative label never inserts. Similar to a HashTable::insert().

Definition at line 230 of file edgeI.H.

◆ insert() [2/7]

label insert ( InputIterator  begIter,
InputIterator  endIter 
)
inline

Insert values, using begin/end iterators.

◆ insert() [3/7]

Foam::label insert ( std::initializer_list< label >  list)
inline

Fill open slots with the indices if they did not previously exist.

Returns true on success. Negative labels never insert. Return the number of slots filled. Similar to a HashTable::insert().

Definition at line 285 of file edgeI.H.

References insert().

Here is the call graph for this function:

◆ insert() [4/7]

label insert ( const FixedList< label, N > &  list)
inline

Fill open slots with the indices if they did not previously exist.

Returns true on success. Negative labels never insert. Return the number of slots filled. Similar to a HashTable::insert().

◆ insert() [5/7]

Foam::label insert ( const labelUList list)
inline

Fill open slots with the indices if they did not previously exist.

Returns true on success. Negative labels never insert. Return the number of slots filled. Similar to a HashTable::insert().

Definition at line 298 of file edgeI.H.

References UList< T >::begin(), UList< T >::end(), and insert().

Here is the call graph for this function:

◆ erase() [1/7]

Foam::label erase ( const label  index)
inline

Remove an existing index from the edge and set its location to '-1'.

Returns the number of changes. A negative label never removes. Similar to a HashTable::erase().

Definition at line 304 of file edgeI.H.

References n.

◆ erase() [2/7]

label erase ( InputIterator  begIter,
InputIterator  endIter 
)
inline

Remove values, using begin/end iterators.

◆ erase() [3/7]

Foam::label erase ( std::initializer_list< label >  list)
inline

Remove existing indices from the edge and set locations to '-1'.

Returns the number of changes.

Definition at line 351 of file edgeI.H.

References erase().

Here is the call graph for this function:

◆ erase() [4/7]

label erase ( const FixedList< label, N > &  list)
inline

Remove existing indices from the edge and set locations to '-1'.

Returns the number of changes.

◆ erase() [5/7]

Foam::label erase ( const labelUList list)
inline

Remove existing indices from the edge and set locations to '-1'.

Returns the number of changes.

Definition at line 364 of file edgeI.H.

References UList< T >::begin(), UList< T >::end(), and erase().

Here is the call graph for this function:

◆ centre()

Foam::point centre ( const UList< point > &  pts) const
inline

Return centre point (centroid) of the edge.

No special handling of negative point labels.

Definition at line 372 of file edgeI.H.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, and pts.

Referenced by surfaceFeatures::nearestEdges(), and surfaceFeatures::nearestFeatEdge().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ vec()

Foam::vector vec ( const UList< point > &  pts) const
inline

Return the vector (end - start)

No special handling of negative point labels.

Definition at line 387 of file edgeI.H.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, and pts.

Referenced by searchableExtrudedCircle::findParametricNearest(), slidingInterface::modifyMotionPoints(), extendedEdgeMesh::sortPointsAndEdges(), and cuttingSurfaceBase::walkCellCuts().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ unitVec()

Foam::vector unitVec ( const UList< point > &  pts) const
inline

Return the unit vector (end - start)

No special handling of negative point labels.

Definition at line 402 of file edgeI.H.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, Foam::mag(), pts, s, and Foam::Zero.

Referenced by cellFeatures::isFeaturePoint().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mag()

Foam::scalar mag ( const UList< point > &  pts) const
inline

Return scalar magnitude of the edge.

No special handling of negative point labels.

Definition at line 420 of file edgeI.H.

References Foam::mag(), and pts.

Referenced by face::longestEdge(), and surfaceFeatures::trimFeatures().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ box()

Foam::Pair< Foam::point > box ( const UList< point > &  pts) const
inline

The enclosing (bounding) box for the edge.

Definition at line 427 of file edgeI.H.

References Foam::abort(), line< Point, PointRef >::box(), Foam::FatalError, FatalErrorInFunction, and pts.

Here is the call graph for this function:

◆ line()

Foam::linePointRef line ( const UList< point > &  pts) const
inline

Return edge line.

No special handling of negative point labels.

Definition at line 442 of file edgeI.H.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, and pts.

Referenced by slidingInterface::modifyMotionPoints(), and syncTools::syncEdgeList().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ compare()

int compare ( const edge a,
const edge b 
)
inlinestatic

Compare edges.

Returns
  • 0: different
  • +1: identical values and order used
  • -1: identical values, but in different order

Definition at line 26 of file edgeI.H.

References edge::a(), edge::b(), and Pair< label >::compare().

Referenced by Foam::operator!=(), Foam::operator==(), and syncTools::syncEdgeList().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator[]() [1/2]

Foam::label & operator[] ( const label  i)
inline

Return edge element. Index should be limited to 0/1.

Definition at line 459 of file edgeI.H.

References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.

Here is the call graph for this function:

◆ operator[]() [2/2]

const Foam::label & operator[] ( const label  i) const
inline

Return constant edge element. Index should be limited to 0/1.

Definition at line 472 of file edgeI.H.

References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.

Here is the call graph for this function:

◆ hash_code()

unsigned hash_code ( unsigned  seed = 0) const
inline

The (commutative) hash value for edge, hashes lower value first.

Definition at line 422 of file edge.H.

References Pair< label >::first(), and Pair< label >::second().

Referenced by edge::hasher::operator()().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ insert() [6/7]

Foam::label insert ( InputIterator  begIter,
InputIterator  endIter 
)
inline

Definition at line 263 of file edgeI.H.

References insert().

Here is the call graph for this function:

◆ insert() [7/7]

Foam::label insert ( const FixedList< label, N > &  list)
inline

Definition at line 292 of file edgeI.H.

References FixedList< T, N >::begin(), FixedList< T, N >::end(), and insert().

Here is the call graph for this function:

◆ erase() [6/7]

Foam::label erase ( InputIterator  begIter,
InputIterator  endIter 
)
inline

Definition at line 332 of file edgeI.H.

References erase().

Here is the call graph for this function:

◆ erase() [7/7]

Foam::label erase ( const FixedList< label, N > &  list)
inline

Definition at line 358 of file edgeI.H.

References FixedList< T, N >::begin(), FixedList< T, N >::end(), and erase().

Here is the call graph for this function:

Member Data Documentation

◆ typeName

const char *const typeName = "edge"
static

Definition at line 67 of file edge.H.


The documentation for this class was generated from the following files: