Closed meyerj closed 5 years ago
@psoetens and I looked into this problem on Wednesday. The printing problem has been fixed in https://github.com/orocos-toolchain/rtt/commit/a4659bb8b06a3e5e200e6501612dbb024a95b716 and https://github.com/orocos-toolchain/rtt/commit/8cc95bc391fe9a48ed0cbfa30670f58f556ffe64. The reason why the values were not printed is that orogen installs the typekit with a TemplateTypeInfo<T, use_stream>
with the use_stream
parameter set to its default value false
and without the patches in rtt the stream factory was therefore overwritten, even if another typekit provides streaming operators.
However, that still does not explain why the typekit generated with the toolchain-2.8 branch (which is based on commit b0c55a10e612e7e9cdcb5e3d6b21db88374ed9e1 in the master branch) registers new TypeInfos for the primitive types /bool
, /double
and so on. With the latest revision in master merged into toolchain-2.8 (v2.8.0-rc1) the result is different and the typekit only registers the /FooData
and /std/vector</double>
types, as expected.
There seems to be a difference depending on whether RTT has been compiled with scripting enabled or disabled.
Some standard types from the RTT typekit (bool, int, float, double etc.) do not print anymore in the TaskBrowser after a typekit generated by typegen has been imported.
Example:
The typekit is the default typekit generated with
orocreate-pkg
, where thestruct FooData
only contains a vector of doubles. I am testing with the current toolchain-2.8 branches of all toolchain repositories.