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