Common database used by several plugins

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Common database used by several plugins

Franziska Zacharias
Hi,

assuming I have a database that is large and which I don't want to load
twice.
I would like to use the database in my IK-solver and in other plugins
e.g. for evaluating grasps.
For the home-crafted plugins the use of a common database should be no
problem.

Is there a possibility to give such a database to the IK-Solver after
its creation?
e.g. being able to reconfigure online the additional data the IK uses
(that has nothing to do with links limits an such)?
As far as I have seen the IKSolverInterface does not have somethings
like this.
The same for the IK-Parameterization.

I program my plugins in c++ and the whole execution loop
runs in python.

Are there any ides?

Best regards
Franziska


------------------------------------------------------------------------------
The Palm PDK Hot Apps Program offers developers who use the
Plug-In Development Kit to bring their C/C++ apps to Palm for a share
of $1 Million in cash or HP Products. Visit us here for more details:
http://ad.doubleclick.net/clk;226879339;13503038;l?
http://clk.atdmt.com/CRS/go/247765532/direct/01/
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users
Reply | Threaded
Open this post in threaded view
|

Re: Common database used by several plugins

Rosen Diankov
Administrator
Hi Franziska,

You can pass around the data through the SendCommand function, which
every interface implements. The function itself takes in an arbitrary
c++ input stream, so if you derive some type of accessor std::istream
class that uses your database, then you can pass it directly into
SendCommand, and your ik solver plugin will be able to read what data
it needs from it without needing to copy everything.

If your database is not that big, then reconfiguring the ik solver's
behavior by registering commands (see the RegisterCommand function
which is not part of InterfaceBase) is the recommended way since it
will give other users a standardized way of communicating with your
plugin.

rosen,

2010/7/26 Franziska Zacharias <[hidden email]>:

> Hi,
>
> assuming I have a database that is large and which I don't want to load
> twice.
> I would like to use the database in my IK-solver and in other plugins
> e.g. for evaluating grasps.
> For the home-crafted plugins the use of a common database should be no
> problem.
>
> Is there a possibility to give such a database to the IK-Solver after
> its creation?
> e.g. being able to reconfigure online the additional data the IK uses
> (that has nothing to do with links limits an such)?
> As far as I have seen the IKSolverInterface does not have somethings
> like this.
> The same for the IK-Parameterization.
>
> I program my plugins in c++ and the whole execution loop
> runs in python.
>
> Are there any ides?
>
> Best regards
> Franziska
>
>
> ------------------------------------------------------------------------------
> The Palm PDK Hot Apps Program offers developers who use the
> Plug-In Development Kit to bring their C/C++ apps to Palm for a share
> of $1 Million in cash or HP Products. Visit us here for more details:
> http://ad.doubleclick.net/clk;226879339;13503038;l?
> http://clk.atdmt.com/CRS/go/247765532/direct/01/
> _______________________________________________
> Openrave-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/openrave-users
>

------------------------------------------------------------------------------
The Palm PDK Hot Apps Program offers developers who use the
Plug-In Development Kit to bring their C/C++ apps to Palm for a share
of $1 Million in cash or HP Products. Visit us here for more details:
http://ad.doubleclick.net/clk;226879339;13503038;l?
http://clk.atdmt.com/CRS/go/247765532/direct/01/
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users
Reply | Threaded
Open this post in threaded view
|

Re: Common database used by several plugins

Franziska Zacharias
Hi Rosen,

I just found the SetUserData() function in the InterfaceBase class.
It sets a void pointer.

Could I also use that to pass in my Database-pointer?
Or is it already used elsewhere?

Ciao
Franziska

Rosen Diankov wrote:

