DGtal  1.3.beta
DGtal::concepts Namespace Reference

Aim: Gathers several functions useful for concept checks. More...

ConceptUtils

Data Structures

class  Board3DTo2D
Aim: The concept CDrawableWithBoard3DTo2D specifies what are the classes that admit an export with Board3DTo2D. More...

struct  C3DParametricCurve
Aim: More...

struct  C3DParametricCurveDecorator
Aim: More...

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...

Aim: The concept CAdjacency defines an elementary adjacency relation between points of a digital space. 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  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  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  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  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  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  CCommutativeRing
Aim: Defines the mathematical concept equivalent to a unitary commutative ring. 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  CConstImage
Aim: Defines the concept describing a read-only image, which is a refinement of CPointFunctor. 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  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  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  CDigitalBoundedShape
Aim: designs the concept of bounded shapes in DGtal (shape for which upper and lower bounding bounds are available). More...

struct  CDigitalMetricSpace
Aim: defines the concept of digital metric spaces. 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  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  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  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  CDigitalSurfaceTracker
Aim: More...

struct  CDiscreteExteriorCalculusVectorSpace
Aim: Lift linear algebra container concept into the dec package. More...

struct  CDomain
Aim: This concept represents a digital domain, i.e. a non mutable subset of points of the given digital space. More...

Aim: Refines the concept CAdjacency by telling that the adjacency is specific to a given domain of the embedding 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  CDrawableWithBoard2D
Aim: The concept CDrawableWithBoard2D specifies what are the classes that admit an export with Board2D. More...

struct  CDrawableWithBoard3DTo2D

struct  CDrawableWithDisplay3D

struct  CDrawableWithViewer3D
Aim: The concept CDrawableWithViewer3D specifies what are the classes that admit an export with Viewer3D. 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  CDynamicMatrix
Aim: Represent any dynamic sized matrix having sparse or dense representation. 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  CDynamicVector
Aim: Represent any dynamic sized column vector having sparse or dense representation. 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  CEuclideanRing
Aim: Defines the mathematical concept equivalent to a unitary commutative ring with a division operator. 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  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  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  CImage
Aim: Defines the concept describing a read/write image, having an output iterator. More...

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  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  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  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  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  CLabel
Aim: Define the concept of DGtal labels. Models of CLabel can be default-constructible, assignable and equality comparable. 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  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 [64] of a given point in this DSS. 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  CMatrix
Aim: Represent any static or dynamic sized matrix having sparse or dense representation. More...

struct  CMetricSpace
Aim: defines the concept of metric spaces. More...

struct  CNormalVectorEstimator
Aim: Represents the concept of estimator of normal vector along digital surfaces. 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  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  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  CPositiveIrreducibleFraction
Aim: Defines positive irreducible fractions, i.e. fraction p/q, p and q non-negative integers, with gcd(p,q)=1. 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  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  CPredicate
Aim: Defines a predicate function, ie. a functor mapping a domain into the set of booleans. 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  CQuantity
Aim: defines the concept of quantity in DGtal. More...

struct  CSCellEmbedder
Aim: A cell embedder is a mapping from signed cells to Euclidean points. It adds inner types to functor. More...

struct  CSegment
Aim: Defines the concept describing a segment, ie. a valid and not empty range. 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  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  CSeparableMetric
Aim: defines the concept of separable metrics. 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  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  CSpace
Aim: Defines the concept describing a digital space, ie a cartesian product of integer lines. More...

struct  CSparseMatrix
Aim: Represent any dynamic or static sized matrix having sparse representation. More...

struct  CStack
Aim: This concept gathers classes that provide a stack interface. 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  CSTLAssociativeContainer
Aim: Defines the concept describing an Associative Container of the STL (https://www.sgi.com/tech/stl/AssociativeContainer.html). 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  CSurfelPredicate
Aim: Defines a predicate on a surfel. 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  CUnaryFunctor
Aim: Defines a unary functor, which associates arguments to results. More...

struct  CUnaryFunctor< X, A &, R & >

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  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  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  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...

concepts namespace gathers concepts in DGtal and concept utils.