DGtal  1.2.0
Namespaces | Data Structures
DGtal::concepts Namespace Reference

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 non-negative 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 default-constructible, 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 L-MST 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 counter-clockwise 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 read-only 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 read-only 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 1-differentiable 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: 0-cells are points, 1-cells are unit segments, 2-cells are squares, 3-cells 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: 0-cells are points, 1-cells are unit segments, 2-cells are squares, 3-cells 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...
 

Detailed Description

Aim: Gathers several functions useful for concept checks.

concepts namespace gathers concepts in DGtal and concept utils.

Description of namespace 'ConceptUtils'