> Hi Franziska,
>
> You can pass around the data through the SendCommand function, which
> every interface implements. The function itself takes in an arbitrary
> c++ input stream, so if you derive some type of accessor std::istream
> class that uses your database, then you can pass it directly into
> SendCommand, and your ik solver plugin will be able to read what data
> it needs from it without needing to copy everything.
>
> If your database is not that big, then reconfiguring the ik solver's
> behavior by registering commands (see the RegisterCommand function
> which is not part of InterfaceBase) is the recommended way since it
> will give other users a standardized way of communicating with your
> plugin.
>
> rosen,
>
> 2010/7/26 Franziska Zacharias <[hidden email]>:
>  
>> Hi,
>>
>> assuming I have a database that is large and which I don't want to load
>> twice.
>> I would like to use the database in my IK-solver and in other plugins
>> e.g. for evaluating grasps.
>> For the home-crafted plugins the use of a common database should be no
>> problem.
>>
>> Is there a possibility to give such a database to the IK-Solver after
>> its creation?
>> e.g. being able to reconfigure online the additional data the IK uses
>> (that has nothing to do with links limits an such)?
>> As far as I have seen the IKSolverInterface does not have somethings
>> like this.
>> The same for the IK-Parameterization.
>>
>> I program my plugins in c++ and the whole execution loop
>> runs in python.
>>
>> Are there any ides?
>>
>> Best regards
>> Franziska
>>
>>
>> ------------------------------------------------------------------------------
>> The Palm PDK Hot Apps Program offers developers who use the
>> Plug-In Development Kit to bring their C/C++ apps to Palm for a share
>> of $1 Million in cash or HP Products. Visit us here for more details:
>> http://ad.doubleclick.net/clk;226879339;13503038;l?
>> http://clk.atdmt.com/CRS/go/247765532/direct/01/
>> _______________________________________________
>> Openrave-users mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/openrave-users
>>
>>    


--
___________________________________________________________________

  Dipl. Inform. Franziska Zacharias

  DLR  German Aerospace Center
  Institute of Robotics and Mechatronics
  P.O.Box 1116, D-82230 Wessling

  Phone:  ++49-8153/28-2415              Fax:    ++49-8153/28-1134
  E-Mail: [hidden email]
                                                            /|
                                                         --/-/--
_______________________________________________________ /_/_/__/___
                                                          |/ DLR


------------------------------------------------------------------------------
The Palm PDK Hot Apps Program offers developers who use the
Plug-In Development Kit to bring their C/C++ apps to Palm for a share
of $1 Million in cash or HP Products. Visit us here for more details:
http://ad.doubleclick.net/clk;226879339;13503038;l?
http://clk.atdmt.com/CRS/go/247765532/direct/01/
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users
Reply | Threaded
Open this post in threaded view
|

Re: Common database used by several plugins

Rosen Diankov
Administrator
hi Franziska,

You are right, the user data pointer is exactly for such purposes.

rosen,

2010/7/27 Franziska Zacharias <[hidden email]>:

> Hi Rosen,
>
> I just found the SetUserData() function in the InterfaceBase class.
> It sets a void pointer.
>
> Could I also use that to pass in my Database-pointer?
> Or is it already used elsewhere?
>
> Ciao
> Franziska
>
> Rosen Diankov wrote:
>> Hi Franziska,
>>
>> You can pass around the data through the SendCommand function, which
>> every interface implements. The function itself takes in an arbitrary
>> c++ input stream, so if you derive some type of accessor std::istream
>> class that uses your database, then you can pass it directly into
>> SendCommand, and your ik solver plugin will be able to read what data
>> it needs from it without needing to copy everything.
>>
>> If your database is not that big, then reconfiguring the ik solver's
>> behavior by registering commands (see the RegisterCommand function
>> which is not part of InterfaceBase) is the recommended way since it
>> will give other users a standardized way of communicating with your
>> plugin.
>>
>> rosen,
>>
>> 2010/7/26 Franziska Zacharias <[hidden email]>:
>>
>>> Hi,
>>>
>>> assuming I have a database that is large and which I don't want to load
>>> twice.
>>> I would like to use the database in my IK-solver and in other plugins
>>> e.g. for evaluating grasps.
>>> For the home-crafted plugins the use of a common database should be no
>>> problem.
>>>
>>> Is there a possibility to give such a database to the IK-Solver after
>>> its creation?
>>> e.g. being able to reconfigure online the additional data the IK uses
>>> (that has nothing to do with links limits an such)?
>>> As far as I have seen the IKSolverInterface does not have somethings
>>> like this.
>>> The same for the IK-Parameterization.
>>>
>>> I program my plugins in c++ and the whole execution loop
>>> runs in python.
>>>
>>> Are there any ides?
>>>
>>> Best regards
>>> Franziska
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> The Palm PDK Hot Apps Program offers developers who use the
>>> Plug-In Development Kit to bring their C/C++ apps to Palm for a share
>>> of $1 Million in cash or HP Products. Visit us here for more details:
>>> http://ad.doubleclick.net/clk;226879339;13503038;l?
>>> http://clk.atdmt.com/CRS/go/247765532/direct/01/
>>> _______________________________________________
>>> Openrave-users mailing list
>>> [hidden email]
>>> https://lists.sourceforge.net/lists/listinfo/openrave-users
>>>
>>>
>
>
> --
> ___________________________________________________________________
>
>  Dipl. Inform. Franziska Zacharias
>
>  DLR  German Aerospace Center
>  Institute of Robotics and Mechatronics
>  P.O.Box 1116, D-82230 Wessling
>
>  Phone:  ++49-8153/28-2415              Fax:    ++49-8153/28-1134
>  E-Mail: [hidden email]
>                                                            /|
>                                                         --/-/--
> _______________________________________________________ /_/_/__/___
>                                                          |/ DLR
>
>

