From: Kurt W. <kw...@so...> - 2014-07-17 17:55:06
|
I’m swigging a large C++ library. My first target language is ruby, and I have noticed that all my method names for a template class have the namespace & classname prepended to them: ➜ build git:(develop) ruby -e "require './ruby/pcl'" -e 'p Pcl::PointCloud_PointXYZ.new.methods' [:pcl_PointCloud_PointXYZ_Add_To_Self, ... :pcl_PointCloud_PointXYZ_isOrganized, :pcl_PointCloud_PointXYZ_begin... :to_enum, :enum_for, :==, :equal?, :!, :!=, :instance_eval, :instance_exec, :__send__, :__id__] I expect that list to look like: [:Add_To_Self, ... :isOrganized, :begin... :to_enum, :enum_for, :==, :equal?, :!, :!=, :instance_eval, :instance_exec, :__send__, :__id__] I figure it’s likely that there is something wrong with my .i file[s], and this is not a feature of the ruby swig process, right? File in question: https://github.com/kwerle/pcl-swig/blob/master/swig/PointCloud.i Project: https://github.com/kwerle/pcl-swig/tree/master Steps to reproduce (on ubuntu, with many assumptions - you have ruby, python, cmake, and the Point Cloud Library installed): git clone gi...@gi...:kwerle/pcl-swig.git cd pcl-swig/build cmake .. ruby -e "require './ruby/pcl'" -e 'p Pcl::PointCloud_PointXYZ.new.methods' Background: I’m wrapping the Point Cloud Library (http://pointclouds.org/) so that I can use it in any language other than C++ - which I do not know. I have coded in C, Obj-C, java, ruby, python, and a few others over the past couple of decades. I am also not very familiar with swig. I am picking up this project from someone who initially did the work to swig the PCL -> java, so these .swig files are not my own creation. Thanks in advance! Kurt --- Kurt Werle | Senior Programmer | SolarCity | 805 769-8653 | skype:kwerle | This email contains confidential information |