Feature #1370
RCIRST converter should expose a public method for converting RCI types into corresponding RST types (and vice versa)
Status: | Closed | Start date: | 01/29/2013 | ||
---|---|---|---|---|---|
Priority: | Normal | Due date: | |||
Assignee: | C. Emmerich | % Done: | 20% | ||
Category: | cpp | ||||
Target version: | Robotics Service Bus - rsb-0.16 |
Description
In a project like FlexIRob, I have have to covnert RCI types to RST types frequently. So far, I have to do this manually. Hence, it would be desirable to have a method for converting RCI types (such as rci::Pose) to their corresponding RST types (such as rst::geometry::Pose) and vice versa. Inherently, the RCIRST converter (such as rcirst::PoseConverter) computes this conversion but does not expose a public accessable interface for that. Something like
class PoseConverter: public rsb::converter::Converter<std::string> { public: static toRCI(const rst::geometry::Pose& pose); static toRST(const rci::Pose& pose); ...
would easily do the job...
Associated revisions
Extended rci PoseConverter to expose rci to rst conversion
refs #1370
- PoseConverter now provides the public static methods rstToDomain and domainToRST to do the conversion between rci::Pose and rst::geometry::Pose
- This can serve as a template for all RCI converters
- All remainig code (apart from the rst<>rci conversion) can probably be extracted in a templated base rci-rst converter in the future
Extended rci PoseConverter to expose rci to rst conversion
refs #1370
- PoseConverter now provides the public static methods rstToDomain and domainToRST to do the conversion between rci::Pose and rst::geometry::Pose
- This can serve as a template for all RCI converters
- All remainig code (apart from the rst<>rci conversion) can probably be extracted in a templated base rci-rst converter in the future
Extended rci PoseConverter to expose rci to rst conversion
refs #1370
- PoseConverter now provides the public static methods rstToDomain and domainToRST to do the conversion between rci::Pose and rst::geometry::Pose
- This can serve as a template for all RCI converters
- All remainig code (apart from the rst<>rci conversion) can probably be extracted in a templated base rci-rst converter in the future
History
#1 Updated by C. Emmerich about 11 years ago
Or, even better: Is it possible to extend the rci::Pose Interface in the rcirst-library with an additional constructor
rci::Pose(const rst::geometry::Pose&){ ... }
and an additional method
rst::geometry::Pose toRST() { ... }
?
#2 Updated by Anonymous about 11 years ago
- Status changed from New to Feedback
Right now, all the rst rci converters are hand-coded, yet very similar. They create the rst (intermediate) object anyway before passing it to the protobuf string converter, so they could be manually split up to publicly expose this step / rst object.
However, I wonder if we could already facilitate Rosetta Stone Project to safe manual work:- The converters use the same interface (base interface that is common to almost all rci types) in all converters for reading / writing the rci types anyway
- So the only difference is the how they access the protobuf objects, which should be possible to generate via Rosetta Stone Project
#3 Updated by S. Wrede almost 11 years ago
- Category set to cpp
- Assignee set to C. Emmerich
- Target version set to rsb-0.9
Our plan for the future would be to utilize Rosetta-based code generation to augment the RST-based domain objects with RCI functionality. This would require different data storage solutions (here e.g. NemoMath vectors should be used) and the (probably) template-based integration of helper / conversion functionality from RCI.
As a workaround, it should be possible to utilize the conversion functions contained in the libraries that are part of the rst-converters project.
#4 Updated by J. Moringen almost 11 years ago
- Status changed from Feedback to In Progress
- % Done changed from 0 to 20
We prototypically implemented the short-term solution for one converter. Christian will take care of the finalizing it and applying it to the remaining converters.
#5 Updated by J. Moringen almost 11 years ago
- Target version changed from rsb-0.9 to rsb-0.10
#6 Updated by J. Moringen over 10 years ago
- Target version changed from rsb-0.10 to rsb-0.11
#7 Updated by J. Moringen about 9 years ago
- Target version changed from rsb-0.11 to rsb-0.12
#8 Updated by J. Wienke almost 9 years ago
- Target version changed from rsb-0.12 to rsb-0.13
#9 Updated by J. Wienke over 8 years ago
What is the state of this issue?
#10 Updated by J. Moringen about 8 years ago
- Target version changed from rsb-0.13 to rsb-0.14
#11 Updated by J. Moringen almost 8 years ago
- Target version changed from rsb-0.14 to rsb-0.15
#12 Updated by J. Moringen over 7 years ago
- Target version changed from rsb-0.15 to rsb-0.16
#13 Updated by J. Moringen almost 7 years ago
- Status changed from In Progress to Closed