| FEAT 3
    Finite Element Analysis Toolbox | 
Conformal Index-Set class template. More...
#include <index_set.hpp>
| Public Types | |
| typedef const Index * | ImageIterator | 
| ImageIterator type for Adjactor interface implementation.  More... | |
| typedef IndexTuple< num_indices > | IndexTupleType | 
| index tuple type  More... | |
| Public Member Functions | |
| IndexSet (Index num_entities=0, Index index_bound=0) | |
| Constructor.  More... | |
| IndexSet (IndexSet &&other) | |
| move constructor  More... | |
| virtual | ~IndexSet () | 
| virtual destructor  More... | |
| std::size_t | bytes () const | 
| IndexSet | clone () const | 
| Index | get_index_bound () const | 
| Returns the index bound.  More... | |
| IndexTupleType * | get_indices () | 
| Returns the index vector array.  More... | |
| const IndexTupleType * | get_indices () const | 
| Returns the index vector array.   More... | |
| Index | get_num_entities () const | 
| Returns the number of entities.  More... | |
| int | get_num_indices () const | 
| Returns the number of indices per entity.  More... | |
| Index | get_num_nodes_domain () const | 
| Returns the number of domain nodes.   More... | |
| Index | get_num_nodes_image () const | 
| Returns the number of image nodes.   More... | |
| ImageIterator | image_begin (Index domain_node) const | 
| Returns an iterator for the first adjacent image node.   More... | |
| ImageIterator | image_end (Index domain_node) const | 
| Returns an iterator for the first position past the last adjacent image node.   More... | |
| Index & | operator() (Index i, int j) | 
| Maps a face index.  More... | |
| const Index & | operator() (Index i, int j) const | 
| Maps a face index.  More... | |
| IndexSet & | operator= (IndexSet &&other) | 
| move-assignment operator  More... | |
| IndexTupleType & | operator[] (Index i) | 
| Returns a reference to an index tuple.  More... | |
| const IndexTupleType & | operator[] (Index i) const | 
| Returns a reference to an index tuple.   More... | |
| void | permute (const Adjacency::Permutation &perm, const Adjacency::Permutation &inv_perm_face) | 
| Permutes this index set in-situ.  More... | |
| void | set_index_bound (Index bound) | 
| Sets the index bound.  More... | |
| Static Public Member Functions | |
| static String | name () | 
| Returns the name of the class.  More... | |
| Static Public Attributes | |
| static constexpr int | num_indices = num_indices_ | 
| number of indices per entry  More... | |
| Protected Member Functions | |
| IndexSet (Index idx_bnd, const std::vector< IndexTupleType > &idx) | |
| internal clone constructor  More... | |
| Protected Attributes | |
| Index | _index_bound | 
| std::vector< IndexTupleType > | _indices | 
| index vector array  More... | |
Conformal Index-Set class template.
This is used for storing information about i.e. which vertices are present in each
and similar types of information, like edges@faces, edges@cells, faces@cells, depending on the dimension.
Definition at line 81 of file index_set.hpp.
| typedef const Index* FEAT::Geometry::IndexSet< num_indices_ >::ImageIterator | 
ImageIterator type for Adjactor interface implementation.
Definition at line 93 of file index_set.hpp.
| typedef IndexTuple<num_indices> FEAT::Geometry::IndexSet< num_indices_ >::IndexTupleType | 
index tuple type
Definition at line 90 of file index_set.hpp.
| 
 | inlineexplicitprotected | 
internal clone constructor
Definition at line 104 of file index_set.hpp.
| 
 | inlineexplicit | 
Constructor.
| [in] | num_entities | The number of entities for the index set. | 
| [in] | index_bound | The index bound. | 
Definition at line 119 of file index_set.hpp.
| 
 | inline | 
move constructor
Definition at line 129 of file index_set.hpp.
| 
 | inlinevirtual | 
virtual destructor
Definition at line 149 of file index_set.hpp.
| 
 | inline | 
