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);
99 Real r = (c-pa).norm();
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.);
150 if (w.
norm() > this->radius())
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());
A Point defines a location in LIBMESH_DIM dimensional Real space.
This class defines a sphere.
virtual Point closest_point(const Point &p) const override
const Point & center() const
void create_from_center_radius(const Point &c, const Real r)
Defines a sphere of radius r centered at c.
bool intersects(const Sphere &other_sphere) const
virtual bool below_surface(const Point &p) const override
virtual bool on_surface(const Point &p) const override
Sphere()
Dummy Constructor.
Real distance(const Sphere &other_sphere) const
virtual bool above_surface(const Point &p) const override
virtual Point unit_normal(const Point &p) const override
The base class for all "surface" related geometric objects.
This class defines a tensor in LIBMESH_DIM dimensional Real or Complex space.
TypeVector< T > unit() const
The libMesh namespace provides an interface to certain functionality in the library.
void libmesh_ignore(const Args &...)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real