33 #if defined(COBAGenericNaivePlaneComputer_RECURSES)
34 #error Recursive header files inclusion detected in COBAGenericNaivePlaneComputer.h
35 #else // defined(COBAGenericNaivePlaneComputer_RECURSES)
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"
458 #endif // !defined COBAGenericNaivePlaneComputer_h
460 #undef COBAGenericNaivePlaneComputer_RECURSES
461 #endif // else defined(COBAGenericNaivePlaneComputer_RECURSES)
std::vector< Dimension >::iterator AxisIterator
bool extendAsIs(const Point &p)
void init(InternalInteger diameter, InternalInteger widthNumerator=NumberTraits< InternalInteger >::ONE, InternalInteger widthDenominator=NumberTraits< InternalInteger >::ONE)
void getBounds(double &min, double &max) const
Aim: Defines the concept describing a digital space, ie a cartesian product of integer lines.
Aim: Concept checking for Integer Numbers. More precisely, this concept is a refinement of both CEucl...
~COBAGenericNaivePlaneComputer()
COBAGenericNaivePlaneComputer(const COBAGenericNaivePlaneComputer &other)
bool extend(TInputIterator it, TInputIterator itE)
Aim: The traits class for all models of Cinteger.
COBAComputer myComputers[3]
const Point & minimalPoint() const
Aim: This class gathers several types and methods to make computation with integers.
void getUnitNormal(Vector3D &normal) const
std::vector< Dimension > _axesToErase
DGtal::uint32_t Dimension
BOOST_STATIC_ASSERT((TSpace::dimension==3))
BOOST_CONCEPT_ASSERT((concepts::CInteger< TInternalInteger >))
Aim: A class that recognizes pieces of digital planes of given axis width. When the width is 1,...
PointSet::iterator Iterator
void getNormal(Vector3D &normal) const
PointSet::difference_type difference_type
ConstIterator begin() const
std::vector< Dimension > myAxes
ConstIterator end() const
bool extend(const Point &p)
IntegerComputer< InternalInteger > MyIntegerComputer
PointSet::const_iterator const_iterator
std::vector< Dimension >::const_iterator AxisConstIterator
DGtal is the top-level namespace which contains all DGtal functions and types.
PointSet::const_iterator ConstIterator
bool isExtendable(const Point &p) const
MyIntegerComputer & ic() const
bool isExtendable(TInputIterator it, TInputIterator itE) const
std::ostream & operator<<(std::ostream &out, const ClosedIntegerHalfPlane< TSpace > &object)
std::set< Point > PointSet
COBAGenericNaivePlaneComputer()
Aim: A parallel strip in the space is the intersection of two parallel half-planes such that each hal...
TInternalInteger InternalInteger
void selfDisplay(std::ostream &out) const
const Point & maximalPoint() const
COBAGenericNaivePlaneComputer & operator=(const COBAGenericNaivePlaneComputer &other)
PointSet::const_pointer const_pointer
COBANaivePlaneComputer< Space, InternalInteger > COBAComputer
BOOST_CONCEPT_ASSERT((concepts::CSpace< TSpace >))
PointSet::value_type value_type
PointSet::size_type size_type
Primitive primitive() const
COBAComputer::Primitive Primitive
PointSet::const_reference const_reference
bool operator()(const Point &p) const