Clean useless code

This commit is contained in:
Mael Rouxel-Labbé
2019-06-05 10:39:08 +02:00
parent 691aa3e361
commit bd7fd4a91e
3 changed files with 0 additions and 121 deletions
@@ -246,95 +246,6 @@ void smooth_along_curvature_flow(TriangleMesh& tmesh,
smooth_along_curvature_flow(faces(tmesh), tmesh, time, parameters::all_default());
}
namespace internal {
// @todo clean that if it's useless
template<typename TriangleMesh, typename FaceRange, typename NamedParameters>
void solve_mcf(const FaceRange& faces,
TriangleMesh& tmesh,
const double time,
std::vector<CGAL::Triple<std::size_t, std::size_t, double> >& stiffness,
bool compute_stiffness,
const NamedParameters& np)
{
using boost::choose_param;
using boost::get_param;
typedef typename GetGeomTraits<TriangleMesh, NamedParameters>::type GeomTraits;
typedef typename GetVertexPointMap<TriangleMesh, NamedParameters>::type VertexPointMap;
VertexPointMap vpmap = choose_param(get_param(np, internal_np::vertex_point),
get_property_map(CGAL::vertex_point, tmesh));
typedef typename boost::graph_traits<TriangleMesh>::vertex_descriptor vertex_descriptor;
typedef typename boost::lookup_named_param_def <
internal_np::vertex_is_constrained_t,
NamedParameters,
Constant_property_map<vertex_descriptor, bool>
> ::type VCMap;
VCMap vcmap = choose_param(get_param(np, internal_np::vertex_is_constrained),
Constant_property_map<vertex_descriptor, bool>(false));
// nb_iterations
std::size_t nb_iterations = choose_param(get_param(np, internal_np::number_of_iterations), 1);
#if defined(CGAL_EIGEN3_ENABLED)
#if EIGEN_VERSION_AT_LEAST(3,2,0)
typedef typename Eigen::SparseMatrix<double> Eigen_sparse_matrix;
typedef typename Eigen::BiCGSTAB<Eigen_sparse_matrix, Eigen::IncompleteLUT<double> > Eigen_solver;
typedef CGAL::Eigen_solver_traits<Eigen_solver> Default_solver;
#else
typedef bool Default_solver;//compilation should crash
//if no solver is provided and Eigen version < 3.2
#endif
#else
typedef bool Default_solver;//compilation should crash
//if no solver is provided and Eigen version < 3.2
#endif
#if defined(CGAL_EIGEN3_ENABLED)
CGAL_static_assertion_msg(
(!boost::is_same<typename GetSolver<NamedParameters, Default_solver>::type, bool>::value) || EIGEN_VERSION_AT_LEAST(3, 2, 0),
"Eigen3 version 3.2 or later is required.");
#else
CGAL_static_assertion_msg(
(!boost::is_same<typename GetSolver<NamedParameters, Default_solver>::type, bool>::value),
"Eigen3 version 3.2 or later is required.");
#endif
typedef typename GetSolver<NamedParameters, Default_solver>::type Sparse_solver;
typedef typename Sparse_solver::Matrix Eigen_matrix;
typedef typename Sparse_solver::Vector Eigen_vector;
Sparse_solver solver = choose_param(get_param(np, internal_np::sparse_linear_solver), Default_solver());
std::size_t n = vertices(tmesh).size();
Eigen_matrix A(n, n);
Eigen_vector bx(n), by(n), bz(n), Xx(n), Xy(n), Xz(n);
if(compute_stiffness)
{
internal::Shape_smoother<TriangleMesh, VertexPointMap, VCMap, Sparse_solver, GeomTraits> smoother(tmesh, vpmap, vcmap);
smoother.init_smoothing(faces);
smoother.calculate_stiffness_matrix_elements(stiffness);
}
else
{
internal::Shape_smoother<TriangleMesh, VertexPointMap, VCMap, Default_solver, GeomTraits> smoother(tmesh, vpmap, vcmap);
smoother.init_smoothing(faces);
for(std::size_t i=0; i<nb_iterations; ++i)
{
smoother.setup_system(A, bx, by, bz, stiffness, time);
smoother.solve_system(A, Xx, Xy, Xz, bx, by, bz, solver);
smoother.update_mesh(Xx, Xy, Xz);
}
}
}
} // internal
} // Polygon_mesh_processing
} // CGAL