32 typedef memory::shared_ptr< gsGeometrySlice >
Ptr;
35 typedef memory::unique_ptr< gsGeometrySlice >
uPtr;
38 : m_geo(geo),m_fixed_dir(fixed_dir),m_par(par)
40 GISMO_ASSERT(fixed_dir>=0 && geo->
domainDim()>
static_cast<int>(fixed_dir),
"Geometry has not big enough dimension to fix the given fixed_dim.");
46 : m_geo(geoSlice->m_geo),m_fixed_dir(geoSlice->m_fixed_dir),m_par(geoSlice->m_par)
48 GISMO_ASSERT(geoSlice->m_fixed_dir>=0 && geoSlice->m_geo->domainDim()>
static_cast<int>(geoSlice->m_fixed_dir),
"Geometry has not big enough dimension to fix the given fixed_dim.");
49 GISMO_ASSERT(geoSlice->m_geo->domainDim()!=1,
"Cannot take a slice of a curve.");
57 return m_geo->domainDim()-1;
65 return m_geo->targetDim();
75 m_geo->eval_into(fullU,result);
83 m_geo->deriv_into(fullU,result);
90 const index_t rows = fullRange.rows()-1;
91 const index_t cols = fullRange.cols();
93 range.topRows(m_fixed_dir) = fullRange.topRows(m_fixed_dir);
94 range.bottomRows(rows - m_fixed_dir) = fullRange.bottomRows(rows - m_fixed_dir);
106 const index_t rows = u.rows()+1;
108 fullU.resize(rows,cols);
109 fullU.topRows(m_fixed_dir) = u.topRows(m_fixed_dir);
110 fullU.row(m_fixed_dir).setConstant(m_par);
111 fullU.bottomRows(rows - m_fixed_dir-1) = u.bottomRows(rows - m_fixed_dir-1);
A function from a n-dimensional domain to an m-dimensional image.
Definition gsFunction.h:60
virtual short_t domainDim() const=0
Dimension of the (source) domain.
gsGeometrySlice is a class representing an iso parametric slice of a geometry object....
Definition gsGeometrySlice.h:28
gsGeometrySlice(const gsGeometrySlice *geoSlice)
Copyconstructor for new gsGeometrySlice(*this)
Definition gsGeometrySlice.h:45
short_t targetDim() const
Gives back the target dimension of this slice Note that this is the same as the target dimension of t...
Definition gsGeometrySlice.h:63
void eval_into(const gsMatrix< T > &u, gsMatrix< T > &result) const
Gives back the values of this slice at points u in result.
Definition gsGeometrySlice.h:71
memory::shared_ptr< gsGeometrySlice > Ptr
Shared pointer for gsGeometrySlice.
Definition gsGeometrySlice.h:32
short_t domainDim() const
Gives back the domain dimension of this slice Note that this is one less than the domain dimension of...
Definition gsGeometrySlice.h:55
void getFullParMatrix(const gsMatrix< T > &u, gsMatrix< T > &fullU) const
This function takes a point matrix u and adds the row of the fixed direction filled with the value fo...
Definition gsGeometrySlice.h:104
void deriv_into(const gsMatrix< T > &u, gsMatrix< T > &result) const
Gives back the derivative of this slice at points u in result.
Definition gsGeometrySlice.h:79
gsMatrix< T > support() const
Gives back the parameterRange of this slice in a Matrix.
Definition gsGeometrySlice.h:87
memory::unique_ptr< gsGeometrySlice > uPtr
Unique pointer for gsGeometrySlice.
Definition gsGeometrySlice.h:35
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_ASSERT(cond, message)
Definition gsDebug.h:89
Provides declaration of Function abstract interface.
The G+Smo namespace, containing all definitions for the library.