12345678910111213141516171819 |
- % Converts a Matlab matrix to a python-wrapped Eigen Matrix
- function [ P ] = m2p( M )
- if (isa(M, 'double'))
- % Convert the matrix to a python 1D array
- a = py.array.array('d',reshape(M,1,numel(M)));
- % Then convert it to a eigen type
- t = py.igl.eigen.MatrixXd(a.tolist());
- % Finally reshape it back
- P = t.MapMatrix(uint16(size(M,1)),uint16(size(M,2)));
- elseif (isa(M, 'integer'))
- % Convert the matrix to a python 1D array
- a = py.array.array('i',reshape(M,1,numel(M)));
- % Then convert it to a eigen type
- t = py.igl.eigen.MatrixXi(a.tolist());
- % Finally reshape it back
- P = t.MapMatrix(uint16(size(M,1)),uint16(size(M,2)));
- else
- error('Unsupported numerical type.');
- end
|