> OK this is why ODE fails in the documentation department. Unless I'm
> missing something, there is no mention of an public C++ interface. It
> seems I've spent months duplicating the very same thing. Argh!
>
This can be your first contribution to ODE to add this documentation.
Remi
There are 2 official docs: the headers themselves have doxygen docs, and
the wiki. The wiki says right in the manual's introduction page:
"Has a C++ interface built on top of the C one."
> Just looking at this file, there is no wrapper for spaces or geoms?
Yes, there is. Look further, in odecpp_collision.h.
--
Daniel K. O.
"The only way to succeed is to build success yourself"
Daniel Price escreveu:The docs have not been updated since 2006...I wouldn't know where tobegin.
There are 2 official docs: the headers themselves have doxygen docs, and
the wiki. The wiki says right in the manual's introduction page:
"Has a C++ interface built on top of the C one."
Just looking at this file, there is no wrapper for spaces or geoms?
Yes, there is. Look further, in odecpp_collision.h.
While it does not make sense to copy the object, it does make sense to
have multiple worlds or bodies. So singleton is out of the question.
> or at least make them private ;)
They are private. They are right at the beginning of the class, and the
default member protection is private.
--
Mikko Rasa "The DataBeaver"
FlipOut: http://www.tdb.fi/flipout.shtml
There is a class hierarchy to learn, even though it isn't supported on
the language level. Hinge, Universal and Contact are all Joints; Box,
Sphere and Capsule are all Geoms. The C and C++ interfaces mirror
themselves in this.
> and you
> don't have to worry about the complications that c++ presents, like
> memory managed,
Generally you have to worry about memory management more in C. In C++
you can put objects in stack, or use smart pointers to make freeing them
automatic. Building a C++ interface as a wrapper on top of the C one
allows for certain pitfalls though, such as the C object going away
while the C++ one still lives. Also exceptions can't be used through
any functions compiled in C mode (not that ODE uses any).
> hidden operations etc of said classes.
This can be a problem if the library or interface has been designed in
such a way that there are surprising operations. However, it is easy to
work around this wiht good design.