libigl v2.5.0
Loading...
Searching...
No Matches
heat_geodesics.h
Go to the documentation of this file.
1// This file is part of libigl, a simple c++ geometry processing library.
2//
3// Copyright (C) 2018 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_HEAT_GEODESICS_H
9#define IGL_HEAT_GEODESICS_H
10#include "igl_inline.h"
11#include "min_quad_with_fixed.h"
12#include <Eigen/Sparse>
13#include <Eigen/Sparse>
14namespace igl
15{
19 template <typename Scalar>
21 {
23 Eigen::SparseMatrix<Scalar> Grad;
25 Eigen::SparseMatrix<Scalar> Div;
27 int ng;
29 Eigen::VectorXi b;
34 };
43 template < typename DerivedV, typename DerivedF, typename Scalar >
45 const Eigen::MatrixBase<DerivedV> & V,
46 const Eigen::MatrixBase<DerivedF> & F,
52 template < typename DerivedV, typename DerivedF, typename Scalar >
54 const Eigen::MatrixBase<DerivedV> & V,
55 const Eigen::MatrixBase<DerivedF> & F,
56 const Scalar t,
66 template < typename Scalar, typename Derivedgamma, typename DerivedD>
68 const HeatGeodesicsData<Scalar> & data,
69 const Eigen::MatrixBase<Derivedgamma> & gamma,
70 Eigen::PlainObjectBase<DerivedD> & D);
71}
72
73#ifndef IGL_STATIC_LIBRARY
74#include "heat_geodesics.cpp"
75#endif
76
77#endif
#define IGL_INLINE
Definition igl_inline.h:15
Definition AABB.h:17
void heat_geodesics_solve(const HeatGeodesicsData< Scalar > &data, const Eigen::MatrixBase< Derivedgamma > &gamma, Eigen::PlainObjectBase< DerivedD > &D)
Compute fast approximate geodesic distances using precomputed data from a set of selected source vert...
bool heat_geodesics_precompute(const Eigen::MatrixBase< DerivedV > &V, const Eigen::MatrixBase< DerivedF > &F, HeatGeodesicsData< Scalar > &data)
Precompute factorized solvers for computing a fast approximation of geodesic distances on a mesh (V,...
Precomputation data for heat_geodesics_solve.
Definition heat_geodesics.h:21
Eigen::SparseMatrix< Scalar > Div
Divergence operator.
Definition heat_geodesics.h:25
Eigen::VectorXi b
List of boundary vertex indices.
Definition heat_geodesics.h:29
min_quad_with_fixed_data< Scalar > Dirichlet
Cached solvers for Dirichet, Neumann problems.
Definition heat_geodesics.h:31
min_quad_with_fixed_data< Scalar > Poisson
Definition heat_geodesics.h:31
min_quad_with_fixed_data< Scalar > Neumann
Definition heat_geodesics.h:31
Eigen::SparseMatrix< Scalar > Grad
Gradient operator.
Definition heat_geodesics.h:23
bool use_intrinsic_delaunay
Whether to use intrinsic Delaunay Laplacian.
Definition heat_geodesics.h:33
int ng
Number of gradient components.
Definition heat_geodesics.h:27
Parameters and precomputed values for min_quad_with_fixed.
Definition min_quad_with_fixed.h:166