// 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/. #ifndef IGL_AVERAGE_FROM_EDGES_ONTO_VERTICES_H #define IGL_AVERAGE_FROM_EDGES_ONTO_VERTICES_H #include "igl_inline.h" #include namespace igl { /// Move a scalar field defined on edges to vertices by averaging /// /// @param[in] F #F by 3 triangle mesh connectivity /// @param[in] E #E by 3 mapping from each halfedge to each edge /// @param[in] oE #E by 3 orientation as generated by orient_halfedges /// @param[in] uE #E by 1 list of scalars /// @param[out] uV #V by 1 list of scalar defined on vertices /// /// \see orient_halfedges template IGL_INLINE void average_from_edges_onto_vertices( const Eigen::MatrixBase &F, const Eigen::MatrixBase &E, const Eigen::MatrixBase &oE, const Eigen::MatrixBase &uE, Eigen::PlainObjectBase &uV); } #ifndef IGL_STATIC_LIBRARY # include "average_from_edges_onto_vertices.cpp" #endif #endif