libigl v2.5.0
Loading...
Searching...
No Matches
collapse_least_cost_edge.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) 2015 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_COLLAPSE_LEAST_COST_EDGE_H
9#define IGL_COLLAPSE_LEAST_COST_EDGE_H
10#include "igl_inline.h"
11#include "min_heap.h"
13#include "COLLAPSE_EDGE_NULL.h"
14#include <Eigen/Core>
15#include <vector>
16namespace igl
17{
59 const decimate_cost_and_placement_callback & cost_and_placement,
60 const decimate_pre_collapse_callback & pre_collapse,
61 const decimate_post_collapse_callback & post_collapse,
62 Eigen::MatrixXd & V,
63 Eigen::MatrixXi & F,
64 Eigen::MatrixXi & E,
65 Eigen::VectorXi & EMAP,
66 Eigen::MatrixXi & EF,
67 Eigen::MatrixXi & EI,
68 igl::min_heap< std::tuple<double,int,int> > & Q,
69 Eigen::VectorXi & EQ,
70 Eigen::MatrixXd & C,
71 int & e,
72 int & e1,
73 int & e2,
74 int & f1,
75 int & f2);
76}
77
78#ifndef IGL_STATIC_LIBRARY
79# include "collapse_least_cost_edge.cpp"
80#endif
81#endif
82
See decimate.h for more details.
#define IGL_INLINE
Definition igl_inline.h:15
Definition AABB.h:18
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:110
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:35
std::priority_queue< T, std::vector< T >, std::greater< T > > min_heap
Templated min heap (reverses sort order of std::priority_queue).
Definition min_heap.h:17
bool collapse_least_cost_edge(const decimate_cost_and_placement_callback &cost_and_placement, const decimate_pre_collapse_callback &pre_collapse, const decimate_post_collapse_callback &post_collapse, Eigen::MatrixXd &V, Eigen::MatrixXi &F, Eigen::MatrixXi &E, Eigen::VectorXi &EMAP, Eigen::MatrixXi &EF, Eigen::MatrixXi &EI, igl::min_heap< std::tuple< double, int, int > > &Q, Eigen::VectorXi &EQ, Eigen::MatrixXd &C, int &e, int &e1, int &e2, int &f1, int &f2)
Collapse least-cost edge from a priority queue and update queue.
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:147