// This file is part of libigl, a simple c++ geometry processing library. // // Copyright (C) 2014 Daniele Panozzo , Olga Diamanti // // 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/. #ifdef WIN32 #define _USE_MATH_DEFINES #endif #include #include "compute_frame_field_bisectors.h" #include "igl/local_basis.h" #include "PI.h" template IGL_INLINE void igl::compute_frame_field_bisectors( const Eigen::PlainObjectBase& V, const Eigen::PlainObjectBase& F, const Eigen::PlainObjectBase& B1, const Eigen::PlainObjectBase& B2, const Eigen::PlainObjectBase& PD1, const Eigen::PlainObjectBase& PD2, Eigen::PlainObjectBase& BIS1, Eigen::PlainObjectBase& BIS2) { BIS1.resize(PD1.rows(),3); BIS2.resize(PD1.rows(),3); for (unsigned i=0; i IGL_INLINE void igl::compute_frame_field_bisectors( const Eigen::PlainObjectBase& V, const Eigen::PlainObjectBase& F, const Eigen::PlainObjectBase& PD1, const Eigen::PlainObjectBase& PD2, Eigen::PlainObjectBase& BIS1, Eigen::PlainObjectBase& BIS2) { DerivedV B1, B2, B3; igl::local_basis(V,F,B1,B2,B3); compute_frame_field_bisectors( V, F, B1, B2, PD1, PD2, BIS1, BIS2); } #ifdef IGL_STATIC_LIBRARY // Explicit template instantiation template void igl::compute_frame_field_bisectors, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&); template void igl::compute_frame_field_bisectors, Eigen::Matrix >(Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase > const&, Eigen::PlainObjectBase >&, Eigen::PlainObjectBase >&); #endif