44 lines
1.1 KiB
C++
44 lines
1.1 KiB
C++
#include "python.h"
|
|
#include <sstream>
|
|
#include <string>
|
|
#include <fstream>
|
|
|
|
void assert_is_VectorXd(const std::string name, const Eigen::MatrixXd& v)
|
|
{
|
|
if (v.cols() != 1)
|
|
throw std::runtime_error(name + " must be a column vector.");
|
|
}
|
|
|
|
void assert_is_RowVectorXd(const std::string name, const Eigen::MatrixXd& v)
|
|
{
|
|
if (v.rows() != 1)
|
|
throw std::runtime_error(name + " must be a row vector.");
|
|
}
|
|
|
|
void assert_is_Vector3d(const std::string name, const Eigen::MatrixXd& v)
|
|
{
|
|
if ((v.cols() != 1) || (v.rows() != 3))
|
|
throw std::runtime_error(name + " must be a column vector with 3 entries.");
|
|
}
|
|
|
|
void assert_is_RowVector3d(const std::string name, const Eigen::MatrixXd& v)
|
|
{
|
|
if ((v.cols() != 3) || (v.rows() != 1))
|
|
throw std::runtime_error(name + " must be a row vector with 3 entries.");
|
|
}
|
|
|
|
extern void python_export_vector(py::module &);
|
|
extern void python_export_igl(py::module &);
|
|
extern void python_export_igl_viewer(py::module &);
|
|
|
|
PYTHON_PLUGIN(igl) {
|
|
py::init_threading();
|
|
py::module m("igl", "Python wrappers for libigl");
|
|
|
|
python_export_vector(m);
|
|
python_export_igl(m);
|
|
python_export_igl_viewer(m);
|
|
|
|
return m.ptr();
|
|
}
|