Rodin/Geometry/Euclidean/Concepts.h file

Type traits for detecting geometric operations on Euclidean objects.

Namespaces

namespace Rodin
The Rodin library for finite element methods and shape optimization.
namespace Rodin::Geometry
Meshes, geometric transformations, and mapped evaluation.
namespace Rodin::Geometry::Euclidean
Module for dealing with Euclidean geometries.

Classes

template<class T, class OtherGeometry, class = void>
struct Rodin::Geometry::Euclidean::HasIntersectMethod
Type trait to detect if a type has an intersect method.
template<class T, class OtherGeometry>
struct Rodin::Geometry::Euclidean::HasIntersectMethod<T, OtherGeometry, std::void_t<decltype(std::declval<T>().intersect(std::declval<const OtherGeometry&>()))>>
Specialization when intersect method exists.
template<class T, class OtherGeometry, class = void>
struct Rodin::Geometry::Euclidean::HasDistanceMethod
Type trait to detect if a type has a distance method.
template<class T, class OtherGeometry>
struct Rodin::Geometry::Euclidean::HasDistanceMethod<T, OtherGeometry, std::void_t<decltype(std::declval<T>().distance(std::declval<const OtherGeometry&>()))>>
Specialization when distance method exists.
template<class T, class OtherGeometry, class = void>
struct Rodin::Geometry::Euclidean::HasConnectMethod
Type trait to detect if a type has a connect method.
template<class T, class OtherGeometry>
struct Rodin::Geometry::Euclidean::HasConnectMethod<T, OtherGeometry, std::void_t<decltype(std::declval<T>().connect(std::declval<const OtherGeometry&>()))>>
Specialization when connect method exists.