HM3
Hierarchical Multi-physics Multi-scale Methods
 All Classes Namespaces Functions Variables Typedefs Enumerations Pages
hm3::geometry::sd Namespace Reference

Implicit signed-distance functions. More...

Classes

struct  edge
 Oriented: More...
 

Functions

template<int_t Nd>
constexpr auto dimension (edge< Nd >) noexcept
 Dimension of an edge.
 
template<typename SignedDistanceF >
auto invert (SignedDistanceF &f)
 Inverts a signed distance field.
 
template<typename SignedDistanceF1 , typename SignedDistanceF2 >
auto take_union (SignedDistanceF1 &f1, SignedDistanceF2 &f2)
 Union of a signed distance field.
 
template<typename SignedDistanceF1 , typename SignedDistanceF2 >
auto take_intersection (SignedDistanceF1 &f1, SignedDistanceF2 &f2)
 Intersection of a signed distance field.
 
template<typename SignedDistanceF1 , typename SignedDistanceF2 >
auto take_difference (SignedDistanceF1 &f1, SignedDistanceF2 &f2)
 Difference of a signed distance field.
 

Sphere

template<int_t Nd>
num_t sphere (point< Nd > const &x, point< Nd > const &x_c, const num_t r) noexcept
 Signed distance to a sphere.
 

Fixed Sphere

template<int_t Nd>
constexpr auto dimension (fixed_sphere< Nd > const &) noexcept
 Dimension of a fixed sphere.
 

Time-dependent rigid sphere

template<int_t Nd>
constexpr auto dimension (moving_sphere< Nd > const &)
 Dimension of a moving sphere.
 

Detailed Description

Implicit signed-distance functions.

Outside: g(x) > 0 outside, Surface: g(x) = 0, and Inside: g(x) < 0 .