// This file is part of libigl, a simple c++ geometry processing library. // // Copyright (C) 2013 Alec Jacobson // // 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_DUAL_MESH_LIST_H #define IGL_DUAL_MESH_LIST_H #include "igl_inline.h" #include namespace igl { // Refine the mesh by adding the barycenter of each face // Inputs: // V #V by 3 coordinates of the vertices // F #F by 3 list of mesh faces (must be triangles) // Outputs: // VD #V + #F by 3 coordinate of the vertices of the dual mesh // The added vertices are added at the end of VD // FD #F*3 by 3 faces of the dual mesh // template IGL_INLINE void add_barycenter( const Eigen::PlainObjectBase & V, const Eigen::PlainObjectBase & F, Eigen::PlainObjectBase & VD, Eigen::PlainObjectBase & FD); } #ifdef IGL_HEADER_ONLY # include "add_barycenter.cpp" #endif #endif