HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
IMX_PixelFunctions.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  */
7 
8 #pragma once
9 
10 #include "IMX_API.h"
11 
12 #include <UT/UT_NonCopyable.h>
13 #include <UT/UT_StringHolder.h>
14 
16 {
17 public:
18  void setNumComps(int numComps) { myNumComps = numComps; }
19  int getNumComps() const { return myNumComps; }
20  void setValueA(float a) { myA = a; }
21  void setValueB(float b) { myB = b; }
22  float getValueA() const { return myA; }
23  float getValueB() const { return myB; }
24  virtual void getOpenCL(UT_StringHolder& code) = 0;
25  IMX_PixelFunction() = default;
26  virtual ~IMX_PixelFunction();
28 protected:
29  int myNumComps = 0;
30  float myA = 0;
31  float myB = 0;
32 };
33 
35 {
36  virtual void getOpenCL(UT_StringHolder& code) override;
37 };
38 
40 {
41  virtual void getOpenCL(UT_StringHolder& code) override;
42 };
43 
45 {
46 public:
47  IMX_ChannelFunc(int channel) : myChannel(channel)
48  {
49  }
50 private:
51  virtual void getOpenCL(UT_StringHolder& code) override;
52  int myChannel;
53 };
54 
56 {
57  virtual void getOpenCL(UT_StringHolder& code) override;
58 };
59 
61 {
62  virtual void getOpenCL(UT_StringHolder& code) override;
63 };
64 
66 {
67  virtual void getOpenCL(UT_StringHolder& code) override;
68 };
69 
70 
72 {
73  virtual void getOpenCL(UT_StringHolder& code) override;
74 };
75 
77 {
78  virtual void getOpenCL(UT_StringHolder& code) override;
79 };
80 
82 {
83  virtual void getOpenCL(UT_StringHolder& code) override;
84 };
85 
87 {
88  virtual void getOpenCL(UT_StringHolder& code) override;
89 };
90 
92 {
93  virtual void getOpenCL(UT_StringHolder& code) override;
94 };
95 
97 {
98  virtual void getOpenCL(UT_StringHolder& code) override;
99 };
100 
102 {
103  virtual void getOpenCL(UT_StringHolder& code) override;
104 };
105 
107 {
108  virtual void getOpenCL(UT_StringHolder& code) override;
109 };
110 
112 {
113  virtual void getOpenCL(UT_StringHolder& code) override;
114 };
115 
117 {
118  virtual void getOpenCL(UT_StringHolder& code) override;
119 };
120 
122 {
123  virtual void getOpenCL(UT_StringHolder& code) override;
124 };
125 
127 {
128 public:
129  IMX_PowerFunc(float exponent) : myExponent(exponent) { }
130  virtual void getOpenCL(UT_StringHolder& code) override;
131 protected:
132  float myExponent;
133 };
134 
136 {
137 public:
138  IMX_RaiseFunc(float base) : myBase(base) { }
139  virtual void getOpenCL(UT_StringHolder& code) override;
140 protected:
141  float myBase;
142 };
143 
145 {
146 public:
147  IMX_LogFunc(float base) : myBase(base) { }
148  virtual void getOpenCL(UT_StringHolder& code) override;
149 protected:
150  float myBase;
151 };
152 
154 {
155  virtual void getOpenCL(UT_StringHolder& code) override;
156 };
157 
159 {
160 public:
161  IMX_SinFunc(float scale) : myScale(scale) {}
162 protected:
163  virtual void getOpenCL(UT_StringHolder& code) override;
164  float myScale;
165 };
166 
168 {
169 public:
170  IMX_CosFunc(float scale) : myScale(scale) {}
171 protected:
172  virtual void getOpenCL(UT_StringHolder& code) override;
173  float myScale;
174 };
175 
177 {
178 public:
179  IMX_TanFunc(float scale) : myScale(scale) {}
180 protected:
181  virtual void getOpenCL(UT_StringHolder& code) override;
182  float myScale;
183 };
184 
186 {
187 public:
188  IMX_SinHFunc(float scale) : myScale(scale) {}
189 protected:
190  virtual void getOpenCL(UT_StringHolder& code) override;
191  float myScale;
192 };
193 
195 {
196 public:
197  IMX_CosHFunc(float scale) : myScale(scale) {}
198 protected:
199  virtual void getOpenCL(UT_StringHolder& code) override;
200  float myScale;
201 };
202 
204 {
205 public:
206  IMX_TanHFunc(float scale) : myScale(scale) {}
207 protected:
208  virtual void getOpenCL(UT_StringHolder& code) override;
209  float myScale;
210 };
211 
213 {
214 public:
215  IMX_ASinFunc(float scale) : myScale(scale) {}
216 protected:
217  virtual void getOpenCL(UT_StringHolder& code) override;
218  float myScale;
219 };
220 
222 {
223 public:
224  IMX_ACosFunc(float scale) : myScale(scale) {}
225 protected:
226  virtual void getOpenCL(UT_StringHolder& code) override;
227  float myScale;
228 };
229 
231 {
232 public:
233  IMX_ATanFunc(float scale) : myScale(scale) {}
234 protected:
235  virtual void getOpenCL(UT_StringHolder& code) override;
236  float myScale;
237 };
IMX_PowerFunc(float exponent)
IMX_ChannelFunc(int channel)
*get result *(waiting if necessary)*A common idiom is to fire a bunch of sub tasks at the and then *wait for them to all complete We provide a helper class
Definition: thread.h:623
IMX_CosFunc(float scale)
void setValueB(float b)
GLboolean GLboolean GLboolean GLboolean a
Definition: glcorearb.h:1222
IMX_ASinFunc(float scale)
IMX_LogFunc(float base)
GA_API const UT_StringHolder scale
void setNumComps(int numComps)
IMX_CosHFunc(float scale)
#define UT_NON_COPYABLE(CLASS)
Define deleted copy constructor and assignment operator inside a class.
IMX_TanFunc(float scale)
GLboolean GLboolean GLboolean b
Definition: glcorearb.h:1222
int getNumComps() const
IMX_TanHFunc(float scale)
IMX_RaiseFunc(float base)
#define IMX_API
Definition: IMX_API.h:8
void setValueA(float a)
float getValueA() const
IMX_SinFunc(float scale)
IMX_SinHFunc(float scale)
float getValueB() const
IMX_ACosFunc(float scale)
virtual void getOpenCL(UT_StringHolder &code)=0
IMX_ATanFunc(float scale)