------------------------------------------------------------------------------
The Palm PDK Hot Apps Program offers developers who use the
Plug-In Development Kit to bring their C/C++ apps to Palm for a share
of $1 Million in cash or HP Products. Visit us here for more details:
http://ad.doubleclick.net/clk;226879339;13503038;l?
http://clk.atdmt.com/CRS/go/247765532/direct/01/
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users
Reply | Threaded
Open this post in threaded view
|

Re: Common database used by several plugins

Franziska Zacharias
In reply to this post by Rosen Diankov
Hi,

I'm still fighting with the database issue.

> You can pass around the data through the SendCommand function, which
> every interface implements. The function itself takes in an arbitrary
> c++ input stream, so if you derive some type of accessor std::istream
> class that uses your database, then you can pass it directly into
> SendCommand, and your ik solver plugin will be able to read what data
> it needs from it without needing to copy everything.
>  
The custom ik for the robot is built automatically when the environment
is loaded and is
attached to the manipulator. Is there any possibility to get that pointer?
Else how can I activate the SendCommand function of the IK?

The ik_solver is registered but is not created as a problem.

Or do I have to take the detour over creating an ik_problem, creating the
correct ik and then setting it for the manipulator?

> If your database is not that big, then reconfiguring the ik solver's
> behavior by registering commands (see the RegisterCommand function
> which is not part of InterfaceBase) is the recommended way since it
> will give other users a standardized way of communicating with your
> plugin.
>  
This would change some of the openrave core stuff, right?
This I did not really want to do.

Thanks
Franziska

> rosen,
>
> 2010/7/26 Franziska Zacharias <[hidden email]>:
>  
>> Hi,
>>
>> assuming I have a database that is large and which I don't want to load
>> twice.
>> I would like to use the database in my IK-solver and in other plugins
>> e.g. for evaluating grasps.
>> For the home-crafted plugins the use of a common database should be no
>> problem.
>>
>> Is there a possibility to give such a database to the IK-Solver after
>> its creation?
>> e.g. being able to reconfigure online the additional data the IK uses
>> (that has nothing to do with links limits an such)?
>> As far as I have seen the IKSolverInterface does not have somethings
>> like this.
>> The same for the IK-Parameterization.
>>
>> I program my plugins in c++ and the whole execution loop
>> runs in python.
>>
>> Are there any ides?
>>
>> Best regards
>> Franziska
>>
>>
>> ------------------------------------------------------------------------------
>> The Palm PDK Hot Apps Program offers developers who use the
>> Plug-In Development Kit to bring their C/C++ apps to Palm for a share
>> of $1 Million in cash or HP Products. Visit us here for more details:
>> http://ad.doubleclick.net/clk;226879339;13503038;l?
>> http://clk.atdmt.com/CRS/go/247765532/direct/01/
>> _______________________________________________
>> Openrave-users mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/openrave-users
>>
>>    


