G+Smo  23.12.0
Geometry + Simulation Modules
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
gsCoonsPatch< T > Class Template Reference

Detailed Description

template<typename T>
class gismo::gsCoonsPatch< T >

Computes a Coons' patch parametrization given a set of boundary geometries. Parametrization is not guaranteed to be non-singular. Works for surface, volumes, or any dimension.

Template Parameters
TCoefficient type
+ Inheritance diagram for gsCoonsPatch< T >:
+ Collaboration diagram for gsCoonsPatch< T >:

Public Member Functions

const gsGeometry< T > & compute ()
 Main routine that performs the computation (to be implemented in derived classes)
 
const gsGeometry< T > & compute (const gsMultiPatch< T > &boundary)
 Main routine that receives input and performs the computation.
 
 gsCoonsPatch (const gsMultiPatch< T > &boundary)
 Constructs a Coon's patch object by a collection of tensor-product patches defining the boundaries of a patch. More...
 
const gsMultiPatch< T > & input ()
 Returns the input boundaries.
 
const gsGeometry< T > & result () const
 Returns the resulting patch. Assumes that compute() has been called before.
 

Protected Member Functions

template<short_t d>
void preparePatch (gsTensorBSplineBasis< d, T > &resultBasis, gsMatrix< T > &coefs)
 Resolves the configuration of the input boundaries and creates a patch filled with the boundary coefficients.
 

Protected Attributes

gsMultiPatch< T > m_boundary
 Input boundaries.
 
gsGeometry< T > * m_result
 Resulting patch.
 

Constructor & Destructor Documentation

gsCoonsPatch ( const gsMultiPatch< T > &  boundary)
inline

Constructs a Coon's patch object by a collection of tensor-product patches defining the boundaries of a patch.

The number of boundaries is expected to be 2*d, where d is the space dimension. They are expected to form a closed "shell"

Parameters
boundarya set of boundary curves or patches