| FEAT 3
    Finite Element Analysis Toolbox | 
Subdivision level markings for meshes. More...
#include <subdivision_levels.hpp>
| Public Member Functions | |
| SubdivisionLevels (Index num_vertices) | |
| Constructor.  More... | |
| SubdivisionLevels (Index num_vertices, std::uint64_t default_level) | |
| Constructor.  More... | |
| SubdivisionLevels (SubdivisionLevels &&other) noexcept | |
| move-constructor  More... | |
| SubdivisionLevels (SubdivisionLevels &other)=delete | |
| deleted copy-constructor | |
| ~SubdivisionLevels ()=default | |
| destructor | |
| template<int n> | |
| SubdivisionLevelTuple< n > | get_levels (const IndexTuple< n > &indices) const | 
| Retrieve SubdivisionLevelTuple.  More... | |
| std::uint64_t | maximum_level () | 
| Returns the maximum refinement level assigned to any vertex.  More... | |
| void | merge (const SubdivisionLevels &other) | 
| Adds up two SubdivisionLevels.  More... | |
| SubdivisionLevels & | operator= (SubdivisionLevels &&other) noexcept | 
| move-assign operator  More... | |
| SubdivisionLevels & | operator= (SubdivisionLevels &other)=delete | 
| deleted copy-assign operator | |
| std::uint64_t & | operator[] (Index idx) | 
| access operator  More... | |
| const std::uint64_t & | operator[] (Index idx) const | 
| access operator  More... | |
| template<typename MeshType > | |
| void | set_level_for_element (const MeshType &mesh, Index element, std::uint64_t element_level) | 
| Set subdivision level for a mesh element.  More... | |
| template<typename MeshType > | |
| void | set_per_element (const MeshType &mesh, std::function< std::uint64_t(Index)> f) | 
| Sets subdivision levels for each cell of the given mesh.  More... | |
| std::size_t | size () const | 
| Private Attributes | |
| std::vector< std::uint64_t > | _levels | 
| Level markings.  More... | |
| Friends | |
| std::ostream & | operator<< (std::ostream &, const SubdivisionLevels &) | 
| Debug output operator.  More... | |
Subdivision level markings for meshes.
Used to assign a subdivision level to each vertex of a mesh.
Definition at line 74 of file subdivision_levels.hpp.
| 
 | inlineexplicit | 
Constructor.
| [in] | num_vertices | Number of vertices to mark | 
Definition at line 85 of file subdivision_levels.hpp.
| 
 | inline | 
Constructor.
| [in] | num_vertices | Number of vertices to mark | 
| [in] | default_level | Default subdivision level for each vertex | 
Definition at line 95 of file subdivision_levels.hpp.
| 
 | inlinenoexcept | 
move-constructor
Definition at line 100 of file subdivision_levels.hpp.
| 
 | inline | 
Retrieve SubdivisionLevelTuple.
| [in] | indices | Vertex-Indices to retrieve levels for | 
Definition at line 231 of file subdivision_levels.hpp.
References _levels, and FEAT::Geometry::IndexTuple< num_indices_ >::num_indices.
| 
 | inline | 
Returns the maximum refinement level assigned to any vertex.
Definition at line 144 of file subdivision_levels.hpp.
References _levels.
| 
 | inline | 
Adds up two SubdivisionLevels.
Definition at line 216 of file subdivision_levels.hpp.
References _levels, and FEAT::Geometry::other.
| 
 | inlinenoexcept | 
move-assign operator
Definition at line 106 of file subdivision_levels.hpp.
References _levels, and FEAT::Geometry::other.
| 
 | inline | 
access operator
Definition at line 128 of file subdivision_levels.hpp.
| 
 | inline | 
access operator
Definition at line 135 of file subdivision_levels.hpp.
| 
 | inline | 
Set subdivision level for a mesh element.
Assigns maximum of current level and element level to all vertices making up the chosen element.
| [in] | mesh | Mesh to take elements from | 
| [in] | element | Element to set level for | 
| [in] | element_level | Level to set | 
Definition at line 200 of file subdivision_levels.hpp.
References _levels.
Referenced by set_per_element().
| 
 | inline | 
Sets subdivision levels for each cell of the given mesh.
Vertices will be set to the maximum level of any cell they are contained in.
| MeshType | The type of the given mesh | 
| [in] | mesh | The mesh for whose cells levels should be set | 
| [in] | f | A function assigning a level to each cell of mesh | 
Definition at line 173 of file subdivision_levels.hpp.
References _levels, and set_level_for_element().
| 
 | inline | 
Definition at line 154 of file subdivision_levels.hpp.
| 
 | friend | 
Debug output operator.
Definition at line 247 of file subdivision_levels.hpp.
| 
 | private | 
Level markings.
Definition at line 243 of file subdivision_levels.hpp.
Referenced by get_levels(), maximum_level(), merge(), operator=(), operator[](), set_level_for_element(), and set_per_element().