21 template <
class T >
class gsSolidHeVertex;
22 template <
class T >
class gsSolidHalfEdge;
23 template <
class T >
class gsSolidHalfFace;
24 template <
class T >
class gsVolumeBlock;
27 class GISMO_DEFAULT_VIS gsSolidElement
31 typedef gsSolidHeVertex<T> * gsSolidHeVertexHandle;
32 typedef gsSolidHalfEdge<T> * gsSolidHalfEdgeHandle;
33 typedef gsSolidHalfFace<T> * gsSolidHalfFaceHandle;
34 typedef gsVolumeBlock<T> * gsVolumeHandle;
40 explicit gsSolidElement(
int i = 0) :
id(i)
43 virtual ~gsSolidElement() { }
45 int getId()
const {
return id; }
46 void setId(
int i) {
id=i; }
50 static gsSolidHeVertexHandle makeHeVertex( scalar_t x, scalar_t y, scalar_t z = 0)
51 {
return new gsSolidHeVertex<T>(x,y,z); }
59 static gsSolidHalfEdgeHandle makeSolidHalfEdge( gsSolidHeVertexHandle source, gsSolidHalfFaceHandle f)
60 {
return new gsSolidHalfEdge<T>(source,f, 0,
true); }
63 static gsVolumeHandle makeVolume(
const std::vector<gsSolidHalfFaceHandle>& hfaces)
64 {
return new gsVolumeBlock<T>(hfaces); }
67 virtual std::ostream &print(std::ostream &os)
const { os<<
"gsSolidElement\n";
return os; }
69 friend std::ostream&
operator<<(std::ostream& os,
const gsSolidElement& e) {
return e.print(os); }
Handles shared library creation and other class attributes.
std::ostream & operator<<(std::ostream &os, const _expr< E > &b)
Stream operator for expressions.
Definition: gsExpressions.h:382
EIGEN_STRONG_INLINE idMat_expr id(const index_t dim)
The identity matrix of dimension dim.
Definition: gsExpressions.h:4470