33#if defined(COBAGenericNaivePlaneComputer_RECURSES)
34#error Recursive header files inclusion detected in COBAGenericNaivePlaneComputer.h
37#define COBAGenericNaivePlaneComputer_RECURSES
39#if !defined COBAGenericNaivePlaneComputer_h
41#define COBAGenericNaivePlaneComputer_h
47#include "DGtal/base/Common.h"
48#include "DGtal/kernel/CInteger.h"
49#include "DGtal/kernel/CSpace.h"
50#include "DGtal/kernel/SpaceND.h"
51#include "DGtal/kernel/PointVector.h"
52#include "DGtal/arithmetic/IntegerComputer.h"
53#include "DGtal/geometry/surfaces/COBANaivePlaneComputer.h"
119 template <
typename TSpace,
120 typename TInternalInteger >
133 typedef typename PointSet::size_type
Size;
328 template <
typename TInputIterator>
329 bool extend( TInputIterator it, TInputIterator itE );
345 template <
typename TInputIterator>
372 template <
typename Vector3D>
381 template <
typename Vector3D>
444 template <
typename TSpace,
typename TInternalInteger>
453#include "DGtal/geometry/surfaces/COBAGenericNaivePlaneComputer.ih"
460#undef COBAGenericNaivePlaneComputer_RECURSES
Aim: A class that recognizes pieces of digital planes of given axis width. When the width is 1,...
PointSet::const_pointer const_pointer
PointSet::difference_type difference_type
ConstIterator end() const
bool extendAsIs(const Point &p)
BOOST_CONCEPT_ASSERT((concepts::CSpace< TSpace >))
TInternalInteger InternalInteger
void getUnitNormal(Vector3D &normal) const
PointSet::iterator Iterator
IntegerComputer< InternalInteger > MyIntegerComputer
BOOST_STATIC_ASSERT((TSpace::dimension==3))
std::vector< Dimension > _axesToErase
std::set< Point > PointSet
void selfDisplay(std::ostream &out) const
~COBAGenericNaivePlaneComputer()
COBAGenericNaivePlaneComputer()
const Point & maximalPoint() const
Primitive primitive() const
std::vector< Dimension >::const_iterator AxisConstIterator
void getNormal(Vector3D &normal) const
PointSet::size_type size_type
COBAComputer::Primitive Primitive
bool extend(const Point &p)
PointSet::const_iterator const_iterator
void getBounds(double &min, double &max) const
std::vector< Dimension >::iterator AxisIterator
COBAGenericNaivePlaneComputer & operator=(const COBAGenericNaivePlaneComputer &other)
BOOST_CONCEPT_ASSERT((concepts::CInteger< TInternalInteger >))
bool operator()(const Point &p) const
bool isExtendable(TInputIterator it, TInputIterator itE) const
bool isExtendable(const Point &p) const
void init(InternalInteger diameter, InternalInteger widthNumerator=NumberTraits< InternalInteger >::ONE, InternalInteger widthDenominator=NumberTraits< InternalInteger >::ONE)
std::vector< Dimension > myAxes
COBAGenericNaivePlaneComputer(const COBAGenericNaivePlaneComputer &other)
PointSet::value_type value_type
MyIntegerComputer & ic() const
ConstIterator begin() const
COBANaivePlaneComputer< Space, InternalInteger > COBAComputer
const Point & minimalPoint() const
PointSet::const_reference const_reference
COBAComputer myComputers[3]
bool extend(TInputIterator it, TInputIterator itE)
PointSet::const_iterator ConstIterator
Aim: This class gathers several types and methods to make computation with integers.
Aim: A parallel strip in the space is the intersection of two parallel half-planes such that each hal...
DGtal is the top-level namespace which contains all DGtal functions and types.
std::ostream & operator<<(std::ostream &out, const ClosedIntegerHalfPlane< TSpace > &object)
DGtal::uint32_t Dimension
Aim: The traits class for all models of Cinteger.
Aim: Concept checking for Integer Numbers. More precisely, this concept is a refinement of both CEucl...
Aim: Defines the concept describing a digital space, ie a cartesian product of integer lines.