DGtal 1.4.0
Loading...
Searching...
No Matches
Board3DTo2DFactory.ih
1/**
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.
6 *
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.
11 *
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/>.
14 *
15 **/
16
17/**
18* @file Board3DTo2DFactory.ih
19* @author Aline Martin <aline.martin@insa-lyon.fr>
20* @date mardi 2 juillet 2013
21 *
22 * @brief
23 *
24 * Implementation of inline methods defined in Board3DTo2DFactory.h
25 *
26 * This file is part of the DGtal library.
27 */
28
29
30#include "DGtal/helpers/StdDefs.h"
31#include "DGtal/images/ImageHelper.h"
32
33
34///////////////////////////////////////////////////////////////////////////////
35// Implementation of inline methods //
36
37
38///////////////////////////////////////////////////////////////////////////////
39// Implementation of inline functions and external operators //
40
41
42template < typename Space, typename KSpace>
43inline
44void DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board,
45 const DGtal::CameraPosition & cp )
46{
47 board.setCameraPosition(cp.eyex, cp.eyey, cp.eyez);
48}
49
50template < typename Space, typename KSpace>
51inline
52void DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board,
53 const DGtal::CameraDirection & cd )
54{
55 board.setCameraDirection(cd.dirx, cd.diry, cd.dirz);
56}
57
58template < typename Space, typename KSpace>
59inline
60void DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const DGtal::CameraUpVector & cuv )
61{
62
63 board.setCameraUpVector(cuv.upx, cuv.upy, cuv.upz);
64}
65
66template < typename Space, typename KSpace>
67inline
68void DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board,
69 const DGtal::CameraZNearFar & cz )
70{
71 board.setNearFar(cz.ZNear, cz.ZFar);
72}
73
74//----------------------------------------------------------------------------------------------
75// heritage of methods
76
77
78// SphericalAccumulator
79/**
80 * Display an spherical accumulator in 3D. Bin values are mapped
81 * using a default HueShadeColorMap.
82 *
83 * @param board current board
84 * @param accumulator the accumulator to board
85 * @param shift translate vector for board purposes (default:
86 * zero vector)
87 * @param radius scale factor for the unit sphere radius (default:1)
88 * @tparam TVector a vector model
89 */
90template <typename Space, typename KSpace>
91template <typename TVector>
92inline
93void
94DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const DGtal::SphericalAccumulator<TVector> & accumulator,
95 const typename DGtal::SphericalAccumulator<TVector>::RealVector & shift,
96 const double radius)
97{
98 DGtal::Display3DFactory<Space,KSpace>::draw ( board, accumulator, shift, radius);
99}
100
101// SphericalAccumulator
102
103// Mesh
104template <typename Space, typename KSpace>
105template <typename TPoint>
106inline
107void
108DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsFaces( Board3DTo2D<Space, KSpace> & board, const DGtal::Mesh<TPoint> & aMesh )
109{
110 DGtal::Display3DFactory<Space,KSpace>::drawAsFaces( board, aMesh);
111}
112
113template <typename Space, typename KSpace>
114template <typename TPoint>
115inline
116void
117DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const DGtal::Mesh<TPoint> & aMesh )
118{
119 DGtal::Display3DFactory<Space,KSpace>::draw (board, aMesh);
120}
121
122// Mesh
123
124// StandardDSS6Computer
125/**
126 * Default DGtal::Board3DTo2DFactory<Space,KSpace>::drawing style object.
127 * @return the dyn. alloc. default style for this object.
128 */
129template <typename Space, typename KSpace>
130template <typename TIterator, typename TInteger, int connectivity>
131inline
132DGtal::DrawableWithBoard3DTo2D *
133DGtal::Board3DTo2DFactory<Space,KSpace>::defaultStyle( std::string str, const DGtal::StandardDSS6Computer<TIterator,TInteger,connectivity> & arithm )
134{
135 return DGtal::Display3DFactory<Space,KSpace>::defaultStyle(str, arithm);
136}
137
138template <typename Space, typename KSpace>
139template <typename TIterator, typename TInteger, int connectivity>
140inline
141void
142DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsBalls( Board3DTo2D<Space, KSpace> & board, const DGtal::StandardDSS6Computer<TIterator,TInteger,connectivity> & arithm )
143{
144 DGtal::Display3DFactory<Space,KSpace>::drawAsBalls(board, arithm);
145}
146template <typename Space, typename KSpace>
147template <typename TIterator, typename TInteger, int connectivity>
148inline
149void
150DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsBoundingBox( Board3DTo2D<Space, KSpace> & board, const DGtal::StandardDSS6Computer<TIterator,TInteger,connectivity> & arithm )
151{
152 DGtal::Display3DFactory<Space,KSpace>::drawAsBoundingBox(board, arithm);
153}
154template <typename Space, typename KSpace>
155template <typename TIterator, typename TInteger, int connectivity>
156inline
157void
158DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const DGtal::StandardDSS6Computer<TIterator,TInteger,connectivity> & arithm )
159{
160 DGtal::Display3DFactory<Space,KSpace>::draw(board , arithm);
161}
162
163// StandardDSS6Computer
164
165
166////
167
168// Naive3DDSSComputer
169/**
170 * Default DGtal::Board3DTo2DFactory<Space,KSpace>::drawing style object.
171 * @return the dyn. alloc. default style for this object.
172 */
173template <typename Space, typename KSpace>
174template <typename TIterator, typename TInteger, int connectivity>
175inline
176DGtal::DrawableWithBoard3DTo2D *
177DGtal::Board3DTo2DFactory<Space,KSpace>::defaultStyle( std::string str, const DGtal::Naive3DDSSComputer<TIterator,TInteger,connectivity> & arithm )
178{
179 return DGtal::Display3DFactory<Space,KSpace>::defaultStyle(str, arithm);
180}
181
182template <typename Space, typename KSpace>
183template <typename TIterator, typename TInteger, int connectivity>
184inline
185void
186DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsBalls( Board3DTo2D<Space, KSpace> & board, const DGtal::Naive3DDSSComputer<TIterator,TInteger,connectivity> & arithm )
187{
188 DGtal::Display3DFactory<Space,KSpace>::drawAsBalls(board, arithm);
189}
190template <typename Space, typename KSpace>
191template <typename TIterator, typename TInteger, int connectivity>
192inline
193void
194DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsBoundingBox( Board3DTo2D<Space, KSpace> & board, const DGtal::Naive3DDSSComputer<TIterator,TInteger,connectivity> & arithm )
195{
196 DGtal::Display3DFactory<Space,KSpace>::drawAsBoundingBox(board, arithm);
197}
198template <typename Space, typename KSpace>
199template <typename TIterator, typename TInteger, int connectivity>
200inline
201void
202DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const DGtal::Naive3DDSSComputer<TIterator,TInteger,connectivity> & arithm )
203{
204 DGtal::Display3DFactory<Space,KSpace>::draw(board , arithm);
205}
206
207// Naive3DDSSComputer
208
209
210// DigitalSetBySTLSet
211/**
212 * Default DGtal::Board3DTo2DFactory<Space,KSpace>::drawing style object.
213 * @return the dyn. alloc. default style for this object.
214 */
215template <typename Space, typename KSpace>
216template<typename Domain, typename Compare>
217inline
218DGtal::DrawableWithBoard3DTo2D *
219DGtal::Board3DTo2DFactory<Space,KSpace>::defaultStyle( std::string str, const DGtal::DigitalSetBySTLSet<Domain, Compare> & aSet )
220{
221 return DGtal::Display3DFactory<Space,KSpace>::defaultStyle(str, aSet);
222}
223
224template <typename Space, typename KSpace>
225template<typename Domain, typename Compare>
226inline
227void
228DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsPavingTransparent( Board3DTo2D<Space, KSpace> & board, const DGtal::DigitalSetBySTLSet<Domain, Compare> & aSet )
229{
230 DGtal::Display3DFactory<Space,KSpace>::drawAsPavingTransparent(board, aSet);
231}
232
233template <typename Space, typename KSpace>
234template<typename Domain, typename Compare>
235inline
236void
237DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsPaving( Board3DTo2D<Space, KSpace> & board, const DGtal::DigitalSetBySTLSet<Domain, Compare> & aSet )
238{
239 DGtal::Display3DFactory<Space,KSpace>::drawAsPaving( board, aSet);
240}
241
242template <typename Space, typename KSpace>
243template<typename Domain, typename Compare>
244inline
245void
246DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsGrid( Board3DTo2D<Space, KSpace> & board, const DGtal::DigitalSetBySTLSet<Domain, Compare> & aSet )
247{
248 DGtal::Display3DFactory<Space,KSpace>::drawAsGrid(board, aSet);
249}
250
251template <typename Space, typename KSpace>
252template<typename Domain, typename Compare>
253inline
254void
255DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const DGtal::DigitalSetBySTLSet<Domain, Compare> & aSet )
256{
257 DGtal::Display3DFactory<Space,KSpace>::draw( board, aSet);
258}
259
260// DigitalSetBySTLSet
261
262
263// DigitalSetByAssociativeContainer
264/**
265 * Default DGtal::Board3DTo2DFactory<Space,KSpace>::drawing style object.
266 * @return the dyn. alloc. default style for this object.
267 */
268template <typename Space, typename KSpace>
269template<typename Domain, typename Container>
270inline
271DGtal::DrawableWithBoard3DTo2D *
272DGtal::Board3DTo2DFactory<Space,KSpace>::defaultStyle( std::string str, const DGtal::DigitalSetByAssociativeContainer<Domain, Container> & aSet )
273{
274 return DGtal::Display3DFactory<Space,KSpace>::defaultStyle(str, aSet);
275}
276
277template <typename Space, typename KSpace>
278template<typename Domain, typename Container>
279inline
280void
281DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsPavingTransparent( Board3DTo2D<Space, KSpace> & board, const DGtal::DigitalSetByAssociativeContainer<Domain, Container> & aSet )
282{
283 DGtal::Display3DFactory<Space,KSpace>::drawAsPavingTransparent(board, aSet);
284}
285
286template <typename Space, typename KSpace>
287template<typename Domain, typename Container>
288inline
289void
290DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsPaving( Board3DTo2D<Space, KSpace> & board, const DGtal::DigitalSetByAssociativeContainer<Domain, Container> & aSet )
291{
292 DGtal::Display3DFactory<Space,KSpace>::drawAsPaving( board, aSet);
293}
294
295template <typename Space, typename KSpace>
296template<typename Domain, typename Container>
297inline
298void
299DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsGrid( Board3DTo2D<Space, KSpace> & board, const DGtal::DigitalSetByAssociativeContainer<Domain, Container> & aSet )
300{
301 DGtal::Display3DFactory<Space,KSpace>::drawAsGrid(board, aSet);
302}
303
304template <typename Space, typename KSpace>
305template<typename Domain, typename Container>
306inline
307void
308DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const DGtal::DigitalSetByAssociativeContainer<Domain, Container> & aSet )
309{
310 DGtal::Display3DFactory<Space,KSpace>::draw( board, aSet);
311}
312
313// DigitalSetByAssociativeContainer
314
315
316
317// DigitalSetBySTLVector
318/**
319 * Default DGtal::Board3DTo2DFactory<Space,KSpace>::drawing style object.
320 * @return the dyn. alloc. default style for this object.
321 */
322template <typename Space, typename KSpace>
323template<typename Domain>
324inline
325DGtal::DrawableWithBoard3DTo2D *
326DGtal::Board3DTo2DFactory<Space,KSpace>::defaultStyle( std::string str, const DGtal::DigitalSetBySTLVector<Domain> & aSet )
327{
328 return DGtal::Display3DFactory<Space,KSpace>::defaultStyle(str, aSet);
329}
330
331template <typename Space, typename KSpace>
332template<typename Domain>
333inline
334void
335DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsPavingTransparent( Board3DTo2D<Space, KSpace> & board, const DGtal::DigitalSetBySTLVector<Domain> & aSet )
336{
337 DGtal::Display3DFactory<Space,KSpace>::drawAsPavingTransparent( board, aSet);
338}
339
340template <typename Space, typename KSpace>
341template<typename Domain>
342inline
343void
344DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsPaving( Board3DTo2D<Space, KSpace> & board, const DGtal::DigitalSetBySTLVector<Domain> & aSet )
345{
346 DGtal::Display3DFactory<Space,KSpace>::drawAsPaving( board, aSet);
347}
348
349template <typename Space, typename KSpace>
350template<typename Domain>
351inline
352void
353DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsGrid( Board3DTo2D<Space, KSpace> & board, const DGtal::DigitalSetBySTLVector<Domain> & aSet )
354{
355 DGtal::Display3DFactory<Space,KSpace>::drawAsGrid(board, aSet);
356}
357
358template <typename Space, typename KSpace>
359template<typename Domain>
360inline
361void
362DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const DGtal::DigitalSetBySTLVector<Domain> & aSet )
363{
364 DGtal::Display3DFactory<Space,KSpace>::draw( board, aSet);
365}
366
367// DigitalSetBySTLVector
368
369
370// HyperRectDomain
371/**
372 * Default DGtal::Board3DTo2DFactory<Space,KSpace>::drawing style object.
373 * @return the dyn. alloc. default style for this object.
374 */
375template <typename Space, typename KSpace>
376template<typename TSpace>
377inline
378DGtal::DrawableWithBoard3DTo2D *
379DGtal::Board3DTo2DFactory<Space,KSpace>::defaultStyle( std::string str, const DGtal::HyperRectDomain<TSpace> & aDomain )
380{
381 return DGtal::Display3DFactory<Space,KSpace>::defaultStyle( str, aDomain);
382}
383
384template <typename Space, typename KSpace>
385template<typename TSpace>
386inline
387void
388DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsBoundingBox( Board3DTo2D<Space, KSpace> & board, const DGtal::HyperRectDomain<TSpace> & aDomain )
389{
390 DGtal::Display3DFactory<Space,KSpace>::drawAsBoundingBox( board, aDomain);
391}
392
393template <typename Space, typename KSpace>
394template<typename TSpace>
395inline
396void
397DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsGrid( Board3DTo2D<Space, KSpace> & board, const DGtal::HyperRectDomain<TSpace> & aDomain )
398{
399 DGtal::Display3DFactory<Space,KSpace>::drawAsGrid( board, aDomain);
400}
401
402template <typename Space, typename KSpace>
403template<typename TSpace>
404inline
405void
406DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsPavingBalls( Board3DTo2D<Space, KSpace> & board, const DGtal::HyperRectDomain<TSpace> & aDomain )
407{
408 DGtal::Display3DFactory<Space,KSpace>::drawAsPavingBalls( board, aDomain);
409}
410
411template <typename Space, typename KSpace>
412template<typename TSpace>
413inline
414void
415DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsPaving( Board3DTo2D<Space, KSpace> & board, const DGtal::HyperRectDomain<TSpace> & aDomain )
416{
417 DGtal::Display3DFactory<Space,KSpace>::drawAsPaving( board, aDomain);
418}
419
420
421template <typename Space, typename KSpace>
422template<typename TSpace>
423inline
424void
425DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const DGtal::HyperRectDomain<TSpace> & aDomain )
426{
427 DGtal::Display3DFactory<Space,KSpace>::draw( board, aDomain);
428}
429
430
431// HyperRectDomain
432
433
434// KhalimskyCell
435template <typename Space, typename KSpace>
436inline
437DGtal::DrawableWithBoard3DTo2D *
438DGtal::Board3DTo2DFactory<Space,KSpace>::defaultStyle( std::string str, const typename KSpace::Cell & aCell )
439{
440 return DGtal::Display3DFactory<Space,KSpace>::defaultStyle(str, aCell);
441}
442
443template <typename Space, typename KSpace>
444inline
445void
446DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const typename KSpace::Cell & aCell )
447{
448 DGtal::Display3DFactory<Space,KSpace>::draw( board, aCell);
449}
450
451// KhalimskyCell
452
453
454// Object
455template <typename Space, typename KSpace>
456template <typename TDigitalTopology, typename TDigitalSet>
457inline
458DGtal::DrawableWithBoard3DTo2D *
459DGtal::Board3DTo2DFactory<Space,KSpace>::defaultStyle( std::string str, const DGtal::Object<TDigitalTopology, TDigitalSet> & anObject )
460{
461 return DGtal::Display3DFactory<Space,KSpace>::defaultStyle( str, anObject);
462}
463
464template <typename Space, typename KSpace>
465template <typename TDigitalTopology, typename TDigitalSet>
466inline
467void
468DGtal::Board3DTo2DFactory<Space,KSpace>::drawWithAdjacencies( Board3DTo2D<Space, KSpace> & board, const DGtal::Object<TDigitalTopology, TDigitalSet> & anObject )
469{
470 DGtal::Display3DFactory<Space,KSpace>::drawWithAdjacencies( board, anObject);
471}
472template <typename Space, typename KSpace>
473template <typename TDigitalTopology, typename TDigitalSet>
474inline
475void
476DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const DGtal::Object<TDigitalTopology, TDigitalSet> & anObject )
477{
478 DGtal::Display3DFactory<Space,KSpace>::draw( board, anObject);
479}
480
481// Object
482
483
484// PointVector
485/**
486 * Default DGtal::Board3DTo2DFactory<Space,KSpace>::drawing style object.
487 * @return the dyn. alloc. default style for this object.
488 */
489template <typename Space, typename KSpace>
490template< DGtal::Dimension dim, typename TComponent, typename TContainer>
491inline
492DGtal::DrawableWithBoard3DTo2D *
493DGtal::Board3DTo2DFactory<Space,KSpace>::defaultStyle( std::string str, const DGtal::PointVector<dim, TComponent, TContainer> & aPoint )
494{
495 return DGtal::Display3DFactory<Space,KSpace>::defaultStyle( str, aPoint);
496}
497
498template <typename Space, typename KSpace>
499template< DGtal::Dimension dim, typename TComponent, typename TContainer>
500inline
501void
502DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsGrid( Board3DTo2D<Space, KSpace> & board, const DGtal::PointVector<dim, TComponent, TContainer> & aPoint )
503{
504 DGtal::Display3DFactory<Space,KSpace>::drawAsGrid( board, aPoint);
505}
506
507template <typename Space, typename KSpace>
508template< DGtal::Dimension dim, typename TComponent, typename TContainer>
509inline
510void
511DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsPaving( Board3DTo2D<Space, KSpace> & board, const DGtal::PointVector<dim, TComponent, TContainer> & aPoint )
512{
513 DGtal::Display3DFactory<Space,KSpace>::drawAsPaving( board, aPoint);
514}
515
516template <typename Space, typename KSpace>
517template< DGtal::Dimension dim, typename TComponent, typename TContainer>
518inline
519void
520DGtal::Board3DTo2DFactory<Space,KSpace>::drawAsPavingWired( Board3DTo2D<Space, KSpace> & board, const DGtal::PointVector<dim, TComponent, TContainer> & aPoint )
521{
522 DGtal::Display3DFactory<Space,KSpace>::drawAsPavingWired( board, aPoint);
523}
524
525template <typename Space, typename KSpace>
526template< DGtal::Dimension dim, typename TComponent, typename TContainer>
527inline
528void
529DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const DGtal::PointVector<dim, TComponent, TContainer> & aPoint )
530{
531 DGtal::Display3DFactory<Space,KSpace>::draw( board, aPoint);
532}
533
534template <typename Space, typename KSpace>
535template< DGtal::Dimension dim, typename TComponent1, typename TComponent2, typename TContainer1, typename TContainer2>
536inline
537void
538DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const DGtal::PointVector<dim, TComponent1, TContainer1> & aPoint, const DGtal::PointVector<dim, TComponent2, TContainer2> & aPoint2 )
539{
540 DGtal::Display3DFactory<Space,KSpace>::draw( board, aPoint, aPoint2);
541}
542
543// PointVector
544
545
546// SignedKhalimskyCell
547/**
548 * Default DGtal::Board3DTo2DFactory<Space,KSpace>::drawing style object.
549 * @return the dyn. alloc. default style for this object.
550 */
551template <typename Space, typename KSpace>
552inline
553DGtal::DrawableWithBoard3DTo2D *
554DGtal::Board3DTo2DFactory<Space,KSpace>::defaultStyle( std::string str, const typename KSpace::SCell & aSCell )
555{
556 return DGtal::Display3DFactory<Space,KSpace>::defaultStyle( str, aSCell);
557}
558
559template <typename Space, typename KSpace>
560inline
561void
562DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const typename KSpace::SCell &aSCell )
563{
564 DGtal::Display3DFactory<Space,KSpace>::draw( board, aSCell);
565}
566
567// SignedKhalimskyCell
568
569// GridCurve
570template <typename Space, typename KSpace>
571inline
572void
573DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const DGtal::GridCurve<KSpace> & aGrid )
574{
575 DGtal::Display3DFactory<Space,KSpace>::draw( board, aGrid);
576}
577
578// GridCurve
579
580// SCellsRange
581template <typename Space, typename KSpace>
582template < typename TIterator, typename TSCell>
583inline
584void
585DGtal::Board3DTo2DFactory<Space,KSpace>::draw( DGtal::Board3DTo2D<Space, KSpace> & board,
586 const DGtal::ConstRangeAdapter<TIterator, DGtal::functors::Identity, TSCell> & aRangeAdapter )
587{
588 DGtal::Display3DFactory<Space,KSpace>::draw( board, aRangeAdapter);
589}
590
591// SCellsRange
592
593// PointsRange
594template <typename Space, typename KSpace>
595template <typename TIterator>
596inline
597void
598DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board,
599 const DGtal::ConstRangeAdapter<TIterator, functors::SCellToPoint<KSpace>, typename KSpace::Point> & aRangeAdapter )
600{
601 DGtal::Display3DFactory<Space,KSpace>::draw( board, aRangeAdapter);
602}
603
604// PointsRange
605
606// MidPointsRange
607template <typename Space, typename KSpace>
608template <typename TIterator>
609inline
610void
611DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board,
612 const DGtal::ConstRangeAdapter<TIterator, CanonicSCellEmbedder<KSpace>, typename KSpace::Space::RealPoint> & aRangeAdapter )
613{
614 DGtal::Display3DFactory<Space,KSpace>::draw( board, aRangeAdapter);
615}
616
617// MidPointsRange
618
619// ArrowsRange
620template <typename Space, typename KSpace>
621template <typename TIterator>
622inline
623void
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 )
626{
627 DGtal::Display3DFactory<Space,KSpace>::draw( board, aRangeAdapter);
628}
629
630// ArrowsRange
631
632// InnerPointsRange
633template <typename Space, typename KSpace>
634template <typename TIterator>
635inline
636void
637DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board,
638 const DGtal::ConstRangeAdapter<TIterator, functors::SCellToInnerPoint<KSpace>, typename KSpace::Point> & aRangeAdapter )
639{
640 DGtal::Display3DFactory<Space,KSpace>::draw( board, aRangeAdapter);
641}
642
643// InnerPointsRange
644
645// OuterPointsRange
646template< typename Space, typename KSpace>
647template <typename TIterator>
648inline
649void
650DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board,
651 const DGtal::ConstRangeAdapter<TIterator, functors::SCellToOuterPoint<KSpace>, typename KSpace::Point> & aRangeAdapter )
652{
653 DGtal::Display3DFactory<Space,KSpace>::draw( board, aRangeAdapter);
654}
655
656// OuterPointsRange
657
658// IncidentPointsRange
659template< typename Space, typename KSpace>
660template <typename TIterator>
661inline
662void
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 )
665{
666 DGtal::Display3DFactory<Space,KSpace>::draw( board, aRangeAdapter);
667}
668
669// IncidentPointsRange
670
671
672template< typename Space, typename KSpace>
673inline
674void
675DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const DGtal::SetMode3D & aMode)
676{
677 DGtal::Display3DFactory<Space,KSpace>::draw( board, aMode);
678}
679
680
681template < typename Space, typename KSpace>
682inline
683void
684DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const DGtal::CustomStyle3D & aStyle)
685{
686 DGtal::Display3DFactory<Space,KSpace>::draw( board, aStyle);
687}
688
689template < typename Space, typename KSpace>
690inline
691void
692DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const DGtal::CustomColors3D & aColor)
693{
694 DGtal::Display3DFactory<Space,KSpace>::draw( board, aColor);
695}
696
697template < typename Space, typename KSpace>
698inline
699void
700DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const DGtal::ClippingPlane & aClipping)
701{
702 DGtal::Display3DFactory<Space,KSpace>::draw( board, aClipping);
703}
704
705
706template < typename Space, typename KSpace>
707inline
708void
709DGtal::Board3DTo2DFactory<Space,KSpace>::draw( Board3DTo2D<Space, KSpace> & board, const DGtal::TransformedPrism & aTransformedPrism)
710{
711 DGtal::Display3DFactory<Space,KSpace>::draw( board, aTransformedPrism);
712}
713
714
715// end heritage
716//----------------------------------------------------------------------------------------------