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"
99 template <Dimension dim,
typename TInteger>
104 template <Dimension dim,
typename TInteger>
110 template <Dimension dimEmbedded, Dimension dimAmbient,
typename TLinearAlgebraBackend,
typename TInteger>
117 template <
typename TCalculus, DGtal::Order order, DGtal::Duality duality>
122 template <
typename TCalculus, DGtal::Order order, DGtal::Duality duality,
typename TColorMap>
129 template <
typename TCalculus, DGtal::Duality duality>
140 template <
typename TCoordinate,
typename TInteger,
unsigned short adjacency>
144 template <
typename TCoordinate,
typename TInteger,
unsigned short adjacency>
148 template <
typename TCoordinate,
typename TInteger,
unsigned short adjacency>
154 template <
typename TIterator,
typename TInteger,
int connectivity>
158 template <
typename TIterator,
typename TInteger,
int connectivity>
162 template <
typename TIterator,
typename TInteger,
int connectivity>
168 template <
typename TInputPo
int,
typename TConstIterator>
172 template <
typename TInputPo
int,
typename TConstIterator>
176 template <
typename TInputPo
int,
typename TConstIterator>
183 template <
typename TPo
int>
189 template <
typename Po
int>
192 template <
typename Po
int>
195 template <
typename Po
int>
198 template <
typename Po
int>
201 template <
typename TPo
int>
207 template<
typename Domain,
typename Compare>
213 template<
typename Domain,
typename Container>
219 template<
typename Domain>
225 template <
typename TIterator,
typename TInteger,
int connectivity>
228 template <
typename TIterator,
typename TInteger,
int connectivity>
234 template <
typename TInteger>
237 template <
typename TInteger>
240 template <
typename TInteger>
246 template <
typename TConstIterator>
251 template <
typename TConstIterator>
257 template <
typename TIterator,
typename TInteger>
263 template <
typename TKSpace>
266 template <
typename TKSpace>
271 template <
typename TIterator,
typename TSCell>
277 template <
typename TIterator,
typename TKSpace>
283 template <
typename TIterator,
typename TKSpace>
290 template <
typename TIterator,
typename TKSpace>
293 std::pair<typename TKSpace::Point, typename TKSpace::Vector > > &
object );
297 template <
typename TIterator,
typename TKSpace>
304 template <
typename TIterator,
typename TKSpace>
311 template <
typename TIterator,
typename TKSpace>
314 std::pair<typename TKSpace::Point, typename TKSpace::Point> > &
object );
318 template<
typename TSpace>
321 template<
typename TSpace>
324 template<
typename TSpace>
330 template <
typename C,
typename Domain,
typename Value,
typename HashKey>
339 template <
typename C,
typename Domain,
typename Value,
typename HashKey>
348 template <
typename Colormap,
typename Image>
357 template < Dimension dim,
typename TInteger >
362 template < Dimension dim,
typename TInteger >
367 template <
typename TDigitalTopology,
typename TDigitalSet>
370 template <
typename TDigitalTopology,
typename TDigitalSet>
376 template <
typename TKSpace,
typename TCellContainer >
383 template<Dimension dim,
typename TComponent,
typename TContainer>
386 template<Dimension dim,
typename TComponent,
typename TContainer>
389 template<Dimension dim,
typename TComponent,
typename TContainer>
393 template<Dimension dim,
typename TComponent1,
typename TComponent2,
typename TContainer1,
typename TContainer2>
401 template <
typename Shape>
407 template < Dimension dim,
typename TInteger >
412 template < Dimension dim,
typename TInteger >
417 template <
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: 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.
TImageContainer::Value Value
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...
PointVector< 3, double > RealPoint