Rodin/Geometry/Euclidean/Concepts.h file

Type traits for detecting geometric operations on Euclidean objects.

Namespaces

namespace Rodin
The Rodin library for Shape and Topology Optimization.
namespace Rodin::Geometry
Module for dealing with geometries.
namespace Rodin::Geometry::Euclidean
Module for dealing with Euclidean geometries.

Classes

template<class T, class OtherGeometry, class = void>
struct Rodin::Geometry::Euclidean::has_intersect_method
Type trait to detect if a type has an intersect method.
template<class T, class OtherGeometry>
struct Rodin::Geometry::Euclidean::has_intersect_method<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::has_distance_method
Type trait to detect if a type has a distance method.
template<class T, class OtherGeometry>
struct Rodin::Geometry::Euclidean::has_distance_method<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::has_connect_method
Type trait to detect if a type has a connect method.
template<class T, class OtherGeometry>
struct Rodin::Geometry::Euclidean::has_connect_method<T, OtherGeometry, std::void_t<decltype(std::declval<T>().connect(std::declval<const OtherGeometry&>()))>>
Specialization when connect method exists.