libigl v2.5.0
Loading...
Searching...
No Matches
direct_delta_mush.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 Xiangyu Kong <xiangyu.kong@mail.utoronto.ca>
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_DIRECT_DELTA_MUSH_H
9#define IGL_DIRECT_DELTA_MUSH_H
10
11#include "igl_inline.h"
12
13#include <Eigen/Core>
14#include <Eigen/Sparse>
15#include <Eigen/Geometry>
16#include <vector>
17
18namespace igl {
26 template <
27 typename DerivedV,
28 typename DerivedOmega,
29 typename DerivedU>
31 const Eigen::MatrixBase<DerivedV> & V,
32 const std::vector<
33 Eigen::Affine3d, Eigen::aligned_allocator<Eigen::Affine3d>
34 > & T, /* should eventually be templated more generally than double */
35 const Eigen::MatrixBase<DerivedOmega> & Omega,
36 Eigen::PlainObjectBase<DerivedU> & U);
49 template <
50 typename DerivedV,
51 typename DerivedF,
52 typename DerivedW,
53 typename DerivedOmega>
55 const Eigen::MatrixBase<DerivedV> & V,
56 const Eigen::MatrixBase<DerivedF> & F,
57 const Eigen::MatrixBase<DerivedW> & W,
58 const int p,
59 const typename DerivedV::Scalar lambda,
60 const typename DerivedV::Scalar kappa,
61 const typename DerivedV::Scalar alpha,
62 Eigen::PlainObjectBase<DerivedOmega> & Omega);
63}
64
65#ifndef IGL_STATIC_LIBRARY
66# include "direct_delta_mush.cpp"
67#endif
68
69#endif
#define IGL_INLINE
Definition igl_inline.h:15
Definition AABB.h:17
void direct_delta_mush(const Eigen::MatrixBase< DerivedV > &V, const std::vector< Eigen::Affine3d, Eigen::aligned_allocator< Eigen::Affine3d > > &T, const Eigen::MatrixBase< DerivedOmega > &Omega, Eigen::PlainObjectBase< DerivedU > &U)
Computes Direct Delta Mush Skinning (Variant 0) from "Direct Delta Mush Skinning and Variants".
void direct_delta_mush_precomputation(const Eigen::MatrixBase< DerivedV > &V, const Eigen::MatrixBase< DerivedF > &F, const Eigen::MatrixBase< DerivedW > &W, const int p, const typename DerivedV::Scalar lambda, const typename DerivedV::Scalar kappa, const typename DerivedV::Scalar alpha, Eigen::PlainObjectBase< DerivedOmega > &Omega)
Precomputation for Direct Delta Mush Skinning.