10 template <
typename MatType>
12 const std::vector<MatType, Eigen::aligned_allocator<MatType> > &Ms) {
13 const std::size_t n = Ms.size();
14 for (std::size_t i = 0; i < n; i++) {
15 std::cout <<
"el[" << i <<
"] =\n" << Ms[i] <<
'\n';
19 template <
typename MatType>
20 std::vector<MatType, Eigen::aligned_allocator<MatType> >
copy(
21 const std::vector<MatType, Eigen::aligned_allocator<MatType> > &Ms) {
22 std::vector<MatType, Eigen::aligned_allocator<MatType> > out = Ms;
26 template <
typename MatType>
27 void setZero(std::vector<MatType, Eigen::aligned_allocator<MatType> > &Ms) {
28 for (std::size_t i = 0; i < Ms.size(); i++) {
39 bp::def(
"printVectorOfMatrix", printVectorOfMatrix<Eigen::VectorXd>);
40 bp::def(
"printVectorOfMatrix", printVectorOfMatrix<Eigen::MatrixXd>);
42 bp::def(
"copyStdVector", copy<Eigen::MatrixXd>);
43 bp::def(
"copyStdVector", copy<Eigen::VectorXd>);
45 exposeStdVectorEigenSpecificType<Eigen::Matrix3d>(
"Mat3d");
46 bp::def(
"printVectorOf3x3", printVectorOfMatrix<Eigen::Matrix3d>);
47 bp::def(
"copyStdVec_3x3", copy<Eigen::Matrix3d>, bp::args(
"mats"));
49 typedef Eigen::Ref<Eigen::MatrixXd> RefXd;
51 bp::def(
"setZero", setZero<Eigen::MatrixXd>,
"Sets the coeffs to 0.");
void EIGENPY_DLLAPI enableEigenPy()
void printVectorOfMatrix(const std::vector< MatType, Eigen::aligned_allocator< MatType > > &Ms)
std::vector< MatType, Eigen::aligned_allocator< MatType > > copy(const std::vector< MatType, Eigen::aligned_allocator< MatType > > &Ms)
void expose()
Call the expose function of a given type T.
BOOST_PYTHON_MODULE(std_vector)
void setZero(std::vector< MatType, Eigen::aligned_allocator< MatType > > &Ms)
Expose an std::vector from a type given as template argument.