14#include <lagrange/utils/span.h>
62template <
typename Index>
66 std::vector<std::vector<Index>>
loops;
69 std::vector<std::vector<Index>>
chains;
93template <
typename Index>
119template <
typename Index>
121 const span<const Index> edges,
122 const ChainEdgesOptions& options = {});
::nonstd::span< T, Extent > span
A bounds-safe view for sequences of objects.
Definition: span.h:27
ChainEdgesResult< Index > chain_undirected_edges(const span< const Index > edges, const ChainEdgesOptions &options={})
Chain a set of undirected edges into loops and chains.
Definition: chain_edges.cpp:248
ChainEdgesResult< Index > chain_directed_edges(const span< const Index > edges, const ChainEdgesOptions &options={})
Chain a set of directed edges into loops and chains.
Definition: chain_edges.cpp:51
Main namespace for Lagrange.
Definition: AABBIGL.h:30
Options for chain_directed_edges and chain_undirected_edges.
Definition: chain_edges.h:49
bool close_loop_with_identical_vertices
If true, the first and last vertices of a loop will be identical.
Definition: chain_edges.h:54
bool output_edge_index
If true, the output will be a list of edges, otherwise a list of vertices.
Definition: chain_edges.h:51
Result struct holding the loops and chains extracted from a set of edges.
Definition: chain_edges.h:64
std::vector< std::vector< Index > > chains
The extracted chains.
Definition: chain_edges.h:69
std::vector< std::vector< Index > > loops
The extracted loops.
Definition: chain_edges.h:66