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,
108 RealPoint dec = (aPoint -
myCenter);
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)
230 template <
typename T>
232 operator<< ( std::ostream & out, const ImplicitRoundedHyperCube<T> & object );
239 #include "DGtal/shapes/implicit/ImplicitRoundedHyperCube.ih" 244 #endif // !defined ImplicitRoundedHyperCube_h 246 #undef ImplicitRoundedHyperCube_RECURSES 247 #endif // else defined(ImplicitRoundedHyperCube_RECURSES)
ImplicitRoundedHyperCube(const RealPoint &aCenter, const double &aHalfWidth, const double aPower)
double operator()(const RealPoint &aPoint) const
~ImplicitRoundedHyperCube()
Aim: model of CEuclideanOrientedShape and CEuclideanBoundedShape concepts to create a rounded hypercu...
static const Dimension dimension
Copy of the static dimension of the Point/Vector.
ImplicitRoundedHyperCube()
static Self diagonal(Component val=1)
DGtal::uint32_t Dimension
double myPower
Cube Power.
ImplicitRoundedHyperCube & operator=(const ImplicitRoundedHyperCube &other)
Aim: Implements basic operations that will be used in Point and Vector classes.
Orientation orientation(const RealPoint &aPoint) const
RealPoint getUpperBound() const
ImplicitRoundedHyperCube< TSpace > Self
RealPoint getLowerBound() const
void selfDisplay(std::ostream &out) const
RealPoint myCenter
Cube center.
DGtal is the top-level namespace which contains all DGtal functions and types.
double myHalfWidth
Cube HalfWidth.
Space::RealPoint RealPoint
bool isInside(const RealPoint &aPoint) const