Transformable Class Reference
Transformable is a base class for all classes that perform some kind of precalculation of function values on elements. These classes (PrecalcShapeset, Solution, RefMap) inherit from Transformable the ability to transform integration points to the sub-elements of an element.
More...
#include <transform.h>
Inherited by Function< TYPE >, and RefMap.
List of all members.
Public Member Functions |
| | Transformable () |
| virtual | ~Transformable () |
| virtual void | set_active_element (Element *e) |
| | Called by the assembling procedure and by other functions. In PrecalcShapeset it sets an internal variable that can be later retrieved by get_active_element(). In Solution it selects the element to retrieve solution values for, etc.
|
| Element * | get_active_element () const |
| virtual void | push_transform (int son) |
| | Multiplies the current transformation matrix on the right by a transformation to the specified son element and pushes it on top of the matrix stack. All integration points will then be transformed to this sub-element. This process can be repeated.
|
| virtual void | pop_transform () |
| | Removes the current transformation matrix from the top of the stack. The new top becomes the current transformation matrix. This returns the transform to the state before the last push_transform() was performed.
|
| void | set_transform (uint64_t idx) |
| | Sets the current transform at once as if it was created by multiple calls to push_transform().
|
| uint64_t | get_transform () const |
| void | reset_transform () |
| | Empties the stack, loads identity transform.
|
| double | get_transform_jacobian () const |
| Trf * | get_ctm () const |
| int | get_depth () const |
Protected Attributes |
| Element * | element |
| | the active element
|
| Trf * | ctm |
| | current sub-element transformation matrix
|
| uint64_t | sub_idx |
| | sub-element transformation index. Data type is equal to the type used by Judy.
|
| Trf | stack [21] |
| | transformation matrix stack
|
| int | top |
| | stack top
|
Static Protected Attributes |
| static const uint64_t | H2D_MAX_IDX = 0x4000 |
| | largest sub_idx for top <= 10. Data type is equal to the type used by Judy.
|
Detailed Description
Transformable is a base class for all classes that perform some kind of precalculation of function values on elements. These classes (PrecalcShapeset, Solution, RefMap) inherit from Transformable the ability to transform integration points to the sub-elements of an element.
Constructor & Destructor Documentation
| Transformable::Transformable |
( |
|
) |
[inline] |
| virtual Transformable::~Transformable |
( |
|
) |
[inline, virtual] |
Member Function Documentation
| Element* Transformable::get_active_element |
( |
|
) |
const [inline] |
- Returns:
- The element associated with the function being represented by the class.
| Trf* Transformable::get_ctm |
( |
|
) |
const [inline] |
- Returns:
- The current transformation matrix.
| int Transformable::get_depth |
( |
|
) |
const [inline] |
- Returns:
- The depth of the current transformation.
| uint64_t Transformable::get_transform |
( |
|
) |
const [inline] |
- Returns:
- The current transform index.
| double Transformable::get_transform_jacobian |
( |
|
) |
const [inline] |
- Returns:
- The jacobian of the current transformation matrix.
| virtual void Transformable::pop_transform |
( |
|
) |
[inline, virtual] |
Removes the current transformation matrix from the top of the stack. The new top becomes the current transformation matrix. This returns the transform to the state before the last push_transform() was performed.
Reimplemented in Filter, Function< TYPE >, and RefMap.
| virtual void Transformable::push_transform |
( |
int |
son |
) |
[inline, virtual] |
Multiplies the current transformation matrix on the right by a transformation to the specified son element and pushes it on top of the matrix stack. All integration points will then be transformed to this sub-element. This process can be repeated.
- Parameters:
-
| son | [in] Son element number in the range [0-3] for triangles and [0-7] for quads. |
Reimplemented in Filter, Function< TYPE >, and RefMap.
| void Transformable::reset_transform |
( |
|
) |
[inline] |
Empties the stack, loads identity transform.
| virtual void Transformable::set_active_element |
( |
Element * |
e |
) |
[inline, virtual] |
| void Transformable::set_transform |
( |
uint64_t |
idx |
) |
|
Sets the current transform at once as if it was created by multiple calls to push_transform().
- Parameters:
-
Member Data Documentation
current sub-element transformation matrix
largest sub_idx for top <= 10. Data type is equal to the type used by Judy.
transformation matrix stack
sub-element transformation index. Data type is equal to the type used by Judy.
The documentation for this class was generated from the following files: