compute_lim.cpp 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. // This file is part of libigl, a simple c++ geometry processing library.
  2. //
  3. // Copyright (C) 2014 Christian Schüller <schuellchr@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. #include "compute_lim.h"
  9. #include <LIMSolverInterface.h>
  10. IGL_INLINE int igl::compute_lim(
  11. Eigen::Matrix<double,Eigen::Dynamic,3>& vertices,
  12. const Eigen::Matrix<double,Eigen::Dynamic,3>& initialVertices,
  13. const Eigen::Matrix<int,Eigen::Dynamic,Eigen::Dynamic>& elements,
  14. const std::vector<int>& borderVertices,
  15. const Eigen::Matrix<double,Eigen::Dynamic,1>& gradients,
  16. const Eigen::SparseMatrix<double>& constraintMatrix,
  17. const Eigen::Matrix<double,Eigen::Dynamic,1>& constraintTargets,
  18. int energyType,
  19. double tolerance,
  20. int maxIteration,
  21. bool findLocalMinima)
  22. {
  23. return ComputeLIM(
  24. vertices,
  25. initialVertices,
  26. elements,
  27. borderVertices,
  28. gradients,
  29. constraintMatrix,
  30. constraintTargets,
  31. energyType,
  32. tolerance,
  33. maxIteration,
  34. findLocalMinima,
  35. true,
  36. true,
  37. -1,
  38. -1);
  39. }
  40. IGL_INLINE int igl::compute_lim(
  41. Eigen::Matrix<double,Eigen::Dynamic,3>& vertices,
  42. const Eigen::Matrix<double,Eigen::Dynamic,3>& initialVertices,
  43. const Eigen::Matrix<int,Eigen::Dynamic,Eigen::Dynamic>& elements,
  44. const std::vector<int>& borderVertices,
  45. const Eigen::Matrix<double,Eigen::Dynamic,1>& gradients,
  46. const Eigen::SparseMatrix<double>& constraintMatrix,
  47. const Eigen::Matrix<double,Eigen::Dynamic,1>& constraintTargets,
  48. int energyType,
  49. double tolerance,
  50. int maxIteration,
  51. bool findLocalMinima,
  52. bool enableOuput,
  53. bool enableAlphaUpdate,
  54. double beta,
  55. double eps)
  56. {
  57. return ComputeLIM(
  58. vertices,
  59. initialVertices,
  60. elements,
  61. borderVertices,
  62. gradients,
  63. constraintMatrix,
  64. constraintTargets,
  65. energyType,
  66. tolerance,
  67. maxIteration,
  68. findLocalMinima,
  69. enableOuput,
  70. enableAlphaUpdate,
  71. beta,
  72. eps);
  73. }
  74. #ifdef IGL_STATIC_LIBRARY
  75. // Explicit template instanciation
  76. #endif