No, I don't think so this is a First World Problem for us. It is nasty. Esp. rtweight. Never mind, let's get to the point.
Hi, So I looked at some files in *src/rt* *(mainly main.c, do.c, worker.c, opt.c + rtuif.h and ext.h)* and had a look at *gqa.c* in *src/libged*. I also had a look at *rtexample.c *and* rtdummy.c. *Now, after thinking and thinking, I couldn't figure out where to start exactly. I figured out that the basis of my final implementation should be laid on *gqa.c *-- awesome! But then a lot of doubts popped up in my mind. So here I go : - The present implementation of *gqa *is pretty amazing and that's good for me. Well, so basically my work is to add two things in the present functionality of *gqa*. I figure they are *(Am I right about this understanding of mine? If not, what else is there that needs to be improved in the final implementation?) *: - Support for specifying *azimuth *and *elevation *(arbitrary views). - Support N number of views rather than 3. - As we can see, *gqa *is written in a single source file. Should the final implementation in libanalyze be also written in a single file? Or should it be modular? - Now, *gqa *doesn't have option to allow a new frame buffer to be opened to display the results while *rtweight *has that functionality. Should we include an option for opening a new frame buffer in the final implementation? - *How are we going to find the surface area of a model using the ray shooting method (I guess rtarea doesn't find the total surface area)? Is there an implementation for it right now?* - *In the final implementation, should I include all the analysis options that gqa has right now or only focus on volume, centroid and surface area?* - Is it a good idea to look at *gqa.c *and keep it as a base and start writing the final implementation right away? Or is it preferable to use simpler files like *rtexample.c *and travel up from there? - Is there a better factor *(other than 2) *which can be used for the grid refinement? - Should this work in MGED right away? Or it should be developed as a command line tool first? - *How exactly do I start designing the public API layout that I have to put in src/libanalyze? (Yes, I guess it is pretty open ended a question. If I should come up with a better question, shoot! I’ll come up with one in some time).* There are some more *implementation level *questions *(like whether to prefer bu_vls over fprintf for printing messages in MGED?). *But those are for later. I don't want to take too much at a time. Once the above mentioned doubts are solved, I'll be able to have a better understanding of how to proceed further. With Regards, Kalpit Thakkar PS : I'll speed up to catch up with the upcoming weeks of coding period. Pardon me for my slow progress.
------------------------------------------------------------------------------
_______________________________________________ BRL-CAD Developer mailing list brlcad-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/brlcad-devel