Shapes may be defined by either a simple mathematical formula or an interpolated data table.
Subclassed by feasst::Cylinder, feasst::HalfSpace, feasst::ShapeIntersect, feasst::ShapeUnion, feasst::Slab, feasst::Sphere
Public Functions
-
virtual double
nearest_distance
(const Position &point) const = 0
Return the distance from the point to the nearest point on the surface. The distance is negative if the point is inside of the shape and positive if it is outside.
-
bool
is_inside
(const Position &point) const
Return true if the point is inside of the shape.
-
bool
is_inside
(const Position &point, const double diameter) const
Return true if the sphere of given center point and diameter is entirely inside of the shape.