DGtal 1.4.0
|
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...
#include <DGtal/geometry/curves/CIncrementalSegmentComputer.h>
Public Member Functions | |
BOOST_CONCEPT_USAGE (CIncrementalSegmentComputer) | |
Public Member Functions inherited from DGtal::concepts::CSegmentFactory< T > | |
BOOST_STATIC_ASSERT ((boost::is_same< T, Self >::value)) | |
BOOST_CONCEPT_USAGE (CSegmentFactory) | |
Public Member Functions inherited from DGtal::concepts::CSegment< T > | |
BOOST_CONCEPT_USAGE (CSegment) | |
Private Attributes | |
T | myX |
T::ConstIterator | myI |
bool | myB |
Additional Inherited Members | |
Public Types inherited from DGtal::concepts::CSegmentFactory< T > | |
typedef T::Self | Self |
typedef T::Reverse | Reverse |
Public Types inherited from DGtal::concepts::CSegment< T > | |
typedef T::ConstIterator | ConstIterator |
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.
Description of concept 'CIncrementalSegmentComputer'
the same as CSegmentFactory
Name | Expression | Type requirements | Return type | Precondition | Semantics | Post condition | Complexity |
---|---|---|---|---|---|---|---|
Initialization | x.init(i) | void | set a segment to i | x is valid and P is true | O(1) | ||
Extension test | x.isExtendableFront() | bool | x is valid and P is true | check whether x can be extended to x.end() or not | x is valid and P is true | ||
Extension | x.extendFront() | bool | x is valid and P is true | check whether x can be extended to x.end() or not, extend only if true | x is valid and P is true |
Models of CIncrementalSegmentComputer garantee that for each iterator it from s.begin() to s.end(), the range [s.begin(), it) is a segment such that P is true.
T | the type that should be a model of CIncrementalSegmentComputer. |
Definition at line 112 of file CIncrementalSegmentComputer.h.
|
inline |
Definition at line 118 of file CIncrementalSegmentComputer.h.
References DGtal::concepts::CIncrementalSegmentComputer< T >::myB, DGtal::concepts::CIncrementalSegmentComputer< T >::myI, DGtal::concepts::CIncrementalSegmentComputer< T >::myX, and DGtal::concepts::ConceptUtils::sameType().
|
private |
Definition at line 129 of file CIncrementalSegmentComputer.h.
Referenced by DGtal::concepts::CIncrementalSegmentComputer< T >::BOOST_CONCEPT_USAGE().
|
private |
Definition at line 128 of file CIncrementalSegmentComputer.h.
Referenced by DGtal::concepts::CIncrementalSegmentComputer< T >::BOOST_CONCEPT_USAGE().
|
private |
Definition at line 127 of file CIncrementalSegmentComputer.h.
Referenced by DGtal::concepts::CIncrementalSegmentComputer< T >::BOOST_CONCEPT_USAGE().