31#if defined(ImplicitBall_RECURSES)
32#error Recursive header files inclusion detected in ImplicitBall.h
35#define ImplicitBall_RECURSES
37#if !defined ImplicitBall_h
44#include "DGtal/base/Common.h"
45#include "DGtal/kernel/NumberTraits.h"
46#include "DGtal/shapes/implicit/CImplicitFunction.h"
63 template <
typename TSpace>
104 if (this->
operator()(aPoint) > 0.0)
107 if (this->
operator()(aPoint) < 0.0)
198 template <
typename T>
207#include "DGtal/shapes/implicit/ImplicitBall.ih"
214#undef ImplicitBall_RECURSES
Aim: model of CEuclideanOrientedShape and CEuclideanBoundedShape concepts to create a ball in nD....
double myRadius
Ball Radius.
Orientation orientation(const RealPoint &aPoint) const
Value operator()(const RealPoint &aPoint) const
RealPoint getUpperBound() const
ImplicitBall & operator=(const ImplicitBall &other)
void selfDisplay(std::ostream &out) const
Space::RealPoint RealPoint
void moveTo(const RealPoint &newCenter)
RealPoint getLowerBound() const
RealPoint myCenter
Ball center.
ImplicitBall< TSpace > Self
ImplicitBall(const RealPoint &aCenter, const double &aRadius)
static Self diagonal(Component val=1)
TInteger Integer
Arithmetic ring induced by (+,-,*) and Integer numbers.
PointVector< dim, double > RealPoint
DGtal is the top-level namespace which contains all DGtal functions and types.
std::ostream & operator<<(std::ostream &out, const ClosedIntegerHalfPlane< TSpace > &object)