DGtal
1.2.0

Aim: Gathers several functions useful for concept checks. More...
Namespaces  
ConceptUtils  
Data Structures  
struct  CPositiveIrreducibleFraction 
Aim: Defines positive irreducible fractions, i.e. fraction p/q, p and q nonnegative integers, with gcd(p,q)=1. More...  
struct  CBackInsertable 
Aim: Represents types for which a std::back_insert_iterator can be constructed with std::back_inserter. Back Insertion Sequence are refinements of CBackInsertable. They require more services than CBackInsertable, for instance read services or erase services. More...  
struct  CBidirectionalRange 
Aim: Defines the concept describing a bidirectional range. More...  
struct  CBidirectionalRangeFromPoint 
Aim: refined concept of single pass range with a begin() method from a point. More...  
struct  CBidirectionalRangeWithWritableIterator 
Aim: refined concept of bidirectional range which require that a reverse output iterator exists. More...  
struct  CBidirectionalRangeWithWritableIteratorFromPoint 
Aim: refined concept of single pass range with an routputIterator() method from a point. More...  
struct  CConstBidirectionalRange 
Aim: Defines the concept describing a bidirectional const range. More...  
struct  CConstBidirectionalRangeFromPoint 
Aim: refined concept of const bidirectional range with a begin() method from a point. More...  
struct  CConstSinglePassRange 
Aim: Defines the concept describing a const single pass range. More...  
struct  CConstSinglePassRangeFromPoint 
Aim: refined concept of const single pass range with a begin() method from a point. More...  
struct  CLabel 
Aim: Define the concept of DGtal labels. Models of CLabel can be defaultconstructible, assignable and equality comparable. More...  
struct  CPredicate 
Aim: Defines a predicate function, ie. a functor mapping a domain into the set of booleans. More...  
struct  CQuantity 
Aim: defines the concept of quantity in DGtal. More...  
struct  CSinglePassRange 
Aim: Defines the concept describing a range. More...  
struct  CSinglePassRangeFromPoint 
Aim: refined concept of single pass range with a begin() method from a point. More...  
struct  CSinglePassRangeWithWritableIterator 
Aim: refined concept of const single pass range which require that an output iterator exists. More...  
struct  CSinglePassRangeWithWritableIteratorFromPoint 
Aim: refined concept of single pass range with a outputIterator() method from a point. More...  
struct  CStack 
Aim: This concept gathers classes that provide a stack interface. More...  
struct  CSTLAssociativeContainer 
Aim: Defines the concept describing an Associative Container of the STL (https://www.sgi.com/tech/stl/AssociativeContainer.html). More...  
struct  CUnaryFunctor 
Aim: Defines a unary functor, which associates arguments to results. More...  
struct  CUnaryFunctor< X, A &, R & > 
struct  CDiscreteExteriorCalculusVectorSpace 
Aim: Lift linear algebra container concept into the dec package. More...  
struct  CBidirectionalSegmentComputer 
Aim: Defines the concept describing a bidirectional segment computer, ie. a model of concepts::CSegment that can extend itself in the two possible directions. More...  
struct  CDynamicBidirectionalSegmentComputer 
Aim: Defines the concept describing a dynamic and bidirectional segment computer, ie. a model of concepts::CSegment that can extend and retract itself in either direction. More...  
struct  CDynamicSegmentComputer 
Aim: Defines the concept describing a dynamic segment computer, ie. a model of CSegment that can extend and retract itself (in the direction that is relative to the underlying iterator). More...  
struct  CForwardSegmentComputer 
Aim: Defines the concept describing a forward segment computer. Like any model of CIncrementalSegmentComputer, it can control its own extension (in the direction that is relative to the underlying iterator) so that an implicit predicate P remains true. However, contrary to models of CIncrementalSegmentComputer, it garantees that P is also true for any subrange of the whole segment at any time. This extra constraint is necessary to be able to incrementally check whether or not the segment is maximal. More...  
struct  CIncrementalSegmentComputer 
Aim: Defines the concept describing an incremental segment computer, ie. a model of CSegmentFactory that can, in addition, incrementally check whether or not an implicit predicate P is true. In other words, it can control its own extension from a range of one element (in the direction that is relative to the underlying iterator) so that an implicit predicate P remains true. More...  
struct  CSegment 
Aim: Defines the concept describing a segment, ie. a valid and not empty range. More...  
struct  CSegmentFactory 
Aim: Defines the concept describing a segment ie. a valid and not empty subrange, which can construct instances of its own type or of derived type. More...  
struct  CCurveLocalGeometricEstimator 
Aim: This concept describes an object that can process a range so as to return one estimated quantity for each element of the range (or a given subrange). More...  
struct  CGlobalGeometricEstimator 
Aim: This concept describes an object that can process a range so as to return one estimated quantity for the whole range. More...  
struct  CLMSTDSSFilter 
Aim: Defines the concept describing a functor which filters DSSes for LMST calculations. More...  
struct  CLMSTTangentFromDSS 
Aim: Defines the concept describing a functor which calculates a direction of the 2D DSS and an eccentricity [62] of a given point in this DSS. More...  
struct  CSegmentComputerEstimator 
Aim: This concept is a refinement of CCurveLocalGeometricEstimator devoted to the estimation of a geometric quantiy along a segment detected by a segment computer. More...  
struct  C3DParametricCurve 
Aim: More...  
struct  C3DParametricCurveDecorator 
Aim: More...  
struct  CAdditivePrimitiveComputer 
Aim: Defines the concept describing an object that computes some primitive from input points given group by group, while keeping some internal state. At any moment, the object is supposed to store at least one valid primitive for the formerly given input points. A primitive is an informal word that describes some family of objects that share common characteristics. Often, the primitives are geometric, e.g. digital planes. More...  
struct  CIncrementalPrimitiveComputer 
Aim: Defines the concept describing an object that computes some primitive from input points given one at a time, while keeping some internal state. At any moment, the object is supposed to store at least one valid primitive for the formerly given input points. A primitive is an informal word that describes some family of objects that share common characteristics. Often, the primitives are geometric, e.g. digital planes. More...  
struct  CPrimitiveComputer 
Aim: Defines the concept describing an object that computes some primitive from input points, while keeping some internal state. At any moment, the object is supposed to store at least one valid primitive for the formerly given input points. A primitive is an informal word that describes some family of objects that share common characteristics. Often, the primitives are geometric, e.g. digital planes. More...  
struct  CDigitalSurfaceLocalEstimator 
Aim: This concept describes an object that can process a range over some generic digital surface so as to return one estimated quantity for each element of the range (or a given subrange). More...  
struct  CNormalVectorEstimator 
Aim: Represents the concept of estimator of normal vector along digital surfaces. More...  
struct  CSurfelLocalEstimator 
Aim: This concept describes an object that can process a range of surfels (that are supposed to belong to some (abstract) surface) so as to return one estimated quantity for each element of the range (or a given subrange). More...  
struct  CLocalEstimatorFromSurfelFunctor 
Aim: this concept describes functors on digtal surface surfel which can be used to define local estimator using the adapter LocalEstimatorFromSurfelFunctorAdapter. More...  
struct  CPolarPointComparator2D 
Aim: This concept gathers classes that are able to compare the position of two given points \( P, Q \) around a pole \( O \). More precisely, they compare the oriented angles lying between the horizontal line passing by \( O \) and the rays \( [OP) \) and \( [OQ) \) (in a counterclockwise orientation). This is equivalent to compare the angle in radians from 0 (included) to 2 π (excluded). More...  
struct  COrientationFunctor 
Aim: This concept gathers models implementing an orientation test of \( k+1 \) points in a space of dimension \( n \). More...  
struct  COrientationFunctor2 
Aim: This concept is a refinement of COrientationFunctor, useful for simple algebraic curves that can be uniquely defined by only two points. More...  
struct  CDigitalMetricSpace 
Aim: defines the concept of digital metric spaces. More...  
struct  CMetricSpace 
Aim: defines the concept of metric spaces. More...  
struct  CPowerMetric 
Aim: defines the concept of special weighted metrics, so called power metrics. More...  
struct  CPowerSeparableMetric 
Aim: defines the concept of separable metrics. More...  
struct  CSeparableMetric 
Aim: defines the concept of separable metrics. More...  
struct  CGraphVisitor 
Aim: Defines the concept of a visitor onto a graph, that is an object that traverses vertices of the graph according to some order. The user can either use the visitor as is, or even constrain the traversal with a given predicate. More...  
struct  CUndirectedSimpleGraph 
Aim: Represents the concept of local graph: each vertex has neighboring vertices, but we do not necessarily know all the vertices. More...  
struct  CUndirectedSimpleLocalGraph 
Aim: Represents the concept of local graph: each vertex has neighboring vertices, but we do not necessarily know all the vertices. More...  
struct  CVertexMap 
Aim: models of CVertexMap concept implement mapping between graph vertices and values. More...  
struct  CVertexPredicate 
Aim: Defines a predicate on a vertex. More...  
struct  CVertexPredicateArchetype 
Aim: Defines a an archetype for concept CVertexPredicate. More...  
struct  CConstImage 
Aim: Defines the concept describing a readonly image, which is a refinement of CPointFunctor. More...  
struct  CImage 
Aim: Defines the concept describing a read/write image, having an output iterator. More...  
struct  CImageCacheReadPolicy 
Aim: Defines the concept describing a cache read policy. More...  
struct  CImageCacheWritePolicy 
Aim: Defines the concept describing a cache write policy. More...  
struct  CImageFactory 
Aim: Defines the concept describing an image factory. More...  
struct  CTrivialConstImage 
Aim: Defines the concept describing a readonly image, which is a refinement of CPointFunctor. More...  
struct  CTrivialImage 
Aim: Defines the concept describing an image without extra ranges, which is a refinement of CTrivialConstImage. More...  
struct  CDrawableWithBoard2D 
Aim: The concept CDrawableWithBoard2D specifies what are the classes that admit an export with Board2D. More...  
class  Board3DTo2D 
Aim: The concept CDrawableWithBoard3DTo2D specifies what are the classes that admit an export with Board3DTo2D. More...  
struct  CDrawableWithBoard3DTo2D 
class  Display3D 
Aim: The concept CDrawableWithDisplay3D specifies what are the classes that admit an export with Display3D. More...  
struct  CDrawableWithDisplay3D 
struct  CColorMap 
Aim: Defines the concept describing a color map. A color map converts a value within a given range into an RGB triple. More...  
struct  CDrawableWithViewer3D 
Aim: The concept CDrawableWithViewer3D specifies what are the classes that admit an export with Viewer3D. More...  
struct  CBoundedNumber 
Aim: The concept CBoundedNumber specifies what are the bounded numbers. Models of this concept should be listed in NumberTraits class and should have the isBounded property. More...  
struct  CCommutativeRing 
Aim: Defines the mathematical concept equivalent to a unitary commutative ring. More...  
struct  CEuclideanRing 
Aim: Defines the mathematical concept equivalent to a unitary commutative ring with a division operator. More...  
struct  CInteger 
Aim: Concept checking for Integer Numbers. More precisely, this concept is a refinement of both CEuclideanRing and CIntegralNumber. More...  
struct  CIntegralNumber 
Aim: Concept checking for Integral Numbers. Models of this concept should be listed in NumberTraits class and should have the isIntegral property. More...  
struct  CPointEmbedder 
Aim: A point embedder is a mapping from digital points to Euclidean points. It adds inner types to functor. More...  
struct  CPointFunctor 
Aim: Defines a functor on points. More...  
struct  CPointPredicate 
Aim: Defines a predicate on a point. More...  
struct  CSignedNumber 
Aim: Concept checking for Signed Numbers. Models of this concept should be listed in NumberTraits class and should have the isSigned property. More...  
struct  CSpace 
Aim: Defines the concept describing a digital space, ie a cartesian product of integer lines. More...  
struct  CUnsignedNumber 
Aim: Concept checking for Unsigned numbers. Models of this concept should be listed in NumberTraits class and should have the isUnsigned property. More...  
struct  CWithGradientMap 
Aim: Such object provides a gradient map that associates to each argument some real vector. More...  
struct  CDomain 
Aim: This concept represents a digital domain, i.e. a non mutable subset of points of the given digital space. More...  
class  CDomainArchetype 
Aim: The archetype of a class that represents a digital domain, i.e. a non mutable subset of points of the given digital space. More...  
struct  CDigitalSet 
Aim: Represents a set of points within the given domain. This set of points is modifiable by the user. It is thus very close to the STL concept of simple associative container (like set std::set<Point>), except that there is a notion of maximal set of points (the whole domain). More...  
class  CDigitalSetArchetype 
Aim: The archetype of a container class for storing sets of digital points within some given domain. More...  
struct  CBinner 
Aim: Represents an object that places a quantity into a bin, i.e. a functor that associates a natural integer to a continuous value. More...  
struct  CDenseMatrix 
Aim: Represent any dynamic or static sized matrix having dense representation. More...  
struct  CDenseVector 
Aim: Represent any dynamic or static sized matrix having dense representation. More...  
struct  CDynamicMatrix 
Aim: Represent any dynamic sized matrix having sparse or dense representation. More...  
struct  CDynamicVector 
Aim: Represent any dynamic sized column vector having sparse or dense representation. More...  
struct  CLinearAlgebra 
Aim: Check right multiplication between matrix and vector and internal matrix multiplication. Matrix and vector scalar types should be the same. More...  
struct  CLinearAlgebraSolver 
Aim: Describe a linear solver defined over a linear algebra. Problems are of the form: More...  
struct  CMatrix 
Aim: Represent any static or dynamic sized matrix having sparse or dense representation. More...  
struct  CSparseMatrix 
Aim: Represent any dynamic or static sized matrix having sparse representation. More...  
struct  CStaticMatrix 
Aim: Represent any static sized matrix having sparse or dense representation. More...  
struct  CStaticVector 
Aim: Represent any static sized column vector having sparse or dense representation. More...  
struct  CVector 
Aim: Represent any static or dynamic sized column vector having sparse or dense representation. More...  
struct  CVectorSpace 
Aim: Base concept for vector space structure. More...  
struct  CDigitalBoundedShape 
Aim: designs the concept of bounded shapes in DGtal (shape for which upper and lower bounding bounds are available). More...  
struct  CDigitalOrientedShape 
Aim: characterizes models of digital oriented shapes. For example, models should provide an orientation method for points on a SpaceND. Returned value type corresponds to DGtal::Orientation. More...  
struct  CEuclideanBoundedShape 
struct  CEuclideanOrientedShape 
Aim: characterizes models of digital oriented shapes. For example, models should provide an orientation method for real points. Returned value type corresponds to DGtal::Orientation. More...  
struct  CImplicitFunction 
Aim: Describes any function of the form f(x), where x is some real point in the given space, and f(x) is some value. More...  
struct  CImplicitFunctionDiff1 
Aim: Describes a 1differentiable function of the form f(x), where x is some real point in the given space, and f(x) is some value. More...  
struct  CAdjacency 
Aim: The concept CAdjacency defines an elementary adjacency relation between points of a digital space. More...  
struct  CCellEmbedder 
Aim: A cell embedder is a mapping from unsigned cells to Euclidean points. It adds inner types to functor. More...  
struct  CCellFunctor 
Aim: Defines a functor on cells. More...  
struct  CCellularGridSpaceND 
Aim: This concept describes a cellular grid space in nD. In these spaces obtained by cartesian product, cells have a cubic shape that depends on the dimension: 0cells are points, 1cells are unit segments, 2cells are squares, 3cells are cubes, and so on. More...  
struct  CDigitalSurfaceContainer 
Aim: The digital surface container concept describes a minimal set of inner types and methods so as to describe the data of digital surfaces. More...  
struct  CDigitalSurfaceEmbedder 
Aim: A digital surface embedder is a specialized mapping from signed cells to Euclidean points. It adds inner types to functor as well as a method to access the digital surface. More...  
struct  CDigitalSurfaceTracker 
Aim: More...  
struct  CDomainAdjacency 
Aim: Refines the concept CAdjacency by telling that the adjacency is specific to a given domain of the embedding digital space. More...  
struct  CPreCellularGridSpaceND 
Aim: This concept describes an unbounded cellular grid space in nD. In these spaces obtained by cartesian product, cells have a cubic shape that depends on the dimension: 0cells are points, 1cells are unit segments, 2cells are squares, 3cells are cubes, and so on. More...  
struct  CSCellEmbedder 
Aim: A cell embedder is a mapping from signed cells to Euclidean points. It adds inner types to functor. More...  
struct  CSurfelPredicate 
Aim: Defines a predicate on a surfel. More...  
Aim: Gathers several functions useful for concept checks.
concepts
namespace gathers concepts in DGtal and concept utils.
Description of namespace 'ConceptUtils'