Ok, it sounds great. I will be looking forward the patch :)

Thanks,

Jordi

On Tue, Aug 31, 2010 at 6:18 PM, Radu Bogdan Rusu <rusu@willowgarage.com> wrote:
Jordi,

Thanks for the report. Unfortunately, I went through the same process yesterday where packages that depend on both eigen (2) and eigen3 have similar compilation issues.

The current code in PCL (or any other package that uses eigen for more than just the standard matrix/vector basic operations) cannot be compiled with Eigen3 as the structures changed a bit. I spent some time yesterday to document these changes (see http://www.ros.org/wiki/eigen3). We're currently preparing a big patch against PCL trunk that switches the entire internal structure to Eigen3. Part of the patch is the change from ForceAligned to Aligned in Maps, which should fix your compilation issue.

Cheers,
Radu.


On 08/31/2010 07:25 AM, Jordi Pages wrote:
Hi, I have installed ROS c-turtle last release and I have created a
service offering PCL capabilities through ROS messages. I need to call
this service from code written apart from ROS that is linking to Eigen
3. The client should transform our own point cloud data structure to
PointCloud2 message and then communicate with the service in order to
perform filtering, segmentation, etc. Such architecture worked before
installing the last release. However, now I get compilation problems
related to file pcl/point_types.hpp. I have seen that this file has
recently changed the way the different point clouds data types are
defined. One of the compilation errors is as follows:

/opt/ros/cturtle/stacks/point_cloud_perception/pcl/src/pcl/point_types.hpp:
In member function ‘Eigen::Map<Eigen::Matrix<float, 4, 1, 0, 4, 1>, 0>
pcl::_PointXYZ::getVector4fMap()’:
/opt/ros/cturtle/stacks/point_cloud_perception/pcl/src/pcl/point_types.hpp:73:
error: conversion from ‘Eigen::Map<Eigen::Matrix<float, 4, 1, 0, 4, 1>,
1>’ to non-scalar type ‘Eigen::Map<Eigen::Matrix<float, 4, 1, 0, 4, 1>,
0>’ requested

I have taken a look to point_types.hpp and it seems that
Eigen::Vector4f::MapAligned (data)) does not return an aligned Map when
it should?

It is not the first time I get these type of compilation errors. I guess
that most of them appear due to conflicts between Eigen 2 and Eigen 3.
That is why I try to isolate pure ROS code in services and use minimal
ROS dependencies in clients that make use of our own Eigen 3 based code.
I have read that Eigen 3 is being used in the unstable trunk of ROS.
Nevertheless, has anybody faced these problems before? Am I doing
something wrong?

Thanks

--
Jordi Pages, PhD
Researcher
Pal Robotics S.L.

Tel: +34.93.414.53.47
Fax: +34.93.209.11.09
C/ Pujades 77-79 4º 4ª 08005 Barcelona, Spain.
http://www.pal-robotics.com/

AVISO DE CONFIDENCIALIDAD: Este mensaje y sus documentos adjuntos,
pueden contener información privilegiada y/o confidencial que está
dirigida exclusivamente a su destinatario.
Si usted recibe este mensaje y no es el destinatario indicado, o el
empleado encargado de su entrega a dicha persona, por favor, notifíquelo
inmediatamente y remita el mensaje original a la dirección
de correo electrónico indicada. Cualquier copia, uso o distribución no
autorizados de esta comunicación queda estrictamente prohibida.

CONFIDENTIALITY NOTICE: This e-mail and the accompanying document(s) may
contain confidential information which is privileged and intended only
for the individual or entity to whom they are addressed.  If you are not
the intended recipient, you are hereby notified that any disclosure,
copying, distribution or use of this e-mail and/or accompanying
document(s) is strictly prohibited.  If you have received this e-mail in
error, please immediately notify the sender at the above e-mail address.



_______________________________________________
ros-users mailing list
ros-users@code.ros.org
https://code.ros.org/mailman/listinfo/ros-users

--
| Radu Bogdan Rusu | http://rbrusu.com/



--
Jordi Pages, PhD
Researcher
Pal Robotics S.L.

Tel: +34.93.414.53.47
Fax: +34.93.209.11.09
C/ Pujades 77-79 4º 4ª 08005 Barcelona, Spain.
http://www.pal-robotics.com/

AVISO DE CONFIDENCIALIDAD: Este mensaje y sus documentos adjuntos, pueden contener información privilegiada y/o confidencial que está dirigida exclusivamente a su destinatario.
Si usted recibe este mensaje y no es el destinatario indicado, o el empleado encargado de su entrega a dicha persona, por favor, notifíquelo inmediatamente y remita el mensaje original a la dirección
de correo electrónico indicada. Cualquier copia, uso o distribución no autorizados de esta comunicación queda estrictamente prohibida.

CONFIDENTIALITY NOTICE: This e-mail and the accompanying document(s) may contain confidential information which is privileged and intended only for the individual or entity to whom they are addressed.  If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution or use of this e-mail and/or accompanying document(s) is strictly prohibited.  If you have received this e-mail in error, please immediately notify the sender at the above e-mail address.