31 #if defined(ImplicitRoundedHyperCube_RECURSES)
32 #error Recursive header files inclusion detected in ImplicitRoundedHyperCube.h
33 #else // defined(ImplicitRoundedHyperCube_RECURSES)
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"
262 #endif // !defined ImplicitRoundedHyperCube_h
264 #undef ImplicitRoundedHyperCube_RECURSES
265 #endif // else defined(ImplicitRoundedHyperCube_RECURSES)
Space::RealPoint RealPoint
Orientation orientation(const RealPoint &aPoint) const
Aim: model of CEuclideanOrientedShape and CEuclideanBoundedShape concepts to create a rounded hypercu...
double operator()(const RealPoint &aPoint) const
RealPoint myCenter
Cube center.
~ImplicitRoundedHyperCube()
DGtal::uint32_t Dimension
ImplicitRoundedHyperCube & operator=(const ImplicitRoundedHyperCube &other)
static Self diagonal(Component val=1)
std::ostream & operator<<(std::ostream &out, const ATu0v1< TKSpace, TLinearAlgebra > &object)
DGtal is the top-level namespace which contains all DGtal functions and types.
ImplicitRoundedHyperCube()
ImplicitRoundedHyperCube< TSpace > Self
static const Dimension dimension
Copy of the static dimension of the Point/Vector.
ImplicitRoundedHyperCube(const RealPoint &aCenter, const double &aHalfWidth, const double aPower)
void moveTo(const RealPoint &newCenter)
Aim: Implements basic operations that will be used in Point and Vector classes.
RealPoint getLowerBound() const
RealPoint getUpperBound() const
double myHalfWidth
Cube HalfWidth.
bool isInside(const RealPoint &aPoint) const
void selfDisplay(std::ostream &out) const
double myPower
Cube Power.