assign_scalar.h 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. // This file is part of libigl, a simple c++ geometry processing library.
  2. //
  3. // Copyright (C) 2015 Alec Jacobson <alecjacobson@gmail.com>
  4. //
  5. // This Source Code Form is subject to the terms of the Mozilla Public License
  6. // v. 2.0. If a copy of the MPL was not distributed with this file, You can
  7. // obtain one at http://mozilla.org/MPL/2.0/.
  8. #ifndef IGL_COPYLEFT_CGAL_ASSIGN_SCALAR_H
  9. #define IGL_COPYLEFT_CGAL_ASSIGN_SCALAR_H
  10. #include "../../igl_inline.h"
  11. #include <CGAL/Exact_predicates_exact_constructions_kernel.h>
  12. #include <CGAL/Exact_predicates_exact_constructions_kernel_with_sqrt.h>
  13. #include <CGAL/gmpxx.h>
  14. namespace igl
  15. {
  16. namespace copyleft
  17. {
  18. namespace cgal
  19. {
  20. // Inputs:
  21. // cgal cgal scalar
  22. // Outputs:
  23. // d output scalar
  24. IGL_INLINE void assign_scalar(
  25. const CGAL::Epeck::FT & cgal,
  26. CGAL::Epeck::FT & d);
  27. IGL_INLINE void assign_scalar(
  28. const CGAL::Epeck::FT & cgal,
  29. double & d);
  30. IGL_INLINE void assign_scalar(
  31. const CGAL::Epeck::FT & cgal,
  32. float& d);
  33. IGL_INLINE void assign_scalar(
  34. const double & c,
  35. double & d);
  36. IGL_INLINE void assign_scalar(
  37. const float& c,
  38. float & d);
  39. IGL_INLINE void assign_scalar(
  40. const float& c,
  41. double& d);
  42. IGL_INLINE void assign_scalar(
  43. const CGAL::Exact_predicates_exact_constructions_kernel_with_sqrt::FT & cgal,
  44. CGAL::Exact_predicates_exact_constructions_kernel_with_sqrt::FT & d);
  45. IGL_INLINE void assign_scalar(
  46. const CGAL::Exact_predicates_exact_constructions_kernel_with_sqrt::FT & cgal,
  47. double & d);
  48. IGL_INLINE void assign_scalar(
  49. const CGAL::Exact_predicates_exact_constructions_kernel_with_sqrt::FT & cgal,
  50. float& d);
  51. IGL_INLINE void assign_scalar(
  52. const CGAL::Simple_cartesian<mpq_class>::FT & cgal,
  53. CGAL::Simple_cartesian<mpq_class>::FT & d);
  54. IGL_INLINE void assign_scalar(
  55. const CGAL::Simple_cartesian<mpq_class>::FT & cgal,
  56. double & d);
  57. IGL_INLINE void assign_scalar(
  58. const CGAL::Simple_cartesian<mpq_class>::FT & cgal,
  59. float& d);
  60. }
  61. }
  62. }
  63. #ifndef IGL_STATIC_LIBRARY
  64. # include "assign_scalar.cpp"
  65. #endif
  66. #endif