DGtal
1.5.beta
|
Aim: A class to check if digital sets are P-convex. The P-convexity is defined as follows: A digital set X subset of \( \mathbb{Z}^d \) is P-convex iff. More...
#include <DGtal/geometry/volumes/PConvexity.h>
Public Types | |
typedef PConvexity< TSpace > | Self |
typedef TSpace | Space |
typedef Space::Integer | Integer |
typedef Space::Point | Point |
using | RPConvexity = DGtal::detail::RecursivePConvexity< dimension, Integer > |
Public Member Functions | |
Standard services (construction, initialization, assignment) | |
~PConvexity ()=default | |
Destructor. More... | |
PConvexity (bool safe=false) | |
Convexity services | |
bool | is0Convex (const std::vector< Point > &X) const |
bool | isPConvex (const std::vector< Point > &X) const |
Measure services | |
double | convexityMeasure (const std::vector< Point > &X) const |
double | fullConvexityMeasure (const std::vector< Point > &X) const |
Interface services | |
void | selfDisplay (std::ostream &out) const |
bool | isValid () const |
Static Public Attributes | |
static const Dimension | dimension = Space::dimension |
Protected Attributes | |
RPConvexity | myRPC |
The recursive PConvexity object used to determine P-convexity. More... | |
bool | mySafe |
Private Member Functions | |
BOOST_CONCEPT_ASSERT ((concepts::CSpace< TSpace >)) | |
Aim: A class to check if digital sets are P-convex. The P-convexity is defined as follows: A digital set X subset of \( \mathbb{Z}^d \) is P-convex iff.
Description of template class 'PConvexity'
- if d=1, then X must be an interval of integers, possibly empty
It is a model of boost::CopyConstructible, boost::DefaultConstructible, boost::Assignable.
TSpace | an arbitrary model of digital space, i.e. see CSpace. |
Definition at line 354 of file PConvexity.h.
typedef Space::Integer DGtal::PConvexity< TSpace >::Integer |
Definition at line 361 of file PConvexity.h.
typedef Space::Point DGtal::PConvexity< TSpace >::Point |
Definition at line 362 of file PConvexity.h.
using DGtal::PConvexity< TSpace >::RPConvexity = DGtal::detail::RecursivePConvexity< dimension, Integer > |
Definition at line 365 of file PConvexity.h.
typedef PConvexity<TSpace> DGtal::PConvexity< TSpace >::Self |
Definition at line 359 of file PConvexity.h.
typedef TSpace DGtal::PConvexity< TSpace >::Space |
Definition at line 360 of file PConvexity.h.
|
default |
Destructor.
|
inline |
Main constructor.
safe | when 'true' performs convex hull computations with arbitrary precision integer (if available), otherwise chooses a compromise between speed and precision (int64_t). |
Definition at line 380 of file PConvexity.h.
|
private |
|
inline |
X | any range of lattice points (without duplicates) |
Definition at line 425 of file PConvexity.h.
References DGtal::detail::RecursivePConvexity< dim, TInteger >::convexityMeasure(), DGtal::PConvexity< TSpace >::myRPC, and DGtal::PConvexity< TSpace >::mySafe.
|
inline |
X | any range of lattice points (without duplicates) |
Definition at line 436 of file PConvexity.h.
References DGtal::detail::RecursivePConvexity< dim, TInteger >::fullConvexityMeasure(), DGtal::PConvexity< TSpace >::myRPC, and DGtal::PConvexity< TSpace >::mySafe.
|
inline |
X | any range of lattice points (without duplicates) |
Definition at line 397 of file PConvexity.h.
References DGtal::detail::RecursivePConvexity< dim, TInteger >::is0Convex(), DGtal::PConvexity< TSpace >::myRPC, and DGtal::PConvexity< TSpace >::mySafe.
|
inline |
X | any range of lattice points (without duplicates) |
Definition at line 407 of file PConvexity.h.
References DGtal::detail::RecursivePConvexity< dim, TInteger >::isPConvex(), DGtal::PConvexity< TSpace >::myRPC, and DGtal::PConvexity< TSpace >::mySafe.
Referenced by SCENARIO(), timingsPConvexity(), and timingsPConvexityNonConvex().
|
inline |
Checks the validity/consistency of the object. Only invalid if dimension < 1.
Definition at line 464 of file PConvexity.h.
References DGtal::PConvexity< TSpace >::dimension.
|
inline |
Writes/Displays the object on an output stream.
out | the output stream where the object is written. |
Definition at line 452 of file PConvexity.h.
References DGtal::PConvexity< TSpace >::dimension, and DGtal::PConvexity< TSpace >::mySafe.
|
static |
Definition at line 364 of file PConvexity.h.
Referenced by DGtal::PConvexity< TSpace >::isValid(), and DGtal::PConvexity< TSpace >::selfDisplay().
|
protected |
The recursive PConvexity object used to determine P-convexity.
Definition at line 475 of file PConvexity.h.
Referenced by DGtal::PConvexity< TSpace >::convexityMeasure(), DGtal::PConvexity< TSpace >::fullConvexityMeasure(), DGtal::PConvexity< TSpace >::is0Convex(), and DGtal::PConvexity< TSpace >::isPConvex().
|
protected |
when 'true' performs convex hull computations with arbitrary precision integer (if available), otherwise chooses a compromise between speed and precision (int64_t).
Definition at line 480 of file PConvexity.h.
Referenced by DGtal::PConvexity< TSpace >::convexityMeasure(), DGtal::PConvexity< TSpace >::fullConvexityMeasure(), DGtal::PConvexity< TSpace >::is0Convex(), DGtal::PConvexity< TSpace >::isPConvex(), and DGtal::PConvexity< TSpace >::selfDisplay().