Definition at line 160 of file index_set.hpp.
References FEAT::Geometry::IndexSet< num_indices_ >::_indices.
| 
 | inline | 
Definition at line 154 of file index_set.hpp.
| 
 | inline | 
Returns the index bound.
Definition at line 190 of file index_set.hpp.
References FEAT::Geometry::IndexSet< num_indices_ >::_index_bound.
Referenced by FEAT::Assembly::StokesFBMAssembler< MeshType_ >::_process_mask(), FEAT::Geometry::StructIndexSet< shape_dim_, cell_dim_, face_dim_ >::copy_to(), and FEAT::Geometry::IndexSet< num_indices_ >::permute().
| 
 | inline | 
Returns the index vector array.
Definition at line 200 of file index_set.hpp.
References FEAT::Geometry::IndexSet< num_indices_ >::_indices.
| 
 | inline | 
Returns the index vector array.
Definition at line 206 of file index_set.hpp.
References FEAT::Geometry::IndexSet< num_indices_ >::_indices.
| 
 | inline | 
Returns the number of entities.
Definition at line 180 of file index_set.hpp.
References FEAT::Geometry::IndexSet< num_indices_ >::_indices.
Referenced by FEAT::Assembly::StokesFBMAssembler< MeshType_ >::_process_mask(), FEAT::Geometry::StructIndexSet< shape_dim_, cell_dim_, face_dim_ >::copy_to(), FEAT::Geometry::IndexSet< num_indices_ >::get_num_nodes_domain(), FEAT::Geometry::IndexSet< num_indices_ >::image_begin(), FEAT::Geometry::IndexSet< num_indices_ >::image_end(), FEAT::Geometry::IndexSet< num_indices_ >::operator()(), FEAT::Geometry::IndexSet< num_indices_ >::operator[](), and FEAT::Geometry::IndexSet< num_indices_ >::permute().
| 
 | inline | 
Returns the number of indices per entity.
Definition at line 170 of file index_set.hpp.
Referenced by FEAT::Assembly::StokesFBMAssembler< MeshType_ >::_process_mask().
| 
 | inline | 
Returns the number of domain nodes.
Definition at line 328 of file index_set.hpp.
References FEAT::Geometry::IndexSet< num_indices_ >::get_num_entities().
| 
 | inline | 
Returns the number of image nodes.
Definition at line 334 of file index_set.hpp.
References FEAT::Geometry::IndexSet< num_indices_ >::_index_bound.
| 
 | inline | 
Returns an iterator for the first adjacent image node.
| [in] | domain_node | The index of the domain node whose image node iterator is to be returned. | 
domain_node, or image_end(domain_node) if no adjacent image nodes exist.  Definition at line 340 of file index_set.hpp.
References FEAT::Geometry::IndexSet< num_indices_ >::_indices, ASSERT, and FEAT::Geometry::IndexSet< num_indices_ >::get_num_entities().
| 
 | inline | 
Returns an iterator for the first position past the last adjacent image node.
| [in] | domain_node | The index of the domain node whose image node iterator is to be returned. | 
domain_node.  Definition at line 347 of file index_set.hpp.
References FEAT::Geometry::IndexSet< num_indices_ >::_indices, ASSERT, and FEAT::Geometry::IndexSet< num_indices_ >::get_num_entities().
| 
 | inlinestatic | 
Returns the name of the class.
Definition at line 319 of file index_set.hpp.
References FEAT::stringify().
| 
 | inline | 
Maps a face index.
| [in] | i | The index of the entity whose face index is to be returned. | 
| [in] | j | The index of the local face that is to be mapped. | 
j on entity i. Definition at line 245 of file index_set.hpp.
References FEAT::Geometry::IndexSet< num_indices_ >::_indices, ASSERT, FEAT::Geometry::IndexSet< num_indices_ >::get_num_entities(), and FEAT::Geometry::IndexSet< num_indices_ >::num_indices.
| 
 | inline | 
Maps a face index.
| [in] | i | The index of the entity whose face index is to be returned. | 
| [in] | j | The index of the local face that is to be mapped. | 
j on entity i. Definition at line 265 of file index_set.hpp.
References FEAT::Geometry::IndexSet< num_indices_ >::_indices, ASSERT, FEAT::Geometry::IndexSet< num_indices_ >::get_num_entities(), and FEAT::Geometry::IndexSet< num_indices_ >::num_indices.
| 
 | inline | 
move-assignment operator
Definition at line 136 of file index_set.hpp.
References FEAT::Geometry::IndexSet< num_indices_ >::_index_bound, FEAT::Geometry::IndexSet< num_indices_ >::_indices, and FEAT::Geometry::other.
| 
 | inline | 
Returns a reference to an index tuple.
| [in] | i | The index of the entity whose index tuple is to be returned. | 
Definition at line 220 of file index_set.hpp.
References FEAT::Geometry::IndexSet< num_indices_ >::_indices, ASSERT, and FEAT::Geometry::IndexSet< num_indices_ >::get_num_entities().
| 
 | inline | 
Returns a reference to an index tuple.
| [in] | i | The index of the entity whose index tuple is to be returned. | 
Definition at line 227 of file index_set.hpp.
References FEAT::Geometry::IndexSet< num_indices_ >::_indices, ASSERT, and FEAT::Geometry::IndexSet< num_indices_ >::get_num_entities().
| 
 | inline | 
Permutes this index set in-situ.
\perm[in] perm A transient reference to the permutation of the shape indices.
| [in] | inv_perm_face | A transient reference to the inverse permutation of the face indices. | 
Definition at line 292 of file index_set.hpp.
References FEAT::Geometry::IndexSet< num_indices_ >::_indices, FEAT::Adjacency::Permutation::apply(), FEAT::Adjacency::Permutation::empty(), FEAT::Geometry::IndexSet< num_indices_ >::get_index_bound(), FEAT::Geometry::IndexSet< num_indices_ >::get_num_entities(), FEAT::Adjacency::Permutation::size(), and XASSERT.
| 
 | inline | 
Sets the index bound.
| [in] | bound | The new index bound. | 
Definition at line 278 of file index_set.hpp.
References FEAT::Geometry::IndexSet< num_indices_ >::_index_bound.
| 
 | protected | 
index bound;, i.e. number of edges if the IndexSet is to hold the information edges@cells. Necessary for Adjactor implementation
Definition at line 98 of file index_set.hpp.
Referenced by FEAT::Geometry::IndexSet< num_indices_ >::get_index_bound(), FEAT::Geometry::IndexSet< num_indices_ >::get_num_nodes_image(), FEAT::Geometry::IndexSet< num_indices_ >::operator=(), and FEAT::Geometry::IndexSet< num_indices_ >::set_index_bound().
| 
 | protected | 
index vector array
Definition at line 101 of file index_set.hpp.
Referenced by FEAT::Geometry::IndexSet< num_indices_ >::bytes(), FEAT::Geometry::IndexSet< num_indices_ >::get_indices(), FEAT::Geometry::IndexSet< num_indices_ >::get_num_entities(), FEAT::Geometry::IndexSet< num_indices_ >::image_begin(), FEAT::Geometry::IndexSet< num_indices_ >::image_end(), FEAT::Geometry::IndexSet< num_indices_ >::operator()(), FEAT::Geometry::IndexSet< num_indices_ >::operator=(), FEAT::Geometry::IndexSet< num_indices_ >::operator[](), and FEAT::Geometry::IndexSet< num_indices_ >::permute().
| 
 | staticconstexpr | 
number of indices per entry
Definition at line 87 of file index_set.hpp.
Referenced by FEAT::Geometry::PartiParMETIS::_compute_midpoints(), and FEAT::Geometry::IndexSet< num_indices_ >::operator()().