libigl v2.5.0
Loading...
Searching...
No Matches
cr_vector_laplacian.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) 2020 Oded Stein <oded.stein@columbia.edu>
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_CR_VECTOR_LAPLACIAN_H
9#define IGL_CR_VECTOR_LAPLACIAN_H
10
11#include "igl_inline.h"
12
13#include <Eigen/Core>
14#include <Eigen/Sparse>
15
16
17namespace igl
18{
30 template <typename DerivedV, typename DerivedF, typename DerivedE,
31 typename DerivedOE, typename ScalarL>
32 IGL_INLINE void
34 const Eigen::MatrixBase<DerivedV>& V,
35 const Eigen::MatrixBase<DerivedF>& F,
36 const Eigen::MatrixBase<DerivedE>& E,
37 const Eigen::MatrixBase<DerivedOE>& oE,
38 Eigen::SparseMatrix<ScalarL>& L);
42 template <typename DerivedV, typename DerivedF, typename DerivedE,
43 typename DerivedOE, typename ScalarL>
44 IGL_INLINE void
46 const Eigen::MatrixBase<DerivedV>& V,
47 const Eigen::MatrixBase<DerivedF>& F,
48 Eigen::PlainObjectBase<DerivedE>& E,
49 Eigen::PlainObjectBase<DerivedOE>& oE,
50 Eigen::SparseMatrix<ScalarL>& L);
58 template <typename DerivedF, typename DerivedL_sq, typename DeriveddA,
59 typename DerivedE, typename DerivedOE, typename ScalarL>
60 IGL_INLINE void
62 const Eigen::MatrixBase<DerivedF>& F,
63 const Eigen::MatrixBase<DerivedL_sq>& l_sq,
64 const Eigen::MatrixBase<DeriveddA>& dA,
65 const Eigen::MatrixBase<DerivedE>& E,
66 const Eigen::MatrixBase<DerivedOE>& oE,
67 Eigen::SparseMatrix<ScalarL>& L);
70 template <typename DerivedF, typename DerivedL_sq, typename DerivedE,
71 typename DerivedOE, typename ScalarL>
72 IGL_INLINE void
74 const Eigen::MatrixBase<DerivedF>& F,
75 const Eigen::MatrixBase<DerivedL_sq>& l_sq,
76 const Eigen::MatrixBase<DerivedE>& E,
77 const Eigen::MatrixBase<DerivedOE>& oE,
78 Eigen::SparseMatrix<ScalarL>& L);
79}
80
81
82#ifndef IGL_STATIC_LIBRARY
83# include "cr_vector_laplacian.cpp"
84#endif
85
86#endif
#define IGL_INLINE
Definition igl_inline.h:15
Definition AABB.h:17
void cr_vector_laplacian_intrinsic(const Eigen::MatrixBase< DerivedF > &F, const Eigen::MatrixBase< DerivedL_sq > &l_sq, const Eigen::MatrixBase< DeriveddA > &dA, const Eigen::MatrixBase< DerivedE > &E, const Eigen::MatrixBase< DerivedOE > &oE, Eigen::SparseMatrix< ScalarL > &L)
This is an overloaded member function, provided for convenience. It differs from the above function o...
void cr_vector_laplacian(const Eigen::MatrixBase< DerivedV > &V, const Eigen::MatrixBase< DerivedF > &F, const Eigen::MatrixBase< DerivedE > &E, const Eigen::MatrixBase< DerivedOE > &oE, Eigen::SparseMatrix< ScalarL > &L)
Computes the CR vector Laplacian matrix.