Ajout du squelette de Newton.
[GPU.git] / WCudaMSE / Student_Cuda_Image / src / cpp / core / 03_Newton / moo / device / math / NewtonMath.h
diff --git a/WCudaMSE/Student_Cuda_Image/src/cpp/core/03_Newton/moo/device/math/NewtonMath.h b/WCudaMSE/Student_Cuda_Image/src/cpp/core/03_Newton/moo/device/math/NewtonMath.h
new file mode 100755 (executable)
index 0000000..5edf6ee
--- /dev/null
@@ -0,0 +1,45 @@
+#ifndef NEWTON_MATH_H_\r
+#define NEWTON_MATH_H_\r
+\r
+#include <cmath>\r
+\r
+#include "CalibreurF.h"\r
+#include "ColorTools.h"\r
+\r
+class NewtonMath\r
+    {\r
+    public:\r
+       __device__\r
+       NewtonMath()\r
+           : calibreur(IntervalF(1, 100), IntervalF(0, 1))\r
+           {\r
+           }\r
+\r
+       __device__\r
+       virtual ~NewtonMath() {}\r
+\r
+    public:\r
+       /**\r
+        * x=pixelI\r
+        * y=pixelJ\r
+        */\r
+       __device__\r
+       void colorXY(uchar4* ptrColor, float x, float y) const\r
+           {\r
+            ptrColor->x = 0;\r
+            ptrColor->y = 0;\r
+            ptrColor->z = 0;\r
+\r
+            int i = 0;\r
+            float s = static_cast<float>(i);\r
+            this->calibreur.calibrer(s);\r
+            ColorTools::HSB_TO_RVB(s, ptrColor);\r
+           }\r
+\r
+    private:\r
+\r
+    private:\r
+       CalibreurF calibreur;\r
+    };\r
+\r
+#endif\r