71 typedef memory::shared_ptr< gsDomainIterator >
Ptr;
73 typedef memory::unique_ptr< gsDomainIterator >
uPtr;
95 virtual bool next() = 0;
109 size_t id()
const {
return m_id; }
165 virtual bool isBoundaryElement()
const
201 typename gsBasis<T>::domainIter domIter =
m_basis->makeDomainIterator(m_side);
204 for (; domIter->good(); domIter->next(), numEl++){}
210 inline boxSide side()
const {
return m_side;}
virtual bool next()=0
Proceeds to the next element.
Abstracgt Base class representing a domain. i.e. a collection of elements (triangles, rectangles, cubes, simplices.
#define GISMO_NO_IMPLEMENTATION
Definition: gsDebug.h:129
size_t id() const
Returns the element id.
Definition: gsDomainIterator.h:109
T getCellSize() const
Return the diagonal of the element.
Definition: gsDomainIterator.h:171
#define short_t
Definition: gsConfig.h:35
Provides structs and classes related to interfaces and boundaries.
gsDomainIterator(const gsBasis< T > &basisParam, const boxSide &s=boundary::none)
Constructor using a basis.
Definition: gsDomainIterator.h:80
short_t dim() const
Return dimension of the elements.
Definition: gsDomainIterator.h:115
virtual const T getPerpendicularCellSize() const
Returns the perpendicular cell size of boundary iterator.
Definition: gsDomainIterator.h:160
virtual const gsVector< T > & upperCorner() const
Returns the upper corner of the current element.
Definition: gsDomainIterator.h:151
memory::shared_ptr< gsDomainIterator > Ptr
Shared pointer for gsDomainIterator.
Definition: gsDomainIterator.h:71
bool good() const
Is the iterator still pointing to a valid element?
Definition: gsDomainIterator.h:112
#define index_t
Definition: gsConfig.h:32
T getMaxCellLength() const
Return the length of the largest edge of the element.
Definition: gsDomainIterator.h:183
T volume() const
Return the volume of the element.
Definition: gsDomainIterator.h:189
memory::unique_ptr< gsDomainIterator > uPtr
Unique pointer for gsDomainIterator.
Definition: gsDomainIterator.h:73
virtual void adjacent(const gsVector< bool > &, gsDomainIterator &)
Definition: gsDomainIterator.h:119
A vector with arbitrary coefficient type and fixed or dynamic size.
Definition: gsVector.h:35
T getMinCellLength() const
Return the length of the smallest edge of the element.
Definition: gsDomainIterator.h:177
Class which enables iteration over all elements of a parameter domain.
Definition: gsDomainIterator.h:67
virtual const gsVector< T > & lowerCorner() const
Returns the lower corner of the current element.
Definition: gsDomainIterator.h:140
Struct which represents a certain side of a box.
Definition: gsBoundary.h:84
bool m_isGood
Definition: gsDomainIterator.h:223
const gsBasis< T > * m_basis
The basis on which the domain iterator is defined.
Definition: gsDomainIterator.h:219
gsVector< T > center
Coordinates of a central point in the element (in the parameter domain).
Definition: gsDomainIterator.h:215
const gsVector< T > & centerPoint() const
Returns the center of the current element.
Definition: gsDomainIterator.h:131
virtual size_t numElements() const
Returns the number of elements.
Definition: gsDomainIterator.h:193
A basis represents a family of scalar basis functions defined over a common parameter domain...
Definition: gsBasis.h:78
virtual void reset()
Resets the iterator so that it points to the first element.
Definition: gsDomainIterator.h:101