Loading [MathJax]/extensions/TeX/AMSsymbols.js
DGtal 2.0.0
DGtal::concepts::CIncrementalPrimitiveComputer< T > Struct Template Reference

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

#include <DGtal/geometry/surfaces/CIncrementalPrimitiveComputer.h>

Inheritance diagram for DGtal::concepts::CIncrementalPrimitiveComputer< T >:
[legend]

Public Types

typedef T::Point Point
Public Types inherited from DGtal::concepts::CPrimitiveComputer< T >
typedef T::Primitive Primitive
typedef T::Space Space

Public Member Functions

 BOOST_CONCEPT_USAGE (CIncrementalPrimitiveComputer)
void checkConstConstraints () const
Public Member Functions inherited from DGtal::concepts::CPrimitiveComputer< T >
 BOOST_CONCEPT_USAGE (CPrimitiveComputer)
void checkConstConstraints () const

Private Attributes

myX
Point myPoint
bool myBool

Detailed Description

template<typename T>
struct DGtal::concepts::CIncrementalPrimitiveComputer< T >

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.

Description of concept 'CIncrementalPrimitiveComputer'

Refinement of CPrimitiveComputer

Associated types

  • Primitive, the type that defines the primitive.
  • Point: the type of the input points.

Notation

Valid expressions and semantics

Name Expression Type requirements Return type Precondition Semantics Post condition Complexity
insert new point x.extend(p) bool tries to find a primitive that matches the new point p and all formerly given input points, return true on success (state may change), false otherwise (state is unchanged)
check new point x.isExtendable(p) bool tries to find a primitive that matches the new point p and all formerly given input points, return true only if it possible, the state is always unchanged

Invariants

Models

Notes

Template Parameters
Tthe type that should be a model of CIncrementalPrimitiveComputer.

Definition at line 99 of file CIncrementalPrimitiveComputer.h.

Member Typedef Documentation

◆ Point

template<typename T>
typedef T::Point DGtal::concepts::CIncrementalPrimitiveComputer< T >::Point

Definition at line 104 of file CIncrementalPrimitiveComputer.h.

Member Function Documentation

◆ BOOST_CONCEPT_USAGE()

◆ checkConstConstraints()

template<typename T>
void DGtal::concepts::CIncrementalPrimitiveComputer< T >::checkConstConstraints ( ) const
inline

Definition at line 112 of file CIncrementalPrimitiveComputer.h.

113 {
114 ConceptUtils::sameType( myBool, myX.isExtendable( myPoint ) );
115 }

References myBool, myPoint, myX, and DGtal::concepts::ConceptUtils::sameType().

Referenced by BOOST_CONCEPT_USAGE().

Field Documentation

◆ myBool

template<typename T>
bool DGtal::concepts::CIncrementalPrimitiveComputer< T >::myBool
private

Definition at line 120 of file CIncrementalPrimitiveComputer.h.

Referenced by BOOST_CONCEPT_USAGE(), and checkConstConstraints().

◆ myPoint

template<typename T>
Point DGtal::concepts::CIncrementalPrimitiveComputer< T >::myPoint
private

Definition at line 119 of file CIncrementalPrimitiveComputer.h.

Referenced by BOOST_CONCEPT_USAGE(), and checkConstConstraints().

◆ myX

template<typename T>
T DGtal::concepts::CIncrementalPrimitiveComputer< T >::myX
private

Definition at line 118 of file CIncrementalPrimitiveComputer.h.

Referenced by BOOST_CONCEPT_USAGE(), and checkConstConstraints().


The documentation for this struct was generated from the following file: