|
class | BoundBox |
| Class representing a dim -dimensional Cartesian product bounding box. More...
|
|
class | CartGridTP |
| Class representing a dim -dimensional Cartesian tensor-product grid. More...
|
|
struct | CutCellsQuad |
|
struct | CutIsoBoundsQuad |
|
struct | CutUnfBoundsQuad |
|
class | Gauss |
| Helper class for computing the abscissae and weights of the Gauss-Legendre quadrature rule referred to the [0,1]. The maximum number of abscissae/weights is prescribed by n_max. The abscissae / weights are precomputed with enough precision (34 significant digits) for double or quadruple precision applications. More...
|
|
class | Quadrature |
| Class for storing dim-dimensional quadratures (non-tensor product). More...
|
|
class | ReparamMesh |
| Class for storing an implicit domain reparameterization using Lagrange cells. More...
|
|
class | SubCartGridTP |
| Subgrid of a Cartesian grid TP. It is a subset of the cells of a given grid. More...
|
|
class | TanhSinh |
| Helper class for computing the abscissae and weights of the tanh-sinh quadrature rule referred to the [0,1]. The maximum number of abscissae/weights is prescribed by n_max. The abscissae / weights are precomputed with enough precision (34 significant digits) for double or quadruple precision applications. More...
|
|
class | TensorIndexRangeTP |
| Class representing a dim -dimensional range defined by lower and upper tensor bounds. More...
|
|
class | TensorIndexTP |
| Class representing a dim -dimensional tensor-product indices. More...
|
|
class | TensorSizeTP |
| Class representing a dim -dimensional tensor-product sizes container. More...
|
|
class | Tolerance |
| Class for tolerance related computations. More...
|
|
class | UnfittedDomain |
|
|
template<int dim> |
std::shared_ptr< const CutCellsQuad< dim > > | create_quadrature (const UnfittedDomain< dim > &unf_domain, const std::vector< int > &cells, int n_pts_dir) |
|
template<int dim> |
std::shared_ptr< const CutUnfBoundsQuad< dim > > | create_unfitted_bound_quadrature (const UnfittedDomain< dim > &unf_domain, const std::vector< int > &cells, int n_pts_dir) |
|
template<int dim> |
std::shared_ptr< const CutIsoBoundsQuad< dim - 1 > > | create_facets_quadrature (const UnfittedDomain< dim > &unf_domain, const std::vector< int > &cells, const std::vector< int > &facets, int n_pts_dir) |
|
template<int dim> |
void | find_coincident_points (const std::vector< Point< dim > > &points, const Tolerance &tol, std::vector< std::size_t > &points_map) |
| Finds coincident points in a given set of points.
|
|
template<int dim> |
void | make_points_unique (std::vector< Point< dim > > &points, const Tolerance &tol, std::vector< std::size_t > &old_to_new) |
| Makes a given vector of points unique by merging coincident points.
|
|
template<int dim, bool levelset> |
std::shared_ptr< const ReparamMesh< levelset ? dim - 1 :dim, dim > > | create_reparameterization (const UnfittedDomain< dim > &unf_domain, int n_pts_dir) |
|
template<int dim, bool levelset> |
std::shared_ptr< const ReparamMesh< levelset ? dim - 1 :dim, dim > > | create_reparameterization (const UnfittedDomain< dim > &unf_domain, const std::vector< int > &cells, int n_pts_dir) |
|
template<class T , class V > |
constexpr T | narrow_cast (V &&val) noexcept |
|
template<class T , std::size_t N> |
constexpr T & | at (T(&arr)[N], const index ind) |
|
template<class Cont > |
constexpr auto | at (Cont &cont, const index ind) -> decltype(cont[cont.size()]) |
|
template<class T > |
constexpr T | at (const std::initializer_list< T > cont, const index ind) |
|
template<class T , std::size_t extent = std::dynamic_extent> |
constexpr auto | at (std::span< T, extent > spn, const index ind) -> decltype(spn[spn.size()]) |
|
template<typename T , int dim> |
Vector< T, dim > | permute_vector_directions (const Vector< T, dim > &vec) |
|
template<int dim>
void qugar::make_points_unique |
( |
std::vector< Point< dim > > & | points, |
|
|
const Tolerance & | tol, |
|
|
std::vector< std::size_t > & | old_to_new ) |
Makes a given vector of points unique by merging coincident points.
This function identifies pairs of points in the provided vector that are coincident within a specified tolerance, and merges them into a single one. It returns a vector that map the (indices of the) original points, to the new (unique) ones. If more than two points are coincident, all those points will be associated to a single one.
- Template Parameters
-
dim | The dimension of the points. |
- Parameters
-
points | Vector of points to make unique. |
tol | The tolerance within which points are considered coincident. |
old_to_new | Result vector mapping original point indices to the new (unique) ones. |