Hi Jeremy,
Great to see you back here!
I will be undergoing a bone marrow transplant here in the next 3 weeks,
That's great news! I really hope it goes well for you and that you
recover quickly.
I know that osgWidget has been around for a while now, but I'm not
entirely sure people are actually using it yet.
Yes, some of us are using it. There are occasional questions on the
list/forum, and I know I (for one) have submitted a few fixes for small
bugs.
I'd like to try and come
back and start hacking at this again, so I'm what I'm looking for are
any comments people might have or complaints that may have surfaced
while I was away.
Well, I have a few comments, and I'll probably have a few more later if
I can get some more work into one of my pet projects that uses it. :-)
For now, the major comment I have is: why oh why are the argument names
omitted from the method declarations in the headers? If all you have to
work with is the headers, figuring out what you should pass as arguments
to a function like
bool setImage (osg::Image *, bool=false, bool=false)
can be hard. What are those two bools? Plus, they appear that way in the
doxygen documentation too... See
http://www.openscenegraph.org/documentation/OpenSceneGraphReferenceDocs/a01066.html
I know it'll be a painful task to go and put the argument names back,
but I think it has to be done...
Other than that, it works well. If I remember well, I found the
interface for creating a window from a theme a bit weird, but I don't
remember exactly what I found weird, so I'll have to get back to you on
that.
I have lots of good ideas, but I will basically be rewriting and
SUBSTANTIALLY simplifying osgWidget to be a bare minimum and flexible
NodeKit for doing the basic UI stuff (supporting 3D). Then, I'll add
another layer on top (which will not be in C++, but instead in Lua) that
will do most of what osgWidget currently does, since no one really wants
to write UI code in C++ anymore. It's really, really dated and Lua is so
small, sandboxed, and efficient there's truly no excuse not to use
it. :)
I would recommend, instead of removing the C++ code, why not just wrap
it (basically exposing it to Lua) instead? Then you have the best of
both worlds. People who want to do GUI in C++ (and there are some cases
where it's desirable) can still do so.
One of the hardest things when designing an API is that you need to keep
in mind that people will want to use it in different ways. So even if in
your projects you would much rather use Lua exclusively for your GUI
code, other people will want to use it from C++ since they're used to
using OSG that way, and your API needs to cater to both.
Note that I've diplomatically avoided saying what language I'd prefer to
code my own GUIs in. Honestly, if I can build the Lua support easily on
all platforms, I don't really care, but others will feel differently.
Anyway, I'm glad to have some of my motivation back. :) With the
transplant happening soon and a fairly decent chance of it being
successful, there is much to be optimistic about!
Excellent! Good to hear from you, and I'm glad you've got a better
outlook on life now!
J-S
--
______________________________________________________
Jean-Sebastien Guay [email protected]
http://www.cm-labs.com/
http://whitestar02.webhop.org/
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org