11#ifndef EBGEOMETRY_IMPLICITFUNCTION_HPP
12#define EBGEOMETRY_IMPLICITFUNCTION_HPP
33 static_assert(std::is_floating_point_v<T>,
"T must be a floating-point type");
85#include "EBGeometry_ImplicitFunctionImplem.hpp"
Declarations of bounding volume types used in bounding volume hierarchies.
Declaration of 2D and 3D point/vector classes with templated precision. Used with DCEL tools.
Abstract representation of an implicit function (not necessarily a signed distance function).
Definition EBGeometry_ImplicitFunction.hpp:32
BV approximateBoundingVolumeOctree(const Vec3T< T > &a_initialLowCorner, const Vec3T< T > &a_initialHighCorner, const unsigned int a_maxTreeDepth, const T &a_safety=0.0) const
Compute an approximation to the bounding volume for the implicit surface using octree subdivision.
ImplicitFunction()=default
Default constructor.
virtual T value(const Vec3T< T > &a_point) const noexcept=0
Value function. Points are outside the object if value > 0.0 and inside if value < 0....
virtual ~ImplicitFunction()=default
Default destructor.
T operator()(const Vec3T< T > &a_point) const noexcept
Call operator — alternative signature for the value function.
Three-dimensional vector class with arithmetic operators.
Definition EBGeometry_Vec.hpp:225
Namespace containing all of EBGeometry's functionality.
Definition EBGeometry_AnalyticDistanceFunctions.hpp:31