
detail namespace gathers internal classes and functions.
More...
Data Structures | |
| struct | BoundedLatticePolytopeSpecializer |
| Aim: It is just a helper class for BoundedLatticePolytope to add dimension specific static methods. More... | |
| struct | BoundedLatticePolytopeSpecializer< 3, TInteger > |
| Aim: 3D specialization for BoundedLatticePolytope to add dimension specific static methods. More... | |
| struct | BoundedRationalPolytopeSpecializer |
| Aim: It is just a helper class for BoundedRationalPolytope to add dimension specific static methods. More... | |
| struct | BoundedRationalPolytopeSpecializer< 3, TInteger > |
| Aim: 3D specialization for BoundedRationalPolytope to add dimension specific static methods. More... | |
| struct | ComparatorAdapter |
| struct | ComparatorAdapter< Container, true, false, false > |
| unordered set-like adapter. More... | |
| struct | ComparatorAdapter< Container, true, false, true > |
| unordered map-like adapter. More... | |
| struct | ComparatorAdapter< Container, true, true, false > |
| Set-like adapter. More... | |
| struct | ComparatorAdapter< Container, true, true, true > |
| Map-like adapter. More... | |
| struct | ConvexityHelperInternalInteger |
| struct | ConvexityHelperInternalInteger< DGtal::BigInteger, safe > |
| struct | ConvexityHelperInternalInteger< DGtal::int32_t, false > |
| struct | ConvexityHelperInternalInteger< DGtal::int32_t, true > |
| struct | ConvexityHelperInternalInteger< DGtal::int64_t, false > |
| struct | ConvexityHelperInternalInteger< DGtal::int64_t, true > |
| struct | CurvatureFromDCA |
| struct | CurvatureFromDCA< false > |
| class | CurvatureFromDSSBaseEstimator |
| struct | CurvatureFromDSSLength |
| struct | CurvatureFromDSSLengthAndWidth |
| struct | DistanceFromDCA |
| class | DSSDecorator |
| Aim: Abstract DSSDecorator for ArithmeticalDSSComputer. Has 2 virtual methods returning the first and last leaning point: More... | |
| class | DSSDecorator4ConcavePart |
| Aim: adapter for TDSS used by FP in CONCAVE parts. Has 2 methods: More... | |
| class | DSSDecorator4ConvexPart |
| Aim: adapter for TDSS used by FP in CONVEX parts. Has 2 methods: More... | |
| struct | EqualPredicateFromLessThanComparator |
| struct | EuclideanDivisionHelper |
| Aim: Small stucture that provides a static method returning the Euclidean division of two integers. More... | |
| struct | EuclideanDivisionHelper< double > |
| struct | EuclideanDivisionHelper< float > |
| struct | EuclideanDivisionHelper< long double > |
| struct | FFTWComplexCast |
| Facility to cast to the complex type used by fftw. More... | |
| struct | FFTWWrapper |
| Wrapper to fftw functions depending on value type. More... | |
| struct | FFTWWrapper< double > |
| struct | FFTWWrapper< float > |
| struct | FFTWWrapper< long double > |
| class | GridPoint |
| A grid point consists of a couple of nonnegative coordinates (x,y) and an integer index k that determines a point used as origin. For a triplet of vectors (m_k)_{0 \leq k \leq 2} and a point q , a grid point is defined as: q - m_{k} + x m_{(k+1)\bmod 3} + y m_{(k+2)\bmod 3} . q - m_{k} , called base point, is used as origin. More... | |
| class | GridPointOnProbingRay |
| Aim: Represents a grid point along a discrete ray defined on a grid. More... | |
| struct | HasNestedTypeCategory |
| Aim: Checks whether type T has a nested type called 'Category' or not. NB: from en.wikipedia.org/wiki/Substitution_failure_is_not_an_error NB: to avoid various compiler issues, we use BOOST_STATIC_CONSTANT according to http://www.boost.org/development/int_const_guidelines.html. More... | |
| struct | HasNestedTypeType |
| Aim: Checks whether type IC has a nested type called 'Type' or not. NB: from en.wikipedia.org/wiki/Substitution_failure_is_not_an_error NB: to avoid various compiler issues, we use BOOST_STATIC_CONSTANT according to http://www.boost.org/development/int_const_guidelines.html. More... | |
| struct | IsAssociativeContainerFromCategory |
| struct | IsCirculator |
| Aim: Checks whether type IC is a circular or a classical iterator. Static value set to 'true' for a circulator, 'false' otherwise. 1) if type IC has no nested type 'Type', it is a classical iterator and 'false' is returned. 2) if type IC has a nested type 'Type', 'true' is returned is 'Type' is CirculatorType, 'false' otherwise. More... | |
| struct | IsCirculator< IC, true > |
| struct | IsCirculatorFromType |
| Aim: In order to check whether type IC is a circular or a classical iterator, the nested type called 'Type' is read. More... | |
| struct | IsCirculatorFromType< IC, CirculatorType > |
| struct | IsContainerFromCategory |
| struct | IsMultipleAssociativeContainerFromCategory |
| struct | IsOrderedAssociativeContainerFromCategory |
| struct | IsPairAssociativeContainerFromCategory |
| struct | IsSequenceContainerFromCategory |
| struct | IsSimpleAssociativeContainerFromCategory |
| struct | IsUniqueAssociativeContainerFromCategory |
| struct | IsUnorderedAssociativeContainerFromCategory |
| struct | IteratorCirculatorTypeImpl |
| Aim: Defines the Iterator or Circulator type as a nested type according to the value of b. More... | |
| struct | IteratorCirculatorTypeImpl< true > |
| struct | KeyComparatorForPairKeyData |
| struct | LabelledMapMemFunctor |
| struct | monomial_node |
| struct | NormalizedTangentVectorFromDSS |
| struct | NormalVectorFromDCA |
| class | PointOnProbingRay |
| A ray consists of a permutation \sigma and an integer index \lambda (position on the ray). For a triplet of vectors (m_k)_{0 \leq k \leq 2} and a point q , a point on the ray is defined as: q - m_{\sigma(0)} + m_{\sigma(1)} + \lambda m_{\sigma(2)} . q - m_{\sigma(0)} + m_{\sigma(1)} is called the base point. More... | |
| class | PointValueCompare |
| Aim: Small binary predicate to order candidates points according to their (absolute) distance value. More... | |
| class | PosDepScaleDepSCEstimator |
| class | PosDepScaleIndepSCEstimator |
| class | PosIndepScaleDepSCEstimator |
| class | PosIndepScaleIndepSCEstimator |
| struct | power_node |
| struct | RecursivePConvexity |
| struct | RecursivePConvexity< 1, TInteger > |
| struct | SetFunctionsImpl |
| Aim: Specialize set operations (union, intersection, difference, symmetric_difference) according to the given type of container. It uses standard algorithms when containers are ordered, otherwise it provides a default implementation. More... | |
| struct | SetFunctionsImpl< Container, false, true > |
| struct | SetFunctionsImpl< Container, true, false > |
| struct | SetFunctionsImpl< Container, true, true > |
| struct | TangentAngleFromDSS |
| struct | TangentVectorFromDCA |
| struct | TangentVectorFromDSS |
| struct | toCoordinateImpl |
| Aim: Define a simple functor that can cast a signed integer (possibly a DGtal::BigInteger) into another. More... | |
| struct | toCoordinateImpl< DGtal::BigInteger, DGtal::BigInteger > |
| struct | toCoordinateImpl< DGtal::BigInteger, TOutput > |
| struct | top_node |
| struct | ValueConverter |
| Generic definition of a class for converting type X toward type Y. More... | |
| struct | ValueConverter< std::string, double > |
| Specialized definitions of a class for converting type X toward type Y. More... | |
| struct | ValueConverter< std::string, float > |
| Specialized definitions of a class for converting type X toward type Y. More... | |
| struct | ValueConverter< std::string, int > |
| Specialized definitions of a class for converting type X toward type Y. More... | |
| struct | ValueConverter< X, std::string > |
| Specialized definitions of a class for converting type X toward type Y. More... | |
Typedefs | |
| typedef boost::variant< boost::recursive_wrapper< top_node >, monomial_node > | expr_node |
Functions | |
| template<typename IC > | |
| bool | isNotEmpty (const IC &itb, const IC &ite, IteratorType) |
| template<typename IC > | |
| bool | isNotEmpty (const IC &c1, const IC &c2, CirculatorType) |
| template<typename IC > | |
| void | advanceIterator (IC &ic, typename IteratorCirculatorTraits< IC >::Difference n, ForwardCategory) |
| template<typename IC > | |
| void | advanceIterator (IC &ic, typename IteratorCirculatorTraits< IC >::Difference n, RandomAccessCategory) |
| template<typename I > | |
| IteratorCirculatorTraits< I >::Difference | rangeSize (const I &itb, const I &ite, IteratorType, ForwardCategory) |
| template<typename C > | |
| IteratorCirculatorTraits< C >::Difference | rangeSize (const C &cb, const C &ce, CirculatorType, ForwardCategory) |
| template<typename I > | |
| IteratorCirculatorTraits< I >::Difference | rangeSize (const I &itb, const I &ite, IteratorType, RandomAccessCategory) |
| template<typename C > | |
| IteratorCirculatorTraits< C >::Difference | rangeSize (const C &cb, const C &ce, CirculatorType, RandomAccessCategory) |
| template<typename I > | |
| I | rangeMiddle (const I &itb, const I &ite, IteratorType, ForwardCategory) |
| template<typename C > | |
| C | rangeMiddle (const C &cb, const C &ce, CirculatorType, ForwardCategory) |
| template<typename I > | |
| I | rangeMiddle (const I &itb, const I &ite, IteratorType, BidirectionalCategory) |
| template<typename C > | |
| C | rangeMiddle (const C &cb, const C &ce, CirculatorType, BidirectionalCategory) |
| template<typename I > | |
| I | rangeMiddle (const I &itb, const I &ite, IteratorType, RandomAccessCategory) |
| template<typename C > | |
| C | rangeMiddle (const C &cb, const C &ce, CirculatorType, RandomAccessCategory) |
| template<typename TData > | |
| std::pair< unsigned int, unsigned int > | argminLabelledMapMemoryUsageForGeometricDistribution (unsigned int L, double prob_no_data, double prob_one_data) |
| template<typename Point > | |
| Point::Coordinate | squaredNorm (Point const &aPoint) |
| template<int N, typename T > | |
| T | determinant (const T aMatrix[N][N]) |
| template<typename Point > | |
| Point::Coordinate | distToSphere (std::array< Point, 5 > const &aPoints) |
| template<typename Point > | |
| bool | isBasisReduced (Point const &aU, Point const &aV) |
| template<typename Integer , typename Index > | |
| std::ostream & | operator<< (std::ostream &aOs, PointOnProbingRay< Integer, Index > const &aRay) |
| template<typename Integer , typename Index > | |
| std::ostream & | operator<< (std::ostream &aOs, GridPoint< Integer, Index > const &aGridPoint) |
| template<typename Point > | |
| Point | center (const std::vector< Point > &points) |
| template<typename OutputValue , typename ForwardIterator , typename ConversionFct > | |
| void | transform (std::vector< OutputValue > &output_values, std::vector< std::size_t > &input2output, std::vector< std::size_t > &output2input, ForwardIterator itb, ForwardIterator ite, const ConversionFct &F, bool remove_duplicates) |
| static void | mpz_set_sll (mpz_t n, long long sll) |
| ----------— GMP SPECIALIZED SERVICES -------------------------— | |
| static void | mpz_set_ull (mpz_t n, unsigned long long ull) |
| static unsigned long long | mpz_get_ull (mpz_t n) |
| static long long | mpz_get_sll (mpz_t n) |
detail namespace gathers internal classes and functions.
| typedef boost::variant< boost::recursive_wrapper<top_node>, monomial_node > DGtal::detail::expr_node |
Part of the polynomial tree structure. Either a top_node or a monomial.
Definition at line 87 of file MPolynomialReader.h.
|
inline |
Moves ic at position @ it + n
| ic | any (circular)iterator |
| n | any positive distance |
| IC | any iterator or circulator |
|
inline |
Moves ic at position @ it + n
| ic | any (circular)iterator |
| n | any positive distance |
| IC | any iterator or circulator |
| std::pair< unsigned int, unsigned int > DGtal::detail::argminLabelledMapMemoryUsageForGeometricDistribution | ( | unsigned int | L, |
| double | prob_no_data, | ||
| double | prob_one_data ) |
Tries to find the best values N and M which will minimized the memory usage of a LabelledMap, for the distribution specified by the parameters.
| TData | the type of data that will be stored. |
| L | the total number of labels. |
| prob_no_data | Probability that there is no data at this location. |
| prob_one_data | If there is a possibility to have a data, this probability is used to define a geometric distribution that defines the number of data (ie valid labels) at this place. The smaller, the higher is the expectation. 0.5 means E(X) = 1. |
Referenced by main().
Compute the center of the bounding box containing the given points.
| Point | any type of points |
| [in] | points | a range of points |
Definition at line 66 of file QuickHullKernels.h.
| T DGtal::detail::determinant | ( | const T | aMatrix[N][N] | ) |
Determinant of a NxN matrix represented by a two-dimensional static array.
| aMatrix | the static array representing the matrix. |
|
inline |
Computes the distance of a point to a sphere passing through 4 given points.
| aPoints | 5 points where the first 4 define the sphere and the last one is the point to which we want to compute the distance. |
|
inline |
Test if a pair of vectors form a reduced basis.
| aU | the first vector. |
| aV | the second vector. |
|
inline |
Checks if a circular range is not empty, ie. checks if the circulators are valid.
| c1 | begin iterator of the range |
| c2 | end iterator of the range |
| IC | iterator or circulator |
|
inline |
Checks if the range of classical iterators [ itb , ite ) is not empty, ie. checks if itb != ite
| itb | begin iterator of the range |
| ite | end iterator of the range |
| IC | iterator or circulator |
Referenced by DGtal::detail::CurvatureFromDSSBaseEstimator< DSSComputer, Functor >::eval(), DGtal::detail::CurvatureFromDSSBaseEstimator< DSSComputer, Functor >::eval(), DGtal::detail::PosDepScaleDepSCEstimator< TSegmentComputer, Functor, ReturnType >::eval(), DGtal::detail::PosDepScaleIndepSCEstimator< TSegmentComputer, Functor, ReturnType >::eval(), DGtal::detail::PosIndepScaleDepSCEstimator< TSegmentComputer, Functor, ReturnType >::eval(), and DGtal::detail::PosIndepScaleIndepSCEstimator< TSegmentComputer, Functor, ReturnType >::eval().
|
inlinestatic |
Conversion to int64 is tricky and not native for GMP.
| n | any number |
Definition at line 94 of file IntegerConverter.h.
References mpz_get_ull().
Referenced by DGtal::IntegerConverter< dim, DGtal::int64_t >::cast().
|
inlinestatic |
Conversion to uint64 is tricky and not native for GMP.
| n | any number |
Definition at line 79 of file IntegerConverter.h.
Referenced by mpz_get_sll().
|
inlinestatic |
----------— GMP SPECIALIZED SERVICES -------------------------—
| [in,out] | n | the (initialized) big integer to set |
| [in] | sll | a signed long long integer to assign to n. |
Definition at line 60 of file IntegerConverter.h.
Referenced by DGtal::IntegerConverter< dim, DGtal::BigInteger >::cast(), DGtal::IntegerConverter< dim, DGtal::int64_t >::cast(), and SCENARIO().
|
inlinestatic |
| [in,out] | n | the (initialized) big integer to set |
| [in] | ull | an unsigned long long integer to assign to n. |
Definition at line 69 of file IntegerConverter.h.
| std::ostream & DGtal::detail::operator<< | ( | std::ostream & | aOs, |
| GridPoint< Integer, Index > const & | aGridPoint ) |
Display a grid point on the standard output.
| aOs | the output stream where the object is written. |
| aGridPoint | the grid point to display. |
Definition at line 401 of file PlaneProbingEstimatorHelper.h.
References DGtal::detail::GridPoint< Integer, Index >::direction(), and DGtal::detail::GridPoint< Integer, Index >::k().
| std::ostream & DGtal::detail::operator<< | ( | std::ostream & | aOs, |
| PointOnProbingRay< Integer, Index > const & | aRay ) |
Display a probing ray on the standard output.
| aOs | the output stream where the object is written. |
| aRay | the probing ray to display. |
|
inline |
Computes the middle of a given range [ cb, ce ). Note that if cb = ce then [ cb, ce ) is assumed to be a whole range.
| cb | begin iterator of the range |
| ce | end iterator of the range |
| C | any circulator |
|
inline |
Computes the middle of a given range [ cb, ce ). Note that if cb = ce then [ cb, ce ) is assumed to be a whole range.
| cb | begin iterator of the range |
| ce | end iterator of the range |
| C | any circulator |
|
inline |
Computes the middle of a given range [ cb, ce ). Note that if cb = ce then [ cb, ce ) is assumed to be a whole range.
| cb | begin iterator of the range |
| ce | end iterator of the range |
| C | any circulator |
|
inline |
Computes the middle of a given range [ itb , ite )
| itb | begin iterator of the range |
| ite | end iterator of the range |
| I | any iterator |
|
inline |
Computes the middle of a given range [ itb , ite ).
| itb | begin iterator of the range |
| ite | end iterator of the range |
| I | any iterator |
|
inline |
Computes the middle of a given range [ itb , ite )
| itb | begin iterator of the range |
| ite | end iterator of the range |
| I | any iterator |
|
inline |
Computes the size of a given range [ cb, ce ). Note that if cb = ce then [ cb, ce ) is assumed to be a whole range.
| cb | begin iterator of the range |
| ce | end iterator of the range |
| C | any circulator |
|
inline |
Computes the size of a given range [ cb, ce ). Note that if cb = ce then [ cb, ce ) is assumed to be a whole range.
| cb | begin iterator of the range |
| ce | end iterator of the range |
| C | any circulator |
|
inline |
Computes the size of a given range [ itb , ite )
| itb | begin iterator of the range |
| ite | end iterator of the range |
| I | any iterator |
|
inline |
Computes the size of a given range [ itb , ite )
| itb | begin iterator of the range |
| ite | end iterator of the range |
| I | any iterator |
Version of DGtal::PointVector::squaredNorm with no conversion to double.
| aPoint | an input digital point. |
| void DGtal::detail::transform | ( | std::vector< OutputValue > & | output_values, |
| std::vector< std::size_t > & | input2output, | ||
| std::vector< std::size_t > & | output2input, | ||
| ForwardIterator | itb, | ||
| ForwardIterator | ite, | ||
| const ConversionFct & | F, | ||
| bool | remove_duplicates ) |
Transform an input range of points into an output range with a conversion function, and possibly removes duplicates in the output range. Used as preprocessing of QuickHull algorithm.
| OutputValue | any value that is LessThanComparable, Assignable, CopyConstructible, DefaultConstructible. |
| ConversionFct | is a functor from input values to OutputValue. |
| ForwardIterator | is a forward iterator on some input values. |
| [out] | output_values | a range of points converted from the input range, with duplicates possibly removed according to remove_duplicates |
| [out] | input2output | the surjective mapping between the input range and the output range used for computation. |
| [out] | output2input | the injective mapping between the output range and the input range. |
| [in] | itb,ite | a range of values. |
| [in] | F | a function that may transform input values to output values |
| [in] | remove_duplicates | when 'true' remove duplicate values, otherwise, output_values.size() is equal to the size of the range itb,ite. |
Definition at line 109 of file QuickHullKernels.h.
Referenced by DGtal::ConvexHullIntegralKernel< dim, TCoordinateInteger, TInternalInteger >::makeInput(), DGtal::ConvexHullRationalKernel< dim, TCoordinateInteger, TInternalInteger >::makeInput(), DGtal::DelaunayIntegralKernel< dim, TCoordinateInteger, TInternalInteger >::makeInput(), and DGtal::DelaunayRationalKernel< dim, TCoordinateInteger, TInternalInteger >::makeInput().