--
___________________________________________________________________

  Dipl. Inform. Franziska Zacharias

  DLR  German Aerospace Center
  Institute of Robotics and Mechatronics
  P.O.Box 1116, D-82230 Wessling

  Phone:  ++49-8153/28-2415              Fax:    ++49-8153/28-1134
  E-Mail: [hidden email]
                                                            /|
                                                         --/-/--
_______________________________________________________ /_/_/__/___
                                                          |/ DLR


------------------------------------------------------------------------------
The Palm PDK Hot Apps Program offers developers who use the
Plug-In Development Kit to bring their C/C++ apps to Palm for a share
of $1 Million in cash or HP Products. Visit us here for more details:
http://p.sf.net/sfu/dev2dev-palm
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users
Reply | Threaded
Open this post in threaded view
|

Re: Common database used by several plugins

Rosen Diankov
Administrator
hi Franziska,

Registering commands does not require you to change the core. Just
call the RegisterCommand in the iksolver interface implementation just
as you would with a ProblemInstance (this was introduced around
0.2.9). Every interface has a SendCommand function

http://openrave.programmingvision.com/ordocs/en/html/classOpenRAVE_1_1InterfaceBase.html#a840776899a1d3677582fc6ef87be6ef2

I think the heart of your question is: is it possible to get the
iksolver pointer just from a manipulator class. Actually, I'm not sure
why the pointer is not being exposed. Perhaps this is just an artifact
of the original openrave implementation, which didn't have the
pointers managed, so we had to be careful what was exposed or not.

Considering the issues you have put forward, as of r1689, the iksolver
methods in manipulator class were cleaned up. It is now possible to
get the pointer using ManipulatorBase::GetIkSolver. and then do
ManipulatorBase::GetIkSolver()->SendCommand(...). The openrave version
increased to 0.2.11 to reflect the API change.

rosen,

2010/7/29 Franziska Zacharias <[hidden email]>:

> Hi,
>
> I'm still fighting with the database issue.
>
>> You can pass around the data through the SendCommand function, which
>> every interface implements. The function itself takes in an arbitrary
>> c++ input stream, so if you derive some type of accessor std::istream
>> class that uses your database, then you can pass it directly into
>> SendCommand, and your ik solver plugin will be able to read what data
>> it needs from it without needing to copy everything.
>>
> The custom ik for the robot is built automatically when the environment
> is loaded and is
> attached to the manipulator. Is there any possibility to get that pointer?
> Else how can I activate the SendCommand function of the IK?
>
> The ik_solver is registered but is not created as a problem.
>
> Or do I have to take the detour over creating an ik_problem, creating the
> correct ik and then setting it for the manipulator?
>
>> If your database is not that big, then reconfiguring the ik solver's
>> behavior by registering commands (see the RegisterCommand function
>> which is not part of InterfaceBase) is the recommended way since it
>> will give other users a standardized way of communicating with your
>> plugin.
>>
> This would change some of the openrave core stuff, right?
> This I did not really want to do.
>
> Thanks
> Franziska
>
>> rosen,
>>
>> 2010/7/26 Franziska Zacharias <[hidden email]>:
>>
>>> Hi,
>>>
>>> assuming I have a database that is large and which I don't want to load
>>> twice.
>>> I would like to use the database in my IK-solver and in other plugins
>>> e.g. for evaluating grasps.
>>> For the home-crafted plugins the use of a common database should be no
>>> problem.
>>>
>>> Is there a possibility to give such a database to the IK-Solver after
>>> its creation?
>>> e.g. being able to reconfigure online the additional data the IK uses
>>> (that has nothing to do with links limits an such)?
>>> As far as I have seen the IKSolverInterface does not have somethings
>>> like this.
>>> The same for the IK-Parameterization.
>>>
>>> I program my plugins in c++ and the whole execution loop
>>> runs in python.
>>>
>>> Are there any ides?
>>>
>>> Best regards
>>> Franziska
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> The Palm PDK Hot Apps Program offers developers who use the
>>> Plug-In Development Kit to bring their C/C++ apps to Palm for a share
>>> of $1 Million in cash or HP Products. Visit us here for more details:
>>> http://ad.doubleclick.net/clk;226879339;13503038;l?
>>> http://clk.atdmt.com/CRS/go/247765532/direct/01/
>>> _______________________________________________
>>> Openrave-users mailing list
>>> [hidden email]
>>> https://lists.sourceforge.net/lists/listinfo/openrave-users
>>>
>>>
>
>
> --
> ___________________________________________________________________
>
>  Dipl. Inform. Franziska Zacharias
>
>  DLR  German Aerospace Center
>  Institute of Robotics and Mechatronics
>  P.O.Box 1116, D-82230 Wessling
>
>  Phone:  ++49-8153/28-2415              Fax:    ++49-8153/28-1134
>  E-Mail: [hidden email]
>                                                            /|
>                                                         --/-/--
> _______________________________________________________ /_/_/__/___
>                                                          |/ DLR
>
>

