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);
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
#define short_t
Definition: gsConfig.h:35
gsMatrix< T > support() const
Gives back the parameterRange of this slice in a Matrix.
Definition: gsGeometrySlice.h:87
#define index_t
Definition: gsConfig.h:32
A function from a n-dimensional domain to an m-dimensional image.
Definition: gsFunction.h:59
A matrix with arbitrary coefficient type and fixed or dynamic size.
Definition: gsMatrix.h:38
#define GISMO_ASSERT(cond, message)
Definition: gsDebug.h:89
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
memory::shared_ptr< gsGeometrySlice > Ptr
Shared pointer for gsGeometrySlice.
Definition: gsGeometrySlice.h:32
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
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
gsGeometrySlice(const gsGeometrySlice *geoSlice)
Copyconstructor for new gsGeometrySlice(*this)
Definition: gsGeometrySlice.h:45
memory::unique_ptr< gsGeometrySlice > uPtr
Unique pointer for gsGeometrySlice.
Definition: gsGeometrySlice.h:35
virtual short_t domainDim() const =0
Dimension of the (source) domain.
gsGeometrySlice is a class representing an iso parametric slice of a geometry object. It stores a pointer to the geometry object, which is only valid as long as this object is alive. Methods for printing to paraview are available in gsWriteToParaview.h
Definition: gsGeometrySlice.h:27
Interface for the set of functions defined on a domain (the total number of functions in the set equa...
Definition: gsFuncData.h:23
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
Provides declaration of Function abstract interface.