Nektar++
|
A lightweight struct for dealing with high-order triangle alignment. More...
#include <HOAlignment.h>
Public Member Functions | |
HOTriangle (std::vector< int > pVertId, std::vector< T > pSurfVerts) | |
HOTriangle (std::vector< int > pVertId) | |
void | Rotate (int nrot) |
Rotates the triangle of data points inside surfVerts counter-clockwise nrot times. More... | |
void | Reflect () |
Reflect data points inside surfVerts. More... | |
void | Align (std::vector< int > vertId) |
Align this surface to a given vertex ID. More... | |
Public Attributes | |
std::vector< int > | vertId |
The triangle vertex IDs. More... | |
std::vector< T > | surfVerts |
The triangle surface vertices – templated so that this can either be nodes or IDs. More... | |
A lightweight struct for dealing with high-order triangle alignment.
The logic underlying these routines is taken from the original Nektar code.
Definition at line 50 of file HOAlignment.h.
|
inline |
Definition at line 52 of file HOAlignment.h.
|
inline |
Definition at line 56 of file HOAlignment.h.
|
inline |
Align this surface to a given vertex ID.
Definition at line 135 of file HOAlignment.h.
References Nektar::NekMeshUtils::HOTriangle< T >::Reflect(), and Nektar::NekMeshUtils::HOTriangle< T >::Rotate().
Referenced by Nektar::NekMeshUtils::Prism::GetCurvedNodes(), Nektar::NekMeshUtils::Tetrahedron::GetCurvedNodes(), Nektar::Utilities::InputGmsh::PrismReordering(), Nektar::Utilities::OutputGmsh::Process(), Nektar::NekMeshUtils::Tetrahedron::Tetrahedron(), Nektar::Utilities::InputGmsh::TetReordering(), and Nektar::Utilities::tetTensorNodeOrdering().
|
inline |
Reflect data points inside surfVerts.
This applies a mapping essentially doing the following reordering:
9 9 7 8 -> 8 7 4 5 6 6 5 4 0 1 2 3 3 2 1 0
Definition at line 109 of file HOAlignment.h.
Referenced by Nektar::NekMeshUtils::HOTriangle< T >::Align().
|
inline |
Rotates the triangle of data points inside surfVerts counter-clockwise nrot times.
nrot | Number of times to rotate triangle. |
Definition at line 73 of file HOAlignment.h.
Referenced by Nektar::NekMeshUtils::HOTriangle< T >::Align().
std::vector<T> Nektar::NekMeshUtils::HOTriangle< T >::surfVerts |
The triangle surface vertices – templated so that this can either be nodes or IDs.
Definition at line 65 of file HOAlignment.h.
Referenced by Nektar::NekMeshUtils::Prism::GetCurvedNodes(), Nektar::NekMeshUtils::Tetrahedron::GetCurvedNodes(), Nektar::Utilities::InputGmsh::PrismReordering(), Nektar::Utilities::OutputGmsh::Process(), Nektar::NekMeshUtils::Tetrahedron::Tetrahedron(), Nektar::Utilities::InputGmsh::TetReordering(), and Nektar::Utilities::tetTensorNodeOrdering().
std::vector<int> Nektar::NekMeshUtils::HOTriangle< T >::vertId |
The triangle vertex IDs.
Definition at line 61 of file HOAlignment.h.