orocos-toolchain / rtt

Orocos Real-Time Toolkit
http://www.orocos.org
Other
72 stars 79 forks source link

Fixed decomposition of PropertyBags which contain types that implement the TemplateCompositionFactory interface #163

Closed meyerj closed 8 years ago

meyerj commented 8 years ago

The method types::decomposePropertyBag() did not retain the type of the PropertyBag returned by types::TypeInfo::decomposeType() for each individual property and therefore the subsequent composition did not recognize the original type. For example, the KDL typekit implements composition and decomposition using that method (in kdlTypekit.hpp:163 and motionproperties.cpp:380ff.). The fallback method of property decomposition implemented in types::propertyDecomposition() using getMember() is not affected by this issue and sets the type of the target bag correctly.

The updated test in RTT cannot easily cover this case, because no RTT core typekit implements the TemplateCompositionFactory interface.

smits commented 8 years ago

lgtm