1 // This file is part of libigl, a simple c++ geometry processing library.
2 //
3 // Copyright (C) 2017 Sebastian Koch <s.koch@tu-berlin.de> and Daniele Panozzo <daniele.panozzo@gmail.com>
4 //
5 // This Source Code Form is subject to the terms of the Mozilla Public License
6 // v. 2.0. If a copy of the MPL was not distributed with this file, You can
7 // obtain one at http://mozilla.org/MPL/2.0/.
8 py::enum_<igl::PerVertexNormalsWeightingType>(m, "PerVertexNormalsWeightingType")
9     .value("PER_VERTEX_NORMALS_WEIGHTING_TYPE_UNIFORM", igl::PER_VERTEX_NORMALS_WEIGHTING_TYPE_UNIFORM)
10     .value("PER_VERTEX_NORMALS_WEIGHTING_TYPE_AREA", igl::PER_VERTEX_NORMALS_WEIGHTING_TYPE_AREA)
11     .value("PER_VERTEX_NORMALS_WEIGHTING_TYPE_ANGLE", igl::PER_VERTEX_NORMALS_WEIGHTING_TYPE_ANGLE)
12     .value("PER_VERTEX_NORMALS_WEIGHTING_TYPE_DEFAULT", igl::PER_VERTEX_NORMALS_WEIGHTING_TYPE_DEFAULT)
13     .value("NUM_PER_VERTEX_NORMALS_WEIGHTING_TYPE", igl::NUM_PER_VERTEX_NORMALS_WEIGHTING_TYPE)
14     .export_values();
15 
16 m.def("per_vertex_normals", []
17 (
18   const Eigen::MatrixXd& V,
19   const Eigen::MatrixXi& F,
20   const igl::PerVertexNormalsWeightingType weighting,
21   Eigen::MatrixXd& N
22 )
__anon6d20f57b0102( const Eigen::MatrixXd& V, const Eigen::MatrixXi& F, const igl::PerVertexNormalsWeightingType weighting, Eigen::MatrixXd& N ) 23 {
24   return igl::per_vertex_normals(V,F,weighting,N);
25 }, __doc_igl_per_vertex_normals,
26 py::arg("V"), py::arg("F"), py::arg("weighting"), py::arg("N"));
27 
28 m.def("per_vertex_normals", []
29 (
30   const Eigen::MatrixXd& V,
31   const Eigen::MatrixXi& F,
32   Eigen::MatrixXd& N
33 )
__anon6d20f57b0202( const Eigen::MatrixXd& V, const Eigen::MatrixXi& F, Eigen::MatrixXd& N ) 34 {
35   return igl::per_vertex_normals(V,F,N);
36 }, __doc_igl_per_vertex_normals,
37 py::arg("V"), py::arg("F"), py::arg("N"));
38 
39 m.def("per_vertex_normals", []
40 (
41   const Eigen::MatrixXd& V,
42   const Eigen::MatrixXi& F,
43   const igl::PerVertexNormalsWeightingType weighting,
44   const Eigen::MatrixXd& FN,
45   Eigen::MatrixXd& N
46 )
__anon6d20f57b0302( const Eigen::MatrixXd& V, const Eigen::MatrixXi& F, const igl::PerVertexNormalsWeightingType weighting, const Eigen::MatrixXd& FN, Eigen::MatrixXd& N ) 47 {
48   return igl::per_vertex_normals(V,F,weighting,FN,N);
49 }, __doc_igl_per_vertex_normals,
50 py::arg("V"), py::arg("F"), py::arg("weighting"), py::arg("FN"), py::arg("N"));
51 
52 m.def("per_vertex_normals", []
53 (
54   const Eigen::MatrixXd& V,
55   const Eigen::MatrixXi& F,
56   const Eigen::MatrixXd& FN,
57   Eigen::MatrixXd& N
58 )
__anon6d20f57b0402( const Eigen::MatrixXd& V, const Eigen::MatrixXi& F, const Eigen::MatrixXd& FN, Eigen::MatrixXd& N ) 59 {
60   return igl::per_vertex_normals(V,F,FN,N);
61 }, __doc_igl_per_vertex_normals,
62 py::arg("V"), py::arg("F"), py::arg("FN"), py::arg("N"));
63