|
AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
|
This class contains views of blend data. BlendData contains the recipe for taking existing node values (e.g. coordinates, fields) and making new values that consist of node values that have been blended together in some way such as when it is necessary to introduce a new node along an edge or a new interior point. More...
#include </home/docs/checkouts/readthedocs.org/user_builds/axom/checkouts/develop/src/axom/bump/BlendData.hpp>
Public Types | |
| using | IndexView = axom::ArrayView< IndexType > |
| using | CoeffView = axom::ArrayView< float > |
Public Attributes | |
| IndexView | m_originalIdsView {} |
| Indices of original node ids. More... | |
| IndexView | m_selectedIndicesView {} |
| Indices of the selected blend groups. More... | |
| IndexView | m_blendGroupSizesView {} |
| Number of ids/weights in each blend group. More... | |
| IndexView | m_blendGroupStartView {} |
| Starting offset for a blend group in ids. More... | |
| IndexView | m_blendIdsView {} |
| Ids that make up blend groups. More... | |
| CoeffView | m_blendCoeffView {} |
| Weights that make up blend groups. More... | |
This class contains views of blend data. BlendData contains the recipe for taking existing node values (e.g. coordinates, fields) and making new values that consist of node values that have been blended together in some way such as when it is necessary to introduce a new node along an edge or a new interior point.
The BlendData can be created and reused to make new coordsets and fields.
Field data are sampled using m_originalIdsView which is a compact list of the original node ids that we want to preserve without any blending.
This stream is followed by a second stream of data made using the field and the blend groups. Each blend group has m_blendGroupSizesView[i] elements, starts at m_blendGroupStartView[i] and uses values from the m_blendIdsView, m_blendCoeffView members to blend the data values.
Example:
* Quad 0123 Make new points A,B,C using BlendGroup
*
* 3 2 A is 50% along the segment 0,1
* *--------* B is in the center of quad 0123
* | C C is 75% along the segment 1,2
* | B |
* | | There are 3 blend groups (A,B,C)
* *----A---*
* 0 1 blendGroupSizesView = {2, 4, 2};
* blendGroupStartView = {0, 2, 6};
* blendIdsView = {0, 1, // A
* 0, 1, 2, 3, // B
* 1, 2}; // C
* blendCoeffView = {0.5, 0.5, // A
* 0.25, 0.25, 0.25, 0.25, // B
* 0.25, 0.75}; // C
* | using axom::bump::BlendData::CoeffView = axom::ArrayView<float> |
| IndexView axom::bump::BlendData::m_originalIdsView {} |
Indices of original node ids.
| IndexView axom::bump::BlendData::m_selectedIndicesView {} |
Indices of the selected blend groups.
| IndexView axom::bump::BlendData::m_blendGroupSizesView {} |
Number of ids/weights in each blend group.
| IndexView axom::bump::BlendData::m_blendGroupStartView {} |
Starting offset for a blend group in ids.
| IndexView axom::bump::BlendData::m_blendIdsView {} |
Ids that make up blend groups.
| CoeffView axom::bump::BlendData::m_blendCoeffView {} |
Weights that make up blend groups.