31#if defined(Display2DFactory_RECURSES)
32#error Recursive header files inclusion detected in Display2DFactory.h
35#define Display2DFactory_RECURSES
37#if !defined Display2DFactory_h
39#define Display2DFactory_h
44#include "DGtal/base/Common.h"
46#include "DGtal/kernel/sets/DigitalSetByAssociativeContainer.h"
47#include "DGtal/kernel/sets/DigitalSetBySTLSet.h"
48#include "DGtal/kernel/sets/DigitalSetBySTLVector.h"
50#include "DGtal/math/AngleLinearMinimizer.h"
51#include "DGtal/geometry/curves/ArithmeticalDSS.h"
52#include "DGtal/geometry/curves/ArithmeticalDSSComputer.h"
53#include "DGtal/geometry/curves/AlphaThickSegmentComputer.h"
54#include "DGtal/shapes/fromPoints/CircleFrom2Points.h"
55#include "DGtal/shapes/fromPoints/CircleFrom3Points.h"
56#include "DGtal/kernel/sets/DigitalSetBySTLSet.h"
57#include "DGtal/kernel/sets/DigitalSetBySTLVector.h"
58#include "DGtal/geometry/curves/GridCurve.h"
59#include "DGtal/geometry/curves/FP.h"
60#include "DGtal/geometry/curves/FreemanChain.h"
61#include "DGtal/geometry/curves/StabbingLineComputer.h"
62#include "DGtal/geometry/curves/StabbingCircleComputer.h"
63#include "DGtal/geometry/curves/FrechetShortcut.h"
64#include "DGtal/kernel/domains/HyperRectDomain.h"
65#include "DGtal/images/ImageContainerByHashTree.h"
66#include "DGtal/images/ImageContainerBySTLVector.h"
67#include "DGtal/images/ImageAdapter.h"
68#include "DGtal/topology/KhalimskySpaceND.h"
69#include "DGtal/topology/KhalimskyPreSpaceND.h"
70#include "DGtal/topology/Object.h"
71#include "DGtal/topology/CubicalComplex.h"
72#include "DGtal/kernel/PointVector.h"
73#include "DGtal/geometry/tools/Preimage2D.h"
74#include "DGtal/shapes/fromPoints/StraightLineFrom2Points.h"
75#include "DGtal/arithmetic/LatticePolytope2D.h"
76#include "DGtal/topology/CanonicSCellEmbedder.h"
77#include "DGtal/dec/VectorField.h"
78#include "DGtal/dec/KForm.h"
79#include "DGtal/dec/DiscreteExteriorCalculus.h"
81#include "DGtal/helpers/StdDefs.h"
99template <Dimension dim,
typename TInteger>
104template <Dimension dim,
typename TInteger>
110template <Dimension dimEmbedded, Dimension dimAmbient,
typename TLinearAlgebraBackend,
typename TInteger>
117template <
typename TCalculus, DGtal::Order order, DGtal::Duality duality>
122template <
typename TCalculus, DGtal::Order order, DGtal::Duality duality,
typename TColorMap>
129template <
typename TCalculus, DGtal::Duality duality>
140template <
typename TCoordinate,
typename TInteger,
unsigned short adjacency>
144template <
typename TCoordinate,
typename TInteger,
unsigned short adjacency>
148template <
typename TCoordinate,
typename TInteger,
unsigned short adjacency>
154template <
typename TIterator,
typename TInteger,
int connectivity>
158template <
typename TIterator,
typename TInteger,
int connectivity>
162template <
typename TIterator,
typename TInteger,
int connectivity>
168template <
typename TInputPo
int,
typename TConstIterator>
172template <
typename TInputPo
int,
typename TConstIterator>
176template <
typename TInputPo
int,
typename TConstIterator>
183template <
typename TPo
int>
189template <
typename Po
int>
192template <
typename Po
int>
195template <
typename Po
int>
198template <
typename Po
int>
201template <
typename TPo
int>
207template<
typename Domain,
typename Compare>
213template<
typename Domain,
typename Container>
219template<
typename Domain>
225template <
typename TIterator,
typename TInteger,
int connectivity>
228template <
typename TIterator,
typename TInteger,
int connectivity>
234template <
typename TInteger>
237template <
typename TInteger>
240template <
typename TInteger>
246template <
typename TConstIterator>
251template <
typename TConstIterator>
257template <
typename TIterator,
typename TInteger>
263template <
typename TKSpace>
266template <
typename TKSpace>
271template <
typename TIterator,
typename TSCell>
277template <
typename TIterator,
typename TKSpace>
283template <
typename TIterator,
typename TKSpace>
286 typename TKSpace::Space::RealPoint> &
object );
290template <
typename TIterator,
typename TKSpace>
293 std::pair<typename TKSpace::Point, typename TKSpace::Vector > > &
object );
297template <
typename TIterator,
typename TKSpace>
300 typename TKSpace::Point > &
object );
304template <
typename TIterator,
typename TKSpace>
307 typename TKSpace::Point > &
object );
311template <
typename TIterator,
typename TKSpace>
314 std::pair<typename TKSpace::Point, typename TKSpace::Point> > &
object );
318template<
typename TSpace>
321template<
typename TSpace>
324template<
typename TSpace>
330template <
typename C,
typename Domain,
typename Value,
typename HashKey>
339template <
typename C,
typename Domain,
typename Value,
typename HashKey>
348template <
typename Colormap,
typename Image>
357template < Dimension dim,
typename TInteger >
362template < Dimension dim,
typename TInteger >
367template <
typename TDigitalTopology,
typename TDigitalSet>
370template <
typename TDigitalTopology,
typename TDigitalSet>
376template <
typename TKSpace,
typename TCellContainer >
383template<Dimension dim,
typename TComponent,
typename TContainer>
386template<Dimension dim,
typename TComponent,
typename TContainer>
389template<Dimension dim,
typename TComponent,
typename TContainer>
393template<Dimension dim,
typename TComponent1,
typename TComponent2,
typename TContainer1,
typename TContainer2>
401template <
typename Shape>
407template < Dimension dim,
typename TInteger >
412template < Dimension dim,
typename TInteger >
417template <
typename TPo
int>
435 template <
typename TSpace,
typename TSequence>
448#include "DGtal/io/Display2DFactory.ih"
455#undef Display2DFactory_RECURSES
Aim: This class is devoted to the recognition of alpha thick segments as described in ....
Aim: Used to minimize the angle variation between different angles while taking into accounts min and...
Aim: This class is a wrapper around ArithmeticalDSS that is devoted to the dynamic recognition of dig...
Aim: This class represents a naive (resp. standard) digital straight segment (DSS),...
Aim: This class specializes a 'Board' class so as to display DGtal objects more naturally (with <<)....
Aim: Represents a circle that passes through a given point and that is thus uniquely defined by two o...
Aim: Represents a circle uniquely defined by three 2D points and that is able to return for any given...
Aim: model of CConstBidirectionalRange that adapts any range of elements bounded by two iterators [it...
Aim: This class represents an arbitrary cubical complex living in some Khalimsky space....
Aim: A wrapper class around a STL associative container for storing sets of digital points within som...
Aim: A container class for storing sets of digital points within some given domain.
Aim: Realizes the concept CDigitalSet by using the STL container std::vector.
Aim: DiscreteExteriorCalculus represents a calculus in the dec package. This is the main structure in...
Aim: Computes the faithful polygon (FP) of a range of 4/8-connected 2D Points.
Aim: On-line computation Computation of the longest shortcut according to the Fréchet distance for a ...
Aim: describes, in a cellular space of dimension n, a closed or open sequence of signed d-cells (or d...
Aim: Parallelepidec region of a digital space, model of a 'CDomain'.
Aim: implements association bewteen points lying in a digital domain and values.
Aim: Represents a 2D polytope, i.e. a convex polygon, in the two-dimensional digital plane....
Aim: An object (or digital object) represents a set in some digital space associated with a digital t...
Aim: Implements basic operations that will be used in Point and Vector classes.
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 circular arcs (DCA) defined as a sequence of connected grid edg...
Aim: On-line recognition of a digital straight segment (DSS) defined as a sequence of connected grid ...
Aim: Represents a straight line uniquely defined by two 2D points and that is able to return for any ...
Aim: VectorField represents a discrete vector field in the dec package. Vector field values are attac...
Model of CImageContainer implementing the association key<->Value using a hash tree....
Aim: transforms a signed cell into an arrow, ie. a pair point-vector.
Aim: transforms a signed cell c into a pair of points corresponding to the signed cells of greater di...
Aim: transforms a signed cell c into a point corresponding to the signed cell of greater dimension th...
Aim: transforms a signed cell c into a point corresponding to the signed cell of greater dimension th...
Aim: transforms a scell into a point.
Class for EPS, FIG or SVG drawings.
DGtal is the top-level namespace which contains all DGtal functions and types.
Aim: A trivial embedder for signed cell, which corresponds to the canonic injection of cell centroids...
static void drawImage(DGtal::Board2D &board, const Image &i, const typename Image::Value &minV, const typename Image::Value &maxV)
static void draw(DGtal::Board2D &aBoard, const ConstRangeAdapter< TIterator, CanonicSCellEmbedder< TKSpace >, typename TKSpace::Space::RealPoint > &object)
static void drawAsBoundingBox(DGtal::Board2D &aBoard, const DGtal::AlphaThickSegmentComputer< TInputPoint, TConstIterator > &)
static void draw(DGtal::Board2D &aBoard, const DGtal::FrechetShortcut< TIterator, TInteger > &)
static void drawFill(DGtal::Board2D &aBoard, const GridCurve< TKSpace > &object)
static void draw(DGtal::Board2D &board, const DGtal::FP< TIterator, TInteger, connectivity > &)
static void draw(DGtal::Board2D &board, const DGtal::PointVector< dim, TComponent1, TContainer1 > &shift, const DGtal::PointVector< dim, TComponent2, TContainer2 > &basepoint)
static void drawAsPaving(DGtal::Board2D &board, const DGtal::PointVector< dim, TComponent, TContainer > &)
static void draw(DGtal::Board2D &board, const DGtal::DigitalSetBySTLVector< Domain > &)
static void draw(DGtal::Board2D &board, const DGtal::DiscreteExteriorCalculus< dimEmbedded, dimAmbient, TLinearAlgebraBackend, TInteger > &calculus)
static void draw(DGtal::Board2D &aBoard, const DGtal::Preimage2D< Shape > &)
static void drawAsGrid(DGtal::Board2D &board, const DGtal::PointVector< dim, TComponent, TContainer > &)
static void draw(DGtal::Board2D &board, const DGtal::DigitalSetByAssociativeContainer< Domain, Container > &)
static void drawDECSignedKhalimskyCell(DGtal::Board2D &board, const DGtal::SignedKhalimskyPreCell< dim, TInteger > &cell)
static void draw(DGtal::Board2D &board, const DGtal::CustomStyle &)
static void drawSector(Board2D &aBoard, const DGtal::CircleFrom3Points< Point > &, const Point &, const Point &, bool anOrientation=true)
static void draw(DGtal::Board2D &board, const DGtal::KhalimskyCell< dim, TInteger > &)
static void draw(DGtal::Board2D &board, const DGtal::HyperRectDomain< TSpace > &)
static void draw(DGtal::Board2D &aBoard, const DGtal::StabbingLineComputer< TConstIterator > &)
static void draw(DGtal::Board2D &board, const DGtal::SignedKhalimskyCell< dim, TInteger > &)
static void drawAsDigitalPoints(DGtal::Board2D &aBoard, const DGtal::ArithmeticalDSS< TCoordinate, TInteger, adjacency > &)
static void draw(DGtal::Board2D &board, const DGtal::KForm< TCalculus, order, duality > &kform)
static void draw(DGtal::Board2D &board, const DGtal::VectorField< TCalculus, duality > &vector_field)
static void drawImageHashTree(Board2D &board, const DGtal::experimental::ImageContainerByHashTree< Domain, Value, HashKey > &, const Value &, const Value &)
static void draw(DGtal::Board2D &board, const DGtal::PointVector< dim, TComponent, TContainer > &)
static void draw(DGtal::Board2D &aBoard, const ConstRangeAdapter< TIterator, functors::SCellToIncidentPoints< TKSpace >, std::pair< typename TKSpace::Point, typename TKSpace::Point > > &object)
static void draw(Board2D &aBoard, const DGtal::CircleFrom2Points< TPoint > &)
static void draw(DGtal::Board2D &aBoard, const DGtal::AlphaThickSegmentComputer< TInputPoint, TConstIterator > &)
static void drawWithColorMap(DGtal::Board2D &board, const DGtal::KForm< TCalculus, order, duality > &kform, const TColorMap &colormap)
static void draw(DGtal::Board2D &board, const DGtal::ArithmeticalDSS< TCoordinate, TInteger, adjacency > &)
static void draw(DGtal::Board2D &aBoard, const ConstRangeAdapter< TIterator, functors::SCellToInnerPoint< TKSpace >, typename TKSpace::Point > &object)
static void draw(DGtal::Board2D &aBoard, const ConstRangeAdapter< TIterator, functors::SCellToArrow< TKSpace >, std::pair< typename TKSpace::Point, typename TKSpace::Vector > > &object)
static void drawAsPolygon(DGtal::Board2D &aBoard, const DGtal::FP< TIterator, TInteger, connectivity > &)
static void draw(Board2D &aBoard, const DGtal::StraightLineFrom2Points< TPoint > &)
static void draw(DGtal::Board2D &board, const DGtal::DigitalSetBySTLSet< Domain, Compare > &)
static void draw(DGtal::Board2D &board, const DGtal::Object< TDigitalTopology, TDigitalSet > &)
static void draw(DGtal::Board2D &aBoard, const ConstRangeAdapter< TIterator, functors::SCellToOuterPoint< TKSpace >, typename TKSpace::Point > &object)
static void draw(DGtal::Board2D &aBoard, const GridCurve< TKSpace > &object)
static void draw(Board2D &aBoard, const DGtal::CircleFrom3Points< TPoint > &)
static void drawAsBoundingBox(DGtal::Board2D &aBoard, const DGtal::ArithmeticalDSS< TCoordinate, TInteger, adjacency > &)
static void drawAnnulus(Board2D &aBoard, const DGtal::CircleFrom3Points< Point > &, const Point &, const Point &, bool anOrientation=true, const double &w=1.0)
static void draw(Board2D &aBoard, const DGtal::CircleFrom3Points< Point > &, const Point &, const Point &, bool anOrientation=true)
static void drawAsDigitalPoints(DGtal::Board2D &aBoard, const DGtal::ArithmeticalDSSComputer< TIterator, TInteger, connectivity > &)
static void drawImageRecursive(DGtal::Board2D &aBoard, const DGtal::experimental::ImageContainerByHashTree< Domain, Value, HashKey > &i, HashKey key, const double p[2], const double len, LibBoard::Board &board, const C &cmap)
static void drawAsGrid(DGtal::Board2D &aBoard, const DGtal::FreemanChain< TInteger > &)
static void draw(DGtal::Board2D &board, const DGtal::ArithmeticalDSSComputer< TIterator, TInteger, connectivity > &)
static void drawAsDigitalPoints(DGtal::Board2D &aBoard, const DGtal::AlphaThickSegmentComputer< TInputPoint, TConstIterator > &)
static void draw(DGtal::Board2D &board, const DGtal::CubicalComplex< TKSpace, TCellContainer > &)
static void draw(DGtal::Board2D &aBoard, const DGtal::LatticePolytope2D< TSpace, TSequence > &cip)
static void draw(DGtal::Board2D &board, const DGtal::SetMode &)
static void drawDECSignedKhalimskyCell(DGtal::Board2D &board, const DGtal::SignedKhalimskyCell< dim, TInteger > &cell)
static void draw(DGtal::Board2D &aBoard, const ConstRangeAdapter< TIterator, functors::SCellToPoint< TKSpace >, typename TKSpace::Point > &object)
static void drawWithAdjacencies(DGtal::Board2D &aBoard, const DGtal::Object< TDigitalTopology, TDigitalSet > &)
static void draw(DGtal::Board2D &board, const DGtal::KhalimskyPreCell< dim, TInteger > &)
static void drawAsGrid(DGtal::Board2D &aboard, const DGtal::HyperRectDomain< TSpace > &)
static void draw(DGtal::Board2D &board, const DGtal::SignedKhalimskyPreCell< dim, TInteger > &)
static void draw(DGtal::Board2D &board, const DGtal::AngleLinearMinimizer &)
static void drawAsInterGrid(DGtal::Board2D &aBoard, const DGtal::FreemanChain< TInteger > &)
static void drawAsPaving(DGtal::Board2D &aboard, const DGtal::HyperRectDomain< TSpace > &)
static void drawAsBoundingBox(DGtal::Board2D &aBoard, const DGtal::ArithmeticalDSSComputer< TIterator, TInteger, connectivity > &)
static void drawArc(Board2D &aBoard, const DGtal::CircleFrom3Points< Point > &, const Point &, const Point &, bool anOrientation=true)
static void draw(DGtal::Board2D &aBoard, const DGtal::StabbingCircleComputer< TConstIterator > &)
static void draw(DGtal::Board2D &aBoard, const ConstRangeAdapter< TIterator, functors::Identity, TSCell > &object)
static void draw(DGtal::Board2D &aBoard, const DGtal::FreemanChain< TInteger > &)
Represents an (unsigned) cell in a cellular grid space by its Khalimsky coordinates.
Represents an unsigned cell in an unbounded cellular grid space by its Khalimsky coordinates.
Modifier class in a Board2D stream. Useful to choose your own mode for a given class....
Represents a signed cell in a cellular grid space by its Khalimsky coordinates and a boolean value.
Represents a signed cell in an unbounded cellular grid space by its Khalimsky coordinates and a boole...