// This file is part of libigl, a simple c++ geometry processing library. // // Copyright (C) 2015 Daniele Panozzo // // This Source Code Form is subject to the terms of the Mozilla Public License // v. 2.0. If a copy of the MPL was not distributed with this file, You can // obtain one at http://mozilla.org/MPL/2.0/. #include "is_irregular_vertex.h" #include #include "is_border_vertex.h" template IGL_INLINE std::vector igl::is_irregular_vertex(const Eigen::MatrixBase &F) { Eigen::VectorXi count = Eigen::VectorXi::Zero(F.maxCoeff()+1); for(unsigned i=0; i border; if(F.cols() == 3) { border = is_border_vertex(F); }else { assert(F.cols() == 4 && "Only triangle and quad meshes are supported"); // Silly way to find border vertices for now Eigen::Matrix T(2*F.rows(),3); T << F.col(0), F.col(1), F.col(2), F.col(0), F.col(2), F.col(3); border = is_border_vertex(T); } std::vector res(count.size()); for (unsigned i=0; i > igl::is_irregular_vertex > (Eigen::MatrixBase > const&); template std::vector > igl::is_irregular_vertex >(Eigen::MatrixBase > const&); #endif