|
FEAT 3
Finite Element Analysis Toolbox
|
VertexSet interface for adaptive meshes. More...
#include <adaptive_mesh_layer.hpp>
Public Types | |
| using | AdaptiveMeshType = AdaptiveMeshType_ |
| Type of underlying adaptive mesh. More... | |
| using | CoordType = typename AdaptiveMeshType::CoordType |
| Type of single vertex coordinate. More... | |
| using | VertexType = typename AdaptiveMeshType::VertexType |
| Vertex type. More... | |
Public Member Functions | |
| AdaptiveVertexSet (std::shared_ptr< AdaptiveMeshType > mesh, Layer layer) | |
| Constructor. More... | |
| std::size_t | bytes () const |
| AdaptiveVertexSet | clone () const |
| Returns a clone of this vertex set. More... | |
| int | get_num_coords () const |
| Returns the number of coordinates per vertex. More... | |
| Index | get_num_vertices () const |
| Returns the number of vertices in the vertex set. More... | |
| VertexType & | operator[] (Index idx) |
| Returns a reference to a vertex. More... | |
| const VertexType & | operator[] (Index idx) const |
| Returns a reference to a vertex. More... | |
| void | permute (const Adjacency::Permutation &perm, bool invert=false) |
| Permutes this vertex set. More... | |
Static Public Member Functions | |
| static String | name () |
Static Public Attributes | |
| static constexpr int | num_coords = AdaptiveMeshType::world_dim |
| Number of coordinates per vertex. More... | |
Private Attributes | |
| Layer | _layer |
| std::shared_ptr< AdaptiveMeshType > | _mesh |
| Underlying adaptive mesh. More... | |
| std::optional< Adjacency::Permutation > | _perm |
VertexSet interface for adaptive meshes.
This class template is a compatability layer between the AdaptiveMesh class and the rest of FEAT. It presents a normal VertexSet interface for a single layer of an AdaptiveMesh. This allows using the AdaptiveMeshLayer like any other mesh class.
Definition at line 36 of file adaptive_mesh_layer.hpp.
| using FEAT::Geometry::AdaptiveVertexSet< AdaptiveMeshType_ >::AdaptiveMeshType = AdaptiveMeshType_ |
Type of underlying adaptive mesh.
Definition at line 40 of file adaptive_mesh_layer.hpp.
| using FEAT::Geometry::AdaptiveVertexSet< AdaptiveMeshType_ >::CoordType = typename AdaptiveMeshType::CoordType |
Type of single vertex coordinate.
Definition at line 46 of file adaptive_mesh_layer.hpp.
| using FEAT::Geometry::AdaptiveVertexSet< AdaptiveMeshType_ >::VertexType = typename AdaptiveMeshType::VertexType |
Vertex type.
Definition at line 49 of file adaptive_mesh_layer.hpp.
|
inline |
Constructor.
| [in] | mesh | Shared pointer to underlying mesh |
| [in] | layer | Layer this vertex set is to refer to |
Definition at line 72 of file adaptive_mesh_layer.hpp.
|
inline |
Definition at line 88 of file adaptive_mesh_layer.hpp.
|
inline |
Returns a clone of this vertex set.
Definition at line 83 of file adaptive_mesh_layer.hpp.
References FEAT::Geometry::AdaptiveVertexSet< AdaptiveMeshType_ >::_mesh.
|
inline |
Returns the number of coordinates per vertex.
Definition at line 97 of file adaptive_mesh_layer.hpp.
References FEAT::Geometry::AdaptiveVertexSet< AdaptiveMeshType_ >::num_coords.
|
inline |
Returns the number of vertices in the vertex set.
Definition at line 105 of file adaptive_mesh_layer.hpp.
References FEAT::Geometry::AdaptiveVertexSet< AdaptiveMeshType_ >::_mesh.
|
inlinestatic |
Definition at line 170 of file adaptive_mesh_layer.hpp.
|
inline |
Returns a reference to a vertex.
| [in] | idx | The index of the vertex to be returned. |
Definition at line 117 of file adaptive_mesh_layer.hpp.
References FEAT::Geometry::AdaptiveVertexSet< AdaptiveMeshType_ >::_mesh.
|
inline |
Returns a reference to a vertex.
| [in] | idx | The index of the vertex to be returned. |
Definition at line 127 of file adaptive_mesh_layer.hpp.
References FEAT::Geometry::AdaptiveVertexSet< AdaptiveMeshType_ >::_mesh.
|
inline |
Permutes this vertex set.
| [in] | perm | The permutation to apply |
| [in] | invert | Specified whether to apply the forward or inverse permutation |
Definition at line 151 of file adaptive_mesh_layer.hpp.
References FEAT::Adjacency::Permutation::clone(), FEAT::Adjacency::Permutation::concat(), and FEAT::Adjacency::Permutation::inverse().
Referenced by FEAT::Geometry::AdaptiveMeshLayer< AdaptiveMeshType_ >::create_permutation(), and FEAT::Geometry::AdaptiveMeshLayer< AdaptiveMeshType_ >::set_permutation().
|
private |
Definition at line 56 of file adaptive_mesh_layer.hpp.
|
private |
Underlying adaptive mesh.
Definition at line 53 of file adaptive_mesh_layer.hpp.
Referenced by FEAT::Geometry::AdaptiveVertexSet< AdaptiveMeshType_ >::clone(), FEAT::Geometry::AdaptiveVertexSet< AdaptiveMeshType_ >::get_num_vertices(), and FEAT::Geometry::AdaptiveVertexSet< AdaptiveMeshType_ >::operator[]().
|
private |
Definition at line 63 of file adaptive_mesh_layer.hpp.
|
staticconstexpr |
Number of coordinates per vertex.
Definition at line 43 of file adaptive_mesh_layer.hpp.
Referenced by FEAT::Geometry::AdaptiveVertexSet< AdaptiveMeshType_ >::get_num_coords().