libigl v2.5.0
Loading...
Searching...
No Matches
miq.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) 2014 Daniele Panozzo <daniele.panozzo@gmail.com>, Olga Diamanti <olga.diam@gmail.com>, Kevin Walliman <wkevin@student.ethz.ch>
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_COMISO_MIQ_H
9#define IGL_COMISO_MIQ_H
10#include "../../igl_inline.h"
11#include <Eigen/Core>
12#include <vector>
13
14namespace igl
15{
16 namespace copyleft
17 {
18 namespace comiso
19 {
45 template <typename DerivedV, typename DerivedF, typename DerivedU>
47 const Eigen::PlainObjectBase<DerivedV> &V,
48 const Eigen::PlainObjectBase<DerivedF> &F,
49 const Eigen::PlainObjectBase<DerivedV> &PD1,
50 const Eigen::PlainObjectBase<DerivedV> &PD2,
51 Eigen::PlainObjectBase<DerivedU> &UV,
52 Eigen::PlainObjectBase<DerivedF> &FUV,
53 double gradientSize = 30.0,
54 double stiffness = 5.0,
55 bool directRound = false,
56 unsigned int iter = 5,
57 unsigned int localIter = 5,
58 bool doRound = true,
59 bool singularityRound = true,
60 const std::vector<int> &roundVertices = std::vector<int>(),
61 const std::vector<std::vector<int>> &hardFeatures = std::vector<std::vector<int> >());
62
85 template <typename DerivedV, typename DerivedF, typename DerivedU>
87 const Eigen::PlainObjectBase<DerivedV> &V,
88 const Eigen::PlainObjectBase<DerivedF> &F,
89 const Eigen::PlainObjectBase<DerivedV> &PD1_combed,
90 const Eigen::PlainObjectBase<DerivedV> &PD2_combed,
91 const Eigen::Matrix<int, Eigen::Dynamic, 3> &mismatch,
92 const Eigen::Matrix<int, Eigen::Dynamic, 1> &singular,
93 const Eigen::Matrix<int, Eigen::Dynamic, 3> &seams,
94 Eigen::PlainObjectBase<DerivedU> &UV,
95 Eigen::PlainObjectBase<DerivedF> &FUV,
96 double gradientSize = 30.0,
97 double stiffness = 5.0,
98 bool directRound = false,
99 unsigned int iter = 5,
100 unsigned int localIter = 5,
101 bool doRound = true,
102 bool singularityRound = true,
103 const std::vector<int> &roundVertices = std::vector<int>(),
104 const std::vector<std::vector<int>> &hardFeatures = std::vector<std::vector<int> >());
105 };
106};
107};
108#ifndef IGL_STATIC_LIBRARY
109#include "miq.cpp"
110#endif
111
112#endif
#define IGL_INLINE
Definition igl_inline.h:15
void miq(const Eigen::PlainObjectBase< DerivedV > &V, const Eigen::PlainObjectBase< DerivedF > &F, const Eigen::PlainObjectBase< DerivedV > &PD1, const Eigen::PlainObjectBase< DerivedV > &PD2, Eigen::PlainObjectBase< DerivedU > &UV, Eigen::PlainObjectBase< DerivedF > &FUV, double gradientSize=30.0, double stiffness=5.0, bool directRound=false, unsigned int iter=5, unsigned int localIter=5, bool doRound=true, bool singularityRound=true, const std::vector< int > &roundVertices=std::vector< int >(), const std::vector< std::vector< int > > &hardFeatures=std::vector< std::vector< int > >())
Global seamless parametrization aligned with a given per-face Jacobian (PD1, PD2).
Definition AABB.h:17