31 #if defined(Display3DFactory_RECURSES) 32 #error Recursive header files inclusion detected in Display3DFactory.h 33 #else // defined(Display3DFactory_RECURSES) 35 #define Display3DFactory_RECURSES 37 #if !defined Display3DFactory_h 39 #define Display3DFactory_h 44 #include "DGtal/helpers/StdDefs.h" 45 #include "DGtal/base/Common.h" 47 #include "DGtal/io/DrawWithDisplay3DModifier.h" 48 #include "DGtal/geometry/curves/StandardDSS6Computer.h" 49 #include "DGtal/geometry/curves/Naive3DDSSComputer.h" 50 #include "DGtal/kernel/sets/DigitalSetBySTLSet.h" 51 #include "DGtal/kernel/sets/DigitalSetBySTLVector.h" 52 #include "DGtal/kernel/domains/HyperRectDomain.h" 53 #include "DGtal/topology/KhalimskySpaceND.h" 54 #include "DGtal/topology/Object.h" 55 #include "DGtal/kernel/PointVector.h" 56 #include "DGtal/geometry/curves/GridCurve.h" 57 #include "DGtal/shapes/Mesh.h" 58 #include "DGtal/geometry/tools/SphericalAccumulator.h" 59 #include "DGtal/io/colormaps/GradientColorMap.h" 60 #include "DGtal/io/colormaps/HueShadeColorMap.h" 61 #include "DGtal/io/colormaps/CColorMap.h" 62 #include "DGtal/images/ImageContainerBySTLVector.h" 63 #include "DGtal/images/ImageContainerBySTLMap.h" 64 #include "DGtal/images/ConstImageAdapter.h" 65 #include "DGtal/images/ImageAdapter.h" 66 #include "DGtal/helpers/StdDefs.h" 67 #include "DGtal/topology/CanonicSCellEmbedder.h" 68 #include "DGtal/dec/VectorField.h" 69 #include "DGtal/dec/KForm.h" 70 #include "DGtal/dec/DiscreteExteriorCalculus.h" 72 #include "DGtal/kernel/sets/DigitalSetByAssociativeContainer.h" 85 template <
typename TSpace=Z3i::Space,
typename TKSpace=Z3i::KSpace>
102 template <Dimension dimEmbedded, Dimension dimAmbient,
typename TLinearAlgebraBackend,
typename TInteger>
109 template <
typename Calculus, DGtal::Order order, DGtal::Duality duality>
114 template <
typename Calculus, DGtal::Order order, DGtal::Duality duality,
typename ColorMap>
121 template <
typename Calculus, DGtal::Duality duality>
139 template <
typename TVector>
142 const double radius=1.0);
151 template <
typename TPo
int>
159 template <
typename TPo
int>
171 template <
typename TIterator,
typename TInteger,
int connectivity>
179 template <
typename TIterator,
typename TInteger,
int connectivity>
187 template <
typename TIterator,
typename TInteger,
int connectivity>
195 template <
typename TIterator,
typename TInteger,
int connectivity>
207 template <
typename TIterator,
typename TInteger,
int connectivity>
215 template <
typename TIterator,
typename TInteger,
int connectivity>
223 template <
typename TIterator,
typename TInteger,
int connectivity>
231 template <
typename TIterator,
typename TInteger,
int connectivity>
243 template<
typename Domain,
typename Container>
251 template<
typename Domain,
typename Container>
259 template<
typename Domain,
typename Container>
267 template<
typename Domain,
typename Container>
275 template<
typename Domain,
typename Container>
287 template<
typename Domain,
typename Compare>
295 template<
typename Domain,
typename Compare>
303 template<
typename Domain,
typename Compare>
311 template<
typename Domain,
typename Compare>
319 template<
typename Domain,
typename Compare>
331 template<
typename Domain>
339 template<
typename Domain>
347 template<
typename Domain>
355 template<
typename Domain>
363 template<
typename Domain>
375 template <
typename SpaceDom>
383 template <
typename SpaceDom>
391 template <
typename SpaceDom>
399 template <
typename SpaceDom>
407 template <
typename SpaceDom>
416 template <
typename SpaceDom>
455 const bool enableDoubleFace =
false);
488 const bool enableDoubleFace =
false);
498 template <
typename TDigitalTopology,
typename TDigitalSet>
506 template <
typename TDigitalTopology,
typename TDigitalSet>
514 template <
typename TDigitalTopology,
typename TDigitalSet>
526 template<Dimension dim,
typename TComponent,
typename TContainer>
534 template<Dimension dim,
typename TComponent,
typename TContainer>
542 template<Dimension dim,
typename TComponent,
typename TContainer>
550 template<Dimension dim,
typename TComponent,
typename TContainer>
558 template<Dimension dim,
typename TComponent,
typename TContainer>
566 template<Dimension dim,
typename TComponent1,
typename TComponent2,
typename TContainer1,
typename TContainer2>
585 template <
typename TIterator,
typename TSCell>
596 template <
typename TIterator>
602 template <
typename TIterator>
619 template <
typename TIterator>
622 std::pair<typename TKSpace::Point, typename TKSpace::Vector > > & anObject );
631 template <
typename TIterator>
642 template <
typename TIterator>
653 template <
typename TIterator>
656 std::pair<typename KSpace::Point, typename KSpace::Point > > & anObject );
728 #include "DGtal/io/Display3DFactory.ih" 733 #endif // !defined Display3DFactory_h 735 #undef Display3DFactory_RECURSES 736 #endif // else defined(Display3DFactory_RECURSES) Aim: An object (or digital object) represents a set in some digital space associated with a digital t...
Aim: DiscreteExteriorCalculus represents a calculus in the dec package. This is the main structure in...
Display3D< Space, KSpace > Display
Display::RealPoint RealPoint
Aim: Dynamic recognition of a 3d-digital straight segment (DSS)
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...
void display(ostream &out, const AContainer &C)
Factory for GPL Display3D:
Aim: Implements basic operations that will be used in Point and Vector classes.
static void draw(Display3D< Space, KSpace > &display, const DGtal::DiscreteExteriorCalculus< dimEmbedded, dimAmbient, TLinearAlgebraBackend, TInteger > &calculus)
PointVector< 3, double > RealPoint
static void drawAsPavingWired(Display &display, const DGtal::PointVector< dim, TComponent, TContainer > &anObject)
drawAsPavingWired
Modifier class in a Display3D stream. Useful to choose your own style for a given class...
static void drawOrientedSurfelWithNormal(Display &display, const typename KSpace::SCell &aSignedCell, const RealVector &aNormal, const bool enableDoubleFace=false)
static void drawAsBoundingBox(Display &display, const DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity > &anObject)
drawAsBoundingBox
Aim: transforms a signed cell into an arrow, ie. a pair point-vector.
static void drawAsBalls(Display &display, const DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity > &anObject)
drawAsBalls
Aim: transforms a scell into a point.
static void drawAsPavingBalls(Display &display, const DGtal::HyperRectDomain< SpaceDom > &anObject)
drawAsPavingBalls
KhalimskyCell< dim, Integer > Cell
static void drawUnorientedSurfelWithNormal(Display &display, const typename KSpace::Cell &anObject, const RealVector &aNormal, const bool enableDoubleFace=false)
SignedKhalimskyCell< dim, Integer > SCell
static void drawAsPavingTransparent(Display &display, const DGtal::DigitalSetByAssociativeContainer< Domain, Container > &anObject)
drawAsPavingTransparent
static void drawAsGrid(Display &display, const DGtal::DigitalSetByAssociativeContainer< Domain, Container > &anObject)
drawAsGrid
Display3DFactory< Space, KSpace > Self
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...
Aim: implements an accumulator (as histograms for 1D scalars) adapted to spherical point samples...
static void drawWithAdjacencies(Display &display, const DGtal::Object< TDigitalTopology, TDigitalSet > &anObject)
drawWithAdjacencies
static void drawAsPaving(Display &display, const DGtal::DigitalSetByAssociativeContainer< Domain, Container > &anObject)
drawAsPaving
Display::RealVector RealVector
Aim: Realizes the concept CDigitalSet by using the STL container std::vector.
Aim: Dynamic recognition of a 3d-digital straight segment (DSS)
Structure representing an RGB triple with alpha component.
static void drawAsFaces(Display &display, const DGtal::Mesh< TPoint > &aMesh)
drawAsFaces
BOOST_STATIC_CONSTANT(unsigned int, POINT_AS_BALL_RADIUS=5)
The ball radius (the actual radius being 1/POINT_AS_BALL_RADIUS )when used to display a 3D point...
Aim: describes, in a cellular space of dimension n, a closed or open sequence of signed d-cells (or d...
Class for adding a Clipping plane through the Viewer3D stream. Realizes the concept CDrawableWithView...
static void drawWithColorMap(Display3D< Space, KSpace > &display, const DGtal::KForm< Calculus, order, duality > &kform, const ColorMap &colormap)
Aim: transforms a signed cell c into a point corresponding to the signed cell of greater dimension th...
Aim: VectorField represents a discrete vector field in the dec package. Vector field values are attac...
Aim: A container class for storing sets of digital points within some given domain.
Aim: This semi abstract class defines the stream mechanism to display 3d primitive (like BallVector...
Modifier class in a Display3D stream. Useful to choose your own mode for a given class. Realizes the concept CDrawableWithDisplay3D.
static DGtal::DrawableWithDisplay3D * defaultStyle(std::string str, const DGtal::StandardDSS6Computer< TIterator, TInteger, connectivity > &anObject)
Aim: transforms a signed cell c into a pair of points corresponding to the signed cells of greater di...