------------------------------------------------------------------------------
The Palm PDK Hot Apps Program offers developers who use the
Plug-In Development Kit to bring their C/C++ apps to Palm for a share
of $1 Million in cash or HP Products. Visit us here for more details:
http://p.sf.net/sfu/dev2dev-palm
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users
Reply | Threaded
Open this post in threaded view
|

Re: Common database used by several plugins

Rosen Diankov
Administrator
hi Franziska,

RTTI breaks across shared object boundaries. If it happens that the db
data pointer was allocated from the same shared object as your plugin,
then you could use boost::dynamic_pointer_cast. However, if that
doesn't work, then you would have to resort to
boost::static_pointer_cast to cast the boost::shared_ptr<void> to
boost::shared_ptr<MyClass>, but in this case you have to know 100%
that your pointer is MyClass, otherwise bad things will happen.

My suggestion is to have one super class that holds pointers to all
the different types of objects you want to pass through. Then you can
safely cast to that super class.

rosen,


2010/7/30 Franziska Zacharias <[hidden email]>:

> Here I am again ;)
>
> I want to pass several different data object classes through the
> SetUserData function.
>
> However, the class would have to know, which data class is hidden behind
> the void pointer.
> I tried to use a dynamic _cast (to find out the data type) on the
> pointer contained in the boost shared_ptr but
> that does not work.
>
> Can it be that the needed information is not transported via the shared_ptr?
>
> Ciao
> Franziska
>
> Rosen Diankov wrote:
>> I think the SetUserData function is more appropriate for your
>> application though.
>> rosen,
>>
>> 2010/7/29 Rosen Diankov <[hidden email]>:
>>
>>> hi Franziska,
>>>
>>> Registering commands does not require you to change the core. Just
>>> call the RegisterCommand in the iksolver interface implementation just
>>> as you would with a ProblemInstance (this was introduced around
>>> 0.2.9). Every interface has a SendCommand function
>>>
>>> http://openrave.programmingvision.com/ordocs/en/html/classOpenRAVE_1_1InterfaceBase.html#a840776899a1d3677582fc6ef87be6ef2
>>>
>>> I think the heart of your question is: is it possible to get the
>>> iksolver pointer just from a manipulator class. Actually, I'm not sure
>>> why the pointer is not being exposed. Perhaps this is just an artifact
>>> of the original openrave implementation, which didn't have the
>>> pointers managed, so we had to be careful what was exposed or not.
>>>
>>> Considering the issues you have put forward, as of r1689, the iksolver
>>> methods in manipulator class were cleaned up. It is now possible to
>>> get the pointer using ManipulatorBase::GetIkSolver. and then do
>>> ManipulatorBase::GetIkSolver()->SendCommand(...). The openrave version
>>> increased to 0.2.11 to reflect the API change.
>>>
>>> rosen,
>>>
>>> 2010/7/29 Franziska Zacharias <[hidden email]>:
>>>
>>>> Hi,
>>>>
>>>> I'm still fighting with the database issue.
>>>>
>>>>
>>>>> You can pass around the data through the SendCommand function, which
>>>>> every interface implements. The function itself takes in an arbitrary
>>>>> c++ input stream, so if you derive some type of accessor std::istream
>>>>> class that uses your database, then you can pass it directly into
>>>>> SendCommand, and your ik solver plugin will be able to read what data
>>>>> it needs from it without needing to copy everything.
>>>>>
>>>>>
>>>> The custom ik for the robot is built automatically when the environment
>>>> is loaded and is
>>>> attached to the manipulator. Is there any possibility to get that pointer?
>>>> Else how can I activate the SendCommand function of the IK?
>>>>
>>>> The ik_solver is registered but is not created as a problem.
>>>>
>>>> Or do I have to take the detour over creating an ik_problem, creating the
>>>> correct ik and then setting it for the manipulator?
>>>>
>>>>
>>>>> If your database is not that big, then reconfiguring the ik solver's
>>>>> behavior by registering commands (see the RegisterCommand function
>>>>> which is not part of InterfaceBase) is the recommended way since it
>>>>> will give other users a standardized way of communicating with your
>>>>> plugin.
>>>>>
>>>>>
>>>> This would change some of the openrave core stuff, right?
>>>> This I did not really want to do.
>>>>
>>>> Thanks
>>>> Franziska
>>>>
>>>>
>>>>> rosen,
>>>>>
>>>>> 2010/7/26 Franziska Zacharias <[hidden email]>:
>>>>>
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> assuming I have a database that is large and which I don't want to load
>>>>>> twice.
>>>>>> I would like to use the database in my IK-solver and in other plugins
>>>>>> e.g. for evaluating grasps.
>>>>>> For the home-crafted plugins the use of a common database should be no
>>>>>> problem.
>>>>>>
>>>>>> Is there a possibility to give such a database to the IK-Solver after
>>>>>> its creation?
>>>>>> e.g. being able to reconfigure online the additional data the IK uses
>>>>>> (that has nothing to do with links limits an such)?
>>>>>> As far as I have seen the IKSolverInterface does not have somethings
>>>>>> like this.
>>>>>> The same for the IK-Parameterization.
>>>>>>
>>>>>> I program my plugins in c++ and the whole execution loop
>>>>>> runs in python.
>>>>>>
>>>>>> Are there any ides?
>>>>>>
>>>>>> Best regards
>>>>>> Franziska
>>>>>>
>>>>>>
>>>>>> ------------------------------------------------------------------------------
>>>>>> The Palm PDK Hot Apps Program offers developers who use the
>>>>>> Plug-In Development Kit to bring their C/C++ apps to Palm for a share
>>>>>> of $1 Million in cash or HP Products. Visit us here for more details:
>>>>>> http://ad.doubleclick.net/clk;226879339;13503038;l?
>>>>>> http://clk.atdmt.com/CRS/go/247765532/direct/01/
>>>>>> _______________________________________________
>>>>>> Openrave-users mailing list
>>>>>> [hidden email]
>>>>>> https://lists.sourceforge.net/lists/listinfo/openrave-users
>>>>>>
>>>>>>
>>>>>>
>>>> --
>>>> ___________________________________________________________________
>>>>
>>>>  Dipl. Inform. Franziska Zacharias
>>>>
>>>>  DLR  German Aerospace Center
>>>>  Institute of Robotics and Mechatronics
>>>>  P.O.Box 1116, D-82230 Wessling
>>>>
>>>>  Phone:  ++49-8153/28-2415              Fax:    ++49-8153/28-1134
>>>>  E-Mail: [hidden email]
>>>>                                                            /|
>>>>                                                         --/-/--
>>>> _______________________________________________________ /_/_/__/___
>>>>                                                          |/ DLR
>>>>
>>>>
>>>>
>
>
> --
> ___________________________________________________________________
>
>  Dipl. Inform. Franziska Zacharias
>
>  DLR  German Aerospace Center
>  Institute of Robotics and Mechatronics
>  P.O.Box 1116, D-82230 Wessling
>
>  Phone:  ++49-8153/28-2415              Fax:    ++49-8153/28-1134
>  E-Mail: [hidden email]
>                                                            /|
>                                                         --/-/--
> _______________________________________________________ /_/_/__/___
>                                                          |/ DLR
>
>

------------------------------------------------------------------------------
The Palm PDK Hot Apps Program offers developers who use the
Plug-In Development Kit to bring their C/C++ apps to Palm for a share
of $1 Million in cash or HP Products. Visit us here for more details:
http://p.sf.net/sfu/dev2dev-palm
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users