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
11namespace 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.