#ifndef IGL_QSLIM_OPTIMAL_COLLAPSE_EDGE_CALLBACKS_H #define IGL_QSLIM_OPTIMAL_COLLAPSE_EDGE_CALLBACKS_H #include "igl_inline.h" #include #include #include #include namespace igl { // Prepare callbacks for decimating edges using the qslim optimal placement // metric. // // Inputs: // E #E by 2 list of working edges // quadrics reference to list of working per vertex quadrics // v1 working variable to maintain end point of collapsed edge // v2 working variable to maintain end point of collapsed edge // Outputs // cost_and_placement callback for evaluating cost of edge collapse and // determining placement of vertex (see collapse_edge) // pre_collapse callback before edge collapse (see collapse_edge) // post_collapse callback after edge collapse (see collapse_edge) IGL_INLINE void qslim_optimal_collapse_edge_callbacks( Eigen::MatrixXi & E, std::vector > & quadrics, int & v1, int & v2, std::function & cost_and_placement, std::function & pre_collapse, std::function & post_collapse); } #ifndef IGL_STATIC_LIBRARY # include "qslim_optimal_collapse_edge_callbacks.cpp" #endif #endif