Streaming non yarp object through yarp ports #2145
Replies: 3 comments
-
Hi @GiulioRomualdi , You are right, in order to stream a custom type through the yarp network, that type should inherits from You are right, converting from a datastructure of another library could be time consuming, unless you simply copy the raw pointer of external data. This has been possible in the On the other hand Actually #1582 was intended to add Unfortunately we never found the time to add this class that would be very useful indeed. |
Beta Was this translation helpful? Give feedback.
-
Related PR on iDynTree: robotology/idyntree#734 . Having a similar |
Beta Was this translation helpful? Give feedback.
-
Related: #1603 I think all types in general require a big refactor. In order to split the "storage" part of the types from their serialization |
Beta Was this translation helpful? Give feedback.
-
I would like to stream a Vector (Matrix) through a
yarp::os::BufferedPort
, as far as I understood I could:yarp::sig::Vector
(yarp::sig::Matrix
);yarp::os::Portable
class.However
iDynTree
,Eigen
,openCV
, etc... define their vectors (Matrix). So, every time I would like to send the vector (matrix) through ayarp::os::BufferedPort
I should instantiate ayarp::sig::Vector
(yarp::sig::Matrix
) and copy the value and this is time-consuming.It would be nice to introduce a portable based on
Eigen::Map
, indeed every vector (matrix) can be easily wrapped using anEigen::Map<Eigen::MatrixXd>(.)
method. For instance, inyarp
andiDynTree
there are already functions that convert a Vector (Matrix) inEigen:Map<>
object.What do you think? Is it worth spending time on this?
@traversaro @Nicogene @prashanthr05 @kouroshD
Related issue: #76
Beta Was this translation helpful? Give feedback.
All reactions