On Tue, Mar 8, 2016 at 5:43 PM, Christopher Sean Morrison
<brl...@mac.com> wrote:
>
>> On Mar 8, 2016, at 3:58 PM, Jasvir Singh <jassigrewa...@gmail.com> wrote:
>>
>> Further I wish to know about whether someone is working on qtged or
>> not. I am trying to understand working of MGED and I wish to
>> contribute into qtged. I'll really appreciate if someone can help me
>> to start with it.
>
> Nobody is working on it at this time.  There is a separate branch in the repo 
> specifically for that work that you should check out, even though it’s 
> out-of-date.  Someone working that task will have to figure out whether it’s 
> more advantageous to pick up where that effort left off or to start fresh — 
> and for a GSoC proposal, you’ll need to provide an actual cost analysis and 
> justification for either path.  A gut feeling won’t cut it as devs 
> universally pick starting fresh to a fault. ;)
>
> So first step is probably to get familiarized with the old code, get it up 
> and running, perhaps submit a patch if changes are needed to get it working 
> again.

In principle, it should build and run (given the correct qt version)
with the following:

cmake .. -DBRLCAD_ENABLE_QT=ON
make -j8 qged pinewood.g
./bin/qged share/db/pinewood.g

It cannot do any graphical drawing - the central viewing widget is
simply a placeholder.  It has a read-only tree viewer, the beginnings
of a terminal widget, and a few other bits and pieces.

My suggestion would be to focus on on particular aspect of what is
needed, and make a Qt widget that does that portion of the job.  The
two tasks most immediately facing the Qt interface are:

1. getting a libdm widget in place that supports MGED's key binding
for interacting with geometry, can display wireframes and other MGED
visual elements, and otherwise do what MGED's current display can do.
You will find MGED assumes only a raw OpenGL canvas, so my suggestion
would be to build off of the Qt OpenGL widget (the more modern one in
the latest Qt - I believe they've recently come out with a new one)
and supply the OpenGL context from Qt to libdm.  There is a lot of
wiring in how key bindings are set up in MGED and Tk and how they're
hooked into the libdm drawing.  A robustly working Qt libdm display
widget that can match MGED's abilities would probably be a decent
project in itself.

2.  The tree view is currently read only.  You can't drag and drop
objects to edit hierarchies, and the tree will most likely not up date
to reflect the current state of the database if edits are made.
Getting this right will require a fairly deep understanding of
BRL-CAD's hierarchy and what it means to be a combination in the .g
file, as well as Qt model/view programming.  BRL-CAD's hierarchy is
not quite a direct map to files in a file system hierarchy, which is
what you might think just looking at the tree view.  Any proposal on
that aspect of the problem would need to demonstrate a good grasp of
these issues.

Cheers,
CY

------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://makebettercode.com/inteldaal-eval
_______________________________________________
BRL-CAD Developer mailing list
brlcad-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-devel

Reply via email to