31#if defined(StabbingLineComputer_RECURSES)
32#error Recursive header files inclusion detected in StabbingLineComputer.h
35#define StabbingLineComputer_RECURSES
37#if !defined StabbingLineComputer_h
39#define StabbingLineComputer_h
44#include "DGtal/base/Common.h"
45#include <boost/static_assert.hpp>
46#include "DGtal/base/CowPtr.h"
47#include "DGtal/base/ConceptUtils.h"
48#include "DGtal/base/ReverseIterator.h"
49#include "DGtal/geometry/curves/SegmentComputerUtils.h"
51#include "DGtal/geometry/tools/Preimage2D.h"
52#include "DGtal/shapes/fromPoints/StraightLineFrom2Points.h"
91 template <
typename TConstIterator>
104 typedef typename Pair::first_type
Point;
108 <
typename Pair::first_type,
typename Pair::second_type >
237 const double& alpha,
const double& beta,
const double& gamma)
const;
391 template <
typename TConstIterator>
400#include "DGtal/geometry/curves/StabbingLineComputer.ih"
407#undef StabbingLineComputer_RECURSES
Aim: Copy on write shared pointer.
Aim: Computes the preimage of the 2D Euclidean shapes crossing a sequence of n straigth segments in O...
Aim: On-line recognition of a digital straight segment (DSS) defined as a sequence of connected grid ...
bool isOppositeEndConcave()
bool operator==(const Self &other) const
StabbingLineComputer(const Self &other)
IteratorCirculatorTraits< ConstIterator >::Value Pair
PreimagePtr getPreimage() const
BOOST_STATIC_ASSERT((concepts::ConceptUtils::SameType< typename Pair::first_type, typename Pair::second_type > ::value))
PreimagePtr myPreimagePtr
void projects(double &x, double &y, const double &alpha, const double &beta, const double &gamma) const
bool isOppositeEndConvex()
Reverse getReverse() const
bool isClockwiseOriented() const
Self & operator=(const Self &other)
ConstIterator end() const
StraightLineFrom2Points< Point > StraightLine
ConstIterator begin() const
TConstIterator ConstIterator
std::string className() const
CowPtr< Preimage > PreimagePtr
Preimage2D< StraightLine > Preimage
StabbingLineComputer< ReverseIterator< ConstIterator > > Reverse
void selfDisplay(std::ostream &out) const
void init(const ConstIterator &anIt)
StabbingLineComputer< ConstIterator > Self
bool operator!=(const Self &other) const
void getParameters(double &alpha, double &beta, double &gamma) const
Aim: Represents a straight line uniquely defined by two 2D points and that is able to return for any ...
DGtal is the top-level namespace which contains all DGtal functions and types.
std::ostream & operator<<(std::ostream &out, const ClosedIntegerHalfPlane< TSpace > &object)