YCurve.hpp 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. // This file is part of HDRip.
  2. //
  3. // HDRip is free software: you can redistribute it and/or modify it
  4. // under the terms of the GNU General Public License as published by
  5. // the Free Software Foundation, either version 3 of the License, or
  6. // (at your option) any later version.
  7. //
  8. // HDRip is distributed in the hope that it will be useful, but
  9. // WITHOUT ANY WARRANTY; without even the implied warranty of
  10. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. // GNU General Public License for more details.
  12. //
  13. // You should have received a copy of the GNU General Public License
  14. // along with HDRip. If not, see <https://www.gnu.org/licenses/>.
  15. //
  16. // HDRip project
  17. // Author : Rémi Synave
  18. // Contact : remi.synave@univ-littoral.fr
  19. #ifndef YCURVE__HPP
  20. #define YCURVE_HPP
  21. #include <Eigen/Core>
  22. #include <unsupported/Eigen/Splines>
  23. #include <vector>
  24. class YCurve
  25. {
  26. public:
  27. YCurve(const float s, const float b, const float m, const float w, const float h, const float maxChannelY);
  28. Eigen::MatrixXf* evalpts(unsigned int nb);
  29. private:
  30. float max;
  31. Eigen::Spline<float, 2, 2> spline;
  32. };
  33. #endif