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/splines/multipatch.hpp>

Public Member Functions

 MultiPatch ()=default
 Default constructor.
 
 MultiPatch (const MultiPatch &other)
 Copy constructor.
 
 MultiPatch (MultiPatch &&other) noexcept
 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.
 
Patch & patch (std::size_t index)
 Returns a non-constant reference to a single patch.
 
const Patch & patch (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 ( )
default

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)
inlinenoexcept

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: