Imagine++
PixelTraits.h
1 // ===========================================================================
2 // Imagine++ Libraries
3 // Copyright (C) Imagine
4 // For detailed information: http://imagine.enpc.fr/software
5 // ===========================================================================
6 
7 // pixel scalar types used in interpolate... No doc.
8 
9 #ifndef DOXYGEN_SHOULD_SKIP_THIS
10 
11 namespace Imagine {
12 
13 
14 
15  template <typename T> class PixelTraits {
16  public:
17  typedef T scalar_type;
18 
19  template <typename U>
20  struct CastPixel
21  {
22  typedef U value_type;
23  };
24  };
25 
26  template <typename T, int dim> class PixelTraits< FVector<T,dim> > {
27  public:
28  typedef T scalar_type;
29 
30  template <typename U>
31  struct CastPixel
32  {
33  typedef FVector<U,dim> value_type;
34  };
35  };
36 
37  template <typename T> class PixelTraits< RGB<T> > {
38  public:
39  typedef T scalar_type;
40 
41  template <typename U>
42  struct CastPixel
43  {
44  typedef RGB<U> value_type;
45  };
46  };
47 
48  template <typename T> class PixelTraits< RGBA<T> > {
49  public:
50  typedef T scalar_type;
51 
52  template <typename U>
53  struct CastPixel
54  {
55  typedef RGBA<U> value_type;
56  };
57  };
58 
59 }
60 
61 #endif
Imagine++ namespace.
Definition: Array.h:7