PlainObject -> MatrixBase (#2425)
* PlainObject -> MatrixBase * template igl::Hit * vector input intersect rays with multiple hits * initialize * initialize * only write if hit * fix templates * template me baby * templates * my god. so many PlainObject -> Matrix; Derived -> PlainMatrix<Derived> * Options doesn't exist for Maps/Refs * templates; windows size_t shinanigans * Derived->PlainMatrix * windows template * derived -> plainvector * options * fix templating * std types * fix windingnumbertree tempalting * further fix windingnumbertree tempalting * Xi->XI * templating * clean up and template some of the decimation code; eventually gave up on templating outer functions * rm needless cast * attempt to fix index templating in boolean code * remove debugging casts * more templatin hell * debug kruft * vector resize * assert * int -> template * int -> template * int -> template * templating away more Xi * templating away more 3i * formatting * vector * plainmatrix * plainmatrix * bug * templating MSH io * remove use of Map * zero default tags * bug fix * file debug flags * __1:: * better typing * knn tempalte * note * templating * reorder scaf inputs * fix build * doc * templates * messier than I thought * doc * Xi -> XI * use templated type * 1x1 is always symmetric * use index type * split intrinsic * templating * template internal
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
#include <igl/edge_flaps.h>
|
||||
#include <igl/decimate.h>
|
||||
#include <igl/shortest_edge_and_midpoint.h>
|
||||
#include <igl/decimate_trivial_callbacks.h>
|
||||
#include <igl/parallel_for.h>
|
||||
#include <igl/read_triangle_mesh.h>
|
||||
#include <igl/opengl/glfw/Viewer.h>
|
||||
@@ -84,7 +85,19 @@ int main(int argc, char * argv[])
|
||||
const int max_iter = std::ceil(0.01*Q.size());
|
||||
for(int j = 0;j<max_iter;j++)
|
||||
{
|
||||
if(!collapse_edge(shortest_edge_and_midpoint,V,F,E,EMAP,EF,EI,Q,EQ,C))
|
||||
igl::decimate_pre_collapse_callback always_try;
|
||||
igl::decimate_post_collapse_callback never_care;
|
||||
igl::decimate_trivial_callbacks(always_try,never_care);
|
||||
// Explicit template instanciations expect std::function not raw pointer
|
||||
// Only relevant if IGL_STATIC_LIBRARY is defined
|
||||
const std::function<void (int, Eigen::Matrix<double, -1, -1, 0, -1, -1> const&, Eigen::Matrix<int, -1, -1, 0, -1, -1> const&, Eigen::Matrix<int, -1, -1, 0, -1, -1> const&, Eigen::Matrix<int, -1, 1, 0, -1, 1> const&, Eigen::Matrix<int, -1, -1, 0, -1, -1> const&, Eigen::Matrix<int, -1, -1, 0, -1, -1> const&, double&, Eigen::Matrix<double, 1, -1, 1, 1, -1>&)> cp = shortest_edge_and_midpoint;
|
||||
int e,e1,e2,f1,f2;
|
||||
if(!collapse_edge(
|
||||
cp,always_try,never_care,
|
||||
V,F,E,
|
||||
EMAP,EF,EI,
|
||||
Q,EQ,C,
|
||||
e,e1,e2,f1,f2))
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user