16 #ifndef __H2D_TRANSFORM_H
17 #define __H2D_TRANSFORM_H
19 #include "../global.h"
20 #include "exceptions.h"
26 template<
typename Scalar>
class Func;
52 virtual void set_transform(uint64_t idx);
55 uint64_t get_transform()
const;
63 virtual void push_transform(
int son);
68 virtual void pop_transform();
71 static const unsigned int H2D_MAX_TRN_LEVEL = 15;
81 virtual void set_active_element(
Element* e);
84 virtual void reset_transform();
93 virtual void force_transform(uint64_t sub_idx,
Trf* ctm);
96 inline unsigned int get_depth()
const {
return top; }
98 static void push_transforms(std::set<Transformable *>& transformables,
int son);
99 static void pop_transforms(std::set<Transformable *>& transformables);
111 static const uint64_t H2D_MAX_IDX = (1ULL << 3 * H2D_MAX_TRN_LEVEL) - 1;
119 template<
typename T>
friend class Adapt;
120 template<
typename T>
friend class Func;
121 template<
typename T>
friend class Function;
HERMES_API Trf quad_trf[H2D_TRF_NUM]
A table of quad sub-subdomain transforms. Only first ::H2D_TRF_QUAD_NUM transformations are valid...
Stores one element of a mesh.
This class represents a function with jump discontinuity on an interface of two elements.
double2 t
The 2x2 diagonal transformation matrix.
Represents an arbitrary function defined on an element.
HERMES_API Trf tri_trf[H2D_TRF_NUM]
A table of triangle sub-subdomain transforms. Only first ::H2D_TRF_TRI_NUM transformations are valid...
This class is a one-thread (non-DG) assembly worker.
This class characterizes a neighborhood of a given edge in terms of adjacent elements and provides me...