IgANet
IgANets - Isogeometric Analysis Networks
Loading...
Searching...
No Matches
iganet::MultiPatch< Patch > Class Template Reference

Multi-patch container class. More...

#include </home/runner/work/iganet/iganet/include/multipatch.hpp>

Public Member Functions

 MultiPatch ()
 Default constructor.
 
 MultiPatch (const MultiPatch &other)
 Copy constructor.
 
 MultiPatch (MultiPatch &&other)
 Move constructor.
 
auto begin ()
 Returns an iterator to the patches.
 
void clear ()
 Removes all patches.
 
auto end ()
 Returns an iterator to the end of the patches.
 
std::size_t nboundaries () const
 Returns the number of outer boundaries.
 
std::size_t ninterfaces () const
 Returns the number of interfaces.
 
std::size_t npatches () const
 Returns the number of patches.
 
Patchpatch (std::size_t index)
 Returns a non-constant reference to a single patch.
 
const Patchpatch (std::size_t index) const
 Returns a constant reference to a single patch.
 
std::vector< std::shared_ptr< Patch > > & patches () const
 Returns a constant reference to the vector of patches.
 
auto rbegin ()
 Returns a reverse iterator to the patches.
 
auto rend ()
 Returns a reverse iterator to the end of the patches.
 

Private Attributes

std::vector< std::shared_ptr< Patch > > patches_
 Vector of single-patch objects.
 

Detailed Description

template<typename Patch>
class iganet::MultiPatch< Patch >

Multi-patch container class.

This class implements a container for a set of patches and their topology, that is, the interface connections and outer boundary faces.

Constructor & Destructor Documentation

◆ MultiPatch() [1/3]

template<typename Patch >
iganet::MultiPatch< Patch >::MultiPatch ( )
inline

Default constructor.

◆ MultiPatch() [2/3]

template<typename Patch >
iganet::MultiPatch< Patch >::MultiPatch ( const MultiPatch< Patch > &  other)
inline

Copy constructor.

◆ MultiPatch() [3/3]

template<typename Patch >
iganet::MultiPatch< Patch >::MultiPatch ( MultiPatch< Patch > &&  other)
inline

Move constructor.

Member Function Documentation

◆ addPatch() [1/2]

template<typename Patch >
std::size_t iganet::MultiPatch< Patch >::addPatch ( std::shared_ptr< Patch patch)
inline

Adds a single patch.

◆ addPatch() [2/2]

template<typename Patch >
std::size_t iganet::MultiPatch< Patch >::addPatch ( std::unique_ptr< Patch patch)
inline

Adds a single patch.

◆ begin() [1/2]

template<typename Patch >
auto iganet::MultiPatch< Patch >::begin ( )
inline

Returns an iterator to the patches.

◆ begin() [2/2]

template<typename Patch >
auto iganet::MultiPatch< Patch >::begin ( ) const
inline

Returns a const-iterator to the patches.

◆ cbegin()

template<typename Patch >
auto iganet::MultiPatch< Patch >::cbegin ( ) const
inlinenoexcept

Returns a const-iterator to the patches.

◆ cend()

template<typename Patch >
auto iganet::MultiPatch< Patch >::cend ( ) const
inlinenoexcept

Returns a const-iterator to the end of the patches.

◆ clear()

template<typename Patch >
void iganet::MultiPatch< Patch >::clear ( )
inline

Removes all patches.

◆ crbegin()

template<typename Patch >
auto iganet::MultiPatch< Patch >::crbegin ( ) const
inlinenoexcept

Returns a reverse const-iterator to the patches.

◆ crend()

template<typename Patch >
auto iganet::MultiPatch< Patch >::crend ( ) const
inlinenoexcept

Returns a reverse const-iterator to the end of the patches.

◆ end() [1/2]

template<typename Patch >
auto iganet::MultiPatch< Patch >::end ( )
inline

Returns an iterator to the end of the patches.

◆ end() [2/2]

template<typename Patch >
auto iganet::MultiPatch< Patch >::end ( ) const
inline

Returns a const-iterator to the end of the patches.

◆ findPatchIndex() [1/2]

template<typename Patch >
std::size_t iganet::MultiPatch< Patch >::findPatchIndex ( const Patch patch) const
inline

Returns the index of a given single patch.

◆ findPatchIndex() [2/2]

template<typename Patch >
std::size_t iganet::MultiPatch< Patch >::findPatchIndex ( const Patch patch) const
inline

Returns the index of a given single patch.

◆ nboundaries()

template<typename Patch >
std::size_t iganet::MultiPatch< Patch >::nboundaries ( ) const
inline

Returns the number of outer boundaries.

◆ ninterfaces()

template<typename Patch >
std::size_t iganet::MultiPatch< Patch >::ninterfaces ( ) const
inline

Returns the number of interfaces.

◆ npatches()

template<typename Patch >
std::size_t iganet::MultiPatch< Patch >::npatches ( ) const
inline

Returns the number of patches.

◆ patch() [1/2]

template<typename Patch >
Patch & iganet::MultiPatch< Patch >::patch ( std::size_t  index)
inline

Returns a non-constant reference to a single patch.

◆ patch() [2/2]

template<typename Patch >
const Patch & iganet::MultiPatch< Patch >::patch ( std::size_t  index) const
inline

Returns a constant reference to a single patch.

◆ patches()

template<typename Patch >
std::vector< std::shared_ptr< Patch > > & iganet::MultiPatch< Patch >::patches ( ) const
inline

Returns a constant reference to the vector of patches.

◆ rbegin() [1/2]

template<typename Patch >
auto iganet::MultiPatch< Patch >::rbegin ( )
inline

Returns a reverse iterator to the patches.

◆ rbegin() [2/2]

template<typename Patch >
auto iganet::MultiPatch< Patch >::rbegin ( ) const
inline

Returns a reverse const-iterator to the patches.

◆ rend() [1/2]

template<typename Patch >
auto iganet::MultiPatch< Patch >::rend ( )
inline

Returns a reverse iterator to the end of the patches.

◆ rend() [2/2]

template<typename Patch >
auto iganet::MultiPatch< Patch >::rend ( ) const
inline

Returns a reverse const-iterator to the end of the patches.

Member Data Documentation

◆ patches_

template<typename Patch >
std::vector<std::shared_ptr<Patch> > iganet::MultiPatch< Patch >::patches_
private

Vector of single-patch objects.


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