31 #if defined(ImplicitRoundedHyperCube_RECURSES)
32 #error Recursive header files inclusion detected in ImplicitRoundedHyperCube.h
35 #define ImplicitRoundedHyperCube_RECURSES
37 #if !defined ImplicitRoundedHyperCube_h
39 #define ImplicitRoundedHyperCube_h
44 #include "DGtal/base/Common.h"
61 template <
typename TSpace>
80 const double &aHalfWidth,
109 double partialpower=0;
111 partialpower += std::pow(std::abs((
double)dec[i]),
myPower);
138 if (this->
operator()(aPoint) > 0.0)
141 if (this->
operator()(aPoint) < 0.0)
248 template <
typename T>
257 #include "DGtal/shapes/implicit/ImplicitRoundedHyperCube.ih"
264 #undef ImplicitRoundedHyperCube_RECURSES
Aim: model of CEuclideanOrientedShape and CEuclideanBoundedShape concepts to create a rounded hypercu...
ImplicitRoundedHyperCube & operator=(const ImplicitRoundedHyperCube &other)
void moveTo(const RealPoint &newCenter)
ImplicitRoundedHyperCube(const RealPoint &aCenter, const double &aHalfWidth, const double aPower)
RealPoint getUpperBound() const
bool isInside(const RealPoint &aPoint) const
double operator()(const RealPoint &aPoint) const
RealPoint getLowerBound() const
void selfDisplay(std::ostream &out) const
RealPoint myCenter
Cube center.
double myHalfWidth
Cube HalfWidth.
ImplicitRoundedHyperCube< TSpace > Self
~ImplicitRoundedHyperCube()
ImplicitRoundedHyperCube()
double myPower
Cube Power.
Space::RealPoint RealPoint
Orientation orientation(const RealPoint &aPoint) const
Aim: Implements basic operations that will be used in Point and Vector classes.
static Self diagonal(Component val=1)
static const Dimension dimension
Copy of the static dimension of the Point/Vector.
DGtal is the top-level namespace which contains all DGtal functions and types.
std::ostream & operator<<(std::ostream &out, const ATu0v1< TKSpace, TLinearAlgebra > &object)
DGtal::uint32_t Dimension