DGtal 1.3.0
|
Aim: model of CEuclideanOrientedShape and CEuclideanBoundedShape concepts to create a rounded hypercube in nD.. More...
#include <DGtal/shapes/implicit/ImplicitRoundedHyperCube.h>
Public Types | |
typedef ImplicitRoundedHyperCube< TSpace > | Self |
typedef TSpace | Space |
typedef Space::RealPoint | RealPoint |
typedef double | Value |
Public Member Functions | |
ImplicitRoundedHyperCube (const RealPoint &aCenter, const double &aHalfWidth, const double aPower) | |
~ImplicitRoundedHyperCube () | |
double | operator() (const RealPoint &aPoint) const |
bool | isInside (const RealPoint &aPoint) const |
Orientation | orientation (const RealPoint &aPoint) const |
RealPoint | getLowerBound () const |
RealPoint | getUpperBound () const |
RealPoint | center () const |
void | moveTo (const RealPoint &newCenter) |
void | selfDisplay (std::ostream &out) const |
bool | isValid () const |
Protected Member Functions | |
ImplicitRoundedHyperCube () | |
Private Member Functions | |
ImplicitRoundedHyperCube & | operator= (const ImplicitRoundedHyperCube &other) |
Private Attributes | |
RealPoint | myCenter |
Cube center. More... | |
double | myHalfWidth |
Cube HalfWidth. More... | |
double | myPower |
Cube Power. More... | |
Aim: model of CEuclideanOrientedShape and CEuclideanBoundedShape concepts to create a rounded hypercube in nD..
Description of template class 'ImplicitRoundedHyperCube'
Rounded hypercubes corresponds to balls for the \(l_p\) norm.
TSpace | the Digital space definition. |
Definition at line 62 of file ImplicitRoundedHyperCube.h.
typedef Space::RealPoint DGtal::ImplicitRoundedHyperCube< TSpace >::RealPoint |
Definition at line 68 of file ImplicitRoundedHyperCube.h.
typedef ImplicitRoundedHyperCube<TSpace> DGtal::ImplicitRoundedHyperCube< TSpace >::Self |
Definition at line 66 of file ImplicitRoundedHyperCube.h.
typedef TSpace DGtal::ImplicitRoundedHyperCube< TSpace >::Space |
Definition at line 67 of file ImplicitRoundedHyperCube.h.
typedef double DGtal::ImplicitRoundedHyperCube< TSpace >::Value |
Definition at line 69 of file ImplicitRoundedHyperCube.h.
|
inline |
Constructor. Contructs a rounded hypercube with center aCenter and width aWidth.
aCenter | the cube center. |
aHalfWidth | the cube half-width. |
aPower | the cube power. |
Definition at line 79 of file ImplicitRoundedHyperCube.h.
DGtal::ImplicitRoundedHyperCube< TSpace >::~ImplicitRoundedHyperCube | ( | ) |
Destructor.
|
protected |
Constructor. Forbidden by default (protected to avoid g++ warnings).
|
inline |
Definition at line 175 of file ImplicitRoundedHyperCube.h.
References DGtal::ImplicitRoundedHyperCube< TSpace >::myCenter.
|
inline |
Returns the lower bound of the Shape bounding box.
Definition at line 155 of file ImplicitRoundedHyperCube.h.
References DGtal::PointVector< dim, TEuclideanRing, TContainer >::diagonal(), DGtal::ImplicitRoundedHyperCube< TSpace >::myCenter, and DGtal::ImplicitRoundedHyperCube< TSpace >::myHalfWidth.
|
inline |
Returns the upper bound of the Shape bounding box.
Definition at line 167 of file ImplicitRoundedHyperCube.h.
References DGtal::PointVector< dim, TEuclideanRing, TContainer >::diagonal(), DGtal::ImplicitRoundedHyperCube< TSpace >::myCenter, and DGtal::ImplicitRoundedHyperCube< TSpace >::myHalfWidth.
|
inline |
Return true if the given point belongs to the shape.
aPoint | the point to evalute the function at. |
Definition at line 123 of file ImplicitRoundedHyperCube.h.
References DGtal::ImplicitRoundedHyperCube< TSpace >::operator()().
bool DGtal::ImplicitRoundedHyperCube< TSpace >::isValid | ( | ) | const |
Checks the validity/consistency of the object.
|
inline |
Modify the shape center
newCenter | the new center position |
Definition at line 185 of file ImplicitRoundedHyperCube.h.
References DGtal::ImplicitRoundedHyperCube< TSpace >::myCenter.
|
inline |
Operator() of the implicit function. Given a point, it returns the function value at p. In Shapes, positive values are used to construct a set.
aPoint | the point to evalute the function at. |
Definition at line 106 of file ImplicitRoundedHyperCube.h.
References aPoint(), DGtal::PointVector< dim, TEuclideanRing, TContainer >::dimension, DGtal::ImplicitRoundedHyperCube< TSpace >::myCenter, DGtal::ImplicitRoundedHyperCube< TSpace >::myHalfWidth, and DGtal::ImplicitRoundedHyperCube< TSpace >::myPower.
Referenced by DGtal::ImplicitRoundedHyperCube< TSpace >::isInside().
|
private |
Assignment.
other | the object to copy. |
|
inline |
orientation predicate (see CEuclideanOrientedShape).
aPoint | an input point. |
Definition at line 136 of file ImplicitRoundedHyperCube.h.
References DGtal::INSIDE, DGtal::ON, and DGtal::OUTSIDE.
void DGtal::ImplicitRoundedHyperCube< TSpace >::selfDisplay | ( | std::ostream & | out | ) | const |
Writes/Displays the object on an output stream.
out | the output stream where the object is written. |
|
private |
Cube center.
Definition at line 211 of file ImplicitRoundedHyperCube.h.
Referenced by DGtal::ImplicitRoundedHyperCube< TSpace >::center(), DGtal::ImplicitRoundedHyperCube< TSpace >::getLowerBound(), DGtal::ImplicitRoundedHyperCube< TSpace >::getUpperBound(), DGtal::ImplicitRoundedHyperCube< TSpace >::moveTo(), and DGtal::ImplicitRoundedHyperCube< TSpace >::operator()().
|
private |
Cube HalfWidth.
Definition at line 214 of file ImplicitRoundedHyperCube.h.
Referenced by DGtal::ImplicitRoundedHyperCube< TSpace >::getLowerBound(), DGtal::ImplicitRoundedHyperCube< TSpace >::getUpperBound(), and DGtal::ImplicitRoundedHyperCube< TSpace >::operator()().
|
private |
Cube Power.
Definition at line 217 of file ImplicitRoundedHyperCube.h.
Referenced by DGtal::ImplicitRoundedHyperCube< TSpace >::operator()().