16 template<
typename F>
class ElementGraphics;
28 template <
class F = concepts::Real>
53 virtual std::ostream&
info(std::ostream& os)
const;
69 uint j = ctrl_ >> (i << 1);
70 return *cell_.connector().vertex(j & 3);
79 template <
class F = concepts::Real>
104 virtual std::ostream&
info(std::ostream& os)
const;
117 uint idx[], uint vtx[], uint n)
118 : cell_(cell), T_(n, n, idx) {
121 for(uint i = n; i--;) {ctrl_ <<= 2; ctrl_ |= vtx[i] & 3;}
126 uint j = ctrl_ >> (i << 1);
127 return *cell_.connector().vertex(j & 3);
140 template <
class F = concepts::Real>
165 std::ostream&
info(std::ostream& os)
const;
176 static std::unique_ptr<concepts::ElementGraphics<F> > graphics_;
181 return cell_.connector();
190 template <
class F = concepts::Real>
213 std::ostream&
info(std::ostream& os)
const;
225 return cell_.connector();
238 template <
class F = concepts::Real>
263 std::ostream&
info(std::ostream& os)
const;
274 static std::unique_ptr<concepts::ElementGraphics<F> > graphics_;
279 return cell_.connector();
288 template <
class F = concepts::Real>
311 std::ostream&
info(std::ostream& os)
const;
323 return cell_.connector();
334 template<
class F = concepts::Real>
340 inline Key(uint l, uint j) : l_(l), j_(j) {}
343 inline int operator==(
const Key&
key)
const {
344 return l_ ==
key.l() && j_ ==
key.j();
346 inline uint l()
const {
return l_;}
347 inline uint j()
const {
return j_;}
377 inline const Key&
key()
const {
return key_;};
384 static inline uint minlevel() {
return minlvl_;}
385 static inline void setmaxlevel(uint maxlvl) {maxlvl_ = maxlvl;}
386 static inline void setminlevel(uint minlvl) {minlvl_ = minlvl;}
391 std::ostream&
info(std::ostream& os)
const;
410 static std::unique_ptr<concepts::ElementGraphics<F> > graphics_;
415 return cell_->connector();
426 template <
class F = concepts::Real>
452 std::ostream&
info(std::ostream& os)
const;
463 static std::unique_ptr<concepts::ElementGraphics<F> > graphics_;
468 return cell_.connector();
477 template <
class F = concepts::Real>
500 std::ostream&
info(std::ostream& os)
const;
512 return cell_.connector();
std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual const concepts::Triangle3d & cell() const
Returns the cell on which the element is built.
const concepts::Unit3d & n() const
Returns the normal of the element.
const concepts::Real3d & vertex(uint i) const
const concepts::Triangle & support() const
Returns the support.
Constant3d000(const concepts::Triangle3d &cell, uint idx)
const concepts::TMatrixBase< F > & T() const
Returns the T matix of the element.
Key with some level dependent information.
Constant3d001(concepts::Triangle3d &cell, const Constant3d001< F >::Key &key, uint idx)
const Key & key() const
Returns the key of the element.
const concepts::Triangle & support() const
Returns the support.
virtual concepts::Triangle3d & cell() const
Returns the cell on which the element is built.
std::ostream & info(std::ostream &os) const
Returns information in an output stream.
const concepts::TMatrixBase< F > & T() const
Returns the T matix of the element.
const concepts::Real3d & vertex(uint i) const
const concepts::Unit3d & n() const
Returns the normal of the element.
std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual const concepts::Triangle3d & cell() const
Returns the cell on which the element is built.
const concepts::TMatrixBase< F > & T() const
Returns the T matix of the element.
const concepts::Unit3d & n() const
Returns the normal of the element.
const concepts::Real3d & vertex(uint i) const
Constant3d002(const concepts::Triangle3d &cell, uint idx)
const concepts::Triangle & support() const
Returns the support.
const concepts::Vertex & support(uint i) const
const concepts::Real3d & vertex(uint i) const
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
Dirac3d000(const concepts::Triangle3d &cell, uint idx[], uint vtx[], uint n)
virtual const concepts::Triangle3d & cell() const
Returns the cell on which the element is built.
const concepts::TMatrixBase< F > & T() const
Returns T matrix of the element.
Linear3d000(const concepts::Triangle3d &cell, uint idx[])
const concepts::Triangle & support() const
Returns the support.
std::ostream & info(std::ostream &os) const
Returns information in an output stream.
const concepts::Unit3d & n() const
Returns the normal of the element.
const concepts::TMatrixBase< F > & T() const
Returns the T matix of the element.
virtual const concepts::Triangle3d & cell() const
Returns the cell on which the element is built.
const concepts::Real3d & vertex(uint i) const
unsigned char uchar
Abbreviation for unsigned char.