31 #if defined(Viewer3DFactory_RECURSES)
32 #error Recursive header files inclusion detected in Viewer3DFactory.h
33 #else // defined(Viewer3DFactory_RECURSES)
35 #define Viewer3DFactory_RECURSES
37 #if !defined Viewer3DFactory_h
39 #define Viewer3DFactory_h
44 #include "DGtal/helpers/StdDefs.h"
45 #include "DGtal/base/Common.h"
47 #include "DGtal/io/Display3DFactory.h"
48 #include "DGtal/io/viewers/DrawWithViewer3DModifier.h"
49 #include "DGtal/geometry/curves/StandardDSS6Computer.h"
50 #include "DGtal/geometry/curves/Naive3DDSSComputer.h"
51 #include "DGtal/kernel/sets/DigitalSetBySTLSet.h"
52 #include "DGtal/kernel/sets/DigitalSetBySTLVector.h"
53 #include "DGtal/kernel/sets/DigitalSetByAssociativeContainer.h"
54 #include "DGtal/kernel/domains/HyperRectDomain.h"
55 #include "DGtal/topology/KhalimskySpaceND.h"
56 #include "DGtal/topology/Object.h"
57 #include "DGtal/kernel/PointVector.h"
58 #include "DGtal/geometry/curves/GridCurve.h"
59 #include "DGtal/shapes/Mesh.h"
60 #include "DGtal/geometry/tools/SphericalAccumulator.h"
61 #include "DGtal/io/colormaps/HueShadeColorMap.h"
62 #include "DGtal/io/colormaps/CColorMap.h"
63 #include "DGtal/images/ImageContainerBySTLVector.h"
64 #include "DGtal/images/ImageContainerBySTLMap.h"
65 #include "DGtal/images/ConstImageAdapter.h"
66 #include "DGtal/images/ImageAdapter.h"
67 #include "DGtal/helpers/StdDefs.h"
78 template <
typename TSpace = Z3i::Space,
typename TKSpace = Z3i::KSpace>
133 template <
typename TVector>
136 const double radius=1.0);
145 template <
typename TPo
int>
153 template <
typename TPo
int>
166 template <
typename TIterator,
typename TInteger,
int connectivity>
174 template <
typename TIterator,
typename TInteger,
int connectivity>
182 template <
typename TIterator,
typename TInteger,
int connectivity>
190 template <
typename TIterator,
typename TInteger,
int connectivity>
202 template <
typename TIterator,
typename TInteger,
int connectivity>
210 template <
typename TIterator,
typename TInteger,
int connectivity>
218 template <
typename TIterator,
typename TInteger,
int connectivity>
226 template <
typename TIterator,
typename TInteger,
int connectivity>
238 template<
typename Domain,
typename Compare>
246 template<
typename Domain,
typename Compare>
254 template<
typename Domain,
typename Compare>
262 template<
typename Domain,
typename Compare>
270 template<
typename Domain,
typename Compare>
281 template<
typename Domain,
typename Container>
289 template<
typename Domain,
typename Container>
297 template<
typename Domain,
typename Container>
305 template<
typename Domain,
typename Container>
313 template<
typename Domain,
typename Container>
325 template<
typename Domain>
333 template<
typename Domain>
341 template<
typename Domain>
349 template<
typename Domain>
357 template<
typename Domain>
369 template <
typename SpaceDom>
377 template <
typename SpaceDom>
385 template <
typename SpaceDom>
393 template <
typename SpaceDom>
401 template <
typename SpaceDom>
409 template <
typename SpaceDom>
421 static DGtal::DrawableWithViewer3D *
defaultStyle( std::string str,
const typename KSpace::Cell & aCell );
439 template <
typename TDigitalTopology,
typename TDigitalSet>
447 template <
typename TDigitalTopology,
typename TDigitalSet>
455 template <
typename TDigitalTopology,
typename TDigitalSet>
467 template<Dimension dim,
typename TComponent>
475 template<Dimension dim,
typename TComponent>
478 template<Dimension dim,
typename TComponent>
491 template<Dimension dim,
typename TComponent>
499 template<Dimension dim,
typename TComponent>
508 template<Dimension dim,
typename TComponent>
520 static DGtal::DrawableWithViewer3D *
defaultStyle( std::string str,
const typename KSpace::SCell & aSCell );
545 template <
typename TIterator,
typename TSCell>
556 template <
typename TIterator>
567 template <
typename TIterator>
578 template <
typename TIterator>
589 template <
typename TIterator>
600 template <
typename TIterator>
611 template <
typename TIterator>
623 template <
typename TValue>
633 template <
typename TValue>
643 template <
typename TImageContainer,
typename TFunctorD,
typename TNewValue,
typename TFunctorValue>
653 template <
typename TImageContainer,
typename TFunctorD,
typename TNewValue,
typename TFunctorValue,
typename TFunctorValueVm1>
655 TNewValue, TFunctorValue, TFunctorValueVm1> & anImage );
665 template <
typename TValue>
676 template <
typename TValue>
686 template <
typename TImageContainer,
typename TFunctorD,
typename TNewValue,
typename TFunctorValue>
688 TNewValue, TFunctorValue> & anImage );
697 template <
typename TImageContainer,
typename TFunctorD,
typename TNewValue,
typename TFunctorValue,
typename TFunctorValueVm1>
699 TNewValue, TFunctorValue, TFunctorValueVm1> & anImage );
710 template <
typename TImageType2D,
typename TFunctor>
722 template <
typename TImageType3D,
typename TFunctor>
766 template<
typename TImageType,
typename TFunctor>
777 template<
typename TImageType,
typename TFunctor>
828 template<
typename TImageType,
typename TFunctor>
868 #include "DGtal/io/viewers/Viewer3DFactory.ih"
874 #endif // !defined Viewer3DFactory_h
876 #undef Viewer3DFactory_RECURSES
877 #endif // else defined(Viewer3DFactory_RECURSES)
Aim: An object (or digital object) represents a set in some digital space associated with a digital t...
CameraUpVector class to set camera up-vector.
static void drawWithAdjacencies(Viewer3D< Space, KSpace > &viewer, const DGtal::Object< TDigitalTopology, TDigitalSet > &anObject)
static void drawAsPavingWired(Viewer3D< Space, KSpace > &viewer, const DGtal::PointVector< dim, TComponent > &aPoint)
CameraZNearFar class to set near and far distance.
static DGtal::DrawableWithViewer3D * defaultStyle(std::string str, const DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity > &arithm)
static void drawAsBoundingBox(Viewer3D< Space, KSpace > &viewer, const DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity > &arithm)
Aim: Dynamic recognition of a 3d-digital straight segment (DSS)
static void draw(Viewer3D< Space, KSpace > &board, const DGtal::CameraPosition &aThing)
static void drawAsPaving(Viewer3D< Space, KSpace > &viewer, const DGtal::DigitalSetBySTLSet< Domain, Compare > &aSet)
Aim: Parallelepidec region of a digital space, model of a 'CDomain'.
Aim: This class is defined to represent a surface mesh through a set of vertices and faces...
class to modify the position and orientation of an textured 2D image.
CameraDirection class to set camera direction.
Factory for GPL Display3D:
Aim: Implements basic operations that will be used in Point and Vector classes.
Modifier class in a Display3D stream. Useful to choose your own style for a given class...
Aim: transforms a signed cell into an arrow, ie. a pair point-vector.
Factory for GPL Viewer3D:
Aim: transforms a scell into a point.
Aim: implements an image adapter with a given domain (i.e. a subdomain) and 3 functors : g for domain...
static void drawAsPavingTransparent(Viewer3D< Space, KSpace > &viewer, const DGtal::DigitalSetBySTLSet< Domain, Compare > &aSet)
TKSpace KSpace
KSpace type.
CameraPosition class to set camera position.
Aim: A trivial embedder for signed cell, which corresponds to the canonic injection of cell centroids...
class to insert a custom 3D textured image by using a conversion functor and allows to change the def...
class to modify the position and orientation of an textured 2D image.
DGtal is the top-level namespace which contains all DGtal functions and types.
Aim: A wrapper class around a STL associative container for storing sets of digital points within som...
Aim: transforms a signed cell c into a point corresponding to the signed cell of greater dimension th...
Aim: model of CConstBidirectionalRange that adapts any range of elements bounded by two iterators [it...
static void drawAsFaces(Viewer3D< Space, KSpace > &viewer, const DGtal::Mesh< TPoint > &aMesh)
Aim: implements an accumulator (as histograms for 1D scalars) adapted to spherical point samples...
class to modify the data of an given image and also the possibility to translate it (optional)...
class to modify the 3d embedding of the image (useful to display not only 2D slice images)...
static void drawImage3D(Viewer3D< Space, KSpace > &viewer, const TImageType3D &anImage3D, const TFunctor &aFunctor, typename Viewer3D< Space, KSpace >::TextureMode aTextureMode)
Aim: Realizes the concept CDigitalSet by using the STL container std::vector.
class to modify the position and orientation of an 2D domain.
Aim: Dynamic recognition of a 3d-digital straight segment (DSS)
static void drawAsGrid(Viewer3D< Space, KSpace > &viewer, const DGtal::DigitalSetBySTLSet< Domain, Compare > &aSet)
Aim: implements a const image adapter with a given domain (i.e. a subdomain) and 2 functors : g for d...
class to insert a custom 2D textured image by using a conversion functor and allows to change the def...
TextureMode
the modes of representation of an image
static void drawImage2D(Viewer3D< Space, KSpace > &viewer, const TImageType2D &anImage, const TFunctor &aFunctor, typename Viewer3D< Space, KSpace >::TextureMode aTextureMode)
Aim: describes, in a cellular space of dimension n, a closed or open sequence of signed d-cells (or d...
class to modify the data of an given image and also the possibility to translate it (optional)...
Class for adding a Clipping plane through the Viewer3D stream. Realizes the concept CDrawableWithView...
Aim: transforms a signed cell c into a point corresponding to the signed cell of greater dimension th...
static void drawAsBalls(Viewer3D< Space, KSpace > &viewer, const DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity > &arithm)
Aim: A container class for storing sets of digital points within some given domain.
static void drawAsPavingBalls(Viewer3D< Space, KSpace > &viewer, const DGtal::HyperRectDomain< SpaceDom > &aDomain)
Modifier class in a Display3D stream. Useful to choose your own mode for a given class. Realizes the concept CDrawableWithDisplay3D.
Aim: transforms a signed cell c into a pair of points corresponding to the signed cells of greater di...