26 #include "libmesh/tensor_value.h" 27 #include "libmesh/sphere.h" 46 libmesh_assert_greater (r, 0.);
77 libmesh_assert_greater (std::abs(D), 1e-12);
102 #else // LIBMESH_DIM > 2 104 libmesh_not_implemented();
119 libmesh_assert_greater (this->
radius(), 0.);
126 return distance(other_sphere) < 0 ? true :
false;
133 libmesh_assert_greater ( this->
radius(), 0. );
134 libmesh_assert_greater ( other_sphere.
radius(), 0. );
138 return the_distance - (this->
radius() + other_sphere.
radius());
145 libmesh_assert_greater (this->
radius(), 0.);
160 libmesh_assert_greater (this->
radius(), 0.);
169 libmesh_assert_greater (this->
radius(), 0.);
176 if (std::abs(w.
norm() - this->
radius()) < 1.e-10)
186 libmesh_assert_greater (this->
radius(), 0.);
203 libmesh_assert_greater (this->
radius(), 0.);
205 libmesh_assert_not_equal_to (p, this->
center());
virtual bool above_surface(const Point &p) const override
auto norm() const -> decltype(std::norm(T()))
This class defines a sphere.
The libMesh namespace provides an interface to certain functionality in the library.
virtual Point closest_point(const Point &p) const override
const Point & center() const
TypeVector< T > unit() const
void libmesh_ignore(const Args &...)
auto norm_sq() const -> decltype(std::norm(T()))
virtual bool on_surface(const Point &p) const override
Real distance(const Sphere &other_sphere) const
virtual Point unit_normal(const Point &p) const override
Sphere()
Dummy Constructor.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void create_from_center_radius(const Point &c, const Real r)
Defines a sphere of radius r centered at c.
The base class for all "surface" related geometric objects.
A Point defines a location in LIBMESH_DIM dimensional Real space.
virtual bool below_surface(const Point &p) const override
This class defines a tensor in LIBMESH_DIM dimensional Real or Complex space.
bool intersects(const Sphere &other_sphere) const