2 *  This program is free software: you can redistribute it and/or modify
 
    3 *  it under the terms of the GNU Lesser General Public License as
 
    4 *  published by the Free Software Foundation, either version 3 of the
 
    5 *  License, or  (at your option) any later version.
 
    7 *  This program is distributed in the hope that it will be useful,
 
    8 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 
    9 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
   10 *  GNU General Public License for more details.
 
   12 *  You should have received a copy of the GNU General Public License
 
   13 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
   18* @file   Board3DTo2DFactory.ih
 
   19* @author Aline Martin <aline.martin@insa-lyon.fr>
 
   20* @date   mardi 2 juillet 2013
 
   24 * Implementation of inline methods defined in Board3DTo2DFactory.h
 
   26 * This file is part of the DGtal library.
 
   30#include "DGtal/helpers/StdDefs.h"
 
   31#include "DGtal/images/ImageHelper.h"
 
   34///////////////////////////////////////////////////////////////////////////////
 
   35// Implementation of inline methods                                          //
 
   38///////////////////////////////////////////////////////////////////////////////
 
   39// Implementation of inline functions and external operators                 //
 
   42template < typename Space, typename KSpace>
 
   44void DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board,
 
   45                                    const DGtal::CameraPosition & cp )
 
   47  board.setCameraPosition(cp.eyex, cp.eyey, cp.eyez);
 
   50template < typename Space, typename KSpace>
 
   52void DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board,
 
   53                                    const DGtal::CameraDirection & cd )
 
   55  board.setCameraDirection(cd.dirx, cd.diry, cd.dirz);
 
   58template < typename Space, typename KSpace>
 
   60void DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const DGtal::CameraUpVector & cuv )
 
   63  board.setCameraUpVector(cuv.upx, cuv.upy, cuv.upz);
 
   66template < typename Space, typename KSpace>
 
   68void DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board,
 
   69                                    const DGtal::CameraZNearFar & cz )
 
   71  board.setNearFar(cz.ZNear, cz.ZFar);
 
   74//----------------------------------------------------------------------------------------------
 
   78// SphericalAccumulator
 
   80   * Display an spherical accumulator in 3D. Bin values are mapped
 
   81   * using a default HueShadeColorMap.
 
   83   * @param board current board
 
   84   * @param accumulator the accumulator to board
 
   85   * @param shift translate vector for board purposes (default:
 
   87   * @param radius scale factor for the unit sphere radius (default:1)
 
   88   * @tparam TVector a vector model
 
   90template <typename Space, typename KSpace>
 
   91template <typename TVector>
 
   94DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const  DGtal::SphericalAccumulator<TVector> & accumulator,
 
   95                  const typename DGtal::SphericalAccumulator<TVector>::RealVector & shift,
 
   98  DGtal::Display3DFactory<Space,KSpace>::draw ( board, accumulator, shift, radius);
 
  101// SphericalAccumulator
 
  104template <typename Space, typename KSpace>
 
  105template <typename TPoint>
 
  108DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsFaces( Board3DTo2D<Space, KSpace> & board,  const DGtal::Mesh<TPoint> & aMesh )
 
  110  DGtal::Display3DFactory<Space,KSpace>::drawAsFaces( board, aMesh);
 
  113template <typename Space, typename KSpace>
 
  114template <typename TPoint>
 
  117DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const  DGtal::Mesh<TPoint> & aMesh )
 
  119  DGtal::Display3DFactory<Space,KSpace>::draw (board, aMesh);
 
  124// StandardDSS6Computer
 
  126   * Default DGtal::Board3DTo2DFactory<Space,KSpace>::drawing style object.
 
  127   * @return the dyn. alloc. default style for this object.
 
  129template <typename Space, typename KSpace>
 
  130template <typename TIterator, typename TInteger, int connectivity>
 
  132DGtal::DrawableWithBoard3DTo2D *
 
  133DGtal::Board3DTo2DFactory<Space,KSpace>::defaultStyle( std::string str, const DGtal::StandardDSS6Computer<TIterator,TInteger,connectivity> & arithm )
 
  135  return DGtal::Display3DFactory<Space,KSpace>::defaultStyle(str, arithm);
 
  138template <typename Space, typename KSpace>
 
  139template <typename TIterator, typename TInteger, int connectivity>
 
  142DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsBalls( Board3DTo2D<Space, KSpace> & board, const DGtal::StandardDSS6Computer<TIterator,TInteger,connectivity> & arithm )
 
  144  DGtal::Display3DFactory<Space,KSpace>::drawAsBalls(board, arithm);
 
  146template <typename Space, typename KSpace>
 
  147template <typename TIterator, typename TInteger, int connectivity>
 
  150DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsBoundingBox( Board3DTo2D<Space, KSpace> & board, const DGtal::StandardDSS6Computer<TIterator,TInteger,connectivity> & arithm )
 
  152  DGtal::Display3DFactory<Space,KSpace>::drawAsBoundingBox(board, arithm);
 
  154template <typename Space, typename KSpace>
 
  155template <typename TIterator, typename TInteger, int connectivity>
 
  158DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const DGtal::StandardDSS6Computer<TIterator,TInteger,connectivity> & arithm )
 
  160  DGtal::Display3DFactory<Space,KSpace>::draw(board , arithm);
 
  163// StandardDSS6Computer
 
  170   * Default DGtal::Board3DTo2DFactory<Space,KSpace>::drawing style object.
 
  171   * @return the dyn. alloc. default style for this object.
 
  173template <typename Space, typename KSpace>
 
  174template <typename TIterator, typename TInteger, int connectivity>
 
  176DGtal::DrawableWithBoard3DTo2D *
 
  177DGtal::Board3DTo2DFactory<Space,KSpace>::defaultStyle( std::string str, const DGtal::Naive3DDSSComputer<TIterator,TInteger,connectivity> & arithm )
 
  179  return DGtal::Display3DFactory<Space,KSpace>::defaultStyle(str, arithm);
 
  182template <typename Space, typename KSpace>
 
  183template <typename TIterator, typename TInteger, int connectivity>
 
  186DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsBalls( Board3DTo2D<Space, KSpace> & board, const DGtal::Naive3DDSSComputer<TIterator,TInteger,connectivity> & arithm )
 
  188  DGtal::Display3DFactory<Space,KSpace>::drawAsBalls(board, arithm);
 
  190template <typename Space, typename KSpace>
 
  191template <typename TIterator, typename TInteger, int connectivity>
 
  194DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsBoundingBox( Board3DTo2D<Space, KSpace> & board, const DGtal::Naive3DDSSComputer<TIterator,TInteger,connectivity> & arithm )
 
  196  DGtal::Display3DFactory<Space,KSpace>::drawAsBoundingBox(board, arithm);
 
  198template <typename Space, typename KSpace>
 
  199template <typename TIterator, typename TInteger, int connectivity>
 
  202DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const DGtal::Naive3DDSSComputer<TIterator,TInteger,connectivity> & arithm )
 
  204  DGtal::Display3DFactory<Space,KSpace>::draw(board , arithm);
 
  212   * Default DGtal::Board3DTo2DFactory<Space,KSpace>::drawing style object.
 
  213   * @return the dyn. alloc. default style for this object.
 
  215template <typename Space, typename KSpace>
 
  216template<typename Domain, typename Compare>
 
  218DGtal::DrawableWithBoard3DTo2D *
 
  219DGtal::Board3DTo2DFactory<Space,KSpace>::defaultStyle( std::string str, const DGtal::DigitalSetBySTLSet<Domain, Compare> & aSet )
 
  221  return DGtal::Display3DFactory<Space,KSpace>::defaultStyle(str, aSet);
 
  224template <typename Space, typename KSpace>
 
  225template<typename Domain, typename Compare>
 
  228DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsPavingTransparent( Board3DTo2D<Space, KSpace> & board, const DGtal::DigitalSetBySTLSet<Domain, Compare> & aSet )
 
  230  DGtal::Display3DFactory<Space,KSpace>::drawAsPavingTransparent(board, aSet);
 
  233template <typename Space, typename KSpace>
 
  234template<typename Domain, typename Compare>
 
  237DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsPaving( Board3DTo2D<Space, KSpace> & board, const DGtal::DigitalSetBySTLSet<Domain, Compare> & aSet )
 
  239  DGtal::Display3DFactory<Space,KSpace>::drawAsPaving( board, aSet);
 
  242template <typename Space, typename KSpace>
 
  243template<typename Domain, typename Compare>
 
  246DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsGrid( Board3DTo2D<Space, KSpace> & board, const DGtal::DigitalSetBySTLSet<Domain, Compare> & aSet )
 
  248  DGtal::Display3DFactory<Space,KSpace>::drawAsGrid(board, aSet);
 
  251template <typename Space, typename KSpace>
 
  252template<typename Domain, typename Compare>
 
  255DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const DGtal::DigitalSetBySTLSet<Domain, Compare> & aSet )
 
  257  DGtal::Display3DFactory<Space,KSpace>::draw( board, aSet);
 
  263// DigitalSetByAssociativeContainer
 
  265 * Default DGtal::Board3DTo2DFactory<Space,KSpace>::drawing style object.
 
  266 * @return the dyn. alloc. default style for this object.
 
  268template <typename Space, typename KSpace>
 
  269template<typename Domain, typename Container>
 
  271DGtal::DrawableWithBoard3DTo2D *
 
  272DGtal::Board3DTo2DFactory<Space,KSpace>::defaultStyle( std::string str, const DGtal::DigitalSetByAssociativeContainer<Domain, Container> & aSet )
 
  274  return DGtal::Display3DFactory<Space,KSpace>::defaultStyle(str, aSet);
 
  277template <typename Space, typename KSpace>
 
  278template<typename Domain, typename Container>
 
  281DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsPavingTransparent( Board3DTo2D<Space, KSpace> & board, const DGtal::DigitalSetByAssociativeContainer<Domain, Container> & aSet )
 
  283  DGtal::Display3DFactory<Space,KSpace>::drawAsPavingTransparent(board, aSet);
 
  286template <typename Space, typename KSpace>
 
  287template<typename Domain, typename Container>
 
  290DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsPaving( Board3DTo2D<Space, KSpace> & board, const DGtal::DigitalSetByAssociativeContainer<Domain, Container> & aSet )
 
  292  DGtal::Display3DFactory<Space,KSpace>::drawAsPaving( board, aSet);
 
  295template <typename Space, typename KSpace>
 
  296template<typename Domain, typename Container>
 
  299DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsGrid( Board3DTo2D<Space, KSpace> & board, const DGtal::DigitalSetByAssociativeContainer<Domain, Container> & aSet )
 
  301  DGtal::Display3DFactory<Space,KSpace>::drawAsGrid(board, aSet);
 
  304template <typename Space, typename KSpace>
 
  305template<typename Domain, typename Container>
 
  308DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const DGtal::DigitalSetByAssociativeContainer<Domain, Container> & aSet )
 
  310  DGtal::Display3DFactory<Space,KSpace>::draw( board, aSet);
 
  313// DigitalSetByAssociativeContainer
 
  317// DigitalSetBySTLVector
 
  319   * Default DGtal::Board3DTo2DFactory<Space,KSpace>::drawing style object.
 
  320   * @return the dyn. alloc. default style for this object.
 
  322template <typename Space, typename KSpace>
 
  323template<typename Domain>
 
  325DGtal::DrawableWithBoard3DTo2D *
 
  326DGtal::Board3DTo2DFactory<Space,KSpace>::defaultStyle( std::string str, const DGtal::DigitalSetBySTLVector<Domain> & aSet )
 
  328  return DGtal::Display3DFactory<Space,KSpace>::defaultStyle(str, aSet);
 
  331template <typename Space, typename KSpace>
 
  332template<typename Domain>
 
  335DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsPavingTransparent( Board3DTo2D<Space, KSpace> & board, const DGtal::DigitalSetBySTLVector<Domain> & aSet )
 
  337  DGtal::Display3DFactory<Space,KSpace>::drawAsPavingTransparent( board, aSet);
 
  340template <typename Space, typename KSpace>
 
  341template<typename Domain>
 
  344DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsPaving( Board3DTo2D<Space, KSpace> & board, const DGtal::DigitalSetBySTLVector<Domain> & aSet )
 
  346  DGtal::Display3DFactory<Space,KSpace>::drawAsPaving( board, aSet);
 
  349template <typename Space, typename KSpace>
 
  350template<typename Domain>
 
  353DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsGrid( Board3DTo2D<Space, KSpace> & board, const DGtal::DigitalSetBySTLVector<Domain> & aSet )
 
  355  DGtal::Display3DFactory<Space,KSpace>::drawAsGrid(board, aSet);
 
  358template <typename Space, typename KSpace>
 
  359template<typename Domain>
 
  362DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const DGtal::DigitalSetBySTLVector<Domain> & aSet )
 
  364  DGtal::Display3DFactory<Space,KSpace>::draw( board, aSet);
 
  367// DigitalSetBySTLVector
 
  372   * Default DGtal::Board3DTo2DFactory<Space,KSpace>::drawing style object.
 
  373   * @return the dyn. alloc. default style for this object.
 
  375template <typename Space, typename KSpace>
 
  376template<typename TSpace>
 
  378DGtal::DrawableWithBoard3DTo2D *
 
  379DGtal::Board3DTo2DFactory<Space,KSpace>::defaultStyle( std::string str, const DGtal::HyperRectDomain<TSpace> & aDomain )
 
  381  return  DGtal::Display3DFactory<Space,KSpace>::defaultStyle( str, aDomain);
 
  384template <typename Space, typename KSpace>
 
  385template<typename TSpace>
 
  388DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsBoundingBox( Board3DTo2D<Space, KSpace> & board, const DGtal::HyperRectDomain<TSpace> & aDomain )
 
  390  DGtal::Display3DFactory<Space,KSpace>::drawAsBoundingBox( board, aDomain);
 
  393template <typename Space, typename KSpace>
 
  394template<typename TSpace>
 
  397DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsGrid( Board3DTo2D<Space, KSpace> & board, const DGtal::HyperRectDomain<TSpace> & aDomain )
 
  399  DGtal::Display3DFactory<Space,KSpace>::drawAsGrid( board, aDomain);
 
  402template <typename Space, typename KSpace>
 
  403template<typename TSpace>
 
  406DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsPavingBalls( Board3DTo2D<Space, KSpace> & board, const DGtal::HyperRectDomain<TSpace> & aDomain )
 
  408  DGtal::Display3DFactory<Space,KSpace>::drawAsPavingBalls( board, aDomain);
 
  411template <typename Space, typename KSpace>
 
  412template<typename TSpace>
 
  415DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsPaving( Board3DTo2D<Space, KSpace> & board, const DGtal::HyperRectDomain<TSpace> & aDomain )
 
  417  DGtal::Display3DFactory<Space,KSpace>::drawAsPaving( board, aDomain);
 
  421template <typename Space, typename KSpace>
 
  422template<typename TSpace>
 
  425DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const DGtal::HyperRectDomain<TSpace> & aDomain )
 
  427  DGtal::Display3DFactory<Space,KSpace>::draw( board, aDomain);
 
  435template <typename Space, typename KSpace>
 
  437DGtal::DrawableWithBoard3DTo2D *
 
  438DGtal::Board3DTo2DFactory<Space,KSpace>::defaultStyle( std::string str, const typename KSpace::Cell & aCell )
 
  440  return   DGtal::Display3DFactory<Space,KSpace>::defaultStyle(str, aCell);
 
  443template <typename Space, typename KSpace>
 
  446DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const typename KSpace::Cell & aCell )
 
  448  DGtal::Display3DFactory<Space,KSpace>::draw( board, aCell);
 
  455template <typename Space, typename KSpace>
 
  456template <typename TDigitalTopology, typename TDigitalSet>
 
  458DGtal::DrawableWithBoard3DTo2D *
 
  459DGtal::Board3DTo2DFactory<Space,KSpace>::defaultStyle( std::string str, const DGtal::Object<TDigitalTopology, TDigitalSet> & anObject )
 
  461  return DGtal::Display3DFactory<Space,KSpace>::defaultStyle( str, anObject);
 
  464template <typename Space, typename KSpace>
 
  465template <typename TDigitalTopology, typename TDigitalSet>
 
  468DGtal::Board3DTo2DFactory<Space,KSpace>::drawWithAdjacencies( Board3DTo2D<Space, KSpace> & board, const DGtal::Object<TDigitalTopology, TDigitalSet> & anObject )
 
  470  DGtal::Display3DFactory<Space,KSpace>::drawWithAdjacencies( board, anObject);
 
  472template <typename Space, typename KSpace>
 
  473template <typename TDigitalTopology, typename TDigitalSet>
 
  476DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const DGtal::Object<TDigitalTopology, TDigitalSet> & anObject )
 
  478  DGtal::Display3DFactory<Space,KSpace>::draw( board, anObject);
 
  486   * Default DGtal::Board3DTo2DFactory<Space,KSpace>::drawing style object.
 
  487   * @return the dyn. alloc. default style for this object.
 
  489template <typename Space, typename KSpace>
 
  490template< DGtal::Dimension dim, typename TComponent, typename TContainer>
 
  492DGtal::DrawableWithBoard3DTo2D *
 
  493DGtal::Board3DTo2DFactory<Space,KSpace>::defaultStyle( std::string str, const DGtal::PointVector<dim, TComponent, TContainer> & aPoint )
 
  495  return DGtal::Display3DFactory<Space,KSpace>::defaultStyle( str, aPoint);
 
  498template <typename Space, typename KSpace>
 
  499template< DGtal::Dimension dim, typename TComponent, typename TContainer>
 
  502DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsGrid( Board3DTo2D<Space, KSpace> & board, const DGtal::PointVector<dim, TComponent, TContainer> & aPoint )
 
  504  DGtal::Display3DFactory<Space,KSpace>::drawAsGrid( board, aPoint);
 
  507template <typename Space, typename KSpace>
 
  508template< DGtal::Dimension dim, typename TComponent, typename TContainer>
 
  511DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsPaving( Board3DTo2D<Space, KSpace> & board, const DGtal::PointVector<dim, TComponent, TContainer> & aPoint )
 
  513  DGtal::Display3DFactory<Space,KSpace>::drawAsPaving( board, aPoint);
 
  516template <typename Space, typename KSpace>
 
  517template< DGtal::Dimension dim, typename TComponent, typename TContainer>
 
  520DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsPavingWired( Board3DTo2D<Space, KSpace> & board, const DGtal::PointVector<dim, TComponent, TContainer> & aPoint )
 
  522  DGtal::Display3DFactory<Space,KSpace>::drawAsPavingWired( board, aPoint);
 
  525template <typename Space, typename KSpace>
 
  526template< DGtal::Dimension dim, typename TComponent, typename TContainer>
 
  529DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const DGtal::PointVector<dim, TComponent, TContainer> & aPoint )
 
  531  DGtal::Display3DFactory<Space,KSpace>::draw( board, aPoint);
 
  534template <typename Space, typename KSpace>
 
  535template< DGtal::Dimension dim, typename TComponent1, typename TComponent2, typename TContainer1, typename TContainer2>
 
  538DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const DGtal::PointVector<dim, TComponent1, TContainer1> & aPoint, const DGtal::PointVector<dim, TComponent2, TContainer2> & aPoint2 )
 
  540  DGtal::Display3DFactory<Space,KSpace>::draw( board, aPoint, aPoint2);
 
  546// SignedKhalimskyCell
 
  548   * Default DGtal::Board3DTo2DFactory<Space,KSpace>::drawing style object.
 
  549   * @return the dyn. alloc. default style for this object.
 
  551template <typename Space, typename KSpace>
 
  553DGtal::DrawableWithBoard3DTo2D *
 
  554DGtal::Board3DTo2DFactory<Space,KSpace>::defaultStyle( std::string str, const typename KSpace::SCell & aSCell )
 
  556  return DGtal::Display3DFactory<Space,KSpace>::defaultStyle( str, aSCell);
 
  559template <typename Space, typename KSpace>
 
  562DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const typename KSpace::SCell &aSCell )
 
  564  DGtal::Display3DFactory<Space,KSpace>::draw( board, aSCell);
 
  567// SignedKhalimskyCell
 
  570template <typename Space, typename KSpace>
 
  573DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const DGtal::GridCurve<KSpace> & aGrid )
 
  575  DGtal::Display3DFactory<Space,KSpace>::draw( board, aGrid);
 
  581template <typename Space, typename KSpace>
 
  582template < typename TIterator, typename TSCell>
 
  585DGtal::Board3DTo2DFactory<Space,KSpace>::draw( DGtal::Board3DTo2D<Space, KSpace> & board,
 
  586                  const DGtal::ConstRangeAdapter<TIterator, DGtal::functors::Identity, TSCell> & aRangeAdapter )
 
  588  DGtal::Display3DFactory<Space,KSpace>::draw( board, aRangeAdapter);
 
  594template <typename Space, typename KSpace>
 
  595template <typename TIterator>
 
  598DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board,
 
  599                  const DGtal::ConstRangeAdapter<TIterator, functors::SCellToPoint<KSpace>, typename KSpace::Point> & aRangeAdapter )
 
  601  DGtal::Display3DFactory<Space,KSpace>::draw( board, aRangeAdapter);
 
  607template <typename Space, typename KSpace>
 
  608template <typename TIterator>
 
  611DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board,
 
  612                  const DGtal::ConstRangeAdapter<TIterator, CanonicSCellEmbedder<KSpace>, typename KSpace::Space::RealPoint> & aRangeAdapter )
 
  614  DGtal::Display3DFactory<Space,KSpace>::draw( board, aRangeAdapter);
 
  620template <typename Space, typename KSpace>
 
  621template <typename TIterator>
 
  624DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board,
 
  625                  const DGtal::ConstRangeAdapter<TIterator, functors::SCellToArrow<KSpace>, std::pair<typename KSpace::Point, typename KSpace::Vector > > & aRangeAdapter )
 
  627  DGtal::Display3DFactory<Space,KSpace>::draw( board, aRangeAdapter);
 
  633template <typename Space, typename KSpace>
 
  634template <typename TIterator>
 
  637DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board,
 
  638                  const DGtal::ConstRangeAdapter<TIterator, functors::SCellToInnerPoint<KSpace>, typename KSpace::Point> & aRangeAdapter )
 
  640  DGtal::Display3DFactory<Space,KSpace>::draw( board, aRangeAdapter);
 
  646template< typename Space, typename KSpace>
 
  647template <typename TIterator>
 
  650DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board,
 
  651                  const DGtal::ConstRangeAdapter<TIterator, functors::SCellToOuterPoint<KSpace>, typename KSpace::Point> & aRangeAdapter )
 
  653  DGtal::Display3DFactory<Space,KSpace>::draw( board, aRangeAdapter);
 
  658// IncidentPointsRange
 
  659template< typename Space, typename KSpace>
 
  660template <typename TIterator>
 
  663DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board,
 
  664                  const DGtal::ConstRangeAdapter<TIterator, functors::SCellToIncidentPoints<KSpace>,std::pair<typename KSpace::Point, typename KSpace::Point > > & aRangeAdapter )
 
  666  DGtal::Display3DFactory<Space,KSpace>::draw( board, aRangeAdapter);
 
  669// IncidentPointsRange
 
  672template< typename Space, typename KSpace>
 
  675DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const DGtal::SetMode3D & aMode)
 
  677  DGtal::Display3DFactory<Space,KSpace>::draw( board, aMode);
 
  681template < typename Space, typename KSpace>
 
  684DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const DGtal::CustomStyle3D & aStyle)
 
  686  DGtal::Display3DFactory<Space,KSpace>::draw( board, aStyle);
 
  689template < typename Space, typename KSpace>
 
  692DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const DGtal::CustomColors3D & aColor)
 
  694  DGtal::Display3DFactory<Space,KSpace>::draw( board, aColor);
 
  697template < typename Space, typename KSpace>
 
  700DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const DGtal::ClippingPlane & aClipping)
 
  702  DGtal::Display3DFactory<Space,KSpace>::draw( board, aClipping);
 
  706template < typename Space, typename KSpace>
 
  709DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const DGtal::TransformedPrism & aTransformedPrism)
 
  711  DGtal::Display3DFactory<Space,KSpace>::draw( board, aTransformedPrism);
 
  716//----------------------------------------------------------------------------------------------