// This file is part of libigl, a simple c++ geometry processing library. // // Copyright (C) 2020 Oded Stein // // 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 "orient_halfedges.h" #include "oriented_facets.h" #include "unique_simplices.h" template IGL_INLINE void igl::orient_halfedges( const Eigen::MatrixBase& F, Eigen::PlainObjectBase& E, Eigen::PlainObjectBase& oE) { assert(F.cols()==3 && "This only works for triangle meshes."); using Int = typename DerivedF::Scalar; const Eigen::Index m = F.rows(); DerivedE allE, EE; oriented_facets(F, allE); Eigen::Matrix IA, IC; unique_simplices(allE, EE, IA, IC); E.resize(m, 3); oE.resize(m, 3); for(Eigen::Index f=0; f, Eigen::Matrix, Eigen::Matrix >(Eigen::MatrixBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&); #endif