A helper class which provides functionalities to recognise how different patches are connected. More...
Public Types | |
using | interface_collection = ddc::detail::TypeSeq< Interfaces... > |
A type sequence of all the interfaces handled by this class. | |
using | inner_edges = strip_outside_edges_t< typename Interfaces::Edge1..., typename Interfaces::Edge2... > |
A type sequence of all the edges handled by this class except the OuterEdge types. | |
using | all_patches = extract_patches_t< inner_edges > |
A type sequence of all the patches handled by this class. | |
template<class QueryPatch > | |
using | get_type_seq_connections_t = interfaces_of_patch_t< QueryPatch, interface_collection > |
A tool to find a type sequence of all interfaces of a patch. | |
template<class QueryPatch > | |
using | get_connections_t = to_tuple_t< get_type_seq_connections_t< QueryPatch > > |
A tool to find a tuple of all interfaces of a patch. | |
template<class QueryPatch1 , class QueryPatch2 > | |
using | find_connections_t = ddcHelper::type_seq_intersection_t< get_type_seq_connections_t< QueryPatch1 >, get_type_seq_connections_t< QueryPatch2 > > |
A tool to find all interfaces linking 2 patches. | |
template<class Grid1D > | |
using | get_all_interfaces_along_direction_t = collect_interfaces_on_dim_t< find_patch_t< Grid1D, all_patches >, Grid1D, interface_collection > |
A tool to find all interfaces along a line which passes through the requested grid. | |
Static Public Member Functions | |
template<class Grid1D , class... IdxRanges> | |
static auto | get_all_idx_ranges_along_direction (std::tuple< IdxRanges... > all_idx_ranges) |
A function to return all index ranges which can be used to obtain coordinates along a line which passes through the requested grid. | |
template<class Grid1D , template< typename P > typename T, class... Patches> | |
static auto | get_all_idx_ranges_along_direction (MultipatchType< T, Patches... > all_idx_ranges) |
A function to return all index ranges which can be used to obtain coordinates along a line which passes through the requested grid. | |
A helper class which provides functionalities to recognise how different patches are connected.
Interfaces | The interfaces which describe the connectivity in this geometry. |
using MultipatchConnectivity< Interfaces >::get_type_seq_connections_t = interfaces_of_patch_t<QueryPatch, interface_collection> |
A tool to find a type sequence of all interfaces of a patch.
QueryPatch | The patch whose connections we are interested in. |
using MultipatchConnectivity< Interfaces >::get_connections_t = to_tuple_t<get_type_seq_connections_t<QueryPatch> > |
A tool to find a tuple of all interfaces of a patch.
QueryPatch | The patch whose connections we are interested in. |
using MultipatchConnectivity< Interfaces >::find_connections_t = ddcHelper::type_seq_intersection_t< get_type_seq_connections_t<QueryPatch1>, get_type_seq_connections_t<QueryPatch2> > |
A tool to find all interfaces linking 2 patches.
QueryPatch1 | The first patch. |
QueryPatch2 | The second patch. |
using MultipatchConnectivity< Interfaces >::get_all_interfaces_along_direction_t = collect_interfaces_on_dim_t< find_patch_t<Grid1D, all_patches>, Grid1D, interface_collection> |
A tool to find all interfaces along a line which passes through the requested grid.
Grid1D | The grid indicating the direction of interest. |
|
inlinestatic |
A function to return all index ranges which can be used to obtain coordinates along a line which passes through the requested grid.
Grid1D | The grid indicating the direction of interest. |
all_idx_ranges | A tuple containing all available index ranges. |
|
inlinestatic |
A function to return all index ranges which can be used to obtain coordinates along a line which passes through the requested grid.
Grid1D | The grid indicating the direction of interest. |
all_idx_ranges | A MultipatchType containing all available index ranges. |