23template<
short_t d,
class T>
class gsMappedSpline;
33template<
short_t d,
class T>
43 typedef memory::shared_ptr< gsMappedSingleSpline >
Ptr;
46 typedef memory::unique_ptr< gsMappedSingleSpline >
uPtr;
56 : m_spline(spline),m_index(i)
58 GISMO_ASSERT( i<
unsigned(m_spline->nPatches()),
"Invalid spline function index" );
63 m_spline = other.m_spline;
64 m_index = other.m_index;
70 ~gsMappedSingleSpline() { }
82 {
return m_spline->m_global.cols(); }
88 m_spline->eval_into(m_index,u,result);
94 m_spline->deriv_into(m_index,u,result);
100 m_spline->deriv2_into(m_index,u,result);
106 bool sameElement =
false)
const
108 m_spline->evalAllDers_into(m_index,u,n,result,sameElement);
113 {
return m_spline->supportOf(m_index); }
118 std::ostream &
print(std::ostream &os)
const
131 return m_spline->degree(m_index,i);
138 GISMO_ASSERT( i<
unsigned(m_spline->nPatches()),
"Invalid spline index" );
142 void setSource(gsMappedSpline<d,T> & s)
147 gsMappedSpline<d,T> * m_spline;
A function from a n-dimensional domain to an m-dimensional image.
Definition gsFunction.h:60
Class gsMappedSingleBasis represents an indivisual .....of a.
Definition gsMappedSingleBasis.h:35
Class gsMappedSingleSpline represents an individual .....of a.
Definition gsMappedSingleSpline.h:35
gsMappedSingleSpline(gsMappedSpline< d, T > *spline, unsigned const &i=0)
Construct a spline function by a pointer to a spline and an index i.
Definition gsMappedSingleSpline.h:55
void setPiece(unsigned const &i)
Definition gsMappedSingleSpline.h:136
void deriv2_into(const gsMatrix< T > &u, gsMatrix< T > &result) const
Evaluates the (partial) derivatives of the nonzero spline functions at points u into result.
Definition gsMappedSingleSpline.h:98
memory::shared_ptr< gsMappedSingleSpline > Ptr
Shared pointer for gsMappedSingleSpline.
Definition gsMappedSingleSpline.h:43
gsMappedSingleSpline()
Default empty constructor.
Definition gsMappedSingleSpline.h:50
short_t degree(short_t i) const
Returns the polynomial degree.
Definition gsMappedSingleSpline.h:129
void evalAllDers_into(const gsMatrix< T > &u, int n, std::vector< gsMatrix< T > > &result, bool sameElement=false) const
Evaluate the nonzero spline functions and their derivatives up to order n at points u into result.
Definition gsMappedSingleSpline.h:105
short_t targetDim() const
Dimension of the target space.
Definition gsMappedSingleSpline.h:81
void eval_into(const gsMatrix< T > &u, gsMatrix< T > &result) const
Evaluates the non-zero spline functions at value u.
Definition gsMappedSingleSpline.h:85
short_t domainDim() const
Dimension of the (source) domain.
Definition gsMappedSingleSpline.h:76
void deriv_into(const gsMatrix< T > &u, gsMatrix< T > &result) const
Evaluates the (partial) derivatives of non-zero spline functions at (the columns of) u.
Definition gsMappedSingleSpline.h:92
std::ostream & print(std::ostream &os) const
Prints the object as a string.
Definition gsMappedSingleSpline.h:118
memory::unique_ptr< gsMappedSingleSpline > uPtr
Unique pointer for gsMappedSingleSpline.
Definition gsMappedSingleSpline.h:46
A matrix with arbitrary coefficient type and fixed or dynamic size.
Definition gsMatrix.h:41
#define short_t
Definition gsConfig.h:35
#define index_t
Definition gsConfig.h:32
#define GISMO_NO_IMPLEMENTATION
Definition gsDebug.h:129
#define GISMO_UNUSED(x)
Definition gsDebug.h:112
#define GISMO_ASSERT(cond, message)
Definition gsDebug.h:89
Provides declaration of Geometry abstract interface.
Implementation of a piece of the gsMappedBasis.
Provides declaration of Basis abstract interface.
The G+Smo namespace, containing all definitions for the library.