HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
RU_AlgorithmTemplates.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: RU_Algorithm.h
7  *
8  * COMMENTS:
9  * Base classes for a templated Raster algorithm.
10  *
11  * *** DO NOT INCLUDE THIS FILE IN ANY HEADER FILE ***
12  */
13 #ifndef RU_ALGORITHM_TEMPLATES_H
14 #define RU_ALGORITHM_TEMPLATES_H
15 
16 class TIL_TileList;
17 class RU_Algorithm;
18 class TIL_Region;
19 
20 template<class Type, int fast> class RU_GeneratorOp
21 {
22 public:
23  RU_GeneratorOp(RU_Algorithm *alg) : myAlg(alg) { ; }
24  virtual ~RU_GeneratorOp() { ; }
25 
26  virtual int generate(TIL_TileList * /*output*/, float /*t*/,
27  int /*thread*/, void * /*data*/) { return 0; }
28 
29 protected:
31 };
32 
33 
34 // Pixel OPs take a single tile input and produce a single tile output.
35 //
36 template<class Type, int fast> class RU_PixelOp
37 {
38 public:
39  RU_PixelOp(RU_Algorithm *alg) : myAlg(alg) { ; }
40  virtual ~RU_PixelOp() { ; }
41 
42  virtual int pixelAdjust(TIL_TileList * /*output*/,
43  const TIL_TileList * /*input*/,
44  float /*t*/, int /*thread*/, void * /*data*/)
45  { return 0; }
46 
47 protected:
49 };
50 
51 // Filters take a region input and produce a tile output.
52 //
53 template<class Type, int fast> class RU_FilterOp
54 {
55 public:
56  RU_FilterOp(RU_Algorithm *alg) : myAlg(alg) { ; }
57  virtual ~RU_FilterOp() { ; }
58 
59  virtual int filter(TIL_TileList * /*output*/,
60  const TIL_Region * /*input*/,
61  float /*t*/, int /*thread*/, void * /*data*/)
62  { return 0; }
63 
64  virtual int filter(TIL_Region * /*output*/,
65  const TIL_Region * /*input*/,
66  float /*t*/, int /*thread*/, void * /*data*/)
67  { return 0; }
68 
69 
70 protected:
72 };
73 
74 
75 // Binary Ops take two tile inputs and produce a single tile output.
76 //
77 template<class Type,int fast> class RU_BinaryOp
78 {
79 public:
80  RU_BinaryOp(RU_Algorithm *alg) : myAlg(alg) { ; }
81  virtual ~RU_BinaryOp() { ; }
82 
83  virtual int binary(TIL_TileList * /*output*/, const TIL_Region * /*fore*/,
84  const TIL_Region * /*back*/, float /*t*/,
85  int /*thread*/, void * /*data*/) { return 0; }
86 
87  virtual int binary(TIL_Region * /*output*/, const TIL_Region * /*fore*/,
88  const TIL_Region * /*back*/, float /*t*/,
89  int /*thread*/, void * /*data*/) { return 0; }
90 protected:
92 };
93 
94 
95 #endif
RU_BinaryOp(RU_Algorithm *alg)
virtual int pixelAdjust(TIL_TileList *, const TIL_TileList *, float, int, void *)
RU_Algorithm * myAlg
virtual int binary(TIL_Region *, const TIL_Region *, const TIL_Region *, float, int, void *)
RU_Algorithm * myAlg
RU_Algorithm * myAlg
virtual int filter(TIL_Region *, const TIL_Region *, float, int, void *)
RU_Algorithm * myAlg
RU_GeneratorOp(RU_Algorithm *alg)
virtual ~RU_PixelOp()
virtual ~RU_FilterOp()
virtual ~RU_BinaryOp()
RU_FilterOp(RU_Algorithm *alg)
virtual int generate(TIL_TileList *, float, int, void *)
RU_PixelOp(RU_Algorithm *alg)
virtual int filter(TIL_TileList *, const TIL_Region *, float, int, void *)
virtual int binary(TIL_TileList *, const TIL_Region *, const TIL_Region *, float, int, void *)