|
@@ -1,96 +1,23 @@
|
|
-
|
|
+#include <igl/matlab/matlabinterface.h>
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-#ifndef IGL_MATLAB_INTERFACE_H
|
|
|
|
-#define IGL_MATLAB_INTERFACE_H
|
|
|
|
-
|
|
|
|
-#include <Eigen/Core>
|
|
|
|
-#include <string>
|
|
|
|
-
|
|
|
|
-#include <complex>
|
|
|
|
-#include <cassert>
|
|
|
|
-#include <map>
|
|
|
|
-#include <string>
|
|
|
|
-#include <vector>
|
|
|
|
-
|
|
|
|
-#include "engine.h"
|
|
|
|
-
|
|
|
|
-namespace igl
|
|
|
|
-{
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- inline void mlinit(Engine** engine);
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- inline void mlclose(Engine** engine);
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- inline void mlsetmatrix(Engine** engine, std::string name, const Eigen::MatrixXd& M);
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- inline void mlsetmatrix(Engine** engine, std::string name, const Eigen::MatrixXf& M);
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- inline void mlsetmatrix(Engine** engine, std::string name, const Eigen::MatrixXi& M);
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- inline void mlsetmatrix(Engine** mlengine, std::string name, const Eigen::Matrix<unsigned int, Eigen::Dynamic, Eigen::Dynamic >& M);
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- inline void mlgetmatrix(Engine** engine, std::string name, Eigen::MatrixXd& M);
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- inline void mlgetmatrix(Engine** engine, std::string name, Eigen::MatrixXf& M);
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- inline void mlgetmatrix(Engine** engine, std::string name, Eigen::MatrixXi& M);
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- inline void mlgetmatrix(Engine** mlengine, std::string name, Eigen::Matrix<unsigned int, Eigen::Dynamic, Eigen::Dynamic >& M);
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- inline void mlsetscalar(Engine** engine, std::string name, double s);
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- inline double mlgetscalar(Engine** engine, std::string name);
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- inline std::string mleval(Engine** engine, std::string code);
|
|
|
|
-
|
|
|
|
-}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-inline void igl::mlinit(Engine** mlengine)
|
|
+IGL_INLINE void igl::mlinit(Engine** mlengine)
|
|
{
|
|
{
|
|
*mlengine = engOpen("\0");
|
|
*mlengine = engOpen("\0");
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
-inline void igl::mlclose(Engine** mlengine)
|
|
+IGL_INLINE void igl::mlclose(Engine** mlengine)
|
|
{
|
|
{
|
|
engClose(*mlengine);
|
|
engClose(*mlengine);
|
|
*mlengine = 0;
|
|
*mlengine = 0;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
-inline void igl::mlsetmatrix(Engine** mlengine, std::string name, const Eigen::MatrixXd& M)
|
|
+IGL_INLINE void igl::mlsetmatrix(Engine** mlengine, std::string name, const Eigen::MatrixXd& M)
|
|
{
|
|
{
|
|
if (*mlengine == 0)
|
|
if (*mlengine == 0)
|
|
mlinit(mlengine);
|
|
mlinit(mlengine);
|
|
@@ -108,7 +35,7 @@ inline void igl::mlsetmatrix(Engine** mlengine, std::string name, const Eigen::M
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
-inline void igl::mlsetmatrix(Engine** mlengine, std::string name, const Eigen::MatrixXf& M)
|
|
+IGL_INLINE void igl::mlsetmatrix(Engine** mlengine, std::string name, const Eigen::MatrixXf& M)
|
|
{
|
|
{
|
|
if (*mlengine == 0)
|
|
if (*mlengine == 0)
|
|
mlinit(mlengine);
|
|
mlinit(mlengine);
|
|
@@ -126,7 +53,7 @@ inline void igl::mlsetmatrix(Engine** mlengine, std::string name, const Eigen::M
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
-inline void igl::mlsetmatrix(Engine** mlengine, std::string name, const Eigen::MatrixXi& M)
|
|
+IGL_INLINE void igl::mlsetmatrix(Engine** mlengine, std::string name, const Eigen::MatrixXi& M)
|
|
{
|
|
{
|
|
if (*mlengine == 0)
|
|
if (*mlengine == 0)
|
|
mlinit(mlengine);
|
|
mlinit(mlengine);
|
|
@@ -144,7 +71,7 @@ inline void igl::mlsetmatrix(Engine** mlengine, std::string name, const Eigen::M
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
-inline void igl::mlsetmatrix(Engine** mlengine, std::string name, const Eigen::Matrix<unsigned int, Eigen::Dynamic, Eigen::Dynamic >& M)
|
|
+IGL_INLINE void igl::mlsetmatrix(Engine** mlengine, std::string name, const Eigen::Matrix<unsigned int, Eigen::Dynamic, Eigen::Dynamic >& M)
|
|
{
|
|
{
|
|
if (*mlengine == 0)
|
|
if (*mlengine == 0)
|
|
mlinit(mlengine);
|
|
mlinit(mlengine);
|
|
@@ -162,7 +89,7 @@ inline void igl::mlsetmatrix(Engine** mlengine, std::string name, const Eigen::M
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
-inline void igl::mlgetmatrix(Engine** mlengine, std::string name, Eigen::MatrixXd& M)
|
|
+IGL_INLINE void igl::mlgetmatrix(Engine** mlengine, std::string name, Eigen::MatrixXd& M)
|
|
{
|
|
{
|
|
if (*mlengine == 0)
|
|
if (*mlengine == 0)
|
|
mlinit(mlengine);
|
|
mlinit(mlengine);
|
|
@@ -195,7 +122,7 @@ inline void igl::mlgetmatrix(Engine** mlengine, std::string name, Eigen::MatrixX
|
|
mxDestroyArray(ary);
|
|
mxDestroyArray(ary);
|
|
}
|
|
}
|
|
|
|
|
|
-inline void igl::mlgetmatrix(Engine** mlengine, std::string name, Eigen::MatrixXf& M)
|
|
+IGL_INLINE void igl::mlgetmatrix(Engine** mlengine, std::string name, Eigen::MatrixXf& M)
|
|
{
|
|
{
|
|
if (*mlengine == 0)
|
|
if (*mlengine == 0)
|
|
mlinit(mlengine);
|
|
mlinit(mlengine);
|
|
@@ -229,7 +156,7 @@ inline void igl::mlgetmatrix(Engine** mlengine, std::string name, Eigen::MatrixX
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
-inline void igl::mlgetmatrix(Engine** mlengine, std::string name, Eigen::MatrixXi& M)
|
|
+IGL_INLINE void igl::mlgetmatrix(Engine** mlengine, std::string name, Eigen::MatrixXi& M)
|
|
{
|
|
{
|
|
if (*mlengine == 0)
|
|
if (*mlengine == 0)
|
|
mlinit(mlengine);
|
|
mlinit(mlengine);
|
|
@@ -263,7 +190,7 @@ inline void igl::mlgetmatrix(Engine** mlengine, std::string name, Eigen::MatrixX
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
-inline void igl::mlgetmatrix(Engine** mlengine, std::string name, Eigen::Matrix<unsigned int, Eigen::Dynamic, Eigen::Dynamic >& M)
|
|
+IGL_INLINE void igl::mlgetmatrix(Engine** mlengine, std::string name, Eigen::Matrix<unsigned int, Eigen::Dynamic, Eigen::Dynamic >& M)
|
|
{
|
|
{
|
|
if (*mlengine == 0)
|
|
if (*mlengine == 0)
|
|
mlinit(mlengine);
|
|
mlinit(mlengine);
|
|
@@ -298,7 +225,7 @@ inline void igl::mlgetmatrix(Engine** mlengine, std::string name, Eigen::Matrix<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-inline void igl::mlsetscalar(Engine** mlengine, std::string name, double s)
|
|
+IGL_INLINE void igl::mlsetscalar(Engine** mlengine, std::string name, double s)
|
|
{
|
|
{
|
|
if (*mlengine == 0)
|
|
if (*mlengine == 0)
|
|
mlinit(mlengine);
|
|
mlinit(mlengine);
|
|
@@ -309,7 +236,7 @@ inline void igl::mlsetscalar(Engine** mlengine, std::string name, double s)
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
-inline double igl::mlgetscalar(Engine** mlengine, std::string name)
|
|
+IGL_INLINE double igl::mlgetscalar(Engine** mlengine, std::string name)
|
|
{
|
|
{
|
|
if (*mlengine == 0)
|
|
if (*mlengine == 0)
|
|
mlinit(mlengine);
|
|
mlinit(mlengine);
|
|
@@ -320,7 +247,7 @@ inline double igl::mlgetscalar(Engine** mlengine, std::string name)
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
-inline std::string igl::mleval(Engine** mlengine, std::string code)
|
|
+IGL_INLINE std::string igl::mleval(Engine** mlengine, std::string code)
|
|
{
|
|
{
|
|
if (*mlengine == 0)
|
|
if (*mlengine == 0)
|
|
mlinit(mlengine);
|
|
mlinit(mlengine);
|
|
@@ -359,6 +286,3 @@ inline std::string igl::mleval(Engine** mlengine, std::string code)
|
|
|
|
|
|
return std::string(buf);
|
|
return std::string(buf);
|
|
}
|
|
}
|
|
-
|
|
|
|
-
|
|
|
|
-#endif
|
|
|