15#ifndef dealii_function_signed_distance_h
16#define dealii_function_signed_distance_h
29 namespace SignedDistance
58 const unsigned int component = 0)
const override;
71 const unsigned int component = 0)
const override;
84 const unsigned int component = 0)
const override;
114 const unsigned int component = 0)
const override;
118 const unsigned int component = 0)
const override;
122 const unsigned int component = 0)
const override;
156 const std::array<double, dim> &
radii,
162 const unsigned int component = 0)
const override;
170 const unsigned int component = 0)
const override;
211 const std::array<double, dim>
radii;
257 const unsigned int component = 0)
const override;
295 const double notch_width,
296 const double notch_height);
306 const unsigned int component = 0)
const override;
double value(const Point< dim > &point, const unsigned int component=0) const override
Tensor< 1, dim > gradient(const Point< dim > &, const unsigned int component=0) const override
double compute_signed_distance_ellipse(const Point< dim > &point) const
Point< dim > compute_closest_point_ellipse(const Point< dim > &point) const
Ellipsoid(const Point< dim > ¢er, const std::array< double, dim > &radii, const double tolerance=1e-14, const unsigned int max_iter=10)
double evaluate_ellipsoid(const Point< dim > &point) const
const unsigned int max_iter
const std::array< double, dim > radii
const Point< dim > center
Tensor< 1, dim, double > compute_analyical_normal_vector_on_ellipse(const Point< dim > &point) const
const Point< dim > point_in_plane
Plane(const Point< dim > &point, const Tensor< 1, dim > &normal)
double value(const Point< dim > &point, const unsigned int component=0) const override
SymmetricTensor< 2, dim > hessian(const Point< dim > &, const unsigned int component=0) const override
Tensor< 1, dim > gradient(const Point< dim > &, const unsigned int component=0) const override
const Tensor< 1, dim > normal
double value(const Point< dim > &p, const unsigned int component=0) const override
Rectangle(const Point< dim > &bottom_left, const Point< dim > &top_right)
const BoundingBox< dim > bounding_box
Sphere(const Point< dim > ¢er=Point< dim >(), const double radius=1)
SymmetricTensor< 2, dim > hessian(const Point< dim > &point, const unsigned int component=0) const override
double value(const Point< dim > &point, const unsigned int component=0) const override
Tensor< 1, dim > gradient(const Point< dim > &point, const unsigned int component=0) const override
const Point< dim > center
ZalesakDisk(const Point< dim > ¢er, const double radius, const double notch_width, const double notch_height)
const Functions::SignedDistance::Sphere< dim > sphere
double value(const Point< dim > &p, const unsigned int component=0) const override
const Functions::SignedDistance::Rectangle< dim > notch
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE