34 #if defined(GridCurve_RECURSES)
35 #error Recursive header files inclusion detected in GridCurve.h
36 #else // defined(GridCurve_RECURSES)
38 #define GridCurve_RECURSES
40 #if !defined GridCurve_h
53 #include "DGtal/base/Common.h"
54 #include "DGtal/io/readers/PointListReader.h"
55 #include "DGtal/base/ConstAlias.h"
57 #include "DGtal/base/BasicFunctors.h"
58 #include "DGtal/base/Circulator.h"
59 #include "DGtal/base/ConstRangeAdapter.h"
60 #include "DGtal/base/ConstIteratorAdapter.h"
62 #include "DGtal/topology/CCellularGridSpaceND.h"
63 #include "DGtal/topology/KhalimskySpaceND.h"
64 #include "DGtal/topology/SCellsFunctors.h"
65 #include "DGtal/topology/CanonicSCellEmbedder.h"
171 template <
typename TKSpace = KhalimskySpaceND<2> >
273 template <
typename TIterator>
288 template <
typename TIterator>
360 typename Storage::size_type
size()
const;
510 template<
typename TKSpace>
512 operator<< ( std::ostream & out,
const GridCurve<TKSpace> &
object );
520 #include "DGtal/geometry/curves/GridCurve.ih"
525 #endif // !defined GridCurve_h
527 #undef GridCurve_RECURSES
528 #endif // else defined(GridCurve_RECURSES)
ConstIterator begin() const
SCellsRange getSCellsRange() const
Storage::size_type size() const
bool initFromVector(const std::vector< Point > &aVectorOfPoints)
GridCurve & operator=(const GridCurve &other)
Aim: This class encapsulates its parameter class so that to indicate to the user that the object/poin...
Storage::const_iterator ConstIterator
std::string className() const
Aim: model of CConstBidirectionalRange that adapts any range of elements bounded by two iterators [it...
Aim: transforms a signed cell c into a point corresponding to the signed cell of greater dimension th...
bool initFromVectorStream(std::istream &in)
bool initFromSCellsRange(const TIterator &itb, const TIterator &ite)
BOOST_CONCEPT_ASSERT((concepts::CCellularGridSpaceND< KSpace >))
void push_back(const SCell &aSCell)
Aim: This concept describes a cellular grid space in nD. In these spaces obtained by cartesian produc...
Aim: describes, in a cellular space of dimension n, a closed or open sequence of signed d-cells (or d...
ConstRangeAdapter< typename Storage::const_iterator, functors::SCellToInnerPoint< KSpace >, Point > InnerPointsRange
Aim: Define a simple default functor that just returns its argument.
ConstReverseIterator rbegin() const
Represents a signed cell in a cellular grid space by its Khalimsky coordinates and a boolean value.
ConstRangeAdapter< typename Storage::const_iterator, functors::SCellToArrow< KSpace >, std::pair< Point, Vector > > ArrowsRange
bool initFromPointsVector(const std::vector< Point > &aVectorOfPoints)
bool isInside(const SCell &aSCell) const
Aim: transforms a scell into a point.
std::ostream & operator<<(std::ostream &out, const ATu0v1< TKSpace, TLinearAlgebra > &object)
void pushBack(const SCell &aSCell)
MidPointsRange getMidPointsRange() const
bool initFromSCellsVector(const std::vector< SCell > &aVectorOfSCells)
SCell PointVectorTo1SCell(const Point &aPoint, const Vector &aVector)
Aim: transforms a signed cell into an arrow, ie. a pair point-vector.
void writeVectorToStream(std::ostream &out)
ConstRangeAdapter< typename Storage::const_iterator, functors::SCellToIncidentPoints< KSpace >, std::pair< Point, Point > > IncidentPointsRange
DGtal is the top-level namespace which contains all DGtal functions and types.
ArrowsRange getArrowsRange() const
InnerPointsRange getInnerPointsRange() const
Storage::const_reverse_iterator const_reverse_iterator
Aim: transforms a signed cell c into a point corresponding to the signed cell of greater dimension th...
bool initFromPointsRange(const TIterator &itb, const TIterator &ite)
ConstRangeAdapter< typename Storage::const_iterator, functors::SCellToCode< KSpace >, char > CodesRange
OuterPointsRange getOuterPointsRange() const
void selfDisplay(std::ostream &out) const
std::vector< SCell > Storage
ConstReverseIterator rend() const
PointVector< dim, double > RealPoint
Storage::const_iterator const_iterator
Storage::const_reverse_iterator ConstReverseIterator
ConstIterator end() const
Aim: transforms a 2d signed cell, basically a linel, into a code (0,1,2 or 3),.
GridCurve::CodesRange getCodesRange() const
ConstRangeAdapter< typename Storage::const_iterator, functors::SCellToPoint< KSpace >, Point > PointsRange
ConstRangeAdapter< typename Storage::const_iterator, functors::Identity, SCell > SCellsRange
PointsRange getPointsRange() const
Aim: transforms a signed cell c into a pair of points corresponding to the signed cells of greater di...
IncidentPointsRange getIncidentPointsRange() const
ConstRangeAdapter< typename Storage::const_iterator, CanonicSCellEmbedder< KSpace >, typename KSpace::Space::RealPoint > MidPointsRange
ConstRangeAdapter< typename Storage::const_iterator, functors::SCellToOuterPoint< KSpace >, Point > OuterPointsRange