On Sat, Mar 7, 2015 at 7:58 PM, Brad Hollister <behol...@soe.ucsc.edu> wrote:

> I will revamp the proposal, likely focusing on
> NURBS modeling as related to one of the suggested projects.

There are a couple directions to explore with that focus.  One
possibility is to study how Ayam manipulates NURBS and see if that
approach translates well to our setup.  We also have some basic
ability in the Archer interface to manipulate NURBS surfaces, which
can be built upon.  However, both of these tools are unable to edit
surfaces while maintaining C1 continuity (essentially, distorting
multiple surfaces to keep mated surfaces edges lined up during
editing.)  Right now, editing a sphere in Archer any where near the
bounding curve will "rip" the sphere open.

A very interesting (albeit ambitious) proposal would be to implement a
solution for maintaining solidity of B-Rep solids during NURBS surface
editing (it's OK to assume the starting positions represent solidity -
fixing cases where they don't is a different problem) - that is pretty
much an essential requirement for useful NURBS editing in BRL-CAD.
Making that work will involve lower level NURBS mathematics rather
than user interface coding.  If that is of interest, I can point you
to a few academic papers to give you a general sense of what would be
involved - I don't actually know myself in detail what is needed to do
this, but it is likely to involve setting up and solving constraints
via sparse linear systems.  We have some code related to surface
fitting that may be helpful, although it does not address this
particular problem.  You'll need to be comfortable working with
openNURBS data structures, probably Eigen data structures, and
translating mathematical problem descriptions into working code.

> Lastly, how soon should we submit a related patch to BRL-CAD that is
> related to our proposal? Is this patch something that needs to be
> suggested by the potential mentor? I haven't yet explored the BRL-CAD
> code base. What is the best place to begin for my intended area? I
> think MGED looks relevant.

It depends.  If you want to look at NURBS editing work, I suggest
Archer rather than MGED - that is where our basic editing has been
demonstrated.  If you're interested in the maintaining-solidity
problem, then src/libbrep is probably where to start.  The patch
doesn't have to be suggested by one of us, or even be directly related
to the code you propose to do your major work on, but it should help
to make the case that you are able to carry out your proposed project.

Cheers,
CY

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
BRL-CAD Developer mailing list
brlcad-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-devel

Reply via email to