35 typedef memory::shared_ptr< gsSurface >
Ptr;
38 typedef memory::unique_ptr< gsSurface >
uPtr;
55 "Coefficient matrix cannot be empty.\n");
63 private:
virtual gsSurface * clone_impl()
const = 0;
64 public:
inline uPtr clone()
const {
return uPtr(clone_impl()); }
68 void toMesh(
gsMesh<T> & msh,
int npoints = 625)
const;
75 #ifndef GISMO_BUILD_LIB
76 #include GISMO_HPP_HEADER(gsSurface.hpp)
Abstract base class representing a geometry map.
Definition: gsGeometry.h:92
gsMatrix< T > m_coefs
Coefficient matrix of size coefsSize() x geoDim()
Definition: gsGeometry.h:624
short_t domainDim() const
Dimension d of the parameter domain (overriding gsFunction::domainDim()).
Definition: gsSurface.h:66
#define short_t
Definition: gsConfig.h:35
S give(S &x)
Definition: gsMemory.h:266
Provides declaration of Geometry abstract interface.
gsSurface()
Default empty constructor.
Definition: gsSurface.h:47
memory::unique_ptr< gsSurface > uPtr
Unique pointer for gsSurface.
Definition: gsSurface.h:38
#define GISMO_ASSERT(cond, message)
Definition: gsDebug.h:89
Class Representing a triangle mesh with 3D vertices.
Definition: gsMesh.h:31
Abstract base class representing a surface.
Definition: gsSurface.h:30
memory::shared_ptr< gsSurface > Ptr
Shared pointer for gsSurface.
Definition: gsSurface.h:35
gsSurface(const gsBasis< T > &basis, gsMatrix< T > coefs)
Definition: gsSurface.h:51
virtual const gsBasis< T > & basis() const =0
Returns a const reference to the basis of the geometry.
A basis represents a family of scalar basis functions defined over a common parameter domain...
Definition: gsBasis.h:78
gsMatrix< T > & coefs()
Definition: gsGeometry.h:340