123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- // This file is part of libigl, a simple c++ geometry processing library.
- //
- // Copyright (C) 2014 Christian Schüller <schuellchr@gmail.com>
- //
- // This Source Code Form is subject to the terms of the Mozilla Public License
- // v. 2.0. If a copy of the MPL was not distributed with this file, You can
- // obtain one at http://mozilla.org/MPL/2.0/.
- #include "lim.h"
- #include <LIMSolverInterface.h>
- using namespace igl::lim;
- IGL_INLINE State lim(
- Eigen::Matrix<double,Eigen::Dynamic,3>& vertices,
- const Eigen::Matrix<double,Eigen::Dynamic,3>& initialVertices,
- const Eigen::Matrix<int,Eigen::Dynamic,Eigen::Dynamic>& elements,
- const Eigen::SparseMatrix<double>& constraintMatrix,
- const Eigen::Matrix<double,Eigen::Dynamic,1>& constraintTargets,
- Energy energyType,
- double tolerance,
- int maxIteration,
- bool findLocalMinima)
- {
- return (State)ComputeLIM(
- vertices,
- initialVertices,
- elements,
- constraintMatrix,
- constraintTargets,
- (EnergyType)energyType,
- tolerance,
- maxIteration,
- findLocalMinima
- );
- }
- IGL_INLINE State igl::lim::lim(
- Eigen::Matrix<double,Eigen::Dynamic,3>& vertices,
- const Eigen::Matrix<double,Eigen::Dynamic,3>& initialVertices,
- const Eigen::Matrix<int,Eigen::Dynamic,Eigen::Dynamic>& elements,
- const Eigen::SparseMatrix<double>& constraintMatrix,
- const Eigen::Matrix<double,Eigen::Dynamic,1>& constraintTargets,
- Energy energyType,
- double tolerance,
- int maxIteration,
- bool findLocalMinima,
- bool enableOuput,
- bool enableBarriers,
- bool enableAlphaUpdate,
- double beta,
- double eps)
- {
- return (State)ComputeLIM(
- vertices,
- initialVertices,
- elements,
- constraintMatrix,
- constraintTargets,
- (EnergyType)energyType,
- tolerance,
- maxIteration,
- findLocalMinima,
- enableOuput,
- enableBarriers,
- enableAlphaUpdate,
- beta,
- eps
- );
- }
- IGL_INLINE State igl::lim::lim(
- Eigen::Matrix<double,Eigen::Dynamic,3>& vertices,
- const Eigen::Matrix<double,Eigen::Dynamic,3>& initialVertices,
- const Eigen::Matrix<int,Eigen::Dynamic,Eigen::Dynamic>& elements,
- const std::vector<int>& borderVertices,
- const Eigen::Matrix<double,Eigen::Dynamic,1>& gradients,
- const Eigen::SparseMatrix<double>& constraintMatrix,
- const Eigen::Matrix<double,Eigen::Dynamic,1>& constraintTargets,
- Energy energyType,
- double tolerance,
- int maxIteration,
- bool findLocalMinima)
- {
- return (State)ComputeLIM(
- vertices,
- initialVertices,
- elements,
- borderVertices,
- gradients,
- constraintMatrix,
- constraintTargets,
- (EnergyType)energyType,
- tolerance,
- maxIteration,
- findLocalMinima
- );
- }
- IGL_INLINE State igl::lim::lim(
- Eigen::Matrix<double,Eigen::Dynamic,3>& vertices,
- const Eigen::Matrix<double,Eigen::Dynamic,3>& initialVertices,
- const Eigen::Matrix<int,Eigen::Dynamic,Eigen::Dynamic>& elements,
- const std::vector<int>& borderVertices,
- const Eigen::Matrix<double,Eigen::Dynamic,1>& gradients,
- const Eigen::SparseMatrix<double>& constraintMatrix,
- const Eigen::Matrix<double,Eigen::Dynamic,1>& constraintTargets,
- Energy energyType,
- double tolerance,
- int maxIteration,
- bool findLocalMinima,
- bool enableOuput,
- bool enableBarriers,
- bool enableAlphaUpdate,
- double beta,
- double eps)
- {
- return (State)ComputeLIM(
- vertices,
- initialVertices,
- elements,
- borderVertices,
- gradients,
- constraintMatrix,
- constraintTargets,
- (EnergyType)energyType,
- tolerance,
- maxIteration,
- findLocalMinima,
- enableOuput,
- enableBarriers,
- enableAlphaUpdate,
- beta,
- eps);
- }
- #ifdef IGL_STATIC_LIBRARY
- // Explicit template specialization
- #endif
|