Editing User:Clouddrift/GSoC2014/Midterm
From BRL-CAD
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
== Reorganize NMG Data Structure == | == Reorganize NMG Data Structure == | ||
− | The functionality of struct '''model''' and '''nmgregion''' are top two level of old nmg structure. One '''model''' can include multiple '''nmgregion''', and one '''nmgregion''' can include multiple '''shell'''. We can have a brief view at following class | + | The functionality of struct '''model''' and '''nmgregion''' are top two level of old nmg structure. One '''model''' can include multiple '''nmgregion''', and one '''nmgregion''' can include multiple '''shell'''. We can have a brief view at following class defination. |
<pre> | <pre> | ||
Line 24: | Line 24: | ||
</pre> | </pre> | ||
− | In general, it's a classical representation for NMG structure. But they are redundant in BRL-CAD. There have been similar concepts here called '''combination''' which can hold several primitives as a whole. So some reorganization is necessary that these two structs ('''model''' and '''nmgregion''') are replaced by the BRL-CAD inner | + | In general, it's a classical representation for NMG structure. But they are redundant in BRL-CAD. There have been similar concepts here called '''combination''' which can hold several primitives as a whole. So some reorganization is necessary that these two structs ('''model''' and '''nmgregion''') are replaced by the BRL-CAD inner combination to fit new NMG philosophy. |
− | + | old: | |
− | |||
− | |||
− | |||
− | |||
− | |||
<pre> | <pre> | ||
Line 46: | Line 41: | ||
</pre> | </pre> | ||
− | + | new: | |
− | |||
− | |||
− | |||
− | |||
<pre> | <pre> | ||
Line 66: | Line 57: | ||
</pre> | </pre> | ||
− | == | + | == Fix Debugs == |
− | + | Due to the change of core NMG data structure, thousands of compiling errors are coming. I spend most time in these weeks to fix and test them properly. | |
− | + | 28 functions in raytrace.h are removed because they are no longer necessary. The detailed list is as following: | |
* struct model *'''nmg_mmr'''(void); | * struct model *'''nmg_mmr'''(void); | ||
Line 100: | Line 91: | ||
* void '''nmg_visit_region'''(struct nmgregion *r, const struct nmg_visit_handlers *htab, genptr_t state); | * void '''nmg_visit_region'''(struct nmgregion *r, const struct nmg_visit_handlers *htab, genptr_t state); | ||
* void '''nmg_visit_model'''(struct model *model, const struct nmg_visit_handlers *htab, genptr_t state); | * void '''nmg_visit_model'''(struct model *model, const struct nmg_visit_handlers *htab, genptr_t state); | ||
− | |||
− | |||
− | |||
− | |||
− | |||
== Conclusion == | == Conclusion == | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− |