[Rock-dev] find_typekit_for / Vizkit3D

Sylvain Joyeux sylvain.joyeux at dfki.de
Wed Apr 18 12:12:21 CEST 2012


On 04/18/2012 12:04 PM, chris wrote:
> Hio,
>
> i have currently a small problem with using manually defined port_types
> and a self written vizkit 3d visualization plugins.
>
> If i start my script, i often get an error message of this:
>
> 1.340 [ ERROR  ][TypekitRepository::Import] A protocol with id 2 was
> already added for type /std/vector</double>
> NodePath 0
>        Camera
>        Group
> /home/chris/repos/avalon_next/tools/orocos.rb/lib/orocos/typekits.rb:228:in
> `find_typekit_for': the type /uw_localization/ParticleSet is registered,
> but is not exported to the RTT type system (ArgumentError)
>           from
> /home/chris/repos/avalon_next/tools/orocos.rb/lib/orocos/typekits.rb:242:in
> `load_typekit_for'
>           from
> /home/chris/repos/avalon_next/gui/vizkit/ruby/lib/vizkit/cplusplus_extensions/vizkit_widget.rb:22:in
> `load_adapters'
>           from
> /home/chris/repos/avalon_next/gui/vizkit/ruby/lib/vizkit/cplusplus_extensions/vizkit_widget.rb:12:in
> `each'
>           from
> /home/chris/repos/avalon_next/gui/vizkit/ruby/lib/vizkit/cplusplus_extensions/vizkit_widget.rb:12:in
> `load_adapters'
>           from
> /home/chris/repos/avalon_next/gui/vizkit/ruby/lib/vizkit/cplusplus_extensions/vizkit_widget.rb:242:in
> `createPlugin'
>           from logs.rb:33
>
> But this error occurs not frequently. After retrying severall times it
> finds a registration and the plugin is working fine.
>
> Any ideas?
My guess, from looking at the code is:

   * there are multiple typekits defining that type (i.e. you do a 
import_types_from of the type definition multiple times)
   * some of them export the type and some not

The current implementation of find_typekit_for only looks for one 
typekit that defines the type ...

So, workaround for now: find the typekits that have this duplicate and 
fix it. In the long run, I'll modify orocos.rb to handle this case.

Please open a ticket.

Sylvain


More information about the Rock-dev mailing list