1#ifndef IGL_KELVINLETS_H 
    2#define IGL_KELVINLETS_H 
   20template<
typename Scalar>
 
   26  std::array<Scalar, 3> 
ep{}, 
w{};
 
   35    static constexpr std::array<Scalar, 3> brush_scaling_params{ 1.0f,
 
   38    for (
int i = 0; i < 3; i++) {
 
   39      ep[i] = 
epsilon * brush_scaling_params[i];
 
 
 
   57template<
typename DerivedV,
 
   63  const Eigen::MatrixBase<DerivedV>& V,
 
   64  const Eigen::MatrixBase<Derivedx0>& x0,
 
   65  const Eigen::MatrixBase<Derivedf>& f,
 
   66  const Eigen::MatrixBase<DerivedF>& F,
 
   68  Eigen::PlainObjectBase<DerivedU>& U);
 
   72#ifndef IGL_STATIC_LIBRARY 
   73#include "kelvinlets.cpp" 
#define IGL_INLINE
Definition igl_inline.h:15
 
void kelvinlets(const Eigen::MatrixBase< DerivedV > &V, const Eigen::MatrixBase< Derivedx0 > &x0, const Eigen::MatrixBase< Derivedf > &f, const Eigen::MatrixBase< DerivedF > &F, const KelvinletParams< typename DerivedV::Scalar > ¶ms, Eigen::PlainObjectBase< DerivedU > &U)
Implements Pixar's Regularized Kelvinlets (Pixar Technical Memo #17-03): Sculpting Brushes based on F...
 
BrushType
Kelvinlets brush type.
Definition kelvinlets.h:12
 
Parameters for controling kelvinlets.
Definition kelvinlets.h:22
 
const int scale
Definition kelvinlets.h:24
 
std::array< Scalar, 3 > w
Definition kelvinlets.h:26
 
const Scalar epsilon
Definition kelvinlets.h:23
 
KelvinletParams(const Scalar &epsilon, const int falloff, const BrushType &type)
Definition kelvinlets.h:28
 
std::array< Scalar, 3 > ep
Definition kelvinlets.h:26
 
const BrushType brushType
Definition kelvinlets.h:25