Loading...
Searching...
No Matches
Barycentric2D< Cmpt > Class Template Reference

Templated 2D Barycentric derived from VectorSpace. Has 3 components, one of which is redundant. More...

#include <Barycentric2D.H>

Inheritance diagram for Barycentric2D< Cmpt >:
Collaboration diagram for Barycentric2D< Cmpt >:

Public Types

enum  components { A , B , C }
 Component labeling enumeration. More...
typedef Barycentric2D< label > labelType
 Equivalent type of labels used for valid component indexing.
Public Types inherited from VectorSpace< Barycentric2D< Cmpt >, Cmpt, 3 >
typedef VectorSpace< Barycentric2D< Cmpt >, Cmpt, Ncmpts > vsType
 VectorSpace type.
typedef Cmpt cmptType
 Component type.
typedef Cmpt magType
 Magnitude type.
typedef direction size_type
 The type to represent the size of a VectorSpace.
typedef Cmpt * iterator
 Random access iterator for traversing VectorSpace.
typedef const Cmpt * const_iterator
 Random access iterator for traversing VectorSpace.

Public Member Functions

 Barycentric2D ()=default
 Default construct.
 Barycentric2D (const Foam::zero)
 Construct initialized to zero.
 Barycentric2D (const Cmpt &va, const Cmpt &vb, const Cmpt &vc)
 Construct from components.
 Barycentric2D (const Cmpt &va, const Cmpt &vb)
 Construct from two components, calculating third component.
const Cmpt & a () const noexcept
const Cmpt & b () const noexcept
const Cmpt & c () const noexcept
Cmpt & a () noexcept
Cmpt & b () noexcept
Cmpt & c () noexcept
Cmpt inner (const Barycentric2D< Cmpt > &b2) const
 Scalar-product of this with another Barycentric2D.
bool outside () const
 True if any coordinate is negative.
Public Member Functions inherited from VectorSpace< Barycentric2D< Cmpt >, Cmpt, 3 >
const Foam::VectorSpace< Barycentric2D< Cmpt >, Cmpt, Ncmpts >::template ConstBlock< SubVector, BStart > block () const
 VectorSpace ()=default
 Default construct.
const Cmpt & component (const direction) const
void replace (const direction, const Cmpt &)
const Cmpt * cdata () const noexcept
 Return const pointer to the first data element.
Cmpt * data () noexcept
 Return pointer to the first data element.
void fill (const Cmpt &s)
 Assign all components to given value.
const Cmpt & operator[] (const direction) const
void operator= (const VectorSpace< Barycentric2D< Cmpt >, Cmpt, Ncmpts > &)
void operator+= (const VectorSpace< Barycentric2D< Cmpt >, Cmpt, Ncmpts > &)
void operator-= (const VectorSpace< Barycentric2D< Cmpt >, Cmpt, Ncmpts > &)
void operator*= (const scalar)
void operator/= (const scalar)
iterator begin () noexcept
 Return an iterator (pointer) to begin of VectorSpace.
const_iterator cbegin () const noexcept
 Return const_iterator (const pointer) to begin of VectorSpace.
iterator end () noexcept
 Return an iterator (pointer) to end of VectorSpace.
const_iterator cend () const noexcept
 Return const_iterator (const pointer) to end of VectorSpace.

Static Public Attributes

static constexpr direction rank = 1
 Rank of Barycentric2D is 1.
Static Public Attributes inherited from VectorSpace< Barycentric2D< Cmpt >, Cmpt, 3 >
static constexpr direction dim
 Dimensionality of space.
static constexpr direction nComponents
 Number of components in this vector space.
static constexpr direction mRows
static constexpr direction nCols
static const char *const typeName
static const char *const componentNames []
static const Barycentric2D< Cmpt > zero
static const Barycentric2D< Cmpt > one
static const Barycentric2D< Cmpt > max
static const Barycentric2D< Cmpt > min
static const Barycentric2D< Cmpt > rootMax
static const Barycentric2D< Cmpt > rootMin

Additional Inherited Members

Static Public Member Functions inherited from VectorSpace< Barycentric2D< Cmpt >, Cmpt, 3 >
static constexpr direction size () noexcept
 The number of elements in the VectorSpace = Ncmpts.
static Barycentric2D< Cmpt > uniform (const Cmpt &s)
 Return a VectorSpace with all elements = s.
Public Attributes inherited from VectorSpace< Barycentric2D< Cmpt >, Cmpt, 3 >
Cmpt v_ [Ncmpts]
 The components of this vector space.

Detailed Description

template<class Cmpt>
class Foam::Barycentric2D< Cmpt >

Templated 2D Barycentric derived from VectorSpace. Has 3 components, one of which is redundant.

Source files

Definition at line 50 of file Barycentric2D.H.

Member Typedef Documentation

◆ labelType

template<class Cmpt>
typedef Barycentric2D<label> labelType

Equivalent type of labels used for valid component indexing.

Definition at line 61 of file Barycentric2D.H.

Member Enumeration Documentation

◆ components

template<class Cmpt>
enum components

Component labeling enumeration.

Enumerator

Definition at line 75 of file Barycentric2D.H.

Constructor & Destructor Documentation

◆ Barycentric2D() [1/4]

template<class Cmpt>
Barycentric2D ( )
default

Default construct.

Referenced by Barycentric2D(), Barycentric2D(), and inner().

Here is the caller graph for this function:

◆ Barycentric2D() [2/4]

template<class Cmpt>
Barycentric2D ( const Foam::zero )
inline

Construct initialized to zero.

Definition at line 25 of file Barycentric2DI.H.

References Barycentric2D(), and Foam::Zero.

Here is the call graph for this function:

◆ Barycentric2D() [3/4]

template<class Cmpt>
Barycentric2D ( const Cmpt & va,
const Cmpt & vb,
const Cmpt & vc )
inline

Construct from components.

Definition at line 32 of file Barycentric2DI.H.

References A, B, C, and VectorSpace< Barycentric2D< Cmpt >, Cmpt, 3 >::v_.

◆ Barycentric2D() [4/4]

template<class Cmpt>
Barycentric2D ( const Cmpt & va,
const Cmpt & vb )
inline

Construct from two components, calculating third component.

Definition at line 46 of file Barycentric2DI.H.

References Barycentric2D(), and VectorSpace< Barycentric2D< Cmpt >, Cmpt, 3 >::one.

Here is the call graph for this function:

Member Function Documentation

◆ a() [1/2]

template<class Cmpt>
const Cmpt & a ( ) const
inlinenoexcept

Definition at line 108 of file Barycentric2D.H.

Referenced by inner().

Here is the caller graph for this function:

◆ b() [1/2]

template<class Cmpt>
const Cmpt & b ( ) const
inlinenoexcept

Definition at line 109 of file Barycentric2D.H.

Referenced by inner().

Here is the caller graph for this function:

◆ c() [1/2]

template<class Cmpt>
const Cmpt & c ( ) const
inlinenoexcept

Definition at line 110 of file Barycentric2D.H.

Referenced by inner().

Here is the caller graph for this function:

◆ a() [2/2]

template<class Cmpt>
Cmpt & a ( )
inlinenoexcept

Definition at line 112 of file Barycentric2D.H.

◆ b() [2/2]

template<class Cmpt>
Cmpt & b ( )
inlinenoexcept

Definition at line 113 of file Barycentric2D.H.

◆ c() [2/2]

template<class Cmpt>
Cmpt & c ( )
inlinenoexcept

Definition at line 114 of file Barycentric2D.H.

◆ inner()

template<class Cmpt>
Cmpt inner ( const Barycentric2D< Cmpt > & b2) const
inline

Scalar-product of this with another Barycentric2D.

Definition at line 59 of file Barycentric2DI.H.

References a(), b(), Barycentric2D(), and c().

Here is the call graph for this function:

◆ outside()

template<class Cmpt>
bool outside ( ) const
inline

True if any coordinate is negative.

Definition at line 71 of file Barycentric2DI.H.

References A, B, C, and VectorSpace< Barycentric2D< Cmpt >, Cmpt, 3 >::v_.

Member Data Documentation

◆ rank

template<class Cmpt>
direction rank = 1
staticconstexpr

Rank of Barycentric2D is 1.

Definition at line 69 of file Barycentric2D.H.


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