libigl v2.5.0
Loading...
Searching...
No Matches
decimate.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) 2016 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_DECIMATE_H
9#define IGL_DECIMATE_H
10#include "igl_inline.h"
12#include <Eigen/Core>
13
73
74namespace igl
75{
91 const Eigen::MatrixXd & V,
92 const Eigen::MatrixXi & F,
93 const size_t max_m,
94 Eigen::MatrixXd & U,
95 Eigen::MatrixXi & G,
96 Eigen::VectorXi & J,
97 Eigen::VectorXi & I);
100 const Eigen::MatrixXd & V,
101 const Eigen::MatrixXi & F,
102 const size_t max_m,
103 Eigen::MatrixXd & U,
104 Eigen::MatrixXi & G,
105 Eigen::VectorXi & J);
106
148 const Eigen::MatrixXd & V,
149 const Eigen::MatrixXi & F,
150 const decimate_cost_and_placement_callback & cost_and_placement,
151 const decimate_stopping_condition_callback & stopping_condition,
152 const decimate_pre_collapse_callback & pre_collapse,
153 const decimate_post_collapse_callback & post_collapse,
154 const Eigen::MatrixXi & E,
155 const Eigen::VectorXi & EMAP,
156 const Eigen::MatrixXi & EF,
157 const Eigen::MatrixXi & EI,
158 Eigen::MatrixXd & U,
159 Eigen::MatrixXi & G,
160 Eigen::VectorXi & J,
161 Eigen::VectorXi & I);
164 const Eigen::MatrixXd & V,
165 const Eigen::MatrixXi & F,
166 const decimate_cost_and_placement_callback & cost_and_placement,
167 const decimate_stopping_condition_callback & stopping_condition,
168 const decimate_pre_collapse_callback & pre_collapse,
169 const decimate_post_collapse_callback & post_collapse,
170 Eigen::MatrixXd & U,
171 Eigen::MatrixXi & G,
172 Eigen::VectorXi & J,
173 Eigen::VectorXi & I);
176 const Eigen::MatrixXd & V,
177 const Eigen::MatrixXi & F,
178 const decimate_cost_and_placement_callback & cost_and_placement,
179 const decimate_stopping_condition_callback & stopping_condition,
180 Eigen::MatrixXd & U,
181 Eigen::MatrixXi & G,
182 Eigen::VectorXi & J,
183 Eigen::VectorXi & I);
184}
185
186#ifndef IGL_STATIC_LIBRARY
187# include "decimate.cpp"
188#endif
189#endif
190
See decimate.h for more details.
#define IGL_INLINE
Definition igl_inline.h:15
Definition AABB.h:17
std::function< void(const Eigen::MatrixXd &, const Eigen::MatrixXi &, const Eigen::MatrixXi &, const Eigen::VectorXi &, const Eigen::MatrixXi &, const Eigen::MatrixXi &, const igl::min_heap< std::tuple< double, int, int > > &, const Eigen::VectorXi &, const Eigen::MatrixXd &, const int, const int, const int, const int, const int, const bool)> decimate_post_collapse_callback
Function handle called just after collapse_edge is attempted.
Definition decimate_callback_types.h:164
bool decimate(const Eigen::MatrixXd &V, const Eigen::MatrixXi &F, const size_t max_m, Eigen::MatrixXd &U, Eigen::MatrixXi &G, Eigen::VectorXi &J, Eigen::VectorXi &I)
Assumes (V,F) is a manifold mesh (possibly with boundary) collapses edges until desired number of fac...
std::function< bool(const Eigen::MatrixXd &, const Eigen::MatrixXi &, const Eigen::MatrixXi &, const Eigen::VectorXi &, const Eigen::MatrixXi &, const Eigen::MatrixXi &, const igl::min_heap< std::tuple< double, int, int > > &, const Eigen::VectorXi &, const Eigen::MatrixXd &, const int, const int, const int, const int, const int)> decimate_stopping_condition_callback
Function handle used to control whether the queue processing in igl::decimate should stop.
Definition decimate_callback_types.h:88
std::function< bool(const Eigen::MatrixXd &, const Eigen::MatrixXi &, const Eigen::MatrixXi &, const Eigen::VectorXi &, const Eigen::MatrixXi &, const Eigen::MatrixXi &, const igl::min_heap< std::tuple< double, int, int > > &, const Eigen::VectorXi &, const Eigen::MatrixXd &, const int)> decimate_pre_collapse_callback
Function handle called just before collapse_edge is attempted.
Definition decimate_callback_types.h:122
std::function< void(const int, const Eigen::MatrixXd &, const Eigen::MatrixXi &, const Eigen::MatrixXi &, const Eigen::VectorXi &, const Eigen::MatrixXi &, const Eigen::MatrixXi &, double &, Eigen::RowVectorXd &)> decimate_cost_and_placement_callback
Function handle used to control the cost of each edge collapse in igl::decimate.
Definition decimate_callback_